Skip to content

WSDL und XSD für QR-Code Funktion hinzugefügt#1

Open
KoCoPST wants to merge 1 commit intoOPB5from
KoCoPST-patch-1
Open

WSDL und XSD für QR-Code Funktion hinzugefügt#1
KoCoPST wants to merge 1 commit intoOPB5from
KoCoPST-patch-1

Conversation

@KoCoPST
Copy link
Owner

@KoCoPST KoCoPST commented Feb 20, 2024

SOAP-Endpunkt:

<ns3:Service Name="HerstellerspezifischerService">
   <ns3:Abstract>Service mit herstellerspezifischen Operationen</ns3:Abstract>
   <ns3:Versions>
      <ns3:Version TargetNamespace=<tbd> Version="1.0.0">
         <ns3:Abstract>
            Herstellerspezifische Operationen gemäß WSDL 1.0.0
         </ns3:Abstract>
         <ns3:Endpoint Location="http://<IP>:80/service/herstellerspezifischerservice"/>
         <ns3:EndpointTLS Location="https://<IP>:443/service/herstellerspezifischerservice"/>
      </ns3:Version>
   </ns3:Versions>
</ns3:Service>

Request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://ws.gematik.de/conn/CardTerminalService/v1.1" xmlns:v2="http://ws.gematik.de/conn/ConnectorContext/v2.0" xmlns:v5="http://ws.gematik.de/conn/ConnectorCommon/v5.0" xmlns:v21="http://ws.gematik.de/conn/CardServiceCommon/v2.0">
   <soapenv:Header/>
   <soapenv:Body>
      <v1:DisplayQRCode>
         <v2:Context>
            <v5:MandantId>?</v5:MandantId>
            <v5:ClientSystemId>?</v5:ClientSystemId>
            <v5:WorkplaceId>?</v5:WorkplaceId>
            <!--Optional:-->
            <v5:UserId>?</v5:UserId>
         </v2:Context>
         <v21:CtId>?</v21:CtId>
         <v1:DisplayMsg charset=?>?</v1:DisplayMsg>(string maxLength 512, muss umdefiniert werden, weil 48 zu wenig ist; charset=(ISO 18004 oder ISO 16022))
         <v1:TimeOut>?</v1:TimeOut> (mininclusiv = 5 maxinclusiv = 60) 
      </v1:DisplayQRCode>
   </soapenv:Body>
</soapenv:Envelope>

Response:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:v2="http://ws.gematik.de/conn/phrs/PHRManagementService/v2.0" xmlns:v5="http://ws.gematik.de/conn/ConnectorCommon/v5.0" xmlns:v21="http://ws.gematik.de/tel/error/v2.0">
   <soap:Header/>
   <soap:Body>
      <v2:DisplayQRCodeResponse>
         <v5:Status>
            <v5:Result>?</v5:Result> (nur OK Warning gibt es nicht)
            <!--Optional:-->
            <v21:Error>
               <v21:MessageID/>
               <v21:Timestamp>?</v21:Timestamp>
               <!--1 or more repetitions:-->
               <v21:Trace>
                  <v21:EventID/>
                  <v21:Instance/>
                  <v21:LogReference/>
                  <v21:CompType>?</v21:CompType>
                  <v21:Code>?</v21:Code>
                  <v21:Severity>?</v21:Severity>
                  <v21:ErrorType>?</v21:ErrorType>
                  <v21:ErrorText>?</v21:ErrorText>
                  <!--Optional:-->
                  <v21:Detail Encoding="?">?</v21:Detail>
               </v21:Trace>
            </v21:Error>
         </v5:Status>
      </v2:DisplayQRCodeResponse>
   </soap:Body>
</soap:Envelope>

Ablauf:

Nr. Aufruf Technischer Use Case oder Interne Operation Beschreibung Kommentare
Nr. 1 checkArguments Die übergebenen Werte werden auf Konsistenz und Gültigkeit überprüft. Treten hierbei Fehler auf, so bricht die Operation mit Fehler 4000 ab. nur Schemaprüfung (charSet hat nur 2 gültige Werte. Es wird versucht dies im Schema abzubilden. Alternativ muss dies in der Fascade geprüft werden.)
Nr. 2 TUC_KON_000 „Prüfe Zugriffsberechtigung“ Prüfung der Zugriffsberechtigung durch den Aufruf TUC_KON_000 { mandantId = $context.mandantId; clientSystemId = $context.clientsystemId; workplaceId = $context.workplaceId; ctId = $CtId; needCardSession=false; allWorkplaces=false }Tritt bei der Prüfung ein Fehler auf, so bricht die Operation mit dem Fehlercode aus TUC_KON_000 ab.
Nr. 3 TUC_KON_051a „Mit Anwender über Kartenterminal interagieren QR“ Aufruf TUC_KON_051( ctId = $CtId; displayMessage = $DisplayMsg; waitTimer = $TimeOut; charSet = $charset)

TUC_KON_051a „Mit Anwender über Kartenterminal interagieren QR“:

Element Beschreibung
Name TUC_KON_051a „Mit Anwender über Kartenterminal interagieren QR“
Beschreibung Der TUC ermöglicht es, QR-Code und Data-Matrix-Code an das Display eines Kartenterminals zu senden.
Auslöser herstellerspezifische Außenoperation DisplayQRCode
Vorbedingungen • KT ist in CTM_CT_LIST vorhanden
• CT.CORRELATION = „aktiv“
• CT.CONNECTED = Ja
• CT.IS_PHYSICAL = Ja
Eingangsdaten • ctId (Kartenterminalidentifikator)
• displayMessage – mandatory (Text zur Darstellung am KT, Länge durch KT begrenzt);
• waitTimer – mandatory (Wartezeit bis zur ersten Eingabe in Sekunden)
• charSet – mandatory (definiert "Character Set Index Value" des SICCT-Befehls)
Komponenten Konnektor, Kartenterminal
Ausgangsdaten opResult [OK] oder SOAP-Fault
Nachbedingungen
Standardablauf 1. KT-Lock von TUC_KON_051 reservieren.
2. Der Konnektor MUSS via SICCT OUTPUT am CT displayMessage zur Anzeige bringen. Nach einer Wartezeit von waitTimer Sekunden MUSS der Konnektor die Anzeige des KT leeren. Für den SICCT OUTPUT Befehl muss das übergebene charset verwendet werden.
wenn:
charset = ISO 18004, dann "Character Set Index Value" = '30'
charset = ISO 16022, dann "Character Set Index Value" = '40'
3. KT-Lock von TUC_KON_051 frei geben.
Varianten/ Alternativen Ist das Kartenterminal-Display durch einen anderen, zeitgleich im Konnektor ablaufenden Vorgang reserviert, wird Fehler 4039 geworfen.
Fehlerfälle (wie in TUC_KON_051)
Fehler in den folgenden Schritten des Ablaufs führen zum Aufruf von
TUC_KON_256 { topic = "CT/ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$ctId, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) }
(->1) Display und PinPad des Kartenterminals sind aktuell belegt (PIN, Eingabe, andere Ausgabe etc.), Fehlercode: 4039
(->1) Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [SICCT]>
Nichtfunktionale Anforderungen keine
Zugehörige Diagramme keine

SOAP-Endpunkt:
```xml
<ns3:Service Name="HerstellerspezifischerService">
   <ns3:Abstract>Service mit herstellerspezifischen Operationen</ns3:Abstract>
   <ns3:Versions>
      <ns3:Version TargetNamespace=<tbd> Version="1.0.0">
         <ns3:Abstract>
            Herstellerspezifische Operationen gemäß WSDL 1.0.0
         </ns3:Abstract>
         <ns3:Endpoint Location="http://<IP>:80/service/herstellerspezifischerservice"/>
         <ns3:EndpointTLS Location="https://<IP>:443/service/herstellerspezifischerservice"/>
      </ns3:Version>
   </ns3:Versions>
</ns3:Service>
```
Request:
```xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://ws.gematik.de/conn/CardTerminalService/v1.1" xmlns:v2="http://ws.gematik.de/conn/ConnectorContext/v2.0" xmlns:v5="http://ws.gematik.de/conn/ConnectorCommon/v5.0" xmlns:v21="http://ws.gematik.de/conn/CardServiceCommon/v2.0">
   <soapenv:Header/>
   <soapenv:Body>
      <v1:DisplayQRCode>
         <v2:Context>
            <v5:MandantId>?</v5:MandantId>
            <v5:ClientSystemId>?</v5:ClientSystemId>
            <v5:WorkplaceId>?</v5:WorkplaceId>
            <!--Optional:-->
            <v5:UserId>?</v5:UserId>
         </v2:Context>
         <v21:CtId>?</v21:CtId>
         <v1:DisplayMsg charset=?>?</v1:DisplayMsg>(string maxLength 512, muss umdefiniert werden, weil 48 zu wenig ist; charset=(ISO 18004 oder ISO 16022))
         <v1:TimeOut>?</v1:TimeOut> (mininclusiv = 5 maxinclusiv = 60) 
      </v1:DisplayQRCode>
   </soapenv:Body>
</soapenv:Envelope>
```
Ablauf:
| Nr.   | Aufruf Technischer Use Case oder Interne Operation              | Beschreibung                                                                                                                                                                                                                                                                                                                                 | Kommentare                                                                                                                                           |
| ----- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Nr. 1 | checkArguments                                                  | Die übergebenen Werte werden auf Konsistenz und Gültigkeit überprüft. Treten hierbei Fehler auf, so bricht die Operation mit Fehler 4000 ab.                                                                                                                                                                                                 | nur Schemaprüfung (charSet hat nur 2 gültige Werte. Es wird versucht dies im Schema abzubilden. Alternativ muss dies in der Fascade geprüft werden.) |
| Nr. 2 | TUC_KON_000 „Prüfe Zugriffsberechtigung“                        | Prüfung der Zugriffsberechtigung durch den Aufruf TUC_KON_000 { mandantId = $context.mandantId; clientSystemId = $context.clientsystemId; workplaceId = $context.workplaceId; ctId = $CtId; needCardSession=false; allWorkplaces=false }Tritt bei der Prüfung ein Fehler auf, so bricht die Operation mit dem Fehlercode aus TUC_KON_000 ab. |                                                                                                                                                      |
| Nr. 3 | TUC_KON_051a „Mit Anwender über Kartenterminal interagieren QR“ | Aufruf TUC_KON_051( ctId = $CtId; displayMessage = $DisplayMsg; waitTimer = $TimeOut; charSet = $charset)                                                                                                                                                                                                                                    |                                                                                                                                                      |


TUC_KON_051a „Mit Anwender über Kartenterminal interagieren QR“:
| Element                        | Beschreibung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Name                           | TUC_KON_051a „Mit Anwender über Kartenterminal interagieren QR“                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Beschreibung                   | Der TUC ermöglicht es, QR-Code und Data-Matrix-Code an das Display eines Kartenterminals zu senden.                                                                                                                                                                                                                                                                                                                                                                                                    |
| Auslöser                       | herstellerspezifische Außenoperation DisplayQRCode                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Vorbedingungen                 | • KT ist in CTM_CT_LIST vorhanden<br>• CT.CORRELATION = „aktiv“<br>• CT.CONNECTED = Ja<br>• CT.IS_PHYSICAL = Ja                                                                                                                                                                                                                                                                                                                                                                                        |
| Eingangsdaten                  | • ctId (Kartenterminalidentifikator)<br>• displayMessage – mandatory (Text zur Darstellung am KT, Länge durch KT begrenzt);<br>• waitTimer – mandatory (Wartezeit bis zur ersten Eingabe in Sekunden)<br>• charSet – mandatory (definiert "Character Set Index Value" des SICCT-Befehls)                                                                                                                                                                                                               |
| Komponenten                    | Konnektor, Kartenterminal                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Ausgangsdaten                  | opResult [OK] oder SOAP-Fault                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Nachbedingungen                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Standardablauf                 | 1\. KT-Lock von TUC_KON_051 reservieren.<br>2\. Der Konnektor MUSS via SICCT OUTPUT am CT displayMessage zur Anzeige bringen. Nach einer Wartezeit von waitTimer Sekunden MUSS der Konnektor die Anzeige des KT leeren. Für den SICCT OUTPUT Befehl muss das übergebene charset verwendet werden.<br>wenn:<br>charset = ISO 18004, dann "Character Set Index Value" = '30'<br>charset = ISO 16022, dann "Character Set Index Value" = '40'<br>3\. KT-Lock von TUC_KON_051 frei geben.                  |
| Varianten/ Alternativen        | Ist das Kartenterminal-Display durch einen anderen, zeitgleich im Konnektor ablaufenden Vorgang reserviert, wird Fehler 4039 geworfen.                                                                                                                                                                                                                                                                                                                                                                 |
| Fehlerfälle                    | (wie in TUC_KON_051)<br>Fehler in den folgenden Schritten des Ablaufs führen zum Aufruf von<br>TUC_KON_256 { topic = "CT/ERROR"; eventType = $ErrorType; severity = $Severity; parameters = („CtID=$ctId, Name=$CT.HOSTNAME, Error=$Fehlercode, Bedeutung=$Fehlertext“) }<br>(->1) Display und PinPad des Kartenterminals sind aktuell belegt (PIN, Eingabe, andere Ausgabe etc.), Fehlercode: 4039<br>(->1) Kartenterminal antwortet mit einer spezifischen Fehlermeldung, Fehlercode <gemäß [SICCT]> |
| Nichtfunktionale Anforderungen | keine                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| Zugehörige Diagramme           | keine                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant