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
| Draft as of 2026-05-04 |
{
"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\"> "</span>https://www.senologie.org/fhir/StructureMap/SenologieToIqtigBrust<span style=\"color: navy\">" = "</span>SenologieToIqtigBrust<span style=\"color: navy\">"\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\"> "</span><a href=\"http://hl7.org/fhir/R4/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">" </span><b>alias </b>Bundle <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/condition.html\" title=\"Condition\">http://hl7.org/fhir/StructureDefinition/Condition</a><span style=\"color: navy\">" </span><b>alias </b>Condition <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">" </span><b>alias </b>Observation <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/servicerequest.html\" title=\"ServiceRequest\">http://hl7.org/fhir/StructureDefinition/ServiceRequest</a><span style=\"color: navy\">" </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 -> 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) -> 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) -> Befund</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- ServiceRequest (Senologie_OP_Planung) -> Drahtmarkierung, Neoadjuvanz</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Observation (cTNM, Tumorgroesse klinisch) -> 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> -> </b></span>tgt.laufendeNummer = <span style=\"color: blue\">1</span> <i>"SetLnrBrust"</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> -> </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'R'</span> <i>"SetSeiteR"</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> -> </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'L'</span> <i>"SetSeiteL"</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> -> </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'B'</span> <i>"SetSeiteB"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSeiteSCT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSeitenlokalisation"</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> -> </b></span>tgt.indikation = <span style=\"color: blue\">'1'</span> <i>"SetIndikMaligne"</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> -> </b></span>tgt.indikation = <span style=\"color: blue\">'2'</span> <i>"SetIndikDCIS"</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> -> </b></span>tgt.indikation = <span style=\"color: blue\">'3'</span> <i>"SetIndikBenigne"</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> -> </b></span>tgt.indikation = <span style=\"color: blue\">'4'</span> <i>"SetIndikRisiko"</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> -> </b></span>tgt.indikation = <span style=\"color: blue\">'5'</span> <i>"SetIndikRekon"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapIndikationICD"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapIndikation"</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> -> </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> -> </b></span>icd.code = <span style=\"color: maroon\">cd</span> <i>"SetICDCode"</i><span style=\"color: navy\">;</span>\r\n c.version<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>icd.version = <span style=\"color: maroon\">v</span> <i>"SetICDVersion"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapICDCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDiagnoseICD"</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> -> </b></span>tgt.diagnosedatum = <span style=\"color: maroon\">onset</span> <i>"SetDiagnosedatum"</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> -> </b></span>tgt.histologischeSicherungPraeop = <span style=\"color: blue\">'0'</span> <i>"SetHistPraeopDefault"</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> -> </b></span>tgt.neoadjuvanteTherapie = <span style=\"color: blue\">'0'</span> <i>"SetNeoadjDefault"</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> -> </b></span>tgt.tumorkonferenzPraeop = <span style=\"color: blue\">'9'</span> <i>"SetTKPraeopDefault"</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"
}
]
}
]
}
]
}
]
}