Offerte Nachbezüge

Werbung
Seite 1
Clustertec
Rezept- und
Bestellung-Web Service
Autor: Beat De Martin
Seite 2
1
Einführung ....................................................................................................................1
1.1
Beschreibung ..........................................................................................................3
2
Web Service Aufruf.......................................................................................................3
2.1
Aufruf des Web Services via „horizontalen Link“ .....................................................4
2.2
Aufruf des Web Services via SOAP ........................................................................5
2.2.1
2.2.2
3
4
5
6
7
8
Rezepte....................................................................................................................................... 5
Bestellungen ............................................................................................................................... 5
Sicherheit ......................................................................................................................5
Web Service Response ................................................................................................5
4.1
Fehlercodes ............................................................................................................6
XML-Schemas ...............................................................................................................7
5.1
Rezepte ..................................................................................................................7
5.2
Bestellungen ...........................................................................................................7
Rezept XML Beispiel (für „horizontalen“ Link)...........................................................7
Bestellung XML Beispiel (für „horizontalen“ Link) ....................................................7
Client Code Beispiele ...................................................................................................7
8.1
Java ........................................................................................................................7
8.1.1
8.1.2
8.2
SOAP .......................................................................................................................................... 7
„horizontaler“ Link ....................................................................................................................... 7
Visual c# .................................................................................................................8
Seite 3
1
Einführung
1.1
Revision
Initalversion
Überarbeitung
1.2
12. September 2005
22. November 2006
bd
bd
Beschreibung
Der Clustertec Rezept Web Service erlaubt über die Clustertec estudio-Plattform Rezepte und
Bestellungen aus einer beliebigen Ärzte-SW an einen beliebigen Lieferanten zu senden.
2
Web Service Aufruf
Es werden zwei Arten von Web Services angeboten.
1. Web Service mit SOAP
2. “horizontaler” Web Service auf der Basis von REST (Representational State Transfer )
mit HTTP POST
Das Anbieten von zwei Web-Services verschiedener Art hat sich als Standard herausgebildet
(Beispiele: Amazon, Google)
Die erste Variante kapselt das XML von den Datentypen ab und wird von zahlreichen Tools
direkt unterstützt. Aus der WSDL-Datei kann z.B. MS Visual Studio .net oder Apache Axis
(Java) direkt die Client Klassen generieren.
Die zweite Variante ist einfacher zu verstehen und kann direkt aus einem Browser getestet
werden.
Seite 4
2.1
Aufruf des Web Services via „horizontalen Link“
Unter der URL https://estudio.zur-rose.ch/estudio/prescriptionTest.html (resp.
https://estudio.zur-rose.ch/estudio/orderTest.html) können Sie in einem Textfenster ihr Rezept
XML eingeben.
Seite 5
2.2
Aufruf des Web Services via SOAP
2.2.1 Rezepte
Die WSDL Datei ist unter der folgenden Adresse zu finden:
https://estudio.zur-rose.ch/xml/services/PrescriptionSOAP?wsdl
Für die Übermittlung zur „Zur Rose“ iat der ASAS-Client notwendig.
SOAP URL mit ASAS Client als Proxy:
http://xml.estudio.zur-rose.hin.ch/prescriptionSOAP/
2.2.2 Bestellungen
Die WSDL Datei ist unter der folgenden Adresse zu finden:
https://estudio.zur-rose.ch/xml/services/OrderSOAP?wsdl
3
Sicherheit
Der Clustertec Rezept Web Service verwendet das https Protokoll, d.h. alle Daten werden
verschlüsselt übertragen.
Zusätzlich muss beim Request ein Benutzername und ein Passwort mitgegeben werden.
4
Web Service Response
Die Response des Web Service sieht z.B. folgendermassen aus :
Seite 6
4.1
Rezepte
<?xml version="1.0" encoding="ISO-8859-1" ?>
<prescriptionResponse errorCode="3" errorMessage="severe interactions
occurred">
<interaction docKey="595" relevanz="1" pharmacodeB="1974508"
pharmacodeA="1475521" medikamentB="VIAGRA Filmtabl 100 mg 12 Stk"
medikamentA="ISOKET Dosieraeros 15 ml" relevanzText="schwerwiegend"
status="erwartet" interaktionseffekt="Verstärkte blutdrucksenkende
Wirkung" wirkstoffgruppe2="Phosphodiesterase-5-Hemmer"
wirkstoffgruppe1="Nitrate" />
</prescriptionResponse>
4.2
Bestellungen
<?xml version="1.0" encoding="ISO-8859-1" ?>
<order-response xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" error-code="0"
xsi:type="java:ch.clustertec.estudio.order.OrderResponse">
<error-message>ok</error-message>
</order-response>
4.3
Fehlercodes
Fehlercode
0
Fehlermeldung
ok
1
user and/or password wrong
2
3
4
SQL error
5
6
XML validation error
Artikel nicht im DV
7
Die angegebene
Versicherung konnte im
Stamm nicht gefunden
werden
System error
severe interactions occurred
Bemerkung
Das Rezept /die Bestellung
wurde erfolgreich übermittelt
Benutzername und/oder
Passwort sind falsch
SQL Fehler aufgetreten
Systemfehler
Schwerwiegende
Interaktionen,
bei ignoreInteractions=1
werden die Interaktionen
nicht beachtet d.h. dieser
Fehler würde nicht auftreten
XML Validierungsfehler
Der Artikel ist im DV nicht
lieferbar, das Rezept konnte
nocht übermittelt werden
Die EAN-ID der Versicherung
ist im Stamm nicht vorhanden
Seite 7
5
XML-Schemas
5.1
Rezepte
https://estudio.clustertec.ch/schemas/prescription
5.2
Bestellungen
https://estudio.clustertec.ch/schemas/order
6
Rezept XML Beispiel (für „horizontalen“ Link)
https://estudio.clustertec.ch/schemas/prescription/examples/prescription.xml
7
Bestellung XML Beispiel (für „horizontalen“ Link)
https://estudio.clustertec.ch/schemas/order/examples/order.xml
8
Client Code Beispiele
8.1
Java
8.1.1 SOAP
PrescriptionServiceLocator serviceLocator = new PrescriptionServiceLocator();
PrescriptionPortType stub = serviceLocator.getPrescriptionSOAPPort();
Prescription prescription = new Prescription();
// abfüllen des Objektes prescription
…
PrescriptionResponse prescriptionResp = stub.createPrescription(prescription);
// auswerten der Antwort
…
8.1.2
...
„horizontaler“ Link
Seite 8
String requestMessage = "<?xml version=\"1.0\" ...";
URL serverURL = new URL("");
HttpURLConnection httpConnection = (HttpURLConnection) serverURL.openConnection();
httpConnection.setRequestMethod(“POST”);
httpConnection.setFollowRedirects(true);
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
httpConnection.setUseCaches(false);
PrintWriter out = new PrintWriter(httpConnection.getOutputStream());
URLEncoder.encode(requestMessage));
out.println("prescription=" + URLEncoder.encode(requestMessage));
out.close();
BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(httpConnection.getInputStream()));
String line;
StringBuffer responseMessage = new StringBuffer();
while ((line = bufferedReader.readLine()) != null) {
responseMessage.append(line);
}
bufferedReader.close();
System.ot.println(“prescription response:” + responseMessage.toString());
…
8.2
Visual c#
Anmerkung:
MS Visual .net wsdl.exe Prozess hat einen bekannten Bug in Bezug auf <xs:include> in wsdl
Files.
Das äussert sich in der Fehlermeldung: Dieser namespace wurde schon deklariert.
-> Clustertec wird ein spez. Wsdl File für MS Visual .net bereitstellen.
Herunterladen