ELGA e-Medikation (R4) DRAFT
0.1.1 - ci-build
ELGA e-Medikation (R4) DRAFT, published by ELGA GmbH. This guide is not an authorized publication; it is the continuous build for version 0.1.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7Austria/ELGA-e-Medikation-R4/ and changes regularly. See the Directory of published versions
Ein berechtigter GDA kann den aktuellen Medikationsplan eines ELGA-Teilnehmers bzw. einer ELGA-Teilnehmerin bearbeiten.
Ein:e ELGA-Teilnehmer:in kann über das Zugangsportal
Offene Frage:
- Können nur ganze Planversionen oder auch einzelne Planeinträge (inkl. Historie) gelöscht werden?
- Stichworte: referenzielle Integrität, links die nicht auflösen, Ressourcennetz, DataAbsentReason, Verlauf anderer Medikationen geht verloren, _history delete (R6)
Alle Schreibvorgänge auf dem aktuellen Medikationsplan folgen demselben technischen Grundablauf:
Die nachfolgenden technischen Use Cases beschreiben die jeweils erforderlichen Änderungen an den Ressourcen sowie die Inhalte des Medikationsplan-Transaction-Bundles. Der technische Ablauf von $plan-write einschließlich der Integritätsprüfung mittels ETag ist für alle Schreiboperationen identisch und wird im folgenden Abschnitt beschrieben.
Alle vom GDA ausgeführten, schreibenden Zugriffe auf den Medikationsplan erfolgen über die Custom Operation $plan-write. Die Fachanwendung verwendet den im Request übermittelten ETag zur Integritätsprüfung (Optimistic Locking), um konkurrierende Änderungen am Medikationsplan zu erkennen.
Offene Frage:
- Liefert die Fachanwendung mit der HTTP 200 OK Response im Body auch die Ressourcen, so wie sie persistiert wurden, wieder zurück? Bei neu angelegten Ressourcen ist erst dadurch für den Client die id ersichtlich (wird vom Server vergeben).
Offener Punkt:
- OperationOutcome defnieren
Der GDA kann dem Medikationsplan ein oder mehrere Planeinträge hinzufügen. Dabei muss er dokumentieren, ob dieser von ihm selbst stammt oder nicht (Fremdmedikation durch einen anderen GDA bzw. Eigenmedikation des Patienten).
Hierfür führt der GDA ein $plan-read aus und bearbeitet die von der Fachanwendung im Medikationsplan-Searchset-Bundle bereitgestellten Ressourcen:
Das Element List.date wird auf den Zeitpunkt der Änderung aktualisiert.
Offener Punkt:
- dosageInstruction: Dosierungen in Arbeit.
Im Anschluss übermittelt der GDA mit POST $plan-write den aktualisierten Medikationsplan in einem Transaction Bundle:
AtElgaEmedListMedikationsplan
status: current
mode: working
date: Datum der aktuellen Bearbeitung des Medikationsplans
source: für die Bearbeitung veranwortlicher GDA
entry[0]: // 1. Planeintrag wird hinzufgefügt
flag: new
item: Referenz auf den Planeintrag 1 // siehe "Relevante Elemente (MedicationRequest) Planeintrag 1"
entry[1]: // 2. Planeintrag wird hinzufgefügt
flag: new
item: Referenz auf den Planeintrag 2 // analog zu "Relevante Elemente (MedicationRequest) Planeintrag 1"
AtElgaEmedMedicationRequestPlaneintrag
status: active | on-hold
intent: order // fester Wert
category: "Planeintrag" // fester Wert
reportedBoolean: false | true // false, wenn vom Autor des Planeintrags
medicationReference.reference: Medikation mit PZN oder Magistrale Zubereitung // Contained Medication
authoredOn: Datum der Erstellung des Planeintrags
requester: veranwortlicher GDA // wird auf Übereinstimmung mit List.source geprüft
courseOfTherapyType: continuous | acute
dosageInstruction: Dosierung + Einnahmezeitraum (ab sofort | in der Zukunft)
Offener Punkt:
- Magistrale Zubereitung: in Arbeit.
Im Weiteren wird beschrieben, wie Planeinträge bearbeitet werden können. Das Sequenzdiagramm zeigt den allgemeinen Ablauf.
Der GDA kann im Medikationsplan ein oder mehrere Planeinträge ändern.
Die Änderung des Planeintrag kann alle Inhalte umfassen, z.B.: Änderung des Status (pausieren/aktivieren), Änderung des Einnahmezeitraums, der Dosierung oder der Medikation. Bei fehlender fachlicher Kontinuität der Bearbeitung eines Planeintrages (z.B. Änderung des Arzneimittels von Blutdruckmittel auf Antibiotikum) SOLL ein neuer Planeintrag erfasst und kein bestehender Eintrag weiterverwendet werden.
Um Planeinträge zu ändern, führt der GDA ein $plan-read aus und bearbeitet die von der Fachanwendung bereitgestellten Ressourcen:
Der GDA übermittelt (via POST $plan-write) den aktualisierten Medikationsplan in einem Transaction Bundle:
AtElgaEmedListMedikationsplan
status: current
mode: working
date: Datum der Bearbeitung des Medikationsplans
source: Veranwortlicher GDA
entry[0]: // 1. Planeintrag wird geändert
flag: changed
date: Datum der Änderung des Planeintrags // in diesem Fall gleich mit dem Datum der Bearbeitung des Medikationsplans
item: Referenz auf den Planeintrag 1
entry[1]: // 2. Planeintrag bleibt unverändert
flag: unchanged
date: Datum der Aufnahme des Planeintrags // in diesem Fall unterschiedlich mit dem Datum der Bearbeitung des Medikationsplans
item: Referenz auf den Planeintrag 2
AtElgaEmedMedicationRequestPlaneintrag
identifier: Planeintrag-ID bleibt bestehen // sofern der Bezug erhalten bleiben soll
status: active | on-hold
statusReason.text: Freitextbegrüdung für die Änderung
reportedBoolean: false // Fremdmedikation
medicationReference.reference: Änderungen betreffend der Medikation // Contained Medication
authoredOn: Datum der Änderung des Planeintrags
requester: für die Änderung verantwortlicher GDA
dosageInstruction: Änderung betreffend Dosierung + Einnahmezeitraum (ab sofort | in der Zukunft)
priorPrescription: Referenz auf ersetzten Planeintrag
Siehe Allgemeiner Ablauf - Planeinträge bearbeiten.
Der GDA kann ein oder mehrere Planeinträge im Medikationsplan beibehalten und unverändert zur Kennntis nehmen.
Hierfür führt der GDA ein $plan-read aus und bearbeitet die von der Fachanwendung im Medikationsplan-Searchset-Bundle bereitgestellten Ressourcen:
Der GDA übermittelt mit POST $plan-write den aktualisierten Medikationsplan in einem Transaction Bundle:
AtElgaEmedListMedikationsplan
date: Datum der aktuellen Bearbeitung des Medikationsplans
source: für die Bearbeitung veranwortlicher GDA
entry[0]: // 1. Planeintrag bleibt unverändert
flag: unchanged
item: Referenz auf den Planeintrag 1
AtElgaEmedMedicationRequestPlaneintrag
// unverändert (verantwortlicher GDA, Datum, Status bleiben bestehen)
Siehe Allgemeiner Ablauf - Planeinträge bearbeiten.
Ein GDA kann die Therapie eines Patienten vorübergehend unterbrechen (die Wiederaufnahme ist vorgesehen). Eine Freitext-Begründung kann dokumentiert werden.
Hierfür führt der GDA ein $plan-read aus und bearbeitet die von der Fachanwendung im Medikationsplan-Searchset-Bundle bereitgestellten Ressourcen.
Im Anschluss übermittelt der GDA mit POST $plan-write den aktualisierten Medikationsplan in einem Transaction Bundle:
Anmerkung: Beim nächsten Plan-Read ändert die Fachanwendung im zur Auslieferung bereitgestellten Bundle den Status der Einträge mit changed automatisch auf unchanged.
AtElgaEmedListMedikationsplan
date: Datum der aktuellen Bearbeitung des Medikationsplans
source: für die Bearbeitung veranwortlicher GDA
entry[0]: // 1. Planeintrag wird pausiert
flag: changed
item: Referenz auf den Planeintrag 1
entry[1]: // 2. Planeintrag bleibt unverändert
flag: unchanged
item: Referenz auf den Planeintrag 2
AtElgaEmedMedicationRequestPlaneintrag
identifier: Planeintrag-ID bleibt bestehen
status: on-hold
statusReason.text: Freitextbegrüdung // optional
reportedBoolean: true | false // true, wenn Fremdmedikation
authoredOn: Datum der Pausierung des Planeintrags
requester: für die Pausierung verantwortlicher GDA
priorPrescription: Referenz auf ersetzten Planeintrag
Siehe Allgemeiner Ablauf - Planeinträge bearbeiten.
Ein Medikationsplan mit List.emptyReason = nilknown dokumentiert, dass für den Patienten derzeit keine Medikation vorgesehen ist.
Der Wert nilknown dient der Unterscheidung zwischen einem noch nie befüllten Medikationsplan (notstarted) und einem Medikationsplan, für den bewusst keine Medikation dokumentiert ist (nilknown).
Der Medikationsplan erhält den Status List.emptyReason = nilknown in folgenden Fällen:
Der GDA übermittelt ein Medikationsplan-Transaction-Bundle mit:
AtElgaEmedListMedikationsplan
status: current
mode: working
date: Datum der Bearbeitung
source: veranwortlicher GDA
emptyReason: nilknown // Patient nimmt derzeit kein Medikation ein
Siehe Allgemeiner Ablauf - Planeinträge bearbeiten.
Der GDA kann einen oder mehrere Planeinträge aufgrund einer falschen Eingabe stornieren. Diese sind beim nächsten Plan-Read nicht mehr im Medikationsplan enthalten.
Hierfür führt der GDA ein $plan-read aus und bearbeitet die von der Fachanwendung im Medikationsplan-Searchset-Bundle bereitgestellten Ressourcen:
Der GDA übermittelt (via POST $plan-write) den aktualisierten Medikationsplan in einem Transaction Bundle:
Relevante Elemente (List)
AtElgaEmedListMedikationsplan
status: current
mode: working
date: Datum der Bearbeitung des Medikationsplans
source: Veranwortlicher GDA
entry[0]: // 1. Planeintrag wird storniert
flag: removed
item: Referenz auf den Planeintrag 1
entry[1]: // 2. Planeintrag bleibt unverändert
flag: unchanged
item: Referenz auf den Planeintrag 2
AtElgaEmedMedicationRequestPlaneintrag
identifier: Planeintrag-ID bleibt bestehen
status: entered-in-error
reportedBoolean: false // Fremdmedikation
authoredOn: Datum der Stornierung des Planeintrags
requester: für die Stornierung verantwortlicher GDA
priorPrescription: Referenz auf ersetzten Planeintrag
Siehe Allgemeiner Ablauf - Planeinträge bearbeiten.
Der GDA kann ein Medikament, welches in einen Planeintrag dokumentiert ist, absetzen. Der betreffende Planeintrag ist beim nächsten Plan-Read nicht mehr im Medikationsplan enthalten.
Hierfür führt der GDA ein $plan-read aus und bearbeitet die von der Fachanwendung im Medikationsplan-Searchset-Bundle bereitgestellten Ressourcen:
Der GDA übermittelt (via POST $plan-write) den aktualisierten Medikationsplan in einem Transaction Bundle:
AtElgaEmedListMedikationsplan
status: current
mode: working
date: Datum der Bearbeitung des Medikationsplans
source: Veranwortlicher GDA
entry[0]: // 1. Planeintrag wird abgesetzt
flag: removed
item: Referenz auf den Planeintrag 1 // siehe "Planeintrag ändern"
entry[1]: // 2. Planeintrag bleibt unverändert
flag: unchanged
item: Referenz auf den Planeintrag 2
AtElgaEmedMedicationRequestPlaneintrag
identifier: Planeintrag-ID bleibt bestehen
status: stopped
statusReason.text: Freitextbegrüdung für das Absetzen des Medikaments //verpflichtende Angabe!
reportedBoolean: false // Fremdmedikation
authoredOn: Datum des Absetzens des Planeintrags
requester: für das Absetzen verantwortlicher GDA
priorPrescription: Referenz auf ersetzten Planeintrag
Siehe Allgemeiner Ablauf - Planeinträge bearbeiten.
Der GDA kann die Reihenfolge der Planeinträge ändern. Die Einträge selbst bleiben dabei unverändert.
Hierfür führt der GDA ein $plan-read aus und bearbeitet die von der Fachanwendung im Medikationsplan-Searchset-Bundle bereitgestellten Ressourcen:
Der GDA übermittelt mittels POST $plan-write den aktualisierten Medikationsplan in einem Transaction Bundle:
In folgendem Beispiel wird der ursprünglich 2. Eintrag als 1. gereiht.
AtElgaEmedListMedikationsplan
status: current
mode: working
date: Datum der Änderung der Reihenfolge
source: Veranwortlicher GDA
entry[0]: // 2. Planeintrag
flag: Unchanged
item: Referenz auf den Planeintrag 2
entry[1]: // 1. Planeintrag
flag: Unchanged
item: Referenz auf den Planeintrag 1
AtElgaEmedMedicationRequestPlaneintrag
// unverändert (verantwortlicher GDA, Datum, Status bleiben bestehen)
Siehe Allgemeiner Ablauf - Planeinträge bearbeiten.
Offene Fragen: Ausüben der Teilnehmerrechte in Arbeit.
Offene Fragen: Ausüben der Teilnehmerrechte in Arbeit.
In Arbeit. –>