TIFlow - Verordnungen für Arzneimittel
Version 2.0.0-ballot.1 - ci-build

StructureMap: KBVPrErpBundleMap

Official URL: https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpBundleMap Version: 2.0.0-ballot.1
Draft as of 2026-02-02 Computable Name: KBVPrErpBundleMap

Auto-generated StructureMap for transformation KBV_PR_ERP_Bundle 1.4.0 -> EPAOpProvidePrescriptionERPInputParameters 1.3.0

Feld-Mappings

Quelle (Eingangsdaten) Ziel (Ausgabedaten) Aktion Transformation & Beschreibung
KBVPRERPBundle EPAOpProvidePrescriptionERPInputParameters.parameter.name Fester Wert setzt festen Wert: rxPrescription
KBVPRERPBundle EPAOpProvidePrescriptionERPInputParameters.parameter.part.name Fester Wert setzt festen Wert: authoredOn
KBVPRERPBundle.entry.resource.authoredOn
[Bedingung: resource.meta.profile.where($this.contains('https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription')).exists()]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.value Kopiert übernimmt Wert aus Quellvariable
KBVPRERPBundle EPAOpProvidePrescriptionERPInputParameters.parameter.part.name Fester Wert setzt festen Wert: medication
KBVPRERPBundle.entry
[Bedingung: resource is Medication]
Dokumentiert Bundle.entry:RezeptierdatenPZNVerordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_PZN|1.4.0 -> EPAMedication|1.3.0
KBVPRERPBundle.entry.resource
[Bedingung: resource is Medication]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource Erstellt · Delegiert Verwendet StructureMap: KBVPrErpMedicationPznMap
Ressource: Medication
erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
KBVPRERPBundle.entry
[Bedingung: resource is Medication]
Dokumentiert Bundle.entry:RezeptierdatenWirkstoffverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Ingredient|1.4.0 -> EPAMedication|1.3.0
KBVPRERPBundle.entry.resource
[Bedingung: resource is Medication]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource Erstellt · Delegiert Verwendet StructureMap: KBVPrErpMedicationIngredientMap
Ressource: Medication
erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
KBVPRERPBundle.entry
[Bedingung: resource is Medication]
Dokumentiert Bundle.entry:RezeptierdatenRezepturverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Compounding|1.4.0 -> EPAMedication|1.3.0
KBVPRERPBundle.entry.resource
[Bedingung: resource is Medication]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource Erstellt · Delegiert Verwendet StructureMap: KBVPrErpMedicationCompoundingMap
Ressource: Medication
erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
KBVPRERPBundle.entry
[Bedingung: resource is Medication]
Dokumentiert Bundle.entry:RezeptierdatenFreitextverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_FreeText|1.4.0 -> EPAMedication|1.3.0
KBVPRERPBundle.entry.resource
[Bedingung: resource is Medication]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource Erstellt · Delegiert Verwendet StructureMap: KBVPrErpMedicationFreetextMap
Ressource: Medication
erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
KBVPRERPBundle EPAOpProvidePrescriptionERPInputParameters.parameter.part.name Fester Wert setzt festen Wert: medicationRequest
KBVPRERPBundle.entry
[Bedingung: resource is MedicationRequest]
Dokumentiert Bundle.entry:VerordnungArzneimittel.resource -> .parameter:rxPrescription.part:medicationRequest.resource using KBV_PR_ERP_Prescription|1.4.0 -> EPAMedicationRequest|1.3.0
KBVPRERPBundle.entry.resource
[Bedingung: resource is MedicationRequest]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource Erstellt · Delegiert Verwendet StructureMap: KBVPrErpPrescriptionMap
Ressource: MedicationRequest
erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-request
KBVPRERPBundle EPAOpProvidePrescriptionERPInputParameters.parameter.part.name Fester Wert setzt festen Wert: organization
KBVPRERPBundle.entry
[Bedingung: resource is Organization]
Dokumentiert Bundle.entry:Einrichtung.resource -> .parameter:rxPrescription.part:organization.resource using KBV_PR_FOR_Organization|1.3.0 -> OrganizationDirectory|1.0.0
KBVPRERPBundle.entry.resource
[Bedingung: resource is Organization]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource Erstellt · Delegiert Verwendet StructureMap: KBVPrForOrganizationMap
Ressource: Organization
erstellt neues https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory
KBVPRERPBundle EPAOpProvidePrescriptionERPInputParameters.parameter.part.name Fester Wert setzt festen Wert: practitioner
KBVPRERPBundle.entry
[Bedingung: resource is Practitioner]
Dokumentiert Bundle.entry:AusstellendeVerschreibendeVerantwortlichePerson.resource -> .parameter:rxPrescription.part:practitioner.resource using KBV_PR_FOR_Practitioner|1.3.0 -> PractitionerDirectory|1.0.0
KBVPRERPBundle.entry.resource
[Bedingung: resource is Practitioner]
EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource Erstellt · Delegiert Verwendet StructureMap: KBVPrForPractitionerMap
Ressource: Practitioner
erstellt neues https://gematik.de/fhir/directory/StructureDefinition/PractitionerDirectory
KBVPRERPBundle EPAOpProvidePrescriptionERPInputParameters.parameter.part.name Fester Wert setzt festen Wert: prescriptionId
KBVPRERPBundle.identifier.value EPAOpProvidePrescriptionERPInputParameters.parameter.part.value Kopiert übernimmt Wert aus Quellvariable

map "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpBundleMap" = "KBVPrErpBundleMap"

// Auto-generated StructureMap for transformation KBV_PR_ERP_Bundle|1.4.0 -> EPAOpProvidePrescriptionERPInputParameters|1.3.0

uses "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" alias KBVPRERPBundle as source
uses "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-provide-prescription-erp-input-parameters" alias EPAOpProvidePrescriptionERPInputParameters as target

imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationCompoundingMap"
imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationFreetextMap"
imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationIngredientMap"
imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationPznMap"
imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpPrescriptionMap"
imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrForOrganizationMap"
imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrForPractitionerMap"

// Transformation generated for KBV_PR_ERP_Bundle|1.4.0 -> EPAOpProvidePrescriptionERPInputParameters|1.3.0
group KBVPrErpBundleMap(source KBVPRERPBundle : KBVPRERPBundle, target EPAOpProvidePrescriptionERPInputParameters : EPAOpProvidePrescriptionERPInputParameters) <<types>> {
  KBVPRERPBundle -> EPAOpProvidePrescriptionERPInputParameters.parameter as targetParameterRxprescriptionParameter77d85b46 then {
    KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.name = 'rxPrescription' "SetParameterRxprescriptionName";
    KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartAuthoredonPartb106c48f then {
      KBVPRERPBundle -> targetPartAuthoredonPartb106c48f.name = 'authoredOn' "SetPartAuthoredonName";
      KBVPRERPBundle.entry as inlinesourceParametersParameterRxprescriptionPartAuthoredonValue where resource.meta.profile.where($this.contains('https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription')).exists() then {
        inlinesourceParametersParameterRxprescriptionPartAuthoredonValue.resource as inlinesourceParametersParameterRxprescriptionPartAuthoredonValue then {
          inlinesourceParametersParameterRxprescriptionPartAuthoredonValue.authoredOn as inlinesourceParametersParameterRxprescriptionPartAuthoredonValue -> targetPartAuthoredonPartb106c48f.value = inlinesourceParametersParameterRxprescriptionPartAuthoredonValue as inlinetargetParametersParameterRxprescriptionPartAuthoredonValue "InlineParametersParameterRxprescriptionPartAuthoredonValueX1c6fc";
        } "InlineParametersParameterRxprescriptionPartAuthoredonValueX1c6fc";
      } "InlineParametersParameterRxprescriptionPartAuthoredonValueX1c6fc"; // Automatic copy
    } "PartAuthoredonPartContainer"; // Creates part:authoredOn part container aggregating 1 child rule(s)
    KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartMedicationPart88f31ec4 then {
      KBVPRERPBundle -> targetPartMedicationPart88f31ec4.name = 'medication' "SetPartMedicationName";
      KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenpznverordnungResource0Entry4c4ad0 where resource is Medication then {
        sourceBundleEntryRezeptierdatenpznverordnungResource0Entry4c4ad0.resource as sourceBundleEntryRezeptierdatenpznverordnungResource1Resource3bd then {
          sourceBundleEntryRezeptierdatenpznverordnungResource1Resource3bd -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationPznMap(sourceBundleEntryRezeptierdatenpznverordnungResource1Resource3bd, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationpznmap";
        } "BundleEntryRezeptierdatenpznverordnungResource7400f329";
      } "BundleEntryRezeptierdatenpznverordnungResource7400f329"; // Bundle.entry:RezeptierdatenPZNVerordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_PZN|1.4.0 -> EPAMedication|1.3.0
      KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenwirkstoffverordnungResource0Ent6b where resource is Medication then {
        sourceBundleEntryRezeptierdatenwirkstoffverordnungResource0Ent6b.resource as sourceBundleEntryRezeptierdatenwirkstoffverordnungResource1Res9f then {
          sourceBundleEntryRezeptierdatenwirkstoffverordnungResource1Res9f -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationIngredientMap(sourceBundleEntryRezeptierdatenwirkstoffverordnungResource1Res9f, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationingredientmap";
        } "BundleEntryRezeptierdatenwirkstoffverordnungResource7400f329";
      } "BundleEntryRezeptierdatenwirkstoffverordnungResource7400f329"; // Bundle.entry:RezeptierdatenWirkstoffverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Ingredient|1.4.0 -> EPAMedication|1.3.0
      KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenrezepturverordnungResource0Entr83 where resource is Medication then {
        sourceBundleEntryRezeptierdatenrezepturverordnungResource0Entr83.resource as sourceBundleEntryRezeptierdatenrezepturverordnungResource1Resocd then {
          sourceBundleEntryRezeptierdatenrezepturverordnungResource1Resocd -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationCompoundingMap(sourceBundleEntryRezeptierdatenrezepturverordnungResource1Resocd, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationcompoundingmap";
        } "BundleEntryRezeptierdatenrezepturverordnungResource7400f329";
      } "BundleEntryRezeptierdatenrezepturverordnungResource7400f329"; // Bundle.entry:RezeptierdatenRezepturverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Compounding|1.4.0 -> EPAMedication|1.3.0
      KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenfreitextverordnungResource0Entrb4 where resource is Medication then {
        sourceBundleEntryRezeptierdatenfreitextverordnungResource0Entrb4.resource as sourceBundleEntryRezeptierdatenfreitextverordnungResource1Resob3 then {
          sourceBundleEntryRezeptierdatenfreitextverordnungResource1Resob3 -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationFreetextMap(sourceBundleEntryRezeptierdatenfreitextverordnungResource1Resob3, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationfreetextmap";
        } "BundleEntryRezeptierdatenfreitextverordnungResource7400f329";
      } "BundleEntryRezeptierdatenfreitextverordnungResource7400f329"; // Bundle.entry:RezeptierdatenFreitextverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_FreeText|1.4.0 -> EPAMedication|1.3.0
    } "PartMedicationPartContainer"; // Creates part:medication part container aggregating 4 child rule(s)
    KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartMedicationrequestPart3ea10d80 then {
      KBVPRERPBundle -> targetPartMedicationrequestPart3ea10d80.name = 'medicationRequest' "SetPartMedicationrequestName";
      KBVPRERPBundle.entry as sourceBundleEntryVerordnungarzneimittelResource0Entry3c6c2e1b where resource is MedicationRequest then {
        sourceBundleEntryVerordnungarzneimittelResource0Entry3c6c2e1b.resource as sourceBundleEntryVerordnungarzneimittelResource1Resource61f06fbc then {
          sourceBundleEntryVerordnungarzneimittelResource1Resource61f06fbc -> targetPartMedicationrequestPart3ea10d80.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-request') as targetParameterRxprescriptionPartMedicationrequestResourceReso52 then KBVPrErpPrescriptionMap(sourceBundleEntryVerordnungarzneimittelResource1Resource61f06fbc, targetParameterRxprescriptionPartMedicationrequestResourceReso52) "CallKbvprerpprescriptionmap";
        } "BundleEntryVerordnungarzneimittelResource890c831b";
      } "BundleEntryVerordnungarzneimittelResource890c831b"; // Bundle.entry:VerordnungArzneimittel.resource -> .parameter:rxPrescription.part:medicationRequest.resource using KBV_PR_ERP_Prescription|1.4.0 -> EPAMedicationRequest|1.3.0
    } "PartMedicationrequestPartContainer"; // Creates part:medicationRequest part container aggregating 1 child rule(s)
    KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartOrganizationPart5252e12d then {
      KBVPRERPBundle -> targetPartOrganizationPart5252e12d.name = 'organization' "SetPartOrganizationName";
      KBVPRERPBundle.entry as sourceBundleEntryEinrichtungResource0Entry6bfa77fa where resource is Organization then {
        sourceBundleEntryEinrichtungResource0Entry6bfa77fa.resource as sourceBundleEntryEinrichtungResource1Resource45328e4f then {
          sourceBundleEntryEinrichtungResource1Resource45328e4f -> targetPartOrganizationPart5252e12d.resource = create('https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory') as targetParameterRxprescriptionPartOrganizationResourceResource43b then KBVPrForOrganizationMap(sourceBundleEntryEinrichtungResource1Resource45328e4f, targetParameterRxprescriptionPartOrganizationResourceResource43b) "CallKbvprfororganizationmap";
        } "BundleEntryEinrichtungResourceB36f36fb";
      } "BundleEntryEinrichtungResourceB36f36fb"; // Bundle.entry:Einrichtung.resource -> .parameter:rxPrescription.part:organization.resource using KBV_PR_FOR_Organization|1.3.0 -> OrganizationDirectory|1.0.0
    } "PartOrganizationPartContainer"; // Creates part:organization part container aggregating 1 child rule(s)
    KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartPractitionerParte111e9d1 then {
      KBVPRERPBundle -> targetPartPractitionerParte111e9d1.name = 'practitioner' "SetPartPractitionerName";
      KBVPRERPBundle.entry as sourceBundleEntryAusstellendeverschreibendeverantwortlichepersb5 where resource is Practitioner then {
        sourceBundleEntryAusstellendeverschreibendeverantwortlichepersb5.resource as sourceBundleEntryAusstellendeverschreibendeverantwortlicheperse9 then {
          sourceBundleEntryAusstellendeverschreibendeverantwortlicheperse9 -> targetPartPractitionerParte111e9d1.resource = create('https://gematik.de/fhir/directory/StructureDefinition/PractitionerDirectory') as targetParameterRxprescriptionPartPractitionerResourceResource62d then KBVPrForPractitionerMap(sourceBundleEntryAusstellendeverschreibendeverantwortlicheperse9, targetParameterRxprescriptionPartPractitionerResourceResource62d) "CallKbvprforpractitionermap";
        } "BundleEntryAusstellendeverschreibendeverantwortlichepersonResour";
      } "BundleEntryAusstellendeverschreibendeverantwortlichepersonResour"; // Bundle.entry:AusstellendeVerschreibendeVerantwortlichePerson.resource -> .parameter:rxPrescription.part:practitioner.resource using KBV_PR_FOR_Practitioner|1.3.0 -> PractitionerDirectory|1.0.0
    } "PartPractitionerPartContainer"; // Creates part:practitioner part container aggregating 1 child rule(s)
    KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartPrescriptionidPartee663288 then {
      KBVPRERPBundle -> targetPartPrescriptionidPartee663288.name = 'prescriptionId' "SetPartPrescriptionidName";
      KBVPRERPBundle.identifier as inlinesourceParametersParameterRxprescriptionPartPrescriptionidV then {
        inlinesourceParametersParameterRxprescriptionPartPrescriptionidV.value as inlinesourceParametersParameterRxprescriptionPartPrescriptionidV -> targetPartPrescriptionidPartee663288.value = inlinesourceParametersParameterRxprescriptionPartPrescriptionidV as inlinetargetParametersParameterRxprescriptionPartPrescriptionidV "InlineParametersParameterRxprescriptionPartPrescriptionidValueX9";
      } "InlineParametersParameterRxprescriptionPartPrescriptionidValueX9"; // Automatic copy
    } "PartPrescriptionidPartContainer"; // Creates part:prescriptionId part container aggregating 1 child rule(s)
  } "ParameterRxprescriptionContainer"; // Creates parameter:rxPrescription parameter container aggregating 6 part(s)
}