Adjumed Webservice API-GUIDE Version: 0.99 Date: 25.11.2015 Status: in progress Author: Ignaz Walgis / Milena Rajkovic Pages: 25 Classification: Public Adjumed Webservice API-Guide V.0.98 Page 1 / 25
Document History Version / Status Datum, Autor Bemerkung 0.1 / in progress 19.03.2014, Ignaz Walgis Initial version 0.2 / in progress 25.03.2014, Milena Rajkovic Added method description 0.3 / in progress 27.03.2014, Milena Rajkovic Added SOAP envelope description 0.9 / in progress 17.04.2014, Milena Rajkovic Overall corrections, Added method description 0.95 / in progress 08.09.2014, Milena Rajkovic Changed the ImportCase method description 0.96 / in progress 10.04.015, Ignaz Walgis Layout optimizations. Live / Staging system better explained. Added AQC-XML format file sample. Explanation of single and multi-value fields. Added link to XSD- Schema. 0.97 / in progress 15.05.2015, Ignaz Walgis Added new method GetCase 0.98 / in progress 02.09.2015, Ignaz Walgis Description extended for method CheckCaseId 0.99 / in progress 25.11.2015, Ignaz Walgis Extended status code for webservice methods: 99, 2. Overall descriptions optimized. Adjumed Webservice API-Guide V.0.99 Page 2 / 25
Table of contents 1. Overview 4 1.1 Webservice Url 4 1.1.1 Live System 4 1.1.2 Staging System 4 1.2 Webservice Access Management 4 1.3 Webservice Protocol 4 1.4 XML Envelope 4 2. Using the webservice 5 2.1 Initial sequence 5 2.1.1 SOAP 5 3. API Methods 6 3.1 CheckCaseId 6 3.1.1 SOAP 6 3.2 GetCaseStatus 7 3.2.1 SOAP 7 3.3 GetCase 9 3.3.1 Export format 14 3.3.2 SOAP 14 3.4 ImportCase 15 3.4.1 Import format 16 3.4.2 SOAP 19 3.5 CheckCase 21 3.5.1 SOAP 22 Adjumed Webservice API-Guide V.0.99 Page 3 / 25
1. Overview Adjumed developed this API to facilitate developers and make their tasks of getting information from Adjumed Collect easier than before. The webservice is developped under.net Framework 4.5, Visual Studio 2013 and written in C#. 1.1 Webservice Url 1.1.1 Live System Located at: Request WSDL located at: https://service.adjumed.net/service.svc https://service.adjumed.net/service.svc?wsdl 1.1.2 Staging System Located at: Request WSDL located at: https://stageservice.adjumed.net/service.svc https://stageservice.adjumed.net/service.svc?wsdl 1.2 Webservice Access Management The access management is done under the Adjumed Collect System. A valid webservice access login must be of user type Webservice. 1.3 Webservice Protocol The webservice protocol is SOAP. 1.4 XML Envelope Every call return a standardized XML data structure. Each call may return additional individual data, e.g. a single integer or more comples XML data structures. Please read the API description for each individual call. <?xml version= 1.0 encoding= utf-8?> <service> <statuscode>0</statuscode> <statustext>success</statustext> <data> </data> </service> Adjumed Webservice API-Guide V.0.99 Page 4 / 25
2. Using the webservice 2.1 Initial sequence The requesting client application must first acquire a valid Access Token. For any further calls the Access Token must be provided. The Access Token is valid for 1 Minute. Every subsequent call to any webservice method - within 1 minute - renews the the validity of the Access Token to 1 minute again. The user must have a valid login (type WebService) in Adjumed system. Method: RequestAccessToken(username, clinicnumber, password) Success, the webservice returns the access token in the data field of the XML envelope: <?xml version= 1.0 encoding= utf-8?> <service> <statuscode>0</statuscode> <statustext>success</statustext> <data>50a8fa16-16f2-45e4-a94e-badea8db8313</data> </service> statuscode statustext Description 0 success Returns a valid Access Token in the data field of the XML envelope. 1 failed UserName, ClinicNumber or Password incorrect. 99 system exception 2.1.1 SOAP The following is a sample SOAP request. Returns no additional data. Returns a system stack trace in the data field of the XML envelope. <soapenv:envelope xmlns:soapenv= http://schemas.xmlsoap.org/soap/envelope/ xmlns:tem= http://tempuri.org/ > <soapenv:header/> <soapenv:body> <tem:requestaccesstoken> <tem:username>john.smith@yahoo.com</tem:username> <tem:clinicnumber>string</tem:clinicnumber> <tem:password>string</tem:password> </tem:requestaccesstoken> </soapenv:body> </soapenv:envelope> The following is a sample SOAP response. <s:envelope xmlns:s= http://schemas.xmlsoap.org/soap/envelope/ > <s:body> <RequestAccessTokenResponse xmlns= http://tempuri.org/ > <RequestAccessTokenResult> <![CDATA[ <service> <statuscode>0</statuscode> <statustext>success</statustext> <data>e0412ef0-aece-43fd-9ad5-c72eb37786cb</data> </service>]]> </RequestAccessTokenResult> </RequestAccessTokenResponse> </s:body> </s:envelope> Adjumed Webservice API-Guide V.0.99 Page 5 / 25
3. API Methods 3.1 CheckCaseId CheckCaseId method compares the given entry date and patient ID with the entry date and patient ID of the case in Adjumed system, if any. Otherwise, returns the code for case not found. Client application must provide acquired access token, case ID, patient ID and entry date. The possible results are 0 (case with the given case ID is not found), 1 (case with the given case ID is found, patient ID and entry date are the same as provided ones), 2 (case with the given case ID is found, patient ID or entry date are different from the provided ones), 3 (more than 1 case found with the same caseid). Method: CheckCaseId(accessToken, caseid, patientid, entrydate) Success, the webservice returns the check case ID status in the data field of the XML envelope: <?xml version="1.0" encoding="utf-8"?> <service> <statuscode>0</statuscode> <statustext>success</statustext> <data>0</data> </service> statuscode statustext Description 0 success Returns check case ID result in the data field of the XML envelope. 1 failed Access Token incorrect or expired, case doesn t exist. Returns no additional data. 2 case not found Returns no additional data. 99 system exception Returns a system stack trace in the data field of the XML envelope. 3.1.1 SOAP The following is a sample SOAP request. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:header/> <soapenv:body> <tem:checkcaseid> <tem:accesstoken>b4f666c2-4a21-419b-8931-9d63bb652c75</tem:accesstoken> <tem:caseid>32539841</tem:caseid> <tem:patientid>3253984</tem:patientid> <tem:entrydate>13.01.2014</tem:entrydate> </tem:checkcaseid> </soapenv:body> </soapenv:envelope> The following is a sample SOAP response. <s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:body> <CheckCaseIdResponse xmlns="http://tempuri.org/"> <CheckCaseIdResult> <![CDATA[<service> <statuscode>0</statuscode> <statustext>success</statustext> <data>1</data></service>]]> </CheckCaseIdResult> </CheckCaseIdResponse> </s:body> </s:envelope> Adjumed Webservice API-Guide V.0.99 Page 6 / 25
3.2 GetCaseStatus GetCaseStatus method returns the status of a case in Adjumed system. The possible results are 0 (open case), 10 (complete case) and -1 (deleted case). It also returns the date of creation, date of modification and the information about manual modification. The client application must provide acquired access token and case ID. Method: GetCaseStatus(accessToken, caseid) Success, the webservice returns the case status in the data field of the XML envelope: <?xml version= 1.0 encoding= utf-8?> <service> <statuscode>0</statuscode> <statustext>success</statustext> <data> <status> <casestatus>10</casestatus> <manualedit>true</manualedit> <datecreated>31.01.2013 09:26:43</datecreated> <datemodified> 28.01.2014 11:21:50</datemodified> </status> </data> </service> statuscode statustext Description 0 success Returns a case status in the data field of the XML envelope. 1 failed Access Token incorrect or expired, case doesn t exist. Returns no additional data. 2 case not found Returns no additional data. 3 case id not unique Case ID is not unique. 99 system exception Returns a system stack trace in the data field of the XML envelope. 3.2.1 SOAP The following is a sample SOAP request. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:header/> <soapenv:body> <tem:getcasestatus> <tem:accesstoken>d38696d6-d0ff-4a9f-8625-e29b06de4e44</tem:accesstoken> <tem:caseid>1234</tem: caseid> </tem:getcasestatus> </soapenv:body> </soapenv:envelope> Adjumed Webservice API-Guide V.0.99 Page 7 / 25
The following is a sample SOAP response. <s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:body> <GetCaseStatusResponse xmlns="http://tempuri.org/"> <GetCaseStatusResult> <![CDATA[ <service> <statuscode>0</statuscode> <statustext>success</statustext> <data> <status> <casestatus>10</casestatus> <manualedit>true</manualedit> <datecreated>31.01.2013 09:26:43</datecreated> <datemodified>28.01.2014 11:21:50</datemodified> </status> </data> </service>]]> </GetCaseStatusResult> </GetCaseStatusResponse> </s:body> </s:envelope> Adjumed Webservice API-Guide V.0.99 Page 8 / 25
3.3 GetCase GetCase method gets a specific case from the Adjumed system. The client application must provide acquired access token and the ID of the case. The case is returned in AQC-XML Format and can. This format can be used to reimport this case. Method: GetCase (accesstoken, caseid) Success, the webservice returns the case in the data field of the XML envelope: <service> <statuscode>0</statuscode> <statustext>success</statustext> <data> <caselist> <case> <key> <clinicnumber>0</clinicnumber> <entrydate>01.04.2015</entrydate> <patientid>34567890</patientid> <caseid>34567890</caseid> </key> <form level="a0" number="1"> <field number="4" name="patientennummer" type="patientennummer"> <value priority="1">34567890</value> <field number="370" name="geburtsjahr" type="textbox"> <value priority="1">1960</value> <field number="365" name="geschlecht" type="radiobuttonlist"> <field number="363" name="eintrittsdatum" type="customtextboxdate"> <value priority="1">01.04.2015</value> <field number="361" name="behandlungsart" type="dropdownlist"> <value priority="1">3</value> <field number="14" name="klasse" type="dropdownlist"> <value priority="1">3</value> <field number="11" name="eintrittsgrund" type="dropdownlist"> <field number="362" name="asarisikostufe" type="dropdownlist"> <value priority="1">32</value> <field number="30" name="koerpergewicht" type="textbox"> <value priority="1">135</value> <field number="32" name="koerpergroesse" type="textbox"> <value priority="1">170</value> <field number="36" name="thromboembolieprophylaxe" type="dropdownlist"> <value priority="1">157</value> <field number="16" name="austrittsdatum" type="customtextboxdate"> <value priority="1">10.04.2015</value> <field number="37" name="stdintensivmedizin" type="textbox"> <field number="38" name="intubiert" type="radiobuttonlist"> <value priority="1">0</value> <field number="44" name="artdesaustritts" type="dropdownlist"> <field number="2426" name="export" type="checkbox"> <value priority="1">true</value> <field number="603 608" name="euro-qol_eintritt_neuro" type="euroquol_neuro"> <value priority="1">---2-</value> Adjumed Webservice API-Guide V.0.99 Page 9 / 25
<field number="639 638" name="euro-qol_nachkontrolle_neuro" type="euroquol_neuro"> <value priority="1">---1-</value> <field number="912" name="anastomoseninsuffizienzart_viszeral2" type="dropdownlist"> <value priority="1">1745</value> <field number="889" name="komplikationenviszeraldindo" type="dropdownlist"> <value priority="1">1630</value> <field number="10" name="eintrittsart_2012" type="dropdownlist"> <field number="42" name="aufenthaltnachaustritt_2012" type="dropdownlist"> <field number="56" name="komplikationfallbezogenschweregrad" type="dropdownlist"> <value priority="1">631</value> <field number="2330" name="istvis1fall" type="radiobuttonlist"> <field number="2332" name="isthandfall" type="radiobuttonlist"> <field number="2333" name="istneurofall" type="radiobuttonlist"> <field number="2334" name="istorthofall" type="radiobuttonlist"> <field number="2335" name="istsmobfall" type="radiobuttonlist"> <value priority="1">3</value> <field number="2336" name="istvascfall" type="radiobuttonlist"> <field number="2374" name="isturologiefall" type="radiobuttonlist"> <field number="2380" name="transcode_alter" type="textbox"> <value priority="1">55</value> <field number="2381" name="transcode_anzahloperationen" type="textbox"> <field number="2382" name="transcode_anzahleingriffsteile" type="textbox"> <field number="2383" name="transcode_aufenthaltsdauer" type="textbox"> <value priority="1">10</value> <field number="2384" name="transcode_bodymassindex" type="textbox"> <value priority="1">46.71</value> <field number="2385" name="transcode_tagepraeoperativ" type="textbox"> <field number="2386" name="transcode_tagepostoperativ" type="textbox"> <value priority="1">9</value> <field number="2387" name="transcode_altersklasse" type="dropdownlist"> <value priority="1">6</value> <field number="2388" name="transcode_aufenthaltsdauerklasse" type="dropdownlist"> <value priority="1">3</value> <field number="2389" name="transcode_austrittsmonat" type="dropdownlist"> <value priority="1">4</value> <field number="2390" name="transcode_austrittswochentag" type="dropdownlist"> <value priority="1">5</value> <field number="2391" name="transcode_bodymassindexklasse" type="dropdownlist"> <value priority="1">8</value> <field number="2394" name="transcode_eintrittsmonat" type="dropdownlist"> <value priority="1">4</value> Adjumed Webservice API-Guide V.0.99 Page 10 / 25
<field number="2395" name="transcode_eintrittswochentag" type="dropdownlist"> <value priority="1">3</value> <field number="2396" name="transcode_gewichtsklasse" type="dropdownlist"> <value priority="1">7</value> <field number="2397" name="transcode_groessenklasse" type="dropdownlist"> <value priority="1">9</value> <field number="2399" name="transcode_tagepraeoperativklasse" type="dropdownlist"> <field number="2400" name="transcode_tagepostoperativklasse" type="dropdownlist"> <value priority="1">4</value> <field number="2403" name="transcode_overallkomplikationsschweregrad" type="dropdownlist"> <value priority="1">0</value> <field number="2407" name="transcode_blutverlust" type="textbox"> <value priority="1">0</value> <field number="2408" name="transcode_blutverlustklasse" type="dropdownlist"> <value priority="1">0</value> <field number="2410" name="transcode_operationsdauer_kl" type="textbox"> <value priority="1">60</value> <field number="2411" name="transcode_operationsdauerklasse" type="dropdownlist"> <value priority="1">5</value> <field number="2415" name="transcode_fallbezogeneallgemeinekomplikationen" type="textbox"> <value priority="1">0</value> <field number="2455" name="transcode_operationsdatum_viszeral" type="textbox"> <value priority="1">02.04.2015</value> <field number="71" name="patient_informiert" type="radiobuttonlist"> <field number="2420" name="istkinderchirurgiefall" type="radiobuttonlist"> <field number="3" name="fid" type="textbox"> <value priority="1">34567890</value> <field number="2341" name="istplasticfall" type="radiobuttonlist"> <field number="2342" name="istburnfall" type="radiobuttonlist"> <field number="2910" name="transcode_euroqol_eintritt_beweglichkeit" type="dropdownlist"> <value priority="1">-</value> <field number="2911" name="transcode_euroqol_eintritt_selbstständigkeit" type="dropdownlist"> <value priority="1">-</value> <field number="2912" name="transcode_euroqol_eintritt_allgtätigkeiten" type="dropdownlist"> <value priority="1">-</value> <field number="2913" name="transcode_euroqol_eintritt_schmerzen" type="dropdownlist"> <field number="2914" name="transcode_euroqol_eintritt_angst" type="dropdownlist"> <value priority="1">-</value> <field number="2922" name="transcode_euroqol_nachkontrolle_beweglichkeit" type="dropdownlist"> <value priority="1">-</value> <field number="2923" name="transcode_euroqol_nachkontrolle_selbstständigkeit" type="dropdownlist"> <value priority="1">-</value> <field number="2924" name="transcode_euroqol_nachkontrolle_allgtätigkeiten" type="dropdownlist"> <value priority="1">-</value> <field number="2925" name="transcode_euroqol_nachkontrolle_schmerzen" type="dropdownlist"> Adjumed Webservice API-Guide V.0.99 Page 11 / 25
<field number="2926" name="transcode_euroqol_nachkontrolle_angst" type="dropdownlist"> <value priority="1">-</value> <field number="2950" name="istvis3fall" type="radiobuttonlist"> <value priority="1">3</value> <field number="2955" name="re-operation_vis3" type="radiobuttonlist"> <value priority="1">0</value> <field number="2956" name="30_tage:mortalität_vis3" type="radiobuttonlist"> <value priority="1">0</value> <field number="2984" name="datum_erstkonsultation_bariatrie_vis3" type="customtextboxdate"> <value priority="1">02.02.2015</value> <field number="2990" name="anastomoseninsuffizienz_bariartrie_vis3" type="dropdownlist"> <value priority="1">0</value> <field number="2991" name="blutung_bariartrie_vis3" type="dropdownlist"> <value priority="1">1725</value> <field number="2992" name="wundinfekt_bariartrie_vis3" type="dropdownlist"> <value priority="1">1705</value> <field number="2993" name="thrombose_bariartrie_vis3" type="dropdownlist"> <value priority="1">1795</value> <field number="2997" name="ileus_bariartrie_vis3" type="dropdownlist"> <value priority="1">1815</value> <field number="3004" name="erstkontakt_bariatrie_unbekannt_vis3" type="checkbox"> <value priority="1">false</value> <field number="3008" name="erkrankung_berechnet_vis3" type="radiobuttonlist"> <value priority="1">5</value> <field number="3009" name="ci_berechnet_vis3" type="textbox"> <value priority="1">0</value> <field number="45" name="diagnose_haupt_2015" type="icd10_14"> <value priority="1">e66.0</value> <field number="35" name="antibiotikaprophylaxe_2015" type="dropdownlist"> <value priority="1">152</value> <field number="3455" name="istbewegungsapparatfall" type="radiobuttonlist"> <form level="a1" number="1"> <field number="97" name="operationsnummer" type="textbox"> <field number="100" name="operationsdatum" type="customtextboxdate"> <value priority="1">02.04.2015</value> <field number="104" name="operationsart" type="dropdownlist"> <field number="101" name="komplikationenalsoperationsgrund" type="dropdownlist"> <field number="105" name="ortdeseingriffs" type="dropdownlist"> <field number="106" name="antibiotikaperioperativ" type="dropdownlist"> <field number="750" name="operationsdringlichkeit_viszeral" type="dropdownlist"> <field number="2392" name="transcode_operationsmonat" type="dropdownlist"> <value priority="1">4</value> <field number="2393" name="transcode_operationswochentag" type="dropdownlist"> <value priority="1">4</value> Adjumed Webservice API-Guide V.0.99 Page 12 / 25
<field number="2404" name="transcode_anzahleingriffsteile_pro_op" type="textbox"> <field number="2405" name="transcode_tagepraeoperativ_pro_op" type="textbox"> <field number="2406" name="transcode_tagepostoperativ_pro_op" type="textbox"> <value priority="1">9</value> <field number="882" name="transcode_eingriffsart_logbook" type="dropdownlist"> <value priority="1">1625</value> <field number="2954" name="operations_intention_vis3" type="dropdownlist"> <value priority="1">5</value> <field number="3003" name="operationsdringlichkeit_vis3" type="dropdownlist"> <value priority="1">3</value> <form level="a2" number="1"> <field number="116" name="operateurnummer" type="arztnummer"> <value priority="1">126</value> <field number="103" name="operateurklasse" type="dropdownlist"> <field number="121" name="dauer" type="textbox"> <value priority="1">60</value> <field number="123" name="anzahleckonzintraop" type="textbox"> <field number="131" name="artdertransfusion" type="customcheckboxlist"> <value priority="1">240</value> <field number="125" name="anzahlffpintraop" type="textbox"> <field number="130" name="anaesthesieart" type="customcheckboxlist"> <value priority="1">217</value> <field number="124" name="transfusionenpostop" type="radiobuttonlist"> <value priority="1">0</value> <field number="360" name="komplikationenpostopschweregrad" type="dropdownlist"> <value priority="1">301</value> <field number="50" name="komplikationenintraopschweregrad" type="dropdownlist"> <value priority="1">245</value> <field number="2412" name="transcode_operationsdauerklasse_pro_et" type="textbox"> <value priority="1">5</value> <field number="884" name="transcode_operationsgruppe_logbook" type="dropdownlist"> <value priority="1">1681</value> <field number="2000" name="opcode_smob_2015" type="customtreeviewlist"> <value priority="1">1031</value> <field number="109" name="opcodenummern_2015" type="chop15gruppe"> <value priority="1">44.96.13</value> <field number="3010" name="opcode_hsm_2015_vis3" type="customtreeviewlist"> <value priority="1">44.96.13</value> <field number="107" name="opcodenummern_2015" type="chop15"> <value priority="1">44.96.13</value> </case> </caselist> </data> </service> Adjumed Webservice API-Guide V.0.99 Page 13 / 25
statuscode statustext Description 0 success Returns the requested case in the data field of the XML envelope. 1 failed Access Token incorrect or expired, case doesn t exist. Returns no additional data. 3 case id not unique Case ID is not unique. 99 Failed Returns a system stack trace in the data field of the XML envelope. 3.3.1 Export format See Chapter 3.4.1 3.3.2 SOAP The following is a sample SOAP request. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:header/> <soapenv:body> <tem:getcase> <tem:accesstoken>f9327440-1024-4f77-a10b-fb551ea11b39</tem:accesstoken> <tem:caseid>34567890</tem:caseid> </tem:getcase> </soapenv:body> </soapenv:envelope> Adjumed Webservice API-Guide V.0.99 Page 14 / 25
3.4 ImportCase ImportCase method imports the case in Adjumed system. The client application must provide acquired access token, the import case string, formid and filterformid. The parameter overwritecases can have one of the following values: All, SkipExistingCases, and SkipManuallyChangedCases. Import case string must be in a form of XML. Method: ImportCase(accessToken, importcase, formid, filterformid, overwritecases) Success, the webservice returns the import result in the data field of the XML envelope: <?xml version="1.0" encoding="utf-8"?> <service> <statuscode>0</statuscode> <statustext>success</statustext> <data> <caselist> <case> <key> <clinicnumber>43</clinicnumber> <entrydate>01.10.2013</entrydate> <patientid>1234</patientid> <caseid></caseid> </key> <checkresults> <errorcount>10</errorcount> <infocount >2</infocount> <protocol> 11:19:54 *** Prüfung gestartet<br /> 11:19:55 KL Info Euro-Qol Eintritt<br /> 11:19:55 KL Info Euro-Qol Nachkontrolle<br /> 11:19:57 Fall erfolgreich geprüft<br /> 11:19:57 *** Prüfung beendet </protocol> <caseurl>http://stage.adjumed.net/web/faelle.aspx?commandname=2&formulareintrag_id=123 </caseurl> </checkresults> <case> <caselist> <data> <service> statuscode statustext Description 0 success Returns import results in the data field of the XML envelope. 1 failed Access Token incorrect or expired. Returns no additional data. 2 no case found No cases are imported. Returns no additional data. 4 xml not valid The structure of the provided xml data is not valid. Return the results of the validation errors in the data field of the XML envelope. 99 failed Returns a system stack trace in the data field of the XML envelope. Adjumed Webservice API-Guide V.0.99 Page 15 / 25
3.4.1 Import format The import format is AQC-XML. Please find the XSD-Schema online: https://www.adjumed.net/web/templates/schema/aqc%20-%20datenimport.xsd Sample file with 1 operation and 1 intervention part: <caselist xmlns="http://www.w3.org/2001/xmlschema"> <case> <key> <clinicnumber>0</clinicnumber> <entrydate>23.02.2015</entrydate> <patientid>800138</patientid> <caseid></caseid> </key> <form level="a0"> <field number="4" name="patientennummer"> <value priority='1'>'800138</value> <field number="3" name="fid"> <value priority='1'>'</value> <field number="370" name="geburtsjahr"> <value priority='1'>1967</value> <field number="365" name="geschlecht"> <value priority='1'>1</value> <field number="363" name="eintrittsdatum"> <value priority='1'>23.02.2015</value> <field number="10" name="eintrittsart_2012"> <value priority='1'>1</value> <field number="361" name="behandlungsart"> <value priority='1'>3</value> <field number="14" name="klasse"> <value priority='1'>1</value> <field number="11" name="eintrittsgrund"> <value priority='1'>1</value> <field number="362" name="asarisikostufe"> <value priority='1'>31</value> <field number="66" name="praeoperativerisiken"> <value priority='1'>63</value> <field number="891" name="statusnachlaparotomie_viszeral2"> <value priority='1'>0</value> <field number="35" name="antibiotikaprophylaxe_2015"> <value priority='1'>152</value> <field number="36" name="thromboembolieprophylaxe"> <value priority='1'>156</value> <field number="16" name="austrittsdatum"> <value priority='1'>28.02.2015</value> <field number="37" name="stdintensivmedizin"> <value priority='1'>12</value> <field number="38" name="intubiert"> <value priority='1'>0</value> <field number="42" name="aufenthaltnachaustritt_2012"> <value priority='1'>5</value> <field number="44" name="artdesaustritts"> <value priority='1'>1</value> <field number="889" name="komplikationenviszeraldindo"> Adjumed Webservice API-Guide V.0.99 Page 16 / 25
<value priority='1'>1630</value> <field number="56" name="komplikationfallbezogenschweregrad"> <value priority='1'>631</value> <field number="45" name="diagnose_haupt_2015"> <value priority='1'>i20.1</value> <field number="368" name="diagnose_zusatz_2015"> <value priority='1'>g01</value> <field number="47" name="diagnose_neben_2015"> <value priority='1'>o00.0</value> <form level="a1"> <field number="97" name="operationsnummer"> <value priority='1'>1</value> <field number="100" name="operationsdatum"> <value priority='1'>24.02.2015</value> <field number="104" name="operationsart"> <value priority='1'>1</value> <field number="101" name="komplikationenalsoperationsgrund"> <value priority='1'>1</value> <field number="105" name="ortdeseingriffs"> <value priority='1'>2</value> <field number="106" name="antibiotikaperioperativ"> <value priority='1'>2</value> <form level="a2"> <field number="109" name="opcodenummern_2015"> <value priority="1">44.31.99</value> <value priority="2">44.31.11</value> <field number="116" name="operateurnummer"> <value priority='1'>3</value> <field number="103" name="operateurklasse"> <value priority='1'>2</value> <field number="118" name="1assistenzoperateurnummer"> <value priority='1'>4</value> <field number="119" name="teachingassistenz"> <value priority='1'>1</value> <field number="121" name="dauer"> <value priority='1'>60</value> <field number="122" name="blutverlust"> <value priority='1'>0</value> <field number="123" name="anzahleckonzintraop"> <value priority='1'>0</value> <field number="131" name="artdertransfusion"> <value priority='1'>240</value> <field number="125" name="anzahlffpintraop"> <value priority='1'>0</value> <field number="50" name="komplikationenintraopschweregrad"> <value priority='1'>245</value> <field number="130" name="anaesthesieart"> <value priority='1'>217</value> <field number="360" name="komplikationenpostopschweregrad"> <value priority='1'>301</value> <field number="124" name="transfusionenpostop"> <value priority='1'>0</value> Adjumed Webservice API-Guide V.0.99 Page 17 / 25
<form level="a2"> <field number="109" name="opcodenummern_2015"> <value priority='1'>44.96.18</value> <field number="116" name="operateurnummer"> <value priority='1'>5</value> <field number="103" name="operateurklasse"> <value priority='1'>4</value> <field number="121" name="dauer"> <value priority='1'>15</value> <field number="122" name="blutverlust"> <value priority='1'>0</value> <field number="123" name="anzahleckonzintraop"> <value priority='1'>0</value> <field number="131" name="artdertransfusion"> <value priority='1'>240</value> <field number="125" name="anzahlffpintraop"> <value priority='1'>0</value> <field number="50" name="komplikationenintraopschweregrad"> <value priority='1'>245</value> <field number="130" name="anaesthesieart"> <value priority='1'>217</value> <field number="360" name="komplikationenpostopschweregrad"> <value priority='1'>301</value> <field number="124" name="transfusionenpostop"> <value priority='1'>0</value> <form level="b0"> </case> </caselist> 3.4.1.1 Example: Single value field <field number="4" name="patientennummer"> <value priority='1'>'800138</value> 3.4.1.2 Example: Multi value field <field number="109" name="opcodenummern_2015"> <value priority="1">44.31.99</value> <value priority="2">44.31.11</value> Adjumed Webservice API-Guide V.0.99 Page 18 / 25
3.4.2 SOAP The following is a sample SOAP request. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:header/> <soapenv:body> <tem:importcase> <!--Optional:--> <tem:accesstoken>dd758f38-6123-46d6-852f-5b24f55a7551</tem:accesstoken> <!--Optional:--> <tem:importcase> <![CDATA[<caseList xmlns="http://www.w3.org/2001/xmlschema"><case><key><clinicnumber>0</clinicnumber><entrydate>14.01.2014</entr ydate><patientid>325398423</patientid><caseid >32539841</caseid></key><form level="a0"><field number="71" name="patient_informiert"><value priority='1'>1</value><field number="2330" name="istvis1fall"><value priority='1'>2</value><field number="2331" name="istvis2fall"><value priority='1'>2</value><field number="2332" name="isthandfall"><value priority='1'>2</value><field number="2333" name="istneurofall"><value priority='1'>2</value><field number="2334" name="istorthofall"><value priority='1'>2</value><field number="2335" name="istsmobfall"><value priority='1'>2</value><field number="2336" name="istvascfall"><value priority='1'>2</value><field number="2374" name="isturologiefall"><value priority='1'>2</value><field number="2420" name="istkinderchirurgiefall"><value priority='1'>2</value><field number="2375" name="istt03fall"><value priority='1'>2</value><field number="2341" name="istplasticfall"><value priority='1'>2</value><field number="2342" name="istburnfall"><value priority='1'>2</value><field number="4" name="patientennummer"><value priority='1'>325398423</value><field number="3" name="fid"><value priority='1'>32539841</value><field number="370" name="geburtsjahr"><value priority='1'>1955</value><field number="363" name="eintrittsdatum"><value priority='1'>14.01.2014</value><field number="10" name="eintrittsart_2012"><value priority='1'>3</value><field number="603 608" name="euro- Qol_Eintritt_Neuro"><value priority='1'>73</value><field number="361" name="behandlungsart"><value priority='1'>3</value><field number="14" name="klasse"><value priority='1'>2</value><field number="2871" name="aqc_selbstzahler"><value priority='1'>false</value><field number="11" name="eintrittsgrund"><value priority='1'>3</value><field number="30" name="koerpergewicht"><value priority='1'>57</value><field number="32" name="koerpergroesse"><value priority='1'>170</value><field number="35" name="antibiotikaprophylaxe"><value priority='1'>152</value><field number="36" name="thromboembolieprophylaxe"><value priority='1'>157</value><field number="16" name="austrittsdatum"><value priority='1'>17.04.2014</value><field number="37" name="stdintensivmedizin"><value priority='1'>0</value><field number="38" name="intubiert"><value priority='1'>0</value><field number="56" name="komplikationfallbezogenschweregrad"><value priority='1'>633</value><form level="a1"><field number="97" name="operationsnummer"><value priority='1'>1</value><field number="750" name="operationsdringlichkeit_viszeral"><value priority='1'>1</value><field number="104" name="operationsart"><value priority='1'>2</value><field number="101" name="komplikationenalsoperationsgrund"><value priority='1'>4</value><field number="105" name="ortdeseingriffs"><value priority='1'>2</value><field number="106" name="antibiotikaperioperativ"><value priority='1'>2</value><form level="a2"><field number="109" name="opcodenummern_2014"><value priority='1'>00.01</value><field number="121" name="dauer"><value priority='1'>10</value><field number="122" name="blutverlust"><value priority='1'>11</value><field number="123" name="anzahleckonzintraop"><value priority='1'>22</value><field number="131" name="artdertransfusion"><value priority="1">241</value><value priority="2">242</value><field number="130" name="anaesthesieart"><value priority="1">206</value><value priority="2">215</value><field number="439" name="opdauzeit_outcome"><value priority='1'>00.10</value><field number="50" name="komplikationenintraopschweregrad"><value priority='1'>603</value><form level="b0"></case></caselist>]]> </tem:importcase> <tem:formid>-1</tem:formid> <tem:filterformid>-1</tem:filterformformid> <tem:overwritecases>all</tem:overwritecases > </tem:importcase> </soapenv:body> </soapenv:envelope> Adjumed Webservice API-Guide V.0.99 Page 19 / 25
The following is a sample SOAP response. <s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:body> <ImportCaseResponse xmlns="http://tempuri.org/"> <ImportCaseResult> <![CDATA[<service> <statuscode>0</statuscode> <statustext>success</statustext> <data> <caselist> <case> <key> <clinicnumber>0</clinicnumber> <entrydate>14.01.2014</entrydate> <patientid>325398423</patientid> <caseid>32539841</caseid> </key> <checkresults> <errorcount>16</errorcount> <protocol>fall in Analyze gelöscht.<br/>bestehenden Fall in Collect gelöscht<br/>aqc Feld ID (KL): 71 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2330 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2331 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2332 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2333 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2334 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2335 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2336 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2374 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2420 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2375 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2341 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2342 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (KL): 2871 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (OP): 750 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br />AQC Feld ID (ET): 439 nicht gefunden in Importformular: 2014 AQC Standard (RTTM). Feld wurde nicht importiert.<br /></protocol> <caseurl> http://stage.adjumed.net/web/faelle.aspx?commandname=2&formulareintrag_id=123 </caseurl> </checkresults> </case> </caselist> </data> </service>]]> </ImportCaseResult> </ImportCaseResponse> </s:body> </s:envelope> Adjumed Webservice API-Guide V.0.99 Page 20 / 25
3.5 CheckCase CheckCase method checks the case in Adjumed system. The client application must provide acquired access token and the ID of the case. Method: CheckCase(accessToken, caseid) Success, the webservice returns the check result in the data field of the XML envelope: <?xml version="1.0" encoding="utf-8"?> <service> <statuscode>0</statuscode> <statustext>success</statustext> <data> <caselist> <case> <key> <clinicnumber>43</clinicnumber> <entrydate>01.10.2013</entrydate> <patientid>1234</patientid> <caseid></caseid> </key> <!-- Check results - Total --> <checkresults> <errorcount>10</errorcount> <infocount >2</infocount> <protocol> 11:19:54 *** Prüfung gestartet<br /> 11:19:55 KL Info Euro-Qol Eintritt<br /> 11:19:55 KL Info Euro-Qol Nachkontrolle<br /> 11:19:57 Fall erfolgreich geprüft<br /> 11:19:57 *** Prüfung beendet </protocol> <caseurl> https://stage.adjumed.net/web/faelle.aspx?commandname=2&formulareintrag_id=123 </caseurl> </checkresults> <checklist filterform="2014 AQC Standard (RTTM)"> <!-- Check results per CheckList --> <checkresults> <errorcount>1</errorcount> <infocount>0</infocount> <protocol> 11:19:54 *** Prüfung gestartet<br /> 11:19:55 KL Info Euro-Qol Eintritt<br /> 11:19:55 KL Info Euro-Qol Nachkontrolle<br /> 11:19:57 Fall erfolgreich geprüft<br /> 11:19:57 *** Prüfung beendet </protocol> </checkresults> <!-- Level, KL-Teil --> <form level="a0" number="1"> <!-- Type can be error or info --> <field number="97" name="operationsnummer" type="error"> Errormessage </field > <!-- Level, OP-Teil --> <form level="a1" number="1"> <!-- Type can be error or info --> <field number="97" name="operationsnummer" type="error"> Errormessage </field > <!-- Level, ET-Teil --> <form level="a2" number="1"> <!-- Type can be error or info --> <field number="109" name="opcodenummern_2013" type="error"> Errormessage Adjumed Webservice API-Guide V.0.99 Page 21 / 25
<!-- Level, ET-Teil --> <form level="a2" number="2"> <!-- Type can be error or info --> <field number="109" name="opcodenummern_2013" type="error"> Errormessage <!-- Level, OP-Teil --> <form level="a1" number="2"> <!-- Type can be error or info --> <field number="97" name="operationsnummer" type="error"> Errormessage </field > <!-- Level, GB-Teil --> <form level="b0"> <!-- Type can be error or info --> <field number="150" name="geburtsnummer_gb" type="error"> Errormessage </field >... </checklist> <checklist filterform="2014 Viszeral OP DB (VIS)"> <errorcount>0</errorcount> <infocount>0</infocount> <protocol></protocol>... </checklist>... </case> </caselist> </data> </service> statuscode statustext Description 0 success Returns check results in the data field of the XML envelope. 1 failed Access Token incorrect or expired, case doesn t exist. 2 case not found 3.5.1 SOAP The following is a sample SOAP request. Returns no additional data. Returns no additional data. 99 failed Returns a system stack trace in the data field of the XML envelope. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:header/> <soapenv:body> <tem:checkcase> <tem:accesstoken>d38696d6-d0ff-4a9f-8625-e29b06de4e44</tem:accesstoken> <tem:caseid>1234</tem:caseid> </tem:checkcase> </soapenv:body> </soapenv:envelope> Adjumed Webservice API-Guide V.0.99 Page 22 / 25
The following is a sample SOAP response. <s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:body> <CheckCaseResponse xmlns="http://tempuri.org/"> <CheckCaseResult> <![CDATA[<service> <statuscode>0</statuscode> <statustext>success</statustext> <data> <caselist> <case> <key> <clinicnumber>0</clinicnumber> <entrydate>2014.03.16</entrydate> <patientid>1234</patientid> <caseid></caseid> </key> <checkresults> <errorcount>25</errorcount> <infocount>6</infocount> <protocol>16:51:20 *** Prüfung gestartet<br />16:51:26 Fall Flag nicht gesetzt. Es wird keine Prüfung durchgeführt für Filterformular: 2014 AQC Standard (RTTM)<br />16:51:26 Prüfe Fall mit Prüfliste für Filterformular: 2014 Visceral OP DB (Vis1)<br />16:51:28 KL Info Höchster Grad aller Komplikationen fehlt<br />16:51:28 KL Info Euro-Qol Eintritt<br />16:51:28 KL Info Euro-Qol Nachkontrolle<br />16:51:29 OP (1) Error Operationsdatum fehlt<br />16:51:29 OP (1) Error Dringlichkeit nicht gewählt<br />16:51:29 OP (1) Error Zugang nicht gewählt<br />16:51:31 OP (1) ET (1) Error Hauptoperateur Viszeralchirurgie nicht gewählt<br />16:51:31 OP (1) ET (1) Error Nicht angegeben ob Teaching-Assistenz<br />16:51:31 *** 5 Fehler für 2014 Visceral OP DB (Vis1)<br />16:51:31 Fall Flag nicht gesetzt. Es wird keine Prüfung durchgeführt für Filterformular: 2014 Visceral Register (Vis2)<br />16:51:31 Prüfe Fall mit Prüfliste für Filterformular: 2014 AQC SMOB<br />16:51:33 KL Info Höchster Grad aller Komplikationen fehlt<br />16:51:33 KL Error Geburtsjahr fehlt<br />16:51:33 KL Error Geschlecht nicht ausgewählt<br />16:51:33 KL Info Euro-Qol Eintritt<br />16:51:33 KL Error Eintrittsart nicht ausgewählt<br />16:51:33 KL Error Behandlungsart nicht ausgewählt<br />16:51:33 KL Error Klasse nicht ausgewählt<br />16:51:33 KL Error Eintrittsgrund nicht ausgewählt<br />16:51:33 KL Error ASA- Risikostufe nicht ausgewählt<br />16:51:33 KL Error Körpergewicht fehlt<br />16:51:33 KL Error Körpergrösse fehlt<br />16:51:33 KL Info Euro-Qol Nachkontrolle<br />16:51:33 KL Error Aufenthalt nach Austritt nicht ausgewählt<br />16:51:33 KL Error Art des Austritts nicht ausgewählt<br />16:51:34 OP (1) Error Operationsdatum fehlt<br />16:51:34 OP (1) Error Operationsart nicht ausgewählt<br />16:51:36 OP (1) ET (1) Error SMOB Op-Code ungültig<br />16:51:36 OP (1) ET (1) Error Operateur-Nr. fehlt<br />16:51:36 OP (1) ET (1) Error Operateur-Klasse fehlt<br />16:51:36 OP (1) ET (1) Error Dauer (Schnitt-Naht) fehlt<br />16:51:36 OP (1) ET (1) Error Komplikationen intraoperativ nicht ausgewählt<br />16:51:36 OP (1) ET (1) Error Komplikationen postoperativ nicht ausgewählt<br />16:51:36 OP (1) ET (1) Error SMOB Op-Code 13/14: Wert wurde nicht in den Stammdaten gefunden: 44.31 SMOB-Code - please differenciate<br />16:51:36 *** 20 Fehler für 2014 AQC SMOB<br />16:51:36 Fall Flag nicht gesetzt. Es wird keine Prüfung durchgeführt für Filterformular: 2014 AQC Vasc<br />16:51:36 Fall Flag nicht gesetzt. Es wird keine Prüfung durchgeführt für Filterformular: 2014 AQC Child Surgery<br />16:51:36 *** Fall nicht abgeschlossen<br />16:51:36 *** Total 25 Fehler<br />16:51:36 *** Prüfung beendet<br /> </protocol> <caseurl> https://stage.adjumed.net/web/faelle.aspx?commandname=2&formulareintrag_id=123 </caseurl> </checkresults> <checklist filterform="2014 Visceral OP DB (Vis1)"> <checkresults> <errorcount>5</errorcount> <infocount>3</infocount> </checkresults> Adjumed Webservice API-Guide V.0.99 Page 23 / 25
<form level="a0" number="1"> <field number="889" name="komplikationenviszeraldindo" type="info">kl Info Höchster Grad aller Komplikationen fehlt <field number="603 608" name="euro-qol_eintritt_neuro" type="info">kl Info Euro-Qol Eintritt <field number="639 638" name="euro-qol_nachkontrolle_neuro" type="info">kl Info Euro- Qol Nachkontrolle <form level="a1" number="1"> <field number="100" name="operationsdatum" type="error">op (1) Error Operationsdatum fehlt <field number="750" name="operationsdringlichkeit_viszeral" type="error">op (1) Error Dringlichkeit nicht gewählt <field number="753" name="zugang_viszeral" type="error">op (1) Error Zugang nicht gewählt <form level="a2" number="1"> <field number="755" name="hauptoperateur_viszeral" type="error">op (1) ET (1) Error Hauptoperateur Viszeralchirurgie nicht gewählt <field number="119" name="teachingassistenz" type="error">op (1) ET (1) Error Nicht angegeben ob Teaching-Assistenz </checklist> <checklist filterform="2014 AQC SMOB"> <checkresults> <errorcount>20</errorcount> <infocount>3</infocount> </checkresults> <form level="a0" number="1"> <field number="889" name="komplikationenviszeraldindo" type="info">kl Info Höchster Grad aller Komplikationen fehlt <field number="370" name="geburtsjahr" type="error">kl Error Geburtsjahr fehlt <field number="365" name="geschlecht" type="error">kl Error Geschlecht nicht ausgewählt <field number="603 608" name="euro-qol_eintritt_neuro" type="info">kl Info Euro-Qol Eintritt <field number="10" name="eintrittsart_2012" type="error">kl Error Eintrittsart nicht ausgewählt <field number="361" name="behandlungsart" type="error">kl Error Behandlungsart nicht ausgewählt <field number="14" name="klasse" type="error">kl Error Klasse nicht ausgewählt <field number="11" name="eintrittsgrund" type="error">kl Error Eintrittsgrund nicht ausgewählt <field number="362" name="asarisikostufe" type="error">kl Error ASA-Risikostufe nicht ausgewählt <field number="30" name="koerpergewicht" type="error">kl Error Körpergewicht fehlt <field number="32" name="koerpergroesse" type="error">kl Error Körpergrösse fehlt <field number="639 638" name="euro-qol_nachkontrolle_neuro" type="info">kl Info Euro-Qol Nachkontrolle <field number="42" name="aufenthaltnachaustritt_2012" type="error">kl Error Aufenthalt nach Austritt nicht ausgewählt <field number="44" name="artdesaustritts" type="error">kl Error Art des Austritts nicht ausgewählt <form level="a1" number="1"> <field number="100" name="operationsdatum" type="error">op (1) Error Operationsdatum fehlt <field number="104" name="operationsart" type="error">op (1) Error Operationsart nicht ausgewählt <form level="a2" number="1"> <field number="1900" name="opcode_smob_2013" type="error">op (1) ET (1) Error SMOB Op-Code ungültig <field number="116" name="operateurnummer" type="error">op (1) ET (1) Error Operateur-Nr. fehlt <field number="103" name="operateurklasse" type="error">op (1) ET (1) Error Operateur-Klasse fehlt <field number="121" name="dauer" type="error">op (1) ET (1) Error Dauer (Schnitt-Naht) fehlt <field number="50" name="komplikationenintraopschweregrad" type="error">op (1) ET (1) Error Komplikationen intraoperativ nicht ausgewählt <field number="360" name="komplikationenpostopschweregrad" type="error">op (1) ET (1) Error Komplikationen postoperativ nicht ausgewählt <field number="1900" name="opcode_smob_2013" type="error">op (1) ET (1) Error SMOB Op-Code 13/14: Wert wurde nicht in den Stammdaten gefunden: 44.31 SMOB-Code - please differenciate Adjumed Webservice API-Guide V.0.99 Page 24 / 25
</checklist> </case> </caselist> </data> </service>]]> </CheckCaseResult> </CheckCaseResponse> </s:body> </s:envelope> Adjumed Webservice API-Guide V.0.99 Page 25 / 25