Seiteninhalt:
Jeder ServiceRequest ist in der Lage eine Anforderung für ein Arzneimittel abzubilden. Um Anfragen zu Bündeln und so ggf. Last in einem Netzwerk zu minimieren, wird die Möglichkeit geschaffen mehrere Anfragen in einer Nachricht zu übermitteln. Die folgende Seite beschreibt wie das erreicht werden kann.
Generell basiert der Nachrichtenaustausch auf dem Messaging Bundle. Ein solches Bundle wird verwendet, um eine oder mehrere Rezeptanforderungen zu übermitteln. Dabei enthält das Bundle als ersten Eintrag den MessageHeader, welcher die Metadaten der Nachricht enthält.
Der MessageHeader ist eine spezielle FHIR-Ressource, die verwendet wird, um Informationen zum Nachrichtenaustausch zu beschreiben. Dieser enthält:
focus
. Dieses Feld enthält Referenzen auf die entsprechenden ServiceRequest-Ressourcen, die die eigentlichen Rezeptanforderungen abbilden.Die zentrale Ressource, die eine Rezeptanforderung wiedergibt, ist die ServiceRequest-Ressource. Diese Ressource repräsentiert die eigentliche Anforderung und referenziert alle relevanten Informationen, wie Patientendaten, Verordnende/r und weitere Details.
Wenn mehrere Anfragen gestellt werden, handelt es sich meist um den selben Vorgang. Um diese Zusammengehörigkeit zu kennzeichnen, soll der Request Procedure Identifier in ServiceRequest.requisition
genutzt werden.
Dieser Identifier ermöglicht es, mehrere ServiceRequests zu einer gemeinsamen Anforderung zu gruppieren. So kann ein identischer requisition-Wert in mehreren ServiceRequest-Objekten verwendet werden, um zu signalisieren, dass diese Anfragen zusammengehören.
Bei der Übermittlung von mehreren ServiceRequests in einer Nachricht ist zu beachten, dass jede Anfrage (Rezeptanforderung) durch einen eigenen ServiceRequest repräsentiert wird. Jedoch können mehrere ServiceRequests auf dieselben Ressourcen verweisen. Zum Beispiel:
Wenn drei Rezeptanforderungen für denselben Patienten gestellt werden, gibt es im Bundle drei separate ServiceRequest-Ressourcen, die jeweils eine eigene Anforderung darstellen. Diese drei ServiceRequests können jedoch alle auf dieselbe Patient-Ressource verweisen. In diesem Fall wird der Patient nur einmal im Bundle enthalten sein, obwohl mehrere ServiceRequests diese Ressource referenzieren.
Eine Nachricht, die z.B. zwei Rezeptanforderungen enthält, hat folgenden Aufbau:
MessageHeader.focus
: Diese verweisen auf zwei ServiceRequest-Objekte.Patient
, Practitioner
, etc., die von den ServiceRequests referenziert werden, sind ebenfalls Teil des Bundles. Diese Ressourcen dienen als ergänzende Informationen zu den ServiceRequests.Ein empfangendes System sollte den MessageHeader auslesen und dabei folgende Schritte beachten:
focus
: Überprüfen, wie viele Rezeptanforderungen (also ServiceRequest-Objekte) referenziert sind.Jede ServiceRequest-Ressource agiert also als eine Art “Trägerressource”, die alle relevanten Informationen für eine Rezeptanforderung enthält.
Eine Nachricht enthält:
ServiceRequest.basedOn
referenziert wird.Hinweis: Mehrere ServiceRequests innerhalb einer Nachricht können denselben Identifier unter ServiceRequest.requisition
haben. Diese Identifier können verwendet werden, um mehrere ServiceRequests einer einzelnen “Anfrage” zuzuordnen.
Hinweis: Wenn ein Arzt mehrere Anfragen bekommt und einzelne davon ablehnen möchte ist das auf grundlage des einzelnen ServiceRequests möglich. Bestätigte ServiceRequest erhalten den Status #completed
und abgelehnte Anfragen den Status #revoked
.
Beispielhaft sollen stark vereinfacht zwei Szenarien als Klassendiagramm dargestellt werden, die die Kardinalitäten und Beziehungen in einem Bundle ausdrücken.
å Zunächst kann z.B. für einen Patienten mehrere Rezepte angefordert werden. Damit können jeweils ein ServiceRequest (Rezeptanforderung) erstellt werden. Diese können auf die gleiche Patienten -Ressource referenzieren.
Weiterhin ist auch denkbar, dass exakt die gleiche Medikation für mehrere Patienten angefragt wird. In diesem Fall kann die MedicationRequest-Ressource mehrfach verwendet werden.
Hierüber hinaus sind auch Kombinationen denkbar.