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" : "SenologieToOncoBoxBrustOperation",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap SenologieToOncoBoxBrustOperation</b></p><a name=\"SenologieToOncoBoxBrustOperation\"> </a><a name=\"hcSenologieToOncoBoxBrustOperation\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustOperation<span style=\"color: navy\">" = "</span>SenologieToOncoBoxBrustOperation<span style=\"color: navy\">"\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">title: Senologie Procedure + Specimen to OncoBox Brust Operation</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/procedure.html\" title=\"Procedure\">http://hl7.org/fhir/StructureDefinition/Procedure</a><span style=\"color: navy\">" </span><b>alias </b>Procedure <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/specimen.html\" title=\"Specimen\">http://hl7.org/fhir/StructureDefinition/Specimen</a><span style=\"color: navy\">" </span><b>alias </b>Specimen <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\">(SenologieToOncoBoxBrustPrimaerfall) provides the correct BackboneElement</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">context (primaerfall.operation). 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 oncobox-brust-meldung 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\">Operation: Procedure (+ Specimen / Observation) -> Operation-Block</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Pro Brust-Procedure wird ein Operation-Block erzeugt mit OP-Datum,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Seitenlokalisation, OPS-Kodes, Operationsart, Drahtmarkierung, Sentinel,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Residualstatus und Komplikationen.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapOperation<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Procedure, <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\">LNR Default 1</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.lnr = <span style=\"color: blue\">1</span> <i>"SetOpLnr"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Datum</span>\r\n src.performed<b> as </b><span style=\"color: maroon\">perf</span><b> where </b>$this.is(dateTime)<span style=\"color: navy\"><b> -> </b></span>tgt.datum = <span style=\"color: maroon\">perf</span> <i>"SetOpDatum"</i><span style=\"color: navy\">;</span>\r\n src.performed<b> as </b><span style=\"color: maroon\">perf</span><b> where </b>$this.is(Period)<b> then</b><span style=\"color: navy\"> {\r\n</span> perf.start<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.datum = <span style=\"color: maroon\">s</span> <i>"SetOpDatumPeriod"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapOpDatumPeriod"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Seite</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>"SetOpSeiteR"</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>"SetOpSeiteL"</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>"SetOpSeiteB"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapOpSeiteSCT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapOpSeite"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">OPS-Kodes</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/ops'<span style=\"color: navy\"><b> -> </b></span>tgt.opsCodes<b> as </b><span style=\"color: maroon\">ops</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>ops.code = <span style=\"color: maroon\">cd</span> <i>"SetOpsCode"</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>ops.version = <span style=\"color: maroon\">v</span> <i>"SetOpsVer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapOpsCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapOpsCodes"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Art aus OPS-Prefix</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">5-870* = BET, 5-871* = Mast einfach, 5-872* = SSM, 5-883* = NSM,</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">5-885* = Rekon, 5-401.1* = SLNB, 5-402* = Axilla</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/ops'<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('5-870')<span style=\"color: navy\"><b> -> </b></span>tgt.operationsart = <span style=\"color: blue\">'1'</span> <i>"SetOpArtBET"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-871')<span style=\"color: navy\"><b> -> </b></span>tgt.operationsart = <span style=\"color: blue\">'2'</span> <i>"SetOpArtMastEinf"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-872')<span style=\"color: navy\"><b> -> </b></span>tgt.operationsart = <span style=\"color: blue\">'3'</span> <i>"SetOpArtSSM"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-883')<span style=\"color: navy\"><b> -> </b></span>tgt.operationsart = <span style=\"color: blue\">'4'</span> <i>"SetOpArtNSM"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-885')<span style=\"color: navy\"><b> -> </b></span>tgt.operationsart = <span style=\"color: blue\">'6'</span> <i>"SetOpArtRekon"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-402')<span style=\"color: navy\"><b> -> </b></span>tgt.operationsart = <span style=\"color: blue\">'7'</span> <i>"SetOpArtAxilla"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-401.1')<span style=\"color: navy\"><b> -> </b></span>tgt.operationsart = <span style=\"color: blue\">'8'</span> <i>"SetOpArtSLNB"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapOpArtOPS"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapOpArt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Sentinel durchgefuehrt (OPS 5-401.1*)</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/ops'<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('5-401.1')<span style=\"color: navy\"><b> -> </b></span>tgt.sentinel = <span style=\"color: blue\">'1'</span> <i>"SetSentinelJa"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSentinelOPS"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSentinel"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Axdissektion (OPS 5-402*)</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/ops'<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('5-402')<span style=\"color: navy\"><b> -> </b></span>tgt.axillaDissektion = <span style=\"color: blue\">'1'</span> <i>"SetAxDissJa"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapAxDissOPS"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapAxDiss"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Residualstatus aus Procedure.outcome (SNOMED)</span>\r\n src.outcome<b> as </b><span style=\"color: maroon\">out</span><b> then</b><span style=\"color: navy\"> {\r\n</span> out.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 = '122538001'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'R0'</span> <i>"SetRLokR0"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122538001'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'R0'</span> <i>"SetRGesR0"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122539009'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'R1'</span> <i>"SetRLokR1"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122539009'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'R1'</span> <i>"SetRGesR1"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122540006'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'R2'</span> <i>"SetRLokR2"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122540006'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'R2'</span> <i>"SetRGesR2"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122541005'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'RX'</span> <i>"SetRLokRX"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122541005'<span style=\"color: navy\"><b> -> </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'RX'</span> <i>"SetRGesRX"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapROutcomeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapROutcome"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Revisionsoperation (OncoBox 2.0)</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Revision: 0=nein, 1=ja</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Abgeleitet aus: operationsart = 5 (Revision) oder</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Procedure.reasonCode enthält "Revision" / SNOMED 282032007</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.revisionsOp = <span style=\"color: blue\">'0'</span> <i>"SetRevisionDefault"</i><span style=\"color: navy\">;</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/ops' <i>"MapRevisionOPS"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapRevisionCode"</i><span style=\"color: navy\">;</span>\r\n src.reasonCode<b> as </b><span style=\"color: maroon\">rc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> rc.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 = '282032007'<span style=\"color: navy\"><b> -> </b></span>tgt.revisionsOp = <span style=\"color: blue\">'1'</span> <i>"SetRevisionJaSCT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapRevisionReasonSCT"</i><span style=\"color: navy\">;</span>\r\n rc.text<b> as </b><span style=\"color: maroon\">txt</span><b> where </b>$this.contains('Revision')<span style=\"color: navy\"><b> -> </b></span>tgt.revisionsOp = <span style=\"color: blue\">'1'</span> <i>"SetRevisionJaText"</i><span style=\"color: navy\">;</span>\r\n rc.text<b> as </b><span style=\"color: maroon\">txt</span><b> where </b>$this.contains('Nachresektion')<span style=\"color: navy\"><b> -> </b></span>tgt.revisionsOp = <span style=\"color: blue\">'1'</span> <i>"SetRevisionJaNachresekt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapRevisionReason"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Anzahl Eingriffe bis R0 (KB-14, OncoBox 2.0)</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Anzahl_bis_R0: Aggregation aller Procedures für dieselbe Condition</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">bis zum Erreichen von R0. In FML nur als Einzelwert setzbar —</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">die tatsächliche Aggregation erfolgt in der CQL-Auswerteschicht.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Hier wird der Defaultwert gesetzt: 1 wenn R0, sonst leer.</span>\r\n src.outcome<b> as </b><span style=\"color: maroon\">out</span><b> then</b><span style=\"color: navy\"> {\r\n</span> out.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system.exists()<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 = 'R0'<span style=\"color: navy\"><b> -> </b></span>tgt.anzahlEingriffeR0 = <span style=\"color: blue\">1</span> <i>"SetAnzahlR0Default"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapAnzahlR0Coding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapAnzahlR0"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Komplikationen ICD-10: aus Procedure.complication (compl_icd10 Slice)</span>\r\n src.complication<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> comp.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.komplikationen<b> as </b><span style=\"color: maroon\">komp</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>komp.icdCode = <span style=\"color: maroon\">cd</span> <i>"SetKompIcdCode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompIcdCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompIcd"</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/SenologieToOncoBoxBrustOperation",
"version" : "0.9.0",
"name" : "SenologieToOncoBoxBrustOperation",
"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 Procedure + Specimen to OncoBox Brust Operation\r\nstatus: draft",
"structure" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode" : "source",
"alias" : "Bundle"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Procedure",
"mode" : "source",
"alias" : "Procedure"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Specimen",
"mode" : "source",
"alias" : "Specimen"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Observation",
"mode" : "source",
"alias" : "Observation"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
"mode" : "source",
"alias" : "ServiceRequest"
}
],
"group" : [
{
"name" : "MapOperation",
"typeMode" : "none",
"documentation" : "Import-only map: no target `uses` declaration — the calling map\r\n(SenologieToOncoBoxBrustPrimaerfall) provides the correct BackboneElement\r\ncontext (primaerfall.operation). Omitting the root-level target type avoids\r\nSM_TARGET_PATH false positives where the validator would resolve property\r\nnames against oncobox-brust-meldung root.\r\n============================================================================\r\nOperation: Procedure (+ Specimen / Observation) -> Operation-Block\r\nPro Brust-Procedure wird ein Operation-Block erzeugt mit OP-Datum,\r\nSeitenlokalisation, OPS-Kodes, Operationsart, Drahtmarkierung, Sentinel,\r\nResidualstatus und Komplikationen.\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Procedure",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "SetOpLnr",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "lnr",
"transform" : "copy",
"parameter" : [
{
"valueInteger" : 1
}
]
}
]
},
{
"name" : "SetOpDatum",
"source" : [
{
"context" : "src",
"element" : "performed",
"variable" : "perf",
"condition" : "$this.is(dateTime)"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "datum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "perf"
}
]
}
]
},
{
"name" : "MapOpDatumPeriod",
"source" : [
{
"context" : "src",
"element" : "performed",
"variable" : "perf",
"condition" : "$this.is(Period)"
}
],
"rule" : [
{
"name" : "SetOpDatumPeriod",
"source" : [
{
"context" : "perf",
"element" : "start",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "datum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "s"
}
]
}
]
}
]
},
{
"name" : "MapOpSeite",
"source" : [
{
"context" : "src",
"element" : "bodySite",
"variable" : "bs"
}
],
"rule" : [
{
"name" : "MapOpSeiteSCT",
"source" : [
{
"context" : "bs",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetOpSeiteR",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '24028007'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "seitenlokalisation",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R"
}
]
}
]
},
{
"name" : "SetOpSeiteL",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '7771000'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "seitenlokalisation",
"transform" : "copy",
"parameter" : [
{
"valueString" : "L"
}
]
}
]
},
{
"name" : "SetOpSeiteB",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '51440002'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "seitenlokalisation",
"transform" : "copy",
"parameter" : [
{
"valueString" : "B"
}
]
}
]
}
]
}
]
},
{
"name" : "MapOpsCodes",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapOpsCoding",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "opsCodes",
"variable" : "ops"
}
],
"rule" : [
{
"name" : "SetOpsCode",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ops",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
},
{
"name" : "SetOpsVer",
"source" : [
{
"context" : "c",
"element" : "version",
"variable" : "v"
}
],
"target" : [
{
"context" : "ops",
"contextType" : "variable",
"element" : "version",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
},
{
"name" : "MapOpArt",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapOpArtOPS",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
}
],
"rule" : [
{
"name" : "SetOpArtBET",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-870')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "operationsart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetOpArtMastEinf",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-871')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "operationsart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetOpArtSSM",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-872')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "operationsart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
},
{
"name" : "SetOpArtNSM",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-883')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "operationsart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "4"
}
]
}
]
},
{
"name" : "SetOpArtRekon",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-885')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "operationsart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "6"
}
]
}
]
},
{
"name" : "SetOpArtAxilla",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-402')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "operationsart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "7"
}
]
}
]
},
{
"name" : "SetOpArtSLNB",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-401.1')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "operationsart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "8"
}
]
}
]
}
]
}
]
},
{
"name" : "MapSentinel",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapSentinelOPS",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
}
],
"rule" : [
{
"name" : "SetSentinelJa",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-401.1')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "sentinel",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
}
]
}
]
},
{
"name" : "MapAxDiss",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapAxDissOPS",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
}
],
"rule" : [
{
"name" : "SetAxDissJa",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('5-402')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "axillaDissektion",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
}
]
}
]
},
{
"name" : "MapROutcome",
"source" : [
{
"context" : "src",
"element" : "outcome",
"variable" : "out"
}
],
"rule" : [
{
"name" : "MapROutcomeCoding",
"source" : [
{
"context" : "out",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetRLokR0",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122538001'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusLokal",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R0"
}
]
}
]
},
{
"name" : "SetRGesR0",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122538001'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusGesamt",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R0"
}
]
}
]
},
{
"name" : "SetRLokR1",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122539009'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusLokal",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R1"
}
]
}
]
},
{
"name" : "SetRGesR1",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122539009'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusGesamt",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R1"
}
]
}
]
},
{
"name" : "SetRLokR2",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122540006'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusLokal",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R2"
}
]
}
]
},
{
"name" : "SetRGesR2",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122540006'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusGesamt",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R2"
}
]
}
]
},
{
"name" : "SetRLokRX",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122541005'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusLokal",
"transform" : "copy",
"parameter" : [
{
"valueString" : "RX"
}
]
}
]
},
{
"name" : "SetRGesRX",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '122541005'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "residualstatusGesamt",
"transform" : "copy",
"parameter" : [
{
"valueString" : "RX"
}
]
}
]
}
]
}
]
},
{
"name" : "SetRevisionDefault",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "revisionsOp",
"transform" : "copy",
"parameter" : [
{
"valueString" : "0"
}
]
}
]
},
{
"name" : "MapRevisionCode",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapRevisionOPS",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
}
]
}
]
},
{
"name" : "MapRevisionReason",
"source" : [
{
"context" : "src",
"element" : "reasonCode",
"variable" : "rc"
}
],
"rule" : [
{
"name" : "MapRevisionReasonSCT",
"source" : [
{
"context" : "rc",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetRevisionJaSCT",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '282032007'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "revisionsOp",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
}
]
},
{
"name" : "SetRevisionJaText",
"source" : [
{
"context" : "rc",
"element" : "text",
"variable" : "txt",
"condition" : "$this.contains('Revision')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "revisionsOp",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetRevisionJaNachresekt",
"source" : [
{
"context" : "rc",
"element" : "text",
"variable" : "txt",
"condition" : "$this.contains('Nachresektion')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "revisionsOp",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
}
]
},
{
"name" : "MapAnzahlR0",
"source" : [
{
"context" : "src",
"element" : "outcome",
"variable" : "out"
}
],
"rule" : [
{
"name" : "MapAnzahlR0Coding",
"source" : [
{
"context" : "out",
"element" : "coding",
"variable" : "c",
"condition" : "system.exists()"
}
],
"rule" : [
{
"name" : "SetAnzahlR0Default",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'R0'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "anzahlEingriffeR0",
"transform" : "copy",
"parameter" : [
{
"valueInteger" : 1
}
]
}
]
}
]
}
]
},
{
"name" : "MapKompIcd",
"source" : [
{
"context" : "src",
"element" : "complication",
"variable" : "comp"
}
],
"rule" : [
{
"name" : "MapKompIcdCoding",
"source" : [
{
"context" : "comp",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "komplikationen",
"variable" : "komp"
}
],
"rule" : [
{
"name" : "SetKompIcdCode",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "komp",
"contextType" : "variable",
"element" : "icdCode",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
}