FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagede.gematik.erp-t-prescription
Resource TypeStructureMap
IdStructureMap-ERPTPrescriptionStructureMapMedicationDispense.json
FHIR VersionR4

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureMap ERPTPrescriptionStructureMapMedicationDispense

map "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationDispense" = "ERPTPrescriptionStructureMapMedicationDispense"

// Mapping-Anweisungen zur Transformation von gematik ERP MedicationDispense zu BfArM T-Prescription MedicationDispense

uses "http://hl7.org/fhir/StructureDefinition/MedicationDispense" alias gematikMedicationDispense as source
uses "http://hl7.org/fhir/StructureDefinition/MedicationDispense" alias bfarmMedicationDispense as target

// Mapping-Anweisungen zur Transformation von gematik ERP MedicationDispense zu BfArM T-Prescription MedicationDispense
group ERPTPrescriptionStructureMapMedicationDispense(source gematikMedicationDispense : gematikMedicationDispense, target bfarmMedicationDispense : bfarmMedicationDispense) {
  // Kopiert Dosage Metadata Extension
  gematikMedicationDispense.extension as extDosageMetaVar where (url='http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta') -> bfarmMedicationDispense.extension = extDosageMetaVar "medicationDispenseExt";
  // Kopiert RenderedDosageText
  gematikMedicationDispense.extension as extDosageRenderedVar where (url='http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction') -> bfarmMedicationDispense.extension = extDosageRenderedVar "medicationDispenseExt";
  // Übernimmt die Dosierungsanweisungen aus der ursprünglichen Abgabe für den digitalen Durchschlag
  gematikMedicationDispense.dosageInstruction as dosageInstructionVar -> bfarmMedicationDispense.dosageInstruction = dosageInstructionVar "medicationDispenseDosageInstruction";
  // Kopiert das Abgabedatum zur Dokumentation des Zeitpunkts der Medikamentenausgabe
  gematikMedicationDispense.whenHandedOver as whenHandedOverVar -> bfarmMedicationDispense.whenHandedOver = whenHandedOverVar "medicationDispenseWhenHandedOver";
  // Kopiert die Medikamentenreferenz - das referenzierte Medication wird separat gemappt
  gematikMedicationDispense.medication as medicationVar -> bfarmMedicationDispense.medication = medicationVar "medicationReference";
  // Setzt den Status auf 'completed' da die Abgabe bereits erfolgt ist (digitaler Durchschlag)
  gematikMedicationDispense.status as gematikMedicationDispenseStatus -> bfarmMedicationDispense.status = 'completed' "medicationDispenseStatus";
  // Übernimmt die abgegebene Menge zur Dokumentation der tatsächlich ausgehändigten Medikamentenmenge
  gematikMedicationDispense.quantity as quantityVar -> bfarmMedicationDispense.quantity = quantityVar "medicationDispenseQuantity";
  // Transformiert Apotheken-Identifier zu Organization-Referenz für eindeutige Zuordnung der abgebenden Apotheke
  gematikMedicationDispense.performer as srcPerformerVar -> bfarmMedicationDispense.performer as tgtPerformerVar then {
    // Verarbeitet den Actor (abgebende Apotheke) des Performers
    srcPerformerVar.actor as srcPerformerActorVar -> tgtPerformerVar.actor as tgtPerformerActorVar then {
      // Extrahiert den Identifier der abgebenden Apotheke
      srcPerformerActorVar.identifier as srcPerformerActorIdentifierVar then {
        // Wandelt Apotheken-Identifier in Organization-Referenz um (Organization/<telematik-id>)
        srcPerformerActorIdentifierVar.value as srcPerformerActorIdentifierValueVar -> tgtPerformerActorVar.reference = append('Organization/', srcPerformerActorIdentifierValueVar) "medicationDispensePerformerActorIdentifierValue";
      } "medicationDispensePerformerActorIdentifier";
    } "medicationDispensePerformerActor";
  } "medicationDispensePerformer";
}


Source1

{
  "resourceType": "StructureMap",
  "id": "ERPTPrescriptionStructureMapMedicationDispense",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationDispense",
  "version": "1.2.0",
  "name": "ERPTPrescriptionStructureMapMedicationDispense",
  "title": "E-T-Rezept Structure Map for MedicationDispense",
  "status": "active",
  "experimental": false,
  "date": "2026-07-27",
  "publisher": "gematik GmbH",
  "contact": [
    {
      "name": "gematik GmbH",
      "telecom": [
        {
          "system": "url",
          "value": "https://gematik.de"
        },
        {
          "system": "email",
          "value": "erp-umsetzung@gematik.de"
        }
      ]
    }
  ],
  "description": "Mapping-Anweisungen zur Transformation von gematik ERP MedicationDispense zu BfArM T-Prescription MedicationDispense",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "DE",
          "display": "Germany"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationDispense",
      "mode": "source",
      "alias": "gematikMedicationDispense"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationDispense",
      "mode": "target",
      "alias": "bfarmMedicationDispense"
    }
  ],
  "group": [
    {
      "name": "ERPTPrescriptionStructureMapMedicationDispense",
      "typeMode": "none",
      "documentation": "Mapping-Anweisungen zur Transformation von gematik ERP MedicationDispense zu BfArM T-Prescription MedicationDispense",
      "input": [
        {
          "name": "gematikMedicationDispense",
          "type": "gematikMedicationDispense",
          "mode": "source"
        },
        {
          "name": "bfarmMedicationDispense",
          "type": "bfarmMedicationDispense",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "medicationDispenseExt",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "extension",
              "variable": "extDosageMetaVar",
              "condition": "url='http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta'"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "extension",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "extDosageMetaVar"
                }
              ]
            }
          ],
          "documentation": "Kopiert Dosage Metadata Extension"
        },
        {
          "name": "medicationDispenseExt",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "extension",
              "variable": "extDosageRenderedVar",
              "condition": "url='http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction'"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "extension",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "extDosageRenderedVar"
                }
              ]
            }
          ],
          "documentation": "Kopiert RenderedDosageText"
        },
        {
          "name": "medicationDispenseDosageInstruction",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "dosageInstruction",
              "variable": "dosageInstructionVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "dosageInstruction",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "dosageInstructionVar"
                }
              ]
            }
          ],
          "documentation": "Übernimmt die Dosierungsanweisungen aus der ursprünglichen Abgabe für den digitalen Durchschlag"
        },
        {
          "name": "medicationDispenseWhenHandedOver",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "whenHandedOver",
              "variable": "whenHandedOverVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "whenHandedOver",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "whenHandedOverVar"
                }
              ]
            }
          ],
          "documentation": "Kopiert das Abgabedatum zur Dokumentation des Zeitpunkts der Medikamentenausgabe"
        },
        {
          "name": "medicationReference",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "medication",
              "variable": "medicationVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "medication",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "medicationVar"
                }
              ]
            }
          ],
          "documentation": "Kopiert die Medikamentenreferenz - das referenzierte Medication wird separat gemappt"
        },
        {
          "name": "medicationDispenseStatus",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "status",
              "variable": "gematikMedicationDispenseStatus"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "completed"
                }
              ]
            }
          ],
          "documentation": "Setzt den Status auf 'completed' da die Abgabe bereits erfolgt ist (digitaler Durchschlag)"
        },
        {
          "name": "medicationDispenseQuantity",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "quantity",
              "variable": "quantityVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "quantity",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "quantityVar"
                }
              ]
            }
          ],
          "documentation": "Übernimmt die abgegebene Menge zur Dokumentation der tatsächlich ausgehändigten Medikamentenmenge"
        },
        {
          "name": "medicationDispensePerformer",
          "source": [
            {
              "context": "gematikMedicationDispense",
              "element": "performer",
              "variable": "srcPerformerVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedicationDispense",
              "contextType": "variable",
              "element": "performer",
              "variable": "tgtPerformerVar"
            }
          ],
          "rule": [
            {
              "name": "medicationDispensePerformerActor",
              "source": [
                {
                  "context": "srcPerformerVar",
                  "element": "actor",
                  "variable": "srcPerformerActorVar"
                }
              ],
              "target": [
                {
                  "context": "tgtPerformerVar",
                  "contextType": "variable",
                  "element": "actor",
                  "variable": "tgtPerformerActorVar"
                }
              ],
              "rule": [
                {
                  "name": "medicationDispensePerformerActorIdentifier",
                  "source": [
                    {
                      "context": "srcPerformerActorVar",
                      "element": "identifier",
                      "variable": "srcPerformerActorIdentifierVar"
                    }
                  ],
                  "rule": [
                    {
                      "name": "medicationDispensePerformerActorIdentifierValue",
                      "source": [
                        {
                          "context": "srcPerformerActorIdentifierVar",
                          "element": "value",
                          "variable": "srcPerformerActorIdentifierValueVar"
                        }
                      ],
                      "target": [
                        {
                          "context": "tgtPerformerActorVar",
                          "contextType": "variable",
                          "element": "reference",
                          "transform": "append",
                          "parameter": [
                            {
                              "valueString": "Organization/"
                            },
                            {
                              "valueId": "srcPerformerActorIdentifierValueVar"
                            }
                          ]
                        }
                      ],
                      "documentation": "Wandelt Apotheken-Identifier in Organization-Referenz um (Organization/<telematik-id>)"
                    }
                  ],
                  "documentation": "Extrahiert den Identifier der abgebenden Apotheke"
                }
              ],
              "documentation": "Verarbeitet den Actor (abgebende Apotheke) des Performers"
            }
          ],
          "documentation": "Transformiert Apotheken-Identifier zu Organization-Referenz für eindeutige Zuordnung der abgebenden Apotheke"
        }
      ]
    }
  ]
}