Operation API: Verschreibungsdaten stornieren (E-Rezept-Fachdienst)
Die Operation $cancel-prescription-erp
wird vom E-Rezept-Fachdienst ausgeführt, um eine bereits ausgestellte Verschreibung zu stornieren. Diese Funktion kommt zum Einsatz, wenn eine Verschreibung aus verschiedenen Gründen, wie Änderung des Arzneimittels oder Fehler bei der Ausstellung, nicht mehr benötigt wird. Nach Löschung durch den E-Rezept-Fachdienst wird diese Information an den Medication Service übermittelt, um dort die Verschreibungsdaten zu invalidieren bzw. zu stornieren.
OperationDefinition
Operation Definition: Cancel Prescription eRP
Geschäftslogik
Erstellung des Wertes für den RxPrescriptionProcessIdentifier
Der im Medication Service erzeugte Identifier folgt dem Schema prescriptionId
+ "_" + authoredOn
[YYYYMMDD]. Dabei wird die Verschreibungs-ID (Prescription-ID) mit dem Datum der Verschreibung kombiniert, um einen eindeutigen Identifier zu erzeugen. Das Datum wird im Format YYYYMMDD
(Jahr, Monat, Tag) angegeben.
Beispiel
{ "system": "https://gematik.de/fhir/epa-medication/sid/rx-prescription-process-identifier", "value": "160.153.303.257.459_20250122" }
Voraussetzungen
Dem Medication Service MÜSSEN zur Auswertung in Operationen für jede Aktivität die folgenden Informationen bereitstehen:
- Name des Nutzers
- Nutzergruppe/Rolle ((profession-)oid)
- Kennung (Telematik-ID oder KVNR)
- Hinweis auf eine gültige Befugnis des aktuellen Benutzers (requestor)
HTTP Header-Parameter
Ein ePA-Client MUSS die folgenden HTTP Header bei einer Anfrage an den Medication Service setzen:
Name | Anforderung | Datentyp | Beschreibung |
---|---|---|---|
x-insurantid | MUSS | String | Health Record Identifier |
x-useragent | KANN | String | User Agent Information |
X-Request-ID | MUSS | String | UUID der Nachricht |
Wiederholungsintervalle
Die folgenden Wiederholungsintervalle werden im Falle einer Fehlerantwort definiert:
- '409' Conflict (statusMismatch)
- etwa 24 Stunden
- '500' Internal Error
- etwa 10 Minuten
Erlaubte Nutzergruppen
professionOID |
---|
oid_erp-vau |
Interaktion ($cancel-prescription-erp)
POST [base]/epa/medication/api/v1/fhir/$cancel-prescription-erp
OperationId: cancelPrescription_MedicationSvc
Beispielanfrage
{ "resourceType": "Parameters", "id": "example-epa-op-cancel-prescription-erp-input-parameters-1", "meta": { "profile": [ "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-cancel-prescription-erp-input-parameters" ] }, "parameter": [ { "name": "rxPrescription", "part": [ { "name": "prescriptionId", "valueIdentifier": { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", "value": "160.153.303.257.459" } }, { "name": "authoredOn", "valueDate": "2025-01-22" } ] } ] }
<Parameters xmlns="http://hl7.org/fhir"> <id value="example-epa-op-cancel-prescription-erp-input-parameters-1" /> <meta> <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-cancel-prescription-erp-input-parameters" /> </meta> <parameter> <name value="rxPrescription" /> <part> <name value="prescriptionId" /> <valueIdentifier> <system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" /> <value value="160.153.303.257.459" /> </valueIdentifier> </part> <part> <name value="authoredOn" /> <valueDate value="2025-01-22" /> </part> </parameter> </Parameters>
Beispielantwort
{ "resourceType": "Parameters", "id": "example-epa-op-rx-prescription-erp-output-parameters-1", "meta": { "profile": [ "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-rx-prescription-erp-output-parameters" ] }, "parameter": [ { "name": "rxPrescription", "part": [ { "name": "prescriptionId", "valueIdentifier": { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", "value": "160.153.303.257.459" } }, { "name": "authoredOn", "valueDate": "2025-01-22" }, { "name": "operationOutcome", "resource": { "resourceType": "OperationOutcome", "id": "255002c7-aa1b-4163-bdd4-ede482453cca", "meta": { "profile": [ "https://gematik.de/fhir/epa/StructureDefinition/epa-operation-outcome" ] }, "issue": [ { "severity": "information", "code": "informational", "details": { "coding": [ { "code": "MEDICATIONSVC_OPERATION_SUCCESS", "system": "https://gematik.de/fhir/epa/CodeSystem/epa-operation-outcome-codes-cs", "display": "Operation Successfully Completed in Medication Service" } ] } } ] } } ] } ] }
<Parameters xmlns="http://hl7.org/fhir"> <id value="example-epa-op-rx-prescription-erp-output-parameters-1" /> <meta> <profile value="https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-rx-prescription-erp-output-parameters" /> </meta> <parameter> <name value="rxPrescription" /> <part> <name value="prescriptionId" /> <valueIdentifier> <system value="https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" /> <value value="160.153.303.257.459" /> </valueIdentifier> </part> <part> <name value="authoredOn" /> <valueDate value="2025-01-22" /> </part> <part> <name value="operationOutcome" /> <resource> <OperationOutcome> <id value="255002c7-aa1b-4163-bdd4-ede482453cca" /> <meta> <profile value="https://gematik.de/fhir/epa/StructureDefinition/epa-operation-outcome" /> </meta> <issue> <severity value="information" /> <code value="informational" /> <details> <coding> <system value="https://gematik.de/fhir/epa/CodeSystem/epa-operation-outcome-codes-cs" /> <code value="MEDICATIONSVC_OPERATION_SUCCESS" /> <display value="Operation Successfully Completed in Medication Service" /> </coding> </details> </issue> </OperationOutcome> </resource> </part> </parameter> </Parameters>
Antwort-Status-Codes
Status Code | Bedingung | Error Code | Bemerkung |
---|---|---|---|
200 | Successful operation | EPA OperationOutcome | |
400 | An Operation Error | EPA OperationOutcome | |
403 | Requestor role is not in the list of allowed usergroups | invalidOid | |
403 | ID-Token or Insurant-ID mismatch | EPA OperationOutcome | |
404 | An Operation Error | EPA OperationOutcome | |
409 | Health record is in state SUSPENDED | statusMismatch | (siehe 'Wiederholungsintervalle') |
423 | If the insurant objected to the submission of prescription and dispensation data into the ePA system, the Medication Service is locked. | locked | |
500 | Any other error | internalError | (siehe 'Wiederholungsintervalle') |
Serviceübergreifende Error Codes ohne Verweis auf EPA OperationOutcome MÜSSEN mit dem entsprechenden HTTP Status Code vom Medication Service mit dem Media Type application/json
nach folgendem Schema zurückgegeben werden:
{ "errorCode": "statusMismatch" }