PrimSys ist ein internes Tool, basierend auf der E-Rezept E2E Testsuite, für die Unterstützung der internen Testaktivitäten innerhalb der Gematik.
Wir sehen allerdings auch den Bedarf der Hersteller nach Test-Rezepten und wir wollen die Erprobung des E-Rezeptes durch die Hersteller fördern!
-
Besteht der Wunsch PrimSys außerhalb der Gematik zu nutzen?
Vermutlich ist der Bedarf auf der AVS Seite und für die Abrechnungszentren
Die REST-Schnittstelle kann relativ bequem über HTTP (z.B. cURL, Postman oder eigene Skripte) bedient werden. Hier wird kein VAU und im einfachsten Fall kein FHIR benötigt.
Für das Ausstellen von E-Rezepten haben wir zwei Optionen: "pure FHIR-Ressourcen" oder "vereinfachtes JSON-Format"
Die "pure FHIR-Ressourcen"-Variante bietet die größte Kontrolle über den Verordnungsdatensatz.
Hierbei wird der Verordnungsdatensatz als KBV-Bundle in XML im Request-Body übergeben und PrimSys erstellt und signiert das E-Rezept.
Im einfachsten Fall: curl -H <header> -X POST https://<url>/doc/<id>/xml/prescribe -d "@/home/user/kbv_bundle.xml"
Note
|
Beispiele für KBV-Bundles gibt es z.B. unter eRezept-Examples@GitHub und KBV-Examples@Simplifier oder diese können mit unserem Generator erp-cli-fhir erzeugt werden. |
Das "vereinfachtes JSON-Format" ist ein eigenes (kein FHIR!) Format. Hierbei wird im Request-Body ein JSON-Objekt übergeben aus der dann der Verordnungsdatensatz generiert wird. Anschließend wird dieser Verodnungsdatensatz dann als E-Rezepte erstellt und signiert:
-
im einfachsten Fall:
curl -H <headers> -X POST https://<url>/doc/<id>/prescribe -d '{"patient": {"kvnr": "X123456789"}, "medication": {"pzn": "00571748"}}'
Das JSON-Objekt ist in etwas folgendermaßen aufgebaut. Hierbei werden dann immer nur Werte übergeben, die für die jeweilige Verordnung von Interesse sind. Die restlichen Werte werden von PrimSys dann zufällig ergänzt. Durch die zufällige Ergänzung wird sichergestellt, dass die Verordnung syntaktisch korrekt ist. Eine fachliche Korrektheit der Verordnung kann durch den Zufallsgenerator allerdings nicht sichergestellt werden.
{
"patient": {
"kvnr": "X123456789"
},
"medication": {
"pzn": "00571748",
"name": "Grippostad C Hartkapseln (24 St)",
"supplyForm": "HKP"
},
"coverage": {
"iknr": "103119199",
"insuranceName": "AOK Bremen / Bremerhaven",
"wop": "03"
}
}
Note
|
Die Transformation des vereinfachten JSON-Objektes in einen validen Verordnungsdatensatz basiert auf erp-cli-fhir |
-
$accept
- E-Rezepte annehmen -
$reject
- E-Rezepte wieder zurückgeben -
$abort
- E-Rezepte löschen -
$close
- E-Rezepte dispensieren -
POST CommunicationReply
- Antwort-Nachrichten auf Basis eines bestehenden E-Rezeptes an einen Versicherten versenden -
POST ChargeItem
- Abrechnungsinformationen für E-Rezepte von PKV-Versicherten erstellen
Wir haben folgende Option für die Bereitstellung identifiziert:
Die Testsuite und damit PrimSys sind grundsätzlich Open Source und können theoretisch von jedem unter der Apache License genutzt, angepasst und erweitert werden
Note
|
Aktuell auf GitHub veröffentlicht allerdings noch nicht öffentlich zugänglich. Veröffentlichung ist allerdings bereits geplant. |
Für diese Option wird jedoch beim Anwender ein TI-Gateway/Konnektor benötigt und es bedarf weitere manueller Konfigurationen, um die Kommunikation in die TI über den Konnektor zu routen
Wir haben die Möglichkeit PrimSys als DockerImage auf DockerHub zu veröffentlichen.
Für diese Option wird jedoch beim Anwender ein TI-Gateway/Konnektor benötigt und es bedarf weitere manueller Konfigurationen, um die Kommunikation in die TI über den Konnektor zu routen
Innerhalb der Gematik hosten wir PrimSys auf einem internen Server. Der Service ist aus dem Internet erreichbar, wird jedoch über API-Keys autorisiert.
Note
|
Dieser Ansatz kann theoretisch auch außerhalb der Gematik in dieser Konfiguration betrieben werden. Die Heruasforderung mit dem Routing über den Konnektor gilt dann allerdings auch hier. Zusätzlich würden dann hier drei Konnektoren - jeweils ein separater Konnektor pro TI-Umgebung - benötigt. |
Caution
|
Der Service ist aktuell nicht mandantenfähig und auch nicht für eine große Anzahl an Benutzern ausgelegt! |