Die Operation Dispensierinformationen einstellen (E-Rezept-Fachdienst) im Medication Service dient dazu, Informationen über die Arzneimittelabgabe, die auf Basis einer Verschreibung erfolgt, in den Medication Service einzutragen. Diese Operation wird vom E-Rezept-Fachdienst verwendet, wenn ein Versicherter sein Arzneimittel in einer Apotheke erhält. Sie dokumentiert, dass das Arzneimittel gemäß der Verschreibung abgegeben wurde, einschließlich der Details wie Menge, Abgabedatum und Informationen zur Apotheke. Dies ermöglicht einen vollständigen Überblick über die verschriebenen und dispensierten Arzneimittel des Versicherten.
Die Nachricht zum Übertragen von Dispensierinformationen wird als HTTP POST-Anfrage an den Medication Service gesendet.
Auslösung
Der E-Rezept-Fachdienst sendet eine Dispensierinformationen einstellen-Nachricht an den Medication Service, um eine bereits erstellte elektronische Dispensierung zu übertragen. Der Medication Service verarbeitet die empfangenen Daten und speichert die Dispensierinformationen dauerhaft.
FHIR Operation API
Der Medication Service MUSS die Operation API: Dispensierinformationen einstellen (E-Rezept-Fachdienst) gemäß der FHIR OperationDefinition Provide Dispensation eRP ausführen. Die Verarbeitung der Dispensierinformationen MUSS entsprechend den in der OperationDefinition festgelegten Regeln und Strukturen erfolgen.
Der Medication Service MUSS die Operation Dispensierinformationen einstellen (E-Rezept-Fachdienst) mittels einer HTTP POST-Anfrage verarbeiten. Die empfangenen Dispensierinformationen MÜSSEN verarbeitet und die Dispensierinformationen dauerhaft gespeichert werden.
Der Medication Service MUSS für die Operation Dispensierinformationen einstellen (E-Rezept-Fachdienst) einen Partial Success ermöglichen.
Falls einzelne Dispensierungen erfolgreich verarbeitet wurden, MUSS der Medication Service die zugehörigen prescriptionId und authoredOn Werte in der Antwort zurückgeben.
Falls einzelne Dispensierungen nicht verarbeitet werden können, MUSS der Medication Service für diese ein OperationOutcome in der Antwort bereitstellen.
Auch bei einer erfolgreichen Verarbeitung MUSS der Medication Service ein OperationOutcome mit einer entsprechenden Bestätigung bereitstellen.
Der HTTP Response Code MUSS 200 OK sein, unabhängig davon, ob eine oder mehrere Dispensierungen fehlschlagen.
Geschäftslogik
Die Operation Dispensierinformationen einstellen (E-Rezept-Fachdienst) verarbeitet eine oder mehrere Dispensierinformationen, die im FHIR Parameters-Objekt übergeben werden. Für jede übergebene Abgabe erfolgt zunächst eine Validierung der enthaltenen Ressourcen Medication, Organization und MedicationDispense.
Anhand des Abgabedatums und der E-Prescription-ID wird ein eindeutiger RxPrescriptionProcessIdentifier gebildet, der als Schlüssel für die weiteren Verarbeitungsschritte dient. Es wird geprüft, ob eine passende MedicationRequest-Instanz existiert, die noch nicht abgeschlossen ist. Falls nicht, wird die Verarbeitung abgebrochen.
Ist die MedicationRequest-Instanz gültig, wird im Kontext einer Transaktion weiterverarbeitet:
Die angegebene Organization-Ressource wird anhand der Telematik-ID aktualisiert oder neu angelegt.
Vorherige MedicationDispense-Instanzen zum selben RxPrescriptionProcessIdentifier, die nicht den Status cancelled haben, werden gelöscht.
Ebenso werden Medication-Instanzen gelöscht, die noch aktiv sind, aber nicht mehr von der zugehörigen MedicationRequest referenziert werden.
Wichtig: Gelöschte Instanzen bleiben über die FHIR-Versionshistorie weiterhin abrufbar, da keine physikalische Löschung erfolgt.
Für jede übergebene MedicationDispense wird die referenzierte Medication-Ressource aus den Input-Parametern ermittelt. Je nach Substitutionsstatus (MedicationDispense.substitution.wasSubstituted) wird entweder eine neue Medication-Instanz angelegt oder diejenige aktualisiert, die von der verschreibenden MedicationRequest referenziert wird.
Anschließend wird eine neue MedicationDispense-Instanz erstellt, deren Status aus dem Parameter RxDispensation.part.status übernommen wird. Wird der Status nicht gesetzt oder ist er gleich completed, so wird zusätzlich die zugehörige MedicationRequest auf completed gesetzt.
Alle Änderungen erfolgen transaktional. Am Ende der erfolgreichen Verarbeitung wird eine entsprechende OperationOutcome-Meldung zurückgegeben. Fehlerhafte Eingaben führen zu einer abgeleiteten Fehlermeldung im Output.
Der Medication Service MUSS bei der Ausführung der Operation Dispensierinformationen einstellen (E-Rezept-Fachdienst) erkennen, ob es sich um eine Substitution handelt. Dies geschieht durch die Prüfung, ob der boolesche Wert MedicationDispense.substitution.wasSubstituted auf true gesetzt ist.
Falls wasSubstituted den Wert true hat, MUSS eine neue Medication-Instanz für diesen Abgabeprozess erstellt werden.
Falls wasSubstituted nicht gesetzt oder false ist, muss die im Verschreibungsprozess vorhandene Medication-Instanz aktualisiert werden
Das folgende Aktivitätsdiagramm illustriert die Geschäftslogik der Operation Dispensierinformationen einstellen (E-Rezept-Fachdienst) im Medication Service.
Abbildung: Geschäftslogik des Medication Service für die Operation Dispensierinformationen einstellen (E-Rezept-Fachdienst)
Sicherheitsanforderungen
Generelle Sicherheitsanforderungen werden hier festgehalten.