WS-Beschreibung - Terminologieserver Administration ImportCodeSystem

Aus Termserver-CTS2
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „<table border="0"> <tr> <td width="100px" style="font-weight: bold;">System</td> <td>Terminologieserver</td> </tr> <tr> <td style="font-weight: …“)
 
(Request/Response)
 
(35 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<table border="0">
+
=Functionality=
  <tr>
+
Imports a whole code system. There are two import formats available: ClaML and CSV.<br>
    <td width="100px" style="font-weight: bold;">System</td>
+
You have to specify a code system for each import. All new concepts will be added to that code system.<br>
    <td>Terminologieserver</td>
+
<br>
  </tr>
+
  <tr>
+
    <td style="font-weight: bold;">Webservice</td>
+
    <td>Administration</td>
+
  </tr>
+
  <tr>
+
    <td style="font-weight: bold;">WSDL</td>
+
    <td>http://www.term.mi.fh-dortmund.de:8080/Terminologieserver/Administration?wsdl</td>
+
  </tr>
+
  <tr>
+
    <td style="font-weight: bold;">Methode</td>
+
    <td>ImportCodeSystem</td>
+
  </tr>
+
</table><br>
+
=Funktionalität=
+
Mit ImportCodeSystem können Sie komplette CodeSysteme importieren. Dabei stehen Ihnen 2 Formate zur Wahl: ClaML oder CSV.<br>
+
Sie müssen bei jedem Import ein Codesystem angeben, welches durch den Import erstellt wird. Alle neuen Konzepte werden in dieses Codesystem eingeordnet.<br><br>
+
  
=Vorbedingungen=
+
=Prerequisites=
Sie müssen am Terminologieserver angemeldet sein, um den Webservice nutzen zu können.
+
Requires [[WS-Beschreibung - Terminologieserver_Authorization_Login|Login]].
  
 
=Request/Response=
 
=Request/Response=
==Eingabewerte==
+
==Request==
 
+
<table border="1" cellpadding="1" class="ws_table">
===importInfos===
+
   <tr class="ws_table_head">
<table border="1">
+
   <tr>
+
 
     <th>Parameter</th>
 
     <th>Parameter</th>
 
     <th>Typ</th>
 
     <th>Typ</th>
     <th>Optional</th>
+
     <th>L&auml;nge</th>
 +
    <th id="cardinality_cell">Kardinalit&auml;t</th>
 
     <th>Beschreibung</th>
 
     <th>Beschreibung</th>
 
   </tr>
 
   </tr>
   <tr>
+
<tr id="row_object">
    <td>formatId</td>
+
   <td id="param_level1">LoginType</td>
    <td>Long</td>
+
  <td>LoginType</td>
    <td></td>
+
<td></td>  <td id="cardinality_cell">1..1</td>
    <td>Das Format des Dateiinhalts.<br>'''ClaML:''' 193<br>'''CSV:''' 194</td>
+
  <td>Login information</td>
  </tr>
+
</tr>
  <tr>
+
<tr>
    <td>filecontent</td>
+
  <td id="param_level2">sessionID</td>
    <td><nowiki>byte[]</nowiki></td>
+
  <td>String</td>
    <td></td>
+
  <td></td>
    <td>Der Dateiinhalt. CSV-Dateien müssen mit ISO-8859-1 kodiert werden.</td>
+
  <td id="cardinality_cell">1..1</td>
   </tr>
+
  <td>Session-ID from user (given by system)</td>
 +
</tr>
 +
<tr id="row_object">
 +
  <td id="param_level1">ImportType</td>
 +
  <td>ImportType</td>
 +
<td></td>  <td id="cardinality_cell">1..1</td>
 +
  <td>Parameter for import</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level2">filecontent</td>
 +
  <td>byte[]</td>
 +
<td></td> <td id="cardinality_cell">1..1</td>
 +
  <td>The file contents. CSV files must be encoded with ISO-8859-1.</td>
 +
</tr>
 +
<tr>
 +
   <td id="param_level2">formatId</td>
 +
  <td>Long</td>
 +
<td></td>  <td id="cardinality_cell">1..1</td>
 +
  <td>The content of the file.
 +
ClaML: 193
 +
CSV: 194
 +
LOINC: 200
 +
LOINC relations: 201
 +
KBV keytab: 234</td>
 +
</tr>
 +
<tr id="row_object">
 +
  <td id="param_level1">code_system</td>
 +
  <td>code_system</td>
 +
<td></td>  <td id="cardinality_cell">1..1</td>
 +
  <td>Name of codesystem. Each codesystem requires at least one version.</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level2">description</td>
 +
  <td>String</td>
 +
  <td>65535</td>
 +
  <td id="cardinality_cell">0..1</td>
 +
  <td>Description of the code system to be created</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level2">name</td>
 +
  <td>String</td>
 +
  <td>100</td>
 +
  <td id="cardinality_cell">1..1</td>
 +
  <td>Name of the code system to be created</td>
 +
</tr>
 +
<tr id="row_object">
 +
  <td id="param_level2">code_system_version</td>
 +
  <td>code_system_version</td>
 +
<td></td>  <td id="cardinality_cell">-</td>
 +
  <td>Version of the code system to be created</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">description</td>
 +
  <td>String</td>
 +
  <td>65535</td>
 +
  <td id="cardinality_cell">0..1</td>
 +
  <td>Description of the Code System</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">expirationDate</td>
 +
  <td>java.util.Date</td>
 +
<td></td>  <td id="cardinality_cell">0..1</td>
 +
  <td>Point of time the Code System looses its validity.</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">licenceHolder</td>
 +
  <td>String</td>
 +
  <td>65535</td>
 +
  <td id="cardinality_cell">0..1</td>
 +
  <td>Owner of the licence.</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">name</td>
 +
  <td>String</td>
 +
  <td>100</td>
 +
  <td id="cardinality_cell">1..1</td>
 +
  <td>Name of the code system version to be created</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">oid</td>
 +
  <td>String</td>
 +
  <td>100</td>
 +
  <td id="cardinality_cell">0..1</td>
 +
  <td>Official OID</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">releaseDate</td>
 +
  <td>java.util.Date</td>
 +
<td></td>  <td id="cardinality_cell">0..1</td>
 +
  <td>Point of time, when this version starts to be valid.</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">source</td>
 +
  <td>String</td>
 +
  <td>65535</td>
 +
  <td id="cardinality_cell">0..1</td>
 +
  <td>Source of the Code System Version</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">underLicence</td>
 +
  <td>Boolean</td>
 +
<td></td>  <td id="cardinality_cell">1..1</td>
 +
  <td>true, if Code System is under license (Code System will be invisible for all users without proper license)</td>
 +
</tr>
 +
<tr id="row_object">
 +
  <td id="param_level2">licence_type</td>
 +
  <td>licence_type</td>
 +
<td></td>  <td id="cardinality_cell">0..N</td>
 +
  <td>Sorts of licence types.</td>
 +
</tr>
 +
<tr>
 +
  <td id="param_level3">typeTxt</td>
 +
  <td>String</td>
 +
  <td>65535</td>
 +
  <td id="cardinality_cell">1..1</td>
 +
  <td>type of licence</td>
 +
</tr>
 
</table>
 
</table>
 
+
==Response==
===codeSystem===
+
<table border="1" cellpadding="1" class="ws_table">
<table border="1">
+
   <tr class="ws_table_head">
   <tr>
+
 
     <th>Parameter</th>
 
     <th>Parameter</th>
 
     <th>Typ</th>
 
     <th>Typ</th>
     <th>Optional</th>
+
     <th>L&auml;nge</th>
 +
    <th id="cardinality_cell">Kardinalit&auml;t</th>
 
     <th>Beschreibung</th>
 
     <th>Beschreibung</th>
 
   </tr>
 
   </tr>
  <tr>
+
<tr id="row_object">
    <td>name</td>
+
  <td id="param_level1">ReturnType</td>
    <td>String</td>
+
  <td>ReturnType</td>
    <td></td>
+
<td></td> <td id="cardinality_cell">1..1</td>
    <td>Name des anzulegenden Codesystems</td>
+
   <td>Return information</td>
   </tr>
+
</tr>
  <tr>
+
<tr>
    <td>description</td>
+
  <td id="param_level2">count</td>
    <td>String</td>
+
   <td>Integer</td>
    <td>x</td>
+
<td></td> <td id="cardinality_cell">1..1</td>
    <td>Beschreibung des anzulegenden Codesystems</td>
+
  <td>number of results</td>
   </tr>
+
</tr>
  <tr style="background-color:#CCCCCC">
+
<tr>
    <td >codeSystemVersion</td>
+
  <td id="param_level2">message</td>
    <td>CodeSystemVersion</td>
+
  <td>String</td>
    <td></td>
+
  <td></td>
    <td>Die Version des anzulegenden Codesystems</td>
+
  <td id="cardinality_cell">1..1</td>
  </tr>
+
   <td>an additional message</td>
  <tr>
+
</tr>
    <td>name</td>
+
<tr>
    <td>String</td>
+
  <td id="param_level2">overallErrorCategory</td>
    <td></td>
+
  <td></td>
    <td>Der Name der anzulegenden Codesystem-Version</td>
+
<td></td> <td id="cardinality_cell">1..1</td>
   </tr>
+
  <td>INFO, WARN, ERROR</td>
  <tr>
+
</tr>
    <td>releaseDate</td>
+
<tr>
    <td>java.util.Date</td>
+
   <td id="param_level2">status</td>
    <td>x</td>
+
  <td></td>
    <td></td>
+
<td></td> <td id="cardinality_cell">1..1</td>
  </tr>
+
  <td>OK, FAILURE</td>
  <tr>
+
</tr>
    <td>expirationDate</td>
+
<tr id="row_object">
    <td>java.util.Date</td>
+
  <td id="param_level1">code_system</td>
    <td>x</td>
+
  <td>code_system</td>
    <td></td>
+
<td></td> <td id="cardinality_cell">1..1</td>
  </tr>
+
   <td>Name of codesystem. Each codesystem requires at least one version.</td>
   <tr>
+
</tr>
    <td>source</td>
+
<tr>
    <td>String</td>
+
  <td id="param_level2">currentVersionId</td>
    <td>x</td>
+
   <td>Long</td>
    <td></td>
+
<td></td> <td id="cardinality_cell">1..1</td>
  </tr>
+
  <td>The new ID of the added code system version</td>
  <tr>
+
</tr>
    <td>description</td>
+
<tr>
    <td>String</td>
+
  <td id="param_level2">id</td>
    <td>x</td>
+
  <td>Long</td>
    <td></td>
+
<td></td> <td id="cardinality_cell">1..1</td>
   </tr>
+
   <td>The new ID of the added code system</td>
  <tr>
+
</tr>
    <td>oid</td>
+
<tr id="row_object">
    <td>String (Länge: 100)</td>
+
  <td id="param_level2">code_system_version</td>
    <td>x</td>
+
  <td>code_system_version</td>
    <td></td>
+
<td></td> <td id="cardinality_cell">1..1</td>
   </tr>
+
  <td>The version of the added code system</td>
  <tr>
+
</tr>
    <td>licenceHolder</td>
+
<tr>
    <td>String</td>
+
  <td id="param_level3">versionId</td>
    <td>x</td>
+
  <td>Long</td>
    <td></td>
+
<td></td> <td id="cardinality_cell">1..1</td>
  </tr>
+
   <td>The new ID of the added code system version</td>
  <tr>
+
</tr>
    <td>underLicence</td>
+
    <td>boolean</td>
+
    <td></td>
+
    <td>Gibt an, ob die Codesystem-Version unter einer Lizenz steht oder nicht.</td>
+
   </tr>
+
  <tr style="background-color:#CCCCCC">
+
    <td>licenceType</td>
+
    <td><nowiki>List<LicenceType></nowiki></td>
+
    <td>x</td>
+
    <td></td>
+
  </tr>
+
  <tr>
+
    <td>typeTxt</td>
+
    <td>String</td>
+
    <td></td>
+
    <td>Typ der Lizenz</td>
+
   </tr>
+
 
</table>
 
</table>
  
===login===
+
=Examples=
<table border="1">
+
==SOAP messages==
  <tr>
+
===Simple domain===
    <th>Parameter</th>
+
<source lang="xml">
    <th>Typ</th>
+
    <th>Optional</th>
+
    <th>Beschreibung</th>
+
  </tr>
+
  <tr>
+
    <td>sessionID</td>
+
    <td>String</td>
+
    <td></td>
+
    <td>Die Session-ID, welche nach den erfolgreichen Login übergeben wurde.</td>
+
  </tr>
+
</table>
+
  
==Rückgabewerte==
+
</source>
===returnInfos===
+
<table border="1">
+
  <tr>
+
    <th>Parameter</th>
+
    <th>Typ</th>
+
    <th>Optional</th>
+
    <th>Beschreibung</th>
+
  </tr>
+
  <tr>
+
    <td>overallErrorCategory</td>
+
    <td>Enum</td>
+
    <td></td>
+
    <td>INFO, WARN oder ERROR</td>
+
  </tr>
+
  <tr>
+
    <td>status</td>
+
    <td>Enum</td>
+
    <td></td>
+
    <td>OK oder FAILURE</td>
+
  </tr>
+
  <tr>
+
    <td>message</td>
+
    <td>String</td>
+
    <td></td>
+
    <td>Status-Meldung</td>
+
  </tr>
+
</table>
+
  
 +
===Complex domain===
 +
<source lang="xml">
  
===codeSystem===
+
</source>
<table border="1">
+
 
  <tr>
+
==Code example==
    <th>Parameter</th>
+
===Java===
    <th>Typ</th>
+
<source lang="java">
    <th>Optional</th>
+
    <th>Beschreibung</th>
+
  </tr>
+
  <tr>
+
    <td>id</td>
+
    <td>long</td>
+
    <td></td>
+
    <td>Die neue ID des hinzugefügten Codesystems</td>
+
  </tr>
+
  <tr>
+
    <td>currentVersionId</td>
+
    <td>long</td>
+
    <td></td>
+
    <td>Die neue ID der hinzugefügten Codesystem-Version</td>
+
  </tr>
+
  <tr style="background-color:#CCCCCC">
+
    <td >codeSystemVersion</td>
+
    <td>CodeSystemVersion</td>
+
    <td></td>
+
    <td>Die Version des anzulegenden Codesystems</td>
+
  </tr>
+
  <tr>
+
    <td>versionId</td>
+
    <td>long</td>
+
    <td></td>
+
    <td>Die neue ID der hinzugefügten Codesystem-Version</td>
+
  </tr>
+
</table>
+
  
=Anmerkungen=
+
</source>
==Besonderheiten==
+
 
 +
=Annotations=
 +
==Noteworthiness==
 
'''CSV-Import'''<br>
 
'''CSV-Import'''<br>
Die kommagetrennte Datei muss folgendermaßen aufgebaut sein:<br>
+
The comma separated file has to be build in this pattern:<br>
 
*Syntax
 
*Syntax
**Codierung: ISO-8859-1
+
**Coding: ISO-8859-1
**Felder getrennt mit einem Semikolon ;
+
**Fields will be separated by a ";"
**1. Zeile enthält Informationen über die Spalten
+
**Strings has to be encapsulated with " ", if there are any special or delimiter symbols
*Felder
+
**First row contains informations about columns
**erlaubte Werte
+
*Fields
***code (entweder code oder term verpflichtend)
+
**legal values
***term (entweder code oder term verpflichtend)
+
***code (either code or term are required)
 +
***term (either code or term are required)
 
***''term_abbrevation''
 
***''term_abbrevation''
***''is_axis'' (1/0 oder true/false, Standard: 0)
+
***''description''
***''is_mainclass'' (1/0 oder true/false, Standard: 0)
+
***''is_axis'' (1/0 or true/false, standard: 0)
***''relation'' (Code, zu dem eine Beziehung aufgebaut wird)
+
***''is_mainclass'' (1/0 or true/false, standard: 0)
****''association_kind'' (1=ontologisch, 2=taxonomisch, 3=cross mapping; Standard: 2)
+
***''is_preferred'' (1/0 or true/false, standard: 1)
****association_type (Assoziationsbeschreibung, String, z.B. 'ist Unterklasse von', verpflichtend, wenn 'relation' angegeben ist)
+
***''relation'' (Code, a association will be build up to)
****association_type_reverse (Assoziationsbeschreibung rückwärts, String, z.B. 'ist Oberklasse von', verpflichtend, wenn 'relation' angegeben ist)
+
****''association_kind'' (1=ontological, 2=taxonomic, 3=cross mapping; standard: 2)
 +
****association_type (Association description, string, e.g. 'is subclass of', required if 'relation' is set)
 +
****association_type_reverse (Association description reversed, string, e.g. 'is upper class of', required if 'relation' is set)
 +
***''translation_XX'' (XX represents the ID of the language, that can be determined by the domains)
 +
***''metadata_XX'' (XX represents the names of metadata, that will be created automatically)
 +
 
 +
<nowiki>*</nowiki>''italic'' Entries are optional
 +
If no code is given, term will be used as code (cut to a maximum length of 100 characters)
 +
 
 +
==Hints==
  
<nowiki>*</nowiki>''Kursive'' Einträge sind optional
+
=Examples=
 +
==Files==
 +
The following file shows a example of a csv import of a small code system with associations:[[:File:CSV-Import_Beispiel.csv|CSV-Import_Beispiel]]
  
Ist kein Code angegeben, wird die Term-Bezeichnung dafür verwendet (wird gekürzt auf eine max. Länge von 100 Zeichen)
+
Example file (CSV) with some translations can be found here: [[:File:ISO_IEC_5218 Geschlechtercodes.csv|Geschlechtercodes CSV]]
  
==Hinweise==
+
==SOAP messages==
 +
<source lang="xml">
 +
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adm="http://administration.ws.terminologie.fhdo.de/">
 +
  <soapenv:Header/>
 +
  <soapenv:Body>
 +
      <adm:ImportCodeSystem>
 +
        <parameter>
 +
            <codeSystem>
 +
              <codeSystemVersions>
 +
                  <name>Administrative sex (HL7)</name>
 +
                  <underLicence>0</underLicence>
 +
              </codeSystemVersions>
 +
              <name>Administrative sex (HL7)</name>
 +
            </codeSystem>
 +
            <importInfos>
 +
            <filecontent>BASE64-CONTENT</filecontent>  <!-- can be imported directly in Soap-UI (context menu) -->
 +
              <formatId>194</formatId>
 +
            </importInfos>
 +
            <login>
 +
              <sessionID>71a4f756-dc1a-41a6-941d-0e4fb0145f7f</sessionID>  <!-- insert Session-ID from login -->
 +
            </login>
 +
        </parameter>
 +
      </adm:ImportCodeSystem>
 +
  </soapenv:Body>
 +
</soapenv:Envelope>
  
=Beispiele=
+
</source>
==SOAP-Nachrichten==
+
==Code-Beispiele==
+

Aktuelle Version vom 9. August 2013, 08:27 Uhr

Inhaltsverzeichnis

Functionality

Imports a whole code system. There are two import formats available: ClaML and CSV.
You have to specify a code system for each import. All new concepts will be added to that code system.

Prerequisites

Requires Login.

Request/Response

Request

Parameter Typ Länge Kardinalität Beschreibung
LoginType LoginType 1..1 Login information
sessionID String 1..1 Session-ID from user (given by system)
ImportType ImportType 1..1 Parameter for import
filecontent byte[] 1..1 The file contents. CSV files must be encoded with ISO-8859-1.
formatId Long 1..1 The content of the file.

ClaML: 193 CSV: 194 LOINC: 200 LOINC relations: 201

KBV keytab: 234
code_system code_system 1..1 Name of codesystem. Each codesystem requires at least one version.
description String 65535 0..1 Description of the code system to be created
name String 100 1..1 Name of the code system to be created
code_system_version code_system_version - Version of the code system to be created
description String 65535 0..1 Description of the Code System
expirationDate java.util.Date 0..1 Point of time the Code System looses its validity.
licenceHolder String 65535 0..1 Owner of the licence.
name String 100 1..1 Name of the code system version to be created
oid String 100 0..1 Official OID
releaseDate java.util.Date 0..1 Point of time, when this version starts to be valid.
source String 65535 0..1 Source of the Code System Version
underLicence Boolean 1..1 true, if Code System is under license (Code System will be invisible for all users without proper license)
licence_type licence_type 0..N Sorts of licence types.
typeTxt String 65535 1..1 type of licence

Response

Parameter Typ Länge Kardinalität Beschreibung
ReturnType ReturnType 1..1 Return information
count Integer 1..1 number of results
message String 1..1 an additional message
overallErrorCategory 1..1 INFO, WARN, ERROR
status 1..1 OK, FAILURE
code_system code_system 1..1 Name of codesystem. Each codesystem requires at least one version.
currentVersionId Long 1..1 The new ID of the added code system version
id Long 1..1 The new ID of the added code system
code_system_version code_system_version 1..1 The version of the added code system
versionId Long 1..1 The new ID of the added code system version

Examples

SOAP messages

Simple domain

 

Complex domain

 

Code example

Java

 

Annotations

Noteworthiness

CSV-Import
The comma separated file has to be build in this pattern:

*italic Entries are optional If no code is given, term will be used as code (cut to a maximum length of 100 characters)

Hints

Examples

Files

The following file shows a example of a csv import of a small code system with associations:CSV-Import_Beispiel

Example file (CSV) with some translations can be found here: Geschlechtercodes CSV

SOAP messages

 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adm="http://administration.ws.terminologie.fhdo.de/">
   <soapenv:Header/>
   <soapenv:Body>
      <adm:ImportCodeSystem>
         <parameter>
            <codeSystem>
               <codeSystemVersions>
                  <name>Administrative sex (HL7)</name>
                  <underLicence>0</underLicence>
               </codeSystemVersions>
               <name>Administrative sex (HL7)</name>
            </codeSystem>
            <importInfos>
            <filecontent>BASE64-CONTENT</filecontent>  <!-- can be imported directly in Soap-UI (context menu) -->
               <formatId>194</formatId>
            </importInfos>
            <login>
               <sessionID>71a4f756-dc1a-41a6-941d-0e4fb0145f7f</sessionID>  <!-- insert Session-ID from login -->
            </login>
         </parameter>
      </adm:ImportCodeSystem>
   </soapenv:Body>
 </soapenv:Envelope>
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge