E-T-Rezept Datenaustausch
Version 1.1.0 - release

: E-T-Rezept Structure Map for MedicationRequest - JSON Representation

Active as of 2025-12-19

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "ERPTPrescriptionStructureMapMedicationRequest",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ERPTPrescriptionStructureMapMedicationRequest</b></p><a name=\"ERPTPrescriptionStructureMapMedicationRequest\"> </a><a name=\"hcERPTPrescriptionStructureMapMedicationRequest\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">&quot; = &quot;</span>ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span>https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription<span style=\"color: navy\">&quot; </span><b>alias </b>kbvMedicationRequest <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-erp-tprescription-medication-request.html\" title=\"E-T-Rezept Medication Request\">https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-medication-request</a><span style=\"color: navy\">&quot; </span><b>alias </b>bfarmMedicationRequest <b>as </b><b>target</b>\r\n\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest</span>\r\n<b>group </b>ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">kbvMedicationRequest</span><span style=\"color: navy\"> : </span>kbvMedicationRequest, <b>target</b> <span style=\"color: maroon\">bfarmMedicationRequest</span><span style=\"color: navy\"> : </span>bfarmMedicationRequest<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  kbvMedicationRequest.status<b> as </b><span style=\"color: maroon\">srcStatus</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.status = <span style=\"color: blue\">'completed'</span> <i>&quot;medicationRequestStatus&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt den Status auf 'completed' für den digitalen Durchschlag (Verschreibung ist bereits abgeschlossen)</span>\r\n  kbvMedicationRequest.intent<span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.intent = <span style=\"color: blue\">'order'</span> <i>&quot;medicationRequestIntent&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt den Intent auf 'order' entsprechend der BfArM-Spezifikation für T-Prescription</span>\r\n  kbvMedicationRequest.extension<b> as </b><span style=\"color: maroon\">extVar</span><b> where </b>url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'<span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.extension<b> as </b><span style=\"color: maroon\">tgtExtVar</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    extVar<b> as </b><span style=\"color: maroon\">extMatchVar</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtExtVar.url = <span style=\"color: blue\">'https://gematik.de/fhir/epa-medication/StructureDefinition/teratogenic-extension'</span> <i>&quot;copyTPrescriptionExtensionUrl&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert teratogene Extensions für T-Rezept Kennzeichnung</span>\r\n    extVar.extension<b> as </b><span style=\"color: maroon\">offLabelVar</span><b> where </b>url='Off-Label'<span style=\"color: navy\"><b> -&gt; </b></span> tgtExtVar.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtOffLabelExt</span><span style=\"color: navy\">, </span> tgtOffLabelExt.url = <span style=\"color: blue\">'off-label'</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      offLabelVar.value<b> as </b><span style=\"color: maroon\">offLabelValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtOffLabelExt.value = <span style=\"color: maroon\">offLabelValue</span> <i>&quot;mapOffLabelValue&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt den Off-Label Booleschen Wert</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;mapOffLabelExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt Off-Label Extension</span>\r\n    extVar.extension<b> as </b><span style=\"color: maroon\">gebaerfaehigeFrauVar</span><b> where </b>url='GebaerfaehigeFrau'<span style=\"color: navy\"><b> -&gt; </b></span> tgtExtVar.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtGebaerfaehigeFrauExt</span><span style=\"color: navy\">, </span> tgtGebaerfaehigeFrauExt.url = <span style=\"color: blue\">'childbearing-potential'</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      gebaerfaehigeFrauVar.value<b> as </b><span style=\"color: maroon\">gebaerfaehigeFrauValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtGebaerfaehigeFrauExt.value = <span style=\"color: maroon\">gebaerfaehigeFrauValue</span> <i>&quot;mapGebaerfaehigeFrauValue&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt den Booleschen Wert für childbearing-potential</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;mapGebaerfaehigeFrauExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt GebaerfaehigeFrau Extension zu childbearing-potential</span>\r\n    extVar.extension<b> as </b><span style=\"color: maroon\">sicherheitsVar</span><b> where </b>url='EinhaltungSicherheitsmassnahmen'<span style=\"color: navy\"><b> -&gt; </b></span> tgtExtVar.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtSicherheitsExt</span><span style=\"color: navy\">, </span> tgtSicherheitsExt.url = <span style=\"color: blue\">'security-compliance'</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      sicherheitsVar.value<b> as </b><span style=\"color: maroon\">sicherheitsValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtSicherheitsExt.value = <span style=\"color: maroon\">sicherheitsValue</span> <i>&quot;mapEinhaltungSicherheitsmassnahmenValue&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt den Booleschen Wert für security-compliance</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;mapEinhaltungSicherheitsmassnahmenExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt EinhaltungSicherheitsmassnahmen Extension zu security-compliance</span>\r\n    extVar.extension<b> as </b><span style=\"color: maroon\">infoMatVar</span><b> where </b>url='AushaendigungInformationsmaterialien'<span style=\"color: navy\"><b> -&gt; </b></span> tgtExtVar.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtInfoMatExt</span><span style=\"color: navy\">, </span> tgtInfoMatExt.url = <span style=\"color: blue\">'hand-out-information-material'</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      infoMatVar.value<b> as </b><span style=\"color: maroon\">infoMatValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtInfoMatExt.value = <span style=\"color: maroon\">infoMatValue</span> <i>&quot;mapAushaendigungInformationsmaterialienValue&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt den Booleschen Wert für hand-out-information-material</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;mapAushaendigungInformationsmaterialienExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt AushaendigungInformationsmaterialien Extension zu hand-out-information-material</span>\r\n    extVar.extension<b> as </b><span style=\"color: maroon\">sachkenntnisVar</span><b> where </b>url='ErklaerungSachkenntnis'<span style=\"color: navy\"><b> -&gt; </b></span> tgtExtVar.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtSachkenntnisExt</span><span style=\"color: navy\">, </span> tgtSachkenntnisExt.url = <span style=\"color: blue\">'declaration-of-expertise'</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      sachkenntnisVar.value<b> as </b><span style=\"color: maroon\">sachkenntnisValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtSachkenntnisExt.value = <span style=\"color: maroon\">sachkenntnisValue</span> <i>&quot;mapErklaerungSachkenntnisValue&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt den Booleschen Wert für declaration-of-expertise</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;mapErklaerungSachkenntnisExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt ErklaerungSachkenntnis Extension zu declaration-of-expertise</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;medicationRequestExt&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt T-Rezept spezifische Extensions vom KBV- zum BfArM-Format</span>\r\n  kbvMedicationRequest.extension<b> as </b><span style=\"color: maroon\">extDosageMetaVar</span><b> where </b>url='http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta'<span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.extension = <span style=\"color: maroon\">extDosageMetaVar</span> <i>&quot;medicationRequestExt&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert Dosage Metadata Extension</span>\r\n  kbvMedicationRequest.extension<b> as </b><span style=\"color: maroon\">extDosageRenderedVar</span><b> where </b>url='http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction'<span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.extension = <span style=\"color: maroon\">extDosageRenderedVar</span> <i>&quot;medicationRequestExt&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert RenderedDosageText</span>\r\n  kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.subject<b> as </b><span style=\"color: maroon\">tgtSubject</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtSubject.identifier<b> as </b><span style=\"color: maroon\">tgtSubjectIdentifier</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtSubjectIdentifier.system<b> as </b><span style=\"color: maroon\">tgtSubjectIdentifierSystem</span><span style=\"color: navy\">, </span> tgtSubjectIdentifier.value<b> as </b><span style=\"color: maroon\">tgtSubjectIdentifierValue</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtSubjectIdentifierSystem.extension<b> as </b><span style=\"color: maroon\">tgtSubjectIdentifierSystemEx</span><span style=\"color: navy\">, </span> tgtSubjectIdentifierValue.extension<b> as </b><span style=\"color: maroon\">tgtSubjectIdentifierValueEx</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtSubjectIdentifierSystemEx.url = <span style=\"color: blue\">'http://hl7.org/fhir/StructureDefinition/data-absent-reason'</span><span style=\"color: navy\">, </span> tgtSubjectIdentifierSystemEx.value = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'not-permitted'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>&quot;medicationRequestsubjectIdentifierSystemExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren</span>\r\n          kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtSubjectIdentifierValueEx.url = <span style=\"color: blue\">'http://hl7.org/fhir/StructureDefinition/data-absent-reason'</span><span style=\"color: navy\">, </span> tgtSubjectIdentifierValueEx.value = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'not-permitted'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>&quot;medicationRequestsubjectIdentifierValueExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;medicationRequestsubjectIdentifierSystem&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Erstellt data-absent-reason Extension für Subject Identifier</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;medicationRequestsubjectIdentifierExtension&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Erstellt data-absent-reason Extension für Subject Identifier</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;medicationRequestsubjectIdentifier&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;medicationRequestsubject&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Entfernt Patientenbezug durch data-absent-reason Extension für Datenschutz im digitalen Durchschlag</span>\r\n  kbvMedicationRequest.authoredOn<b> as </b><span style=\"color: maroon\">srcAuthoredOnVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.authoredOn = <span style=\"color: maroon\">srcAuthoredOnVar</span> <i>&quot;medicationRequestAuthoredOn&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt das Verschreibungsdatum unverändert vom KBV MedicationRequest</span>\r\n  kbvMedicationRequest.dosageInstruction<b> as </b><span style=\"color: maroon\">srcDosageInstructionVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.dosageInstruction = <span style=\"color: maroon\">srcDosageInstructionVar</span> <i>&quot;medicationRequestDosageInstruction&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert die Dosierungsanweisungen vollständig für den digitalen Durchschlag</span>\r\n  kbvMedicationRequest.dispenseRequest<b> as </b><span style=\"color: maroon\">srcDispenseRequestVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.dispenseRequest = <span style=\"color: maroon\">srcDispenseRequestVar</span> <i>&quot;medicationRequestDispenseRequest&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt Abgabeanweisungen (Menge, Wiederholungen) aus der ursprünglichen Verschreibung</span>\r\n  kbvMedicationRequest.medicationReference<b> as </b><span style=\"color: maroon\">medicationVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.medication = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Reference'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtMedicationReference</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    medicationVar.reference<b> as </b><span style=\"color: maroon\">medicationReferenceValue</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      medicationReferenceValue<span style=\"color: navy\"><b> -&gt; </b></span>tgtMedicationReference.reference = <span style=\"color: navy\">(</span>iif(%medicationReferenceValue.startsWith('urn:uuid:'), %medicationReferenceValue, 'urn:uuid:' &amp; %medicationReferenceValue.replaceMatches('.*[:/]', ''))<span style=\"color: navy\">)</span> <i>&quot;normalizeMedicationReferenceTransformation&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;normalizeMedicationReference&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationRequest",
  "version" : "1.1.0",
  "name" : "ERPTPrescriptionStructureMapMedicationRequest",
  "title" : "E-T-Rezept Structure Map for MedicationRequest",
  "status" : "active",
  "experimental" : false,
  "date" : "2025-12-19",
  "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 KBV MedicationRequest zu BfArM T-Prescription MedicationRequest",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "DE",
          "display" : "Germany"
        }
      ]
    }
  ],
  "structure" : [
    {
      "url" : "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription",
      "mode" : "source",
      "alias" : "kbvMedicationRequest"
    },
    {
      "url" : "https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-medication-request",
      "mode" : "target",
      "alias" : "bfarmMedicationRequest"
    }
  ],
  "group" : [
    {
      "name" : "ERPTPrescriptionStructureMapMedicationRequest",
      "typeMode" : "none",
      "documentation" : "Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest",
      "input" : [
        {
          "name" : "kbvMedicationRequest",
          "type" : "kbvMedicationRequest",
          "mode" : "source"
        },
        {
          "name" : "bfarmMedicationRequest",
          "type" : "bfarmMedicationRequest",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "medicationRequestStatus",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "status",
              "variable" : "srcStatus"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "status",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "completed"
                }
              ]
            }
          ],
          "documentation" : "Setzt den Status auf 'completed' für den digitalen Durchschlag (Verschreibung ist bereits abgeschlossen)"
        },
        {
          "name" : "medicationRequestIntent",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "intent"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "intent",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "order"
                }
              ]
            }
          ],
          "documentation" : "Setzt den Intent auf 'order' entsprechend der BfArM-Spezifikation für T-Prescription"
        },
        {
          "name" : "medicationRequestExt",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "extension",
              "variable" : "extVar",
              "condition" : "url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "extension",
              "variable" : "tgtExtVar"
            }
          ],
          "rule" : [
            {
              "name" : "copyTPrescriptionExtensionUrl",
              "source" : [
                {
                  "context" : "extVar",
                  "variable" : "extMatchVar"
                }
              ],
              "target" : [
                {
                  "context" : "tgtExtVar",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "https://gematik.de/fhir/epa-medication/StructureDefinition/teratogenic-extension"
                    }
                  ]
                }
              ],
              "documentation" : "Kopiert teratogene Extensions für T-Rezept Kennzeichnung"
            },
            {
              "name" : "mapOffLabelExtension",
              "source" : [
                {
                  "context" : "extVar",
                  "element" : "extension",
                  "variable" : "offLabelVar",
                  "condition" : "url='Off-Label'"
                }
              ],
              "target" : [
                {
                  "context" : "tgtExtVar",
                  "contextType" : "variable",
                  "element" : "extension",
                  "variable" : "tgtOffLabelExt",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Extension"
                    }
                  ]
                },
                {
                  "context" : "tgtOffLabelExt",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "off-label"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "mapOffLabelValue",
                  "source" : [
                    {
                      "context" : "offLabelVar",
                      "element" : "value",
                      "variable" : "offLabelValue"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtOffLabelExt",
                      "contextType" : "variable",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "offLabelValue"
                        }
                      ]
                    }
                  ],
                  "documentation" : "Übernimmt den Off-Label Booleschen Wert"
                }
              ],
              "documentation" : "Mappt Off-Label Extension"
            },
            {
              "name" : "mapGebaerfaehigeFrauExtension",
              "source" : [
                {
                  "context" : "extVar",
                  "element" : "extension",
                  "variable" : "gebaerfaehigeFrauVar",
                  "condition" : "url='GebaerfaehigeFrau'"
                }
              ],
              "target" : [
                {
                  "context" : "tgtExtVar",
                  "contextType" : "variable",
                  "element" : "extension",
                  "variable" : "tgtGebaerfaehigeFrauExt",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Extension"
                    }
                  ]
                },
                {
                  "context" : "tgtGebaerfaehigeFrauExt",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "childbearing-potential"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "mapGebaerfaehigeFrauValue",
                  "source" : [
                    {
                      "context" : "gebaerfaehigeFrauVar",
                      "element" : "value",
                      "variable" : "gebaerfaehigeFrauValue"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtGebaerfaehigeFrauExt",
                      "contextType" : "variable",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "gebaerfaehigeFrauValue"
                        }
                      ]
                    }
                  ],
                  "documentation" : "Übernimmt den Booleschen Wert für childbearing-potential"
                }
              ],
              "documentation" : "Mappt GebaerfaehigeFrau Extension zu childbearing-potential"
            },
            {
              "name" : "mapEinhaltungSicherheitsmassnahmenExtension",
              "source" : [
                {
                  "context" : "extVar",
                  "element" : "extension",
                  "variable" : "sicherheitsVar",
                  "condition" : "url='EinhaltungSicherheitsmassnahmen'"
                }
              ],
              "target" : [
                {
                  "context" : "tgtExtVar",
                  "contextType" : "variable",
                  "element" : "extension",
                  "variable" : "tgtSicherheitsExt",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Extension"
                    }
                  ]
                },
                {
                  "context" : "tgtSicherheitsExt",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "security-compliance"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "mapEinhaltungSicherheitsmassnahmenValue",
                  "source" : [
                    {
                      "context" : "sicherheitsVar",
                      "element" : "value",
                      "variable" : "sicherheitsValue"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtSicherheitsExt",
                      "contextType" : "variable",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "sicherheitsValue"
                        }
                      ]
                    }
                  ],
                  "documentation" : "Übernimmt den Booleschen Wert für security-compliance"
                }
              ],
              "documentation" : "Mappt EinhaltungSicherheitsmassnahmen Extension zu security-compliance"
            },
            {
              "name" : "mapAushaendigungInformationsmaterialienExtension",
              "source" : [
                {
                  "context" : "extVar",
                  "element" : "extension",
                  "variable" : "infoMatVar",
                  "condition" : "url='AushaendigungInformationsmaterialien'"
                }
              ],
              "target" : [
                {
                  "context" : "tgtExtVar",
                  "contextType" : "variable",
                  "element" : "extension",
                  "variable" : "tgtInfoMatExt",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Extension"
                    }
                  ]
                },
                {
                  "context" : "tgtInfoMatExt",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "hand-out-information-material"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "mapAushaendigungInformationsmaterialienValue",
                  "source" : [
                    {
                      "context" : "infoMatVar",
                      "element" : "value",
                      "variable" : "infoMatValue"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtInfoMatExt",
                      "contextType" : "variable",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "infoMatValue"
                        }
                      ]
                    }
                  ],
                  "documentation" : "Übernimmt den Booleschen Wert für hand-out-information-material"
                }
              ],
              "documentation" : "Mappt AushaendigungInformationsmaterialien Extension zu hand-out-information-material"
            },
            {
              "name" : "mapErklaerungSachkenntnisExtension",
              "source" : [
                {
                  "context" : "extVar",
                  "element" : "extension",
                  "variable" : "sachkenntnisVar",
                  "condition" : "url='ErklaerungSachkenntnis'"
                }
              ],
              "target" : [
                {
                  "context" : "tgtExtVar",
                  "contextType" : "variable",
                  "element" : "extension",
                  "variable" : "tgtSachkenntnisExt",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Extension"
                    }
                  ]
                },
                {
                  "context" : "tgtSachkenntnisExt",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "declaration-of-expertise"
                    }
                  ]
                }
              ],
              "rule" : [
                {
                  "name" : "mapErklaerungSachkenntnisValue",
                  "source" : [
                    {
                      "context" : "sachkenntnisVar",
                      "element" : "value",
                      "variable" : "sachkenntnisValue"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtSachkenntnisExt",
                      "contextType" : "variable",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "sachkenntnisValue"
                        }
                      ]
                    }
                  ],
                  "documentation" : "Übernimmt den Booleschen Wert für declaration-of-expertise"
                }
              ],
              "documentation" : "Mappt ErklaerungSachkenntnis Extension zu declaration-of-expertise"
            }
          ],
          "documentation" : "Mappt T-Rezept spezifische Extensions vom KBV- zum BfArM-Format"
        },
        {
          "name" : "medicationRequestExt",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "extension",
              "variable" : "extDosageMetaVar",
              "condition" : "url='http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta'"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "extension",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "extDosageMetaVar"
                }
              ]
            }
          ],
          "documentation" : "Kopiert Dosage Metadata Extension"
        },
        {
          "name" : "medicationRequestExt",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "extension",
              "variable" : "extDosageRenderedVar",
              "condition" : "url='http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.renderedDosageInstruction'"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "extension",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "extDosageRenderedVar"
                }
              ]
            }
          ],
          "documentation" : "Kopiert RenderedDosageText"
        },
        {
          "name" : "medicationRequestsubject",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "subject",
              "variable" : "srcSubject"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "subject",
              "variable" : "tgtSubject"
            }
          ],
          "rule" : [
            {
              "name" : "medicationRequestsubjectIdentifier",
              "source" : [
                {
                  "context" : "kbvMedicationRequest",
                  "element" : "subject",
                  "variable" : "srcSubject"
                }
              ],
              "target" : [
                {
                  "context" : "tgtSubject",
                  "contextType" : "variable",
                  "element" : "identifier",
                  "variable" : "tgtSubjectIdentifier"
                }
              ],
              "rule" : [
                {
                  "name" : "medicationRequestsubjectIdentifierExtension",
                  "source" : [
                    {
                      "context" : "kbvMedicationRequest",
                      "element" : "subject",
                      "variable" : "srcSubject"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtSubjectIdentifier",
                      "contextType" : "variable",
                      "element" : "system",
                      "variable" : "tgtSubjectIdentifierSystem"
                    },
                    {
                      "context" : "tgtSubjectIdentifier",
                      "contextType" : "variable",
                      "element" : "value",
                      "variable" : "tgtSubjectIdentifierValue"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "medicationRequestsubjectIdentifierSystem",
                      "source" : [
                        {
                          "context" : "kbvMedicationRequest",
                          "element" : "subject",
                          "variable" : "srcSubject"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "tgtSubjectIdentifierSystem",
                          "contextType" : "variable",
                          "element" : "extension",
                          "variable" : "tgtSubjectIdentifierSystemEx"
                        },
                        {
                          "context" : "tgtSubjectIdentifierValue",
                          "contextType" : "variable",
                          "element" : "extension",
                          "variable" : "tgtSubjectIdentifierValueEx"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "medicationRequestsubjectIdentifierSystemExtension",
                          "source" : [
                            {
                              "context" : "kbvMedicationRequest",
                              "element" : "subject",
                              "variable" : "srcSubject"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "tgtSubjectIdentifierSystemEx",
                              "contextType" : "variable",
                              "element" : "url",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
                                }
                              ]
                            },
                            {
                              "context" : "tgtSubjectIdentifierSystemEx",
                              "contextType" : "variable",
                              "element" : "value",
                              "transform" : "cast",
                              "parameter" : [
                                {
                                  "valueString" : "not-permitted"
                                },
                                {
                                  "valueString" : "code"
                                }
                              ]
                            }
                          ],
                          "documentation" : "Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren"
                        },
                        {
                          "name" : "medicationRequestsubjectIdentifierValueExtension",
                          "source" : [
                            {
                              "context" : "kbvMedicationRequest",
                              "element" : "subject",
                              "variable" : "srcSubject"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "tgtSubjectIdentifierValueEx",
                              "contextType" : "variable",
                              "element" : "url",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
                                }
                              ]
                            },
                            {
                              "context" : "tgtSubjectIdentifierValueEx",
                              "contextType" : "variable",
                              "element" : "value",
                              "transform" : "cast",
                              "parameter" : [
                                {
                                  "valueString" : "not-permitted"
                                },
                                {
                                  "valueString" : "code"
                                }
                              ]
                            }
                          ],
                          "documentation" : "Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren"
                        }
                      ],
                      "documentation" : "Erstellt data-absent-reason Extension für Subject Identifier"
                    }
                  ],
                  "documentation" : "Erstellt data-absent-reason Extension für Subject Identifier"
                }
              ]
            }
          ],
          "documentation" : "Entfernt Patientenbezug durch data-absent-reason Extension für Datenschutz im digitalen Durchschlag"
        },
        {
          "name" : "medicationRequestAuthoredOn",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "authoredOn",
              "variable" : "srcAuthoredOnVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "authoredOn",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "srcAuthoredOnVar"
                }
              ]
            }
          ],
          "documentation" : "Übernimmt das Verschreibungsdatum unverändert vom KBV MedicationRequest"
        },
        {
          "name" : "medicationRequestDosageInstruction",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "dosageInstruction",
              "variable" : "srcDosageInstructionVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "dosageInstruction",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "srcDosageInstructionVar"
                }
              ]
            }
          ],
          "documentation" : "Kopiert die Dosierungsanweisungen vollständig für den digitalen Durchschlag"
        },
        {
          "name" : "medicationRequestDispenseRequest",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "dispenseRequest",
              "variable" : "srcDispenseRequestVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "dispenseRequest",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "srcDispenseRequestVar"
                }
              ]
            }
          ],
          "documentation" : "Übernimmt Abgabeanweisungen (Menge, Wiederholungen) aus der ursprünglichen Verschreibung"
        },
        {
          "name" : "medicationReference",
          "source" : [
            {
              "context" : "kbvMedicationRequest",
              "element" : "medicationReference",
              "variable" : "medicationVar"
            }
          ],
          "target" : [
            {
              "context" : "bfarmMedicationRequest",
              "contextType" : "variable",
              "element" : "medication",
              "variable" : "tgtMedicationReference",
              "transform" : "create",
              "parameter" : [
                {
                  "valueString" : "Reference"
                }
              ]
            }
          ],
          "rule" : [
            {
              "name" : "normalizeMedicationReference",
              "source" : [
                {
                  "context" : "medicationVar",
                  "element" : "reference",
                  "variable" : "medicationReferenceValue"
                }
              ],
              "rule" : [
                {
                  "name" : "normalizeMedicationReferenceTransformation",
                  "source" : [
                    {
                      "context" : "medicationReferenceValue"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgtMedicationReference",
                      "contextType" : "variable",
                      "element" : "reference",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueString" : "iif(%medicationReferenceValue.startsWith('urn:uuid:'), %medicationReferenceValue, 'urn:uuid:' & %medicationReferenceValue.replaceMatches('.*[:/]', ''))"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}