Skip to content

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

Open
KoCoPST wants to merge 1 commit intogematik:OPB5from
KoCoPST:KoCoPST-patch-1
Open

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

Conversation

@KoCoPST
Copy link

@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>

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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
@madduci
Copy link
Member

madduci commented Feb 22, 2024

@muenzerik könntest du bitte diese MR reviewen?

@muenzerik muenzerik self-assigned this Feb 22, 2024
@muenzerik
Copy link
Contributor

Hi,

Thank you for your contribution to this project! We have reviewed the pull request you submitted, and we greatly appreciate your suggestions for improvement.

We are actively using the feedback provided to make necessary changes to this project. Your input has been invaluable in helping us enhance the project and make it even better. We are committed to addressing the issues raised and incorporating the suggested changes.

We are planning to implement these changes as soon as possible and will keep you updated on the progress.

If you have any further feedback or suggestions, please feel free to share. We appreciate your involvement in improving this project, and we look forward to your continued support.

Best regards,

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.

3 participants