Migrationsvorgaben
An dieser Stelle finden sich Vorgaben zur Datenmigration zwischen verschiedenen Versionen dieses Implemenation Guide, die durch den Medication Service durchgeführt werden müssen. Eine Migration besteht pro Version ggf. aus mehreren Migrationsschritten. Es kann Versionen dieses Guide geben, für die keine Migrationsschritte festgelegt wurden.
Der Medication Service MUSS gemäß [gemSpec_Aktensystem_ePAfueralle#A_27886] alle Migrationen in aufsteigender Versionsabfolge des Medication Service durchführen, angefangen bei der kleinsten Version, für die noch keine Migration durchgeführt wurde.
Der Medication Service MUSS alle nicht durchgeführten Migrationen zum frühestmöglichen Zeitpunkt durchführen.
In der Regel ist das der Moment, in dem sich ein Benutzer das erste mal nach Aktivsetzen einer neuen Version mit Migrationsvorgaben am Aktenkonto anmeldet.
Migration von 1.1.x auf Version 1.2.0
In der Version 1.2.0 erfolgt die Einführung des elektronischen Medikationsplans. In diesem Zusammenhang wird beim Einstellen einer MedicationRequest-Instanz des Profiles EPAMedicationRequest ab Version 1.2.0 vom Medication Service automatisch eine MedicationStatement-Instanz (EPAMedicationStatement) erzeugt und mit dem eingegangen MedicationRequest verbunden. Da alte EPAMedicationRequest-Instanzen (vor 1.2.0) noch nicht über dieses zusätzliche MedicationStatement verfügen, wird es der Konsistenz halber im Rahmen dieser Migration auch für Altdaten angelegt.
Der Medication Service MUSS bei der Migration auf die Version 1.2.0 die folgenden Schritte ausführen oder Schritte, die zu demselben Ergebnis führen:
- Für jede bestehende MedicationRequest-Instanz des Profils EPAMedicationRequest:
- Erzeugen einer MedicationStatement-Instanz des Profils EPAMedicationStatement mit dem folgenden Inhalt:
- Setzen der logischen Referenz in MedicationStatement.subject auf Instanz des Profils EPAPatient
- Setzen der Referenz in MedicationStatement.derivedFrom auf aktuelle MedicationRequest-Instanz</i>
- Setzen von MedicationStatement.dateAsserted mit dem Wert aus MedicationRequest.authoredOn
- Setzen von MedicationStatement.dosage mit dem Wert aus MedicationRequest.dosageInstruction
- Setzen von MedicationStatement.status mit dem Wert "unknown"
- Setzen von MedicationStatement.effective[x].start mit dem Wert aus MedicationRequest.authoredOn
- Erzeugen einer Provenance-Instanz des Profils EPAActivityProvenance mit folgendem Inhalt
- Setzen von Provenance.target auf erzeugte MedicationStatement
- Setzen von Provenance.activity mit dem Wert "CREATE"
- Setzen von Provenance.agent.who auf den Wert "MEDSVC"
- Für jede bestehende Instanz des Profils EPAMedicationDispense:
- Falls MedicationDispense.dosageInstruction gesetzt ist, denselben Wert in MedicationStatement.dosage übernehmen
- Setzen der Referenz in MedicationStatement.derivedFrom auf MedicationDispense-Instanz (das MedicationStatement ist über die oben verknüpfte MedicationRequest-Instanz identifizierbar)
Der Medication Service MUSS einmalig bei seiner Ausführung in allen Practitioner-Instanzen, die von MedicationRequest-Instanzen mit MedicationRequest.intent ungleich plan referenziert werden, den Wert des Elements Practitioner.qualification entfernen.
Dies korrigiert eine in der Vergangenheit fehlerhafte Befüllung durch den E-Rezept-Fachdienst. Es werden nur diejenigen Practitioner-Instanzen korrigiert, die nicht über eine MedicationRequest-Instanz mit eMP-relevant referenziert sind.