Implementation Guide
TIFlow - Datenaustausch BfArM Webdienst
Version 2.0.0 - release

StructureMap: E-T-Rezept Structure Map for Medication

Official URL: https://gematik.de/fhir/tiflow-bfarm/StructureMap/ERPTPrescriptionStructureMapGEMMedication Version: 2.0.0
Active as of 2026-10-02 Computable Name: ERPTPrescriptionStructureMapGEMMedication

Maps GEM ERP Medication to BfArM T-Prescription Medication format

map "https://gematik.de/fhir/tiflow-bfarm/StructureMap/ERPTPrescriptionStructureMapGEMMedication" = "ERPTPrescriptionStructureMapGEMMedication"

// Maps GEM ERP Medication to BfArM T-Prescription Medication format

uses "http://hl7.org/fhir/StructureDefinition/Medication" alias gematikMedication as source
uses "http://hl7.org/fhir/StructureDefinition/Medication" alias bfarmMedication as target

// Mapping-Anweisungen zur Transformation von gematik ERP-Medikamenten zu BfArM T-Prescription Format
group ERPTPrescriptionStructureMapGEMMedication(source gematikMedication : gematikMedication, target bfarmMedication : bfarmMedication) {
  // Übernimmt die eindeutige Medication-ID unverändert
  gematikMedication.id as IdVar -> bfarmMedication.id = IdVar "medicationId";
  // Kopiert eingebettete Ressourcen (z.B. referenzierte Medications oder Organizations)
  gematikMedication.contained as ContainedVar -> bfarmMedication.contained = ContainedVar "mapContainedRessources";
  // Mappt gematik-spezifische Medication-Extensions zu BfArM-Format
  gematikMedication.extension as extVar -> bfarmMedication.extension as tgtExtVar then {
    // Übernimmt die Normgröße-Extension unverändert (deutsche Packungsgrößenangabe N1, N2, N3)
    extVar where (url='http://fhir.de/StructureDefinition/normgroesse') -> tgtExtVar.url = 'http://fhir.de/StructureDefinition/normgroesse' then {
      // Kopiert den Wert der Normgröße-Extension
      extVar.value as extValVar -> tgtExtVar.value = extValVar "copyExtensionValue";
    } "copyNormgroesseExtensionUrl";
    // Übernimmt die gematik-Verpackungs-Extension für Formulierungen
    extVar where (url='https://gematik.de/fhir/epa-medication/StructureDefinition/medication-formulation-packaging-extension') -> tgtExtVar.url = 'https://gematik.de/fhir/epa-medication/StructureDefinition/medication-formulation-packaging-extension' then {
      // Kopiert den Wert der Verpackungs-Extension
      extVar.value as extValVar -> tgtExtVar.value = extValVar "copyExtensionValue";
    } "copyPackagingExtensionUrl";
  } "medicationExtension";
  // Kopiert den Medikamentencode (PZN oder andere Identifikation) des abgegebenen Arzneimittels
  gematikMedication.code as codeVar -> bfarmMedication.code = codeVar "medicationCode";
  // Übernimmt die Darreichungsform des tatsächlich abgegebenen Arzneimittels
  gematikMedication.form as formVar -> bfarmMedication.form = formVar "medicationForm";
  // Kopiert die Mengenangaben des abgegebenen Arzneimittels (tatsächlich ausgehändigte Menge)
  gematikMedication.amount as amountVar -> bfarmMedication.amount = amountVar "medicationAmount";
  // Übernimmt Wirkstoffinformationen des abgegebenen Arzneimittels (falls vorhanden)
  gematikMedication.ingredient as ingredientVar -> bfarmMedication.ingredient = ingredientVar "medicationIngredient";
}