Kerndatensatz Senologie
0.9.0 - ci-build

Kerndatensatz Senologie - Local Development build (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: SenologieToIqtigBrust - JSON Representation

Draft as of 2026-05-04

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "SenologieToIqtigBrust",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap SenologieToIqtigBrust</b></p><a name=\"SenologieToIqtigBrust\"> </a><a name=\"hcSenologieToIqtigBrust\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>https://www.senologie.org/fhir/StructureMap/SenologieToIqtigBrust<span style=\"color: navy\">&quot; = &quot;</span>SenologieToIqtigBrust<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">title: Senologie Condition + Pathologie to IQTIG 18.1 Teildatensatz Brust</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">status: draft</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">&quot; </span><b>alias </b>Bundle <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/condition.html\" title=\"Condition\">http://hl7.org/fhir/StructureDefinition/Condition</a><span style=\"color: navy\">&quot; </span><b>alias </b>Condition <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">&quot; </span><b>alias </b>Observation <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/servicerequest.html\" title=\"ServiceRequest\">http://hl7.org/fhir/StructureDefinition/ServiceRequest</a><span style=\"color: navy\">&quot; </span><b>alias </b>ServiceRequest <b>as </b><b>source</b>\r\n\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Import-only map: no target `uses` declaration — the calling map</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">(SenologieToIqtigMammachirurgie181) provides the correct BackboneElement</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">context (teildatensatzBrust). Omitting the root-level target type avoids</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">SM_TARGET_PATH false positives where the validator would resolve property</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">names against iqtig-mammachirurgie-181 root.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Teildatensatz Brust (BRUST): Condition + Observations -&gt; BRUST:*</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Pro betroffener Brustseite wird ein Brust-Teildatensatz erzeugt. Die</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Zuordnung zur Operation erfolgt ueber die laufende Nummer (LNRBRUST).</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Quellen:</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Condition (Senologie_Diagnose_Maligne / _Benigne) -&gt; Indikation, ICD,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Seitenlokalisation, Diagnosedatum</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Observation (BI-RADS, bildgebende Methode, Praeopbefund) -&gt; Befund</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- ServiceRequest (Senologie_OP_Planung) -&gt; Drahtmarkierung, Neoadjuvanz</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Observation (cTNM, Tumorgroesse klinisch) -&gt; Staging-Felder</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapBrust<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Condition, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:LNRBRUST - Standardwert 1 (kann durch Slicing ueberschrieben werden)</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.laufendeNummer = <span style=\"color: blue\">1</span> <i>&quot;SetLnrBrust&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:SEITE - Seitenlokalisation aus Condition.bodySite (SNOMED CT)</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">24028007=right, 7771000=left, 51440002=bilateral</span>\r\n  src.bodySite<b> as </b><span style=\"color: maroon\">bs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    bs.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'http://snomed.info/sct'<b> then</b><span style=\"color: navy\"> {\r\n</span>      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '24028007'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'R'</span> <i>&quot;SetSeiteR&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '7771000'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'L'</span> <i>&quot;SetSeiteL&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '51440002'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'B'</span> <i>&quot;SetSeiteB&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapSeiteSCT&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapSeitenlokalisation&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:INDIKATION - Indikation aus ICD-10-GM-Code</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">C50.* = maligne (1), D05.* = DCIS (2), D24 = benigne (3), Z40.* = Risikoreduktion (4)</span>\r\n  src.code<b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    code.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'<b> then</b><span style=\"color: navy\"> {\r\n</span>      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('C50')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.indikation = <span style=\"color: blue\">'1'</span> <i>&quot;SetIndikMaligne&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('D05')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.indikation = <span style=\"color: blue\">'2'</span> <i>&quot;SetIndikDCIS&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('D24')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.indikation = <span style=\"color: blue\">'3'</span> <i>&quot;SetIndikBenigne&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('Z40')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.indikation = <span style=\"color: blue\">'4'</span> <i>&quot;SetIndikRisiko&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('Z42')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.indikation = <span style=\"color: blue\">'5'</span> <i>&quot;SetIndikRekon&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapIndikationICD&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapIndikation&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:DIAGICD - ICD-10-GM-Kodierung der Diagnose</span>\r\n  src.code<b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    code.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.diagnoseICD<b> as </b><span style=\"color: maroon\">icd</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -&gt; </b></span>icd.code = <span style=\"color: maroon\">cd</span> <i>&quot;SetICDCode&quot;</i><span style=\"color: navy\">;</span>\r\n      c.version<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>icd.version = <span style=\"color: maroon\">v</span> <i>&quot;SetICDVersion&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapICDCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapDiagnoseICD&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:DIAGDATUM - Diagnosedatum aus Condition.onsetDateTime</span>\r\n  src.onset<b> as </b><span style=\"color: maroon\">onset</span><b> where </b>$this.is(dateTime)<span style=\"color: navy\"><b> -&gt; </b></span>tgt.diagnosedatum = <span style=\"color: maroon\">onset</span> <i>&quot;SetDiagnosedatum&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:HISTPRAEOP - Default (nein)</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.histologischeSicherungPraeop = <span style=\"color: blue\">'0'</span> <i>&quot;SetHistPraeopDefault&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:NEOADJ - Default (nein)</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.neoadjuvanteTherapie = <span style=\"color: blue\">'0'</span> <i>&quot;SetNeoadjDefault&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BRUST:TKPRAEOP - Default (unbekannt)</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.tumorkonferenzPraeop = <span style=\"color: blue\">'9'</span> <i>&quot;SetTKPraeopDefault&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "https://www.senologie.org/fhir/StructureMap/SenologieToIqtigBrust",
  "version" : "0.9.0",
  "name" : "SenologieToIqtigBrust",
  "status" : "draft",
  "date" : "2026-05-04T16:55:55+00:00",
  "publisher" : "Berlin Institute of Health at Charité (BIH)",
  "contact" : [
    {
      "name" : "Berlin Institute of Health at Charité (BIH)",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://www.bihealth.org"
        }
      ]
    }
  ],
  "description" : "title: Senologie Condition + Pathologie to IQTIG 18.1 Teildatensatz Brust\r\nstatus: draft",
  "structure" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode" : "source",
      "alias" : "Bundle"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Condition",
      "mode" : "source",
      "alias" : "Condition"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Observation",
      "mode" : "source",
      "alias" : "Observation"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
      "mode" : "source",
      "alias" : "ServiceRequest"
    }
  ],
  "group" : [
    {
      "name" : "MapBrust",
      "typeMode" : "none",
      "documentation" : "Import-only map: no target `uses` declaration — the calling map\r\n(SenologieToIqtigMammachirurgie181) provides the correct BackboneElement\r\ncontext (teildatensatzBrust). Omitting the root-level target type avoids\r\nSM_TARGET_PATH false positives where the validator would resolve property\r\nnames against iqtig-mammachirurgie-181 root.\r\n============================================================================\r\nTeildatensatz Brust (BRUST): Condition + Observations -> BRUST:*\r\nPro betroffener Brustseite wird ein Brust-Teildatensatz erzeugt. Die\r\nZuordnung zur Operation erfolgt ueber die laufende Nummer (LNRBRUST).\r\nQuellen:\r\n- Condition (Senologie_Diagnose_Maligne / _Benigne) -> Indikation, ICD,\r\nSeitenlokalisation, Diagnosedatum\r\n- Observation (BI-RADS, bildgebende Methode, Praeopbefund) -> Befund\r\n- ServiceRequest (Senologie_OP_Planung) -> Drahtmarkierung, Neoadjuvanz\r\n- Observation (cTNM, Tumorgroesse klinisch) -> Staging-Felder\r\n============================================================================",
      "input" : [
        {
          "name" : "src",
          "type" : "Condition",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "type" : "BackboneElement",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "SetLnrBrust",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "laufendeNummer",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueInteger" : 1
                }
              ]
            }
          ]
        },
        {
          "name" : "MapSeitenlokalisation",
          "source" : [
            {
              "context" : "src",
              "element" : "bodySite",
              "variable" : "bs"
            }
          ],
          "rule" : [
            {
              "name" : "MapSeiteSCT",
              "source" : [
                {
                  "context" : "bs",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://snomed.info/sct'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetSeiteR",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '24028007'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "seitenlokalisation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetSeiteL",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '7771000'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "seitenlokalisation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "L"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetSeiteB",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '51440002'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "seitenlokalisation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "B"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapIndikation",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "MapIndikationICD",
              "source" : [
                {
                  "context" : "code",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetIndikMaligne",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('C50')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "indikation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "1"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetIndikDCIS",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('D05')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "indikation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "2"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetIndikBenigne",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('D24')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "indikation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "3"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetIndikRisiko",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('Z40')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "indikation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "4"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetIndikRekon",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('Z42')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "indikation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "5"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapDiagnoseICD",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "MapICDCoding",
              "source" : [
                {
                  "context" : "code",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "diagnoseICD",
                  "variable" : "icd"
                }
              ],
              "rule" : [
                {
                  "name" : "SetICDCode",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "icd",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "cd"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetICDVersion",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "version",
                      "variable" : "v"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "icd",
                      "contextType" : "variable",
                      "element" : "version",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "v"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "SetDiagnosedatum",
          "source" : [
            {
              "context" : "src",
              "element" : "onset",
              "variable" : "onset",
              "condition" : "$this.is(dateTime)"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "diagnosedatum",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "onset"
                }
              ]
            }
          ]
        },
        {
          "name" : "SetHistPraeopDefault",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "histologischeSicherungPraeop",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "0"
                }
              ]
            }
          ]
        },
        {
          "name" : "SetNeoadjDefault",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "neoadjuvanteTherapie",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "0"
                }
              ]
            }
          ]
        },
        {
          "name" : "SetTKPraeopDefault",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "tumorkonferenzPraeop",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "9"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}