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" : "SenologieToObdsMeldung",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap SenologieToObdsMeldung</b></p><a name=\"SenologieToObdsMeldung\"> </a><a name=\"hcSenologieToObdsMeldung\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>https://www.senologie.org/fhir/StructureMap/SenologieToObdsMeldung<span style=\"color: navy\">" = "</span>SenologieToObdsMeldung<span style=\"color: navy\">"\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">title: Senologie FHIR Bundle to oBDS Meldung (Master Orchestrator)</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/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/careplan.html\" title=\"CarePlan\">http://hl7.org/fhir/StructureDefinition/CarePlan</a><span style=\"color: navy\">" </span><b>alias </b>CarePlan <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/patient.html\" title=\"Patient\">http://hl7.org/fhir/StructureDefinition/Patient</a><span style=\"color: navy\">" </span><b>alias </b>Patient <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=\"StructureDefinition-obds-meldung.html\" title=\"oBDS Meldung\">https://www.senologie.org/fhir/StructureDefinition/obds-meldung</a><span style=\"color: navy\">" </span><b>alias </b>OBDSMeldung <b>as </b><b>target</b>\r\n\r\n<b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsTumorzuordnung.html\" title=\"SenologieToObdsTumorzuordnung\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsTumorzuordnung</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsDiagnose.html\" title=\"SenologieToObdsDiagnose\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsDiagnose</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsOP.html\" title=\"SenologieToObdsOP\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsOP</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsSYST.html\" title=\"SenologieToObdsSYST\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsSYST</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsST.html\" title=\"SenologieToObdsST\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsST</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsTumorkonferenz.html\" title=\"SenologieToObdsTumorkonferenz\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsTumorkonferenz</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsVerlauf.html\" title=\"SenologieToObdsVerlauf\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsVerlauf</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsTod.html\" title=\"SenologieToObdsTod\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsTod</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsTNM.html\" title=\"SenologieToObdsTNM\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsTNM</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsHistologie.html\" title=\"SenologieToObdsHistologie\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsHistologie</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsModulMamma.html\" title=\"SenologieToObdsModulMamma\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsModulMamma</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsFernmetastasen.html\" title=\"SenologieToObdsFernmetastasen\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsFernmetastasen</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsResidualstatus.html\" title=\"SenologieToObdsResidualstatus\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsResidualstatus</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsNebenwirkung.html\" title=\"SenologieToObdsNebenwirkung\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsNebenwirkung</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToObdsLeistungszustand.html\" title=\"SenologieToObdsLeistungszustand\">https://www.senologie.org/fhir/StructureMap/SenologieToObdsLeistungszustand</a><span style=\"color: navy\">"\r\n</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Master Orchestrator: Bundle -> oBDS Meldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Empfaengt ein FHIR Bundle mit allen Ressourcen eines Patienten und</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">dispatcht an die jeweiligen Teil-Maps basierend auf Ressourcentyp und Profil.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Jede Ressource erzeugt eine separate oBDS-Meldung:</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Condition (Erstdiagnose) -> Diagnosemeldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Condition (Rezidiv) -> Verlaufsmeldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Procedure (Operation) -> OP-Meldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Procedure (Systemtherapie) -> SYST-Meldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Procedure (Strahlentherapie) -> ST-Meldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- CarePlan (Tumorboard) -> Tumorkonferenzmeldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Patient (verstorben) -> Todesmeldung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>SenologieToObdsMeldung<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>OBDSMeldung<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">--- Meldungs-Metadaten ---</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt<b> then </b>SetMeldungMetadata<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span> <i>"CallSetMeldungMetadata"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Diagnose: Condition mit Senologie-Diagnose-Profil, NICHT Rezidiv ---</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">clinicalStatus != recurrence und Profil senologie-diagnose</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Condition) and resource.meta.profile.exists($this.contains('senologie-diagnose')) and resource.clinicalStatus.coding.exists(code = 'recurrence').not()<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">condition</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Tumorzuordnung</span>\r\n condition<span style=\"color: navy\"><b> -> </b></span>tgt.tumorzuordnung<b> as </b><span style=\"color: maroon\">tz</span><b> then </b>MapTumorzuordnung<span style=\"color: navy\">(</span><span style=\"color: maroon\">condition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tz</span><span style=\"color: navy\">)</span> <i>"DiagnoseTZ"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Diagnose-Basisfelder</span>\r\n condition<span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">dx</span><b> then </b>MapDiagnose<span style=\"color: navy\">(</span><span style=\"color: maroon\">condition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">dx</span><span style=\"color: navy\">)</span> <i>"DiagnoseDX"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DiagnoseConditionContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Bundle-Lookups fuer Diagnose (Histologie, TNM, ECOG, ModulMamma, Klassifikationen)</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">histEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '59847-4')<b> then</b><span style=\"color: navy\"> {\r\n</span> histEntry.resource<b> as </b><span style=\"color: maroon\">histObs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">dx</span><span style=\"color: navy\">, </span> dx.histologie<b> as </b><span style=\"color: maroon\">histo</span><b> then </b>MapHistologie<span style=\"color: navy\">(</span><span style=\"color: maroon\">histObs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">histo</span><span style=\"color: navy\">)</span> <i>"DiagCallHisto"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DiagEntryHisto"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">tnmEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21908-9')<b> then</b><span style=\"color: navy\"> {\r\n</span> tnmEntry.resource<b> as </b><span style=\"color: maroon\">tnmObs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">dx</span><span style=\"color: navy\">, </span> dx.cTNM<b> as </b><span style=\"color: maroon\">ctnm</span><b> then </b>MapTNM<span style=\"color: navy\">(</span><span style=\"color: maroon\">tnmObs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">ctnm</span><span style=\"color: navy\">)</span> <i>"DiagCallCTNM"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DiagEntryCTNM"</i><span style=\"color: navy\">;</span>\r\n entry.resource<b> as </b><span style=\"color: maroon\">cond2</span><span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">dx</span><b> then </b>MapLeistungszustandFromBundle<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">dx</span><span style=\"color: navy\">)</span> <i>"DiagCallECOG"</i><span style=\"color: navy\">;</span>\r\n entry.resource<b> as </b><span style=\"color: maroon\">cond3</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">dx</span><span style=\"color: navy\">, </span> dx.modulMamma<b> as </b><span style=\"color: maroon\">mamma</span><b> then </b>MapModulMamma<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mamma</span><span style=\"color: navy\">)</span> <i>"DiagCallModulMamma"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">raEntry</span><b> where </b>resource.is(RiskAssessment)<b> then</b><span style=\"color: navy\"> {\r\n</span> raEntry.resource<b> as </b><span style=\"color: maroon\">ra</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">dx</span><span style=\"color: navy\">, </span> dx.weitereKlassifikationen<b> as </b><span style=\"color: maroon\">wk</span><b> then </b>MapWeitereKlassifikation<span style=\"color: navy\">(</span><span style=\"color: maroon\">ra</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">wk</span><span style=\"color: navy\">)</span> <i>"DiagCallWK"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DiagEntryWK"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryDiagnose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Verlauf: Condition mit clinicalStatus = recurrence (Rezidiv) ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Condition) and resource.clinicalStatus.coding.exists(code = 'recurrence')<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">condition</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Tumorzuordnung</span>\r\n condition<span style=\"color: navy\"><b> -> </b></span>tgt.tumorzuordnung<b> as </b><span style=\"color: maroon\">tz</span><b> then </b>MapTumorzuordnung<span style=\"color: navy\">(</span><span style=\"color: maroon\">condition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tz</span><span style=\"color: navy\">)</span> <i>"VerlaufTZ"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Verlauf: delegiert an SenologieToObdsVerlauf.MapVerlauf</span>\r\n condition<span style=\"color: navy\"><b> -> </b></span>tgt.verlauf<b> as </b><span style=\"color: maroon\">verl</span><b> then </b>MapVerlauf<span style=\"color: navy\">(</span><span style=\"color: maroon\">condition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">verl</span><span style=\"color: navy\">)</span> <i>"VerlaufMap"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"VerlaufConditionContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryVerlauf"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- OP: Procedure mit Senologie-Operation-Profil ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-operation') or $this.contains('senologie-brustop'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">procedure</span><b> then</b><span style=\"color: navy\"> {\r\n</span> procedure<span style=\"color: navy\"><b> -> </b></span>tgt.op<b> as </b><span style=\"color: maroon\">op</span><b> then </b>MapOP<span style=\"color: navy\">(</span><span style=\"color: maroon\">procedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">op</span><span style=\"color: navy\">)</span> <i>"OPMap"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"OPProcedureContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Bundle-Lookups fuer OP (Histologie, pTNM, ModulMamma)</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">histEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '59847-4')<b> then</b><span style=\"color: navy\"> {\r\n</span> histEntry.resource<b> as </b><span style=\"color: maroon\">histObs</span><span style=\"color: navy\"><b> -> </b></span> tgt.op<b> as </b><span style=\"color: maroon\">op</span><span style=\"color: navy\">, </span> op.histologie<b> as </b><span style=\"color: maroon\">histo</span><b> then </b>MapHistologie<span style=\"color: navy\">(</span><span style=\"color: maroon\">histObs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">histo</span><span style=\"color: navy\">)</span> <i>"OPCallHisto"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"OPEntryHisto"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">tnmEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21902-2')<b> then</b><span style=\"color: navy\"> {\r\n</span> tnmEntry.resource<b> as </b><span style=\"color: maroon\">tnmObs</span><span style=\"color: navy\"><b> -> </b></span> tgt.op<b> as </b><span style=\"color: maroon\">op</span><span style=\"color: navy\">, </span> op.tnm<b> as </b><span style=\"color: maroon\">ptnm</span><b> then </b>MapTNM<span style=\"color: navy\">(</span><span style=\"color: maroon\">tnmObs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">ptnm</span><span style=\"color: navy\">)</span> <i>"OPCallPTNM"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"OPEntryPTNM"</i><span style=\"color: navy\">;</span>\r\n entry.resource<b> as </b><span style=\"color: maroon\">proc2</span><span style=\"color: navy\"><b> -> </b></span> tgt.op<b> as </b><span style=\"color: maroon\">op</span><span style=\"color: navy\">, </span> op.modulMamma<b> as </b><span style=\"color: maroon\">mamma</span><b> then </b>MapModulMamma<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mamma</span><span style=\"color: navy\">)</span> <i>"OPCallModulMamma"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryOP"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Systemische Therapie: Procedure mit Systemtherapie-Profil ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-systemtherapie-procedure'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">procedure</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">SYST: delegiert an SenologieToObdsSYST.MapSYST</span>\r\n procedure<span style=\"color: navy\"><b> -> </b></span>tgt.syst<b> as </b><span style=\"color: maroon\">syst</span><b> then </b>MapSYST<span style=\"color: navy\">(</span><span style=\"color: maroon\">procedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">syst</span><span style=\"color: navy\">)</span> <i>"SYSTMap"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"SYSTProcedureContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySYST"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Strahlentherapie: Procedure mit Strahlentherapie-Profil ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-strahlentherapie'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">procedure</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">ST: delegiert an SenologieToObdsST.MapST</span>\r\n procedure<span style=\"color: navy\"><b> -> </b></span>tgt.st<b> as </b><span style=\"color: maroon\">st</span><b> then </b>MapST<span style=\"color: navy\">(</span><span style=\"color: maroon\">procedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">st</span><span style=\"color: navy\">)</span> <i>"STMap"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"STProcedureContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryST"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Tumorkonferenz: CarePlan mit Tumorboard-Empfehlung-Profil ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(CarePlan) and resource.meta.profile.exists($this.contains('senologie-tumorboard-empfehlung'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">careplan</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Tumorkonferenz: delegiert an SenologieToObdsTumorkonferenz.MapTumorkonferenz</span>\r\n careplan<span style=\"color: navy\"><b> -> </b></span>tgt.tumorkonferenz<b> as </b><span style=\"color: maroon\">tk</span><b> then </b>MapTumorkonferenz<span style=\"color: navy\">(</span><span style=\"color: maroon\">careplan</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tk</span><span style=\"color: navy\">)</span> <i>"TumorkonferenzMap"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"TumorkonferenzCarePlanContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTumorkonferenz"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Tod: Patient mit deceasedDateTime ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Patient) and resource.deceased.exists()<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Tod: delegiert an SenologieToObdsTod.MapTod</span>\r\n patient<span style=\"color: navy\"><b> -> </b></span>tgt.tod<b> as </b><span style=\"color: maroon\">tod</span><b> then </b>MapTod<span style=\"color: navy\">(</span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tod</span><span style=\"color: navy\">)</span> <i>"TodMap"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"TodPatientContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTod"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">SetMeldungMetadata: Meldungs-Metadaten erzeugen</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">meldungID, melderID, meldebegruendung, eigeneLeistung</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>SetMeldungMetadata<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>OBDSMeldung<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Meldung_ID: aus Bundle.identifier oder generierte UUID</span>\r\n src.identifier<b> as </b><span style=\"color: maroon\">id</span><b> then</b><span style=\"color: navy\"> {\r\n</span> id.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>tgt.meldungID = <span style=\"color: maroon\">v</span> <i>"SetMeldungIDFromIdentifier"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMeldungID"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Fallback: generierte UUID als Meldung_ID</span>\r\n src<b> where </b>identifier.exists().not()<span style=\"color: navy\"><b> -> </b></span>tgt.meldungID = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>"SetMeldungIDGenerated"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Melder_ID: aus Bundle.meta.source oder fest konfigurierter Wert</span>\r\n src.meta<b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> meta.source<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.melderID = <span style=\"color: maroon\">s</span> <i>"SetMelderIDFromSource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMelderID"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Meldebegruendung: I (eigene Leistung) als Standard</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Wird ggf. durch die Teil-Maps ueberschrieben basierend auf Meldungstyp</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.meldebegruendung = <span style=\"color: blue\">'I'</span> <i>"SetMeldebegruendung"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Eigene Leistung: J als Standard (Behandlungseinrichtung meldet eigene Daten)</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.eigeneLeistung = <span style=\"color: blue\">'J'</span> <i>"SetEigeneLeistung"</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/SenologieToObdsMeldung",
"version" : "0.9.0",
"name" : "SenologieToObdsMeldung",
"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 FHIR Bundle to oBDS Meldung (Master Orchestrator)\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/Procedure",
"mode" : "source",
"alias" : "Procedure"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/CarePlan",
"mode" : "source",
"alias" : "CarePlan"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Patient",
"mode" : "source",
"alias" : "Patient"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Observation",
"mode" : "source",
"alias" : "Observation"
},
{
"url" : "https://www.senologie.org/fhir/StructureDefinition/obds-meldung",
"mode" : "target",
"alias" : "OBDSMeldung"
}
],
"import" : [
🔗 "https://www.senologie.org/fhir/StructureMap/SenologieToObdsTumorzuordnung"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsDiagnose"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsOP"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsSYST"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsST"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsTumorkonferenz"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsVerlauf"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsTod"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsTNM"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsHistologie"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsModulMamma"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsFernmetastasen"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsResidualstatus"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsNebenwirkung"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToObdsLeistungszustand"
],
"group" : [
{
"name" : "SenologieToObdsMeldung",
"typeMode" : "none",
"documentation" : "============================================================================\r\nMaster Orchestrator: Bundle -> oBDS Meldung\r\nEmpfaengt ein FHIR Bundle mit allen Ressourcen eines Patienten und\r\ndispatcht an die jeweiligen Teil-Maps basierend auf Ressourcentyp und Profil.\r\nJede Ressource erzeugt eine separate oBDS-Meldung:\r\n- Condition (Erstdiagnose) -> Diagnosemeldung\r\n- Condition (Rezidiv) -> Verlaufsmeldung\r\n- Procedure (Operation) -> OP-Meldung\r\n- Procedure (Systemtherapie) -> SYST-Meldung\r\n- Procedure (Strahlentherapie) -> ST-Meldung\r\n- CarePlan (Tumorboard) -> Tumorkonferenzmeldung\r\n- Patient (verstorben) -> Todesmeldung\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Bundle",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "OBDSMeldung",
"mode" : "target"
}
],
"rule" : [
{
"name" : "CallSetMeldungMetadata",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable"
}
],
"dependent" : [
{
"name" : "SetMeldungMetadata",
"variable" : [
"src",
"tgt"
]
}
]
},
{
"name" : "EntryDiagnose",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Condition) and resource.meta.profile.exists($this.contains('senologie-diagnose')) and resource.clinicalStatus.coding.exists(code = 'recurrence').not()"
}
],
"rule" : [
{
"name" : "DiagnoseConditionContext",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "condition"
}
],
"rule" : [
{
"name" : "DiagnoseTZ",
"source" : [
{
"context" : "condition"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "tumorzuordnung",
"variable" : "tz"
}
],
"dependent" : [
{
"name" : "MapTumorzuordnung",
"variable" : [
"condition",
"tz"
]
}
]
},
{
"name" : "DiagnoseDX",
"source" : [
{
"context" : "condition"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "dx"
}
],
"dependent" : [
{
"name" : "MapDiagnose",
"variable" : [
"condition",
"dx"
]
}
]
}
]
},
{
"name" : "DiagEntryHisto",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "histEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '59847-4')"
}
],
"rule" : [
{
"name" : "DiagCallHisto",
"source" : [
{
"context" : "histEntry",
"element" : "resource",
"variable" : "histObs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "dx"
},
{
"context" : "dx",
"contextType" : "variable",
"element" : "histologie",
"variable" : "histo"
}
],
"dependent" : [
{
"name" : "MapHistologie",
"variable" : [
"histObs",
"histo"
]
}
]
}
]
},
{
"name" : "DiagEntryCTNM",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "tnmEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21908-9')"
}
],
"rule" : [
{
"name" : "DiagCallCTNM",
"source" : [
{
"context" : "tnmEntry",
"element" : "resource",
"variable" : "tnmObs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "dx"
},
{
"context" : "dx",
"contextType" : "variable",
"element" : "cTNM",
"variable" : "ctnm"
}
],
"dependent" : [
{
"name" : "MapTNM",
"variable" : [
"tnmObs",
"ctnm"
]
}
]
}
]
},
{
"name" : "DiagCallECOG",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "cond2"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "dx"
}
],
"dependent" : [
{
"name" : "MapLeistungszustandFromBundle",
"variable" : [
"src",
"dx"
]
}
]
},
{
"name" : "DiagCallModulMamma",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "cond3"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "dx"
},
{
"context" : "dx",
"contextType" : "variable",
"element" : "modulMamma",
"variable" : "mamma"
}
],
"dependent" : [
{
"name" : "MapModulMamma",
"variable" : [
"src",
"mamma"
]
}
]
},
{
"name" : "DiagEntryWK",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "raEntry",
"condition" : "resource.is(RiskAssessment)"
}
],
"rule" : [
{
"name" : "DiagCallWK",
"source" : [
{
"context" : "raEntry",
"element" : "resource",
"variable" : "ra"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "dx"
},
{
"context" : "dx",
"contextType" : "variable",
"element" : "weitereKlassifikationen",
"variable" : "wk"
}
],
"dependent" : [
{
"name" : "MapWeitereKlassifikation",
"variable" : [
"ra",
"wk"
]
}
]
}
]
}
]
},
{
"name" : "EntryVerlauf",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Condition) and resource.clinicalStatus.coding.exists(code = 'recurrence')"
}
],
"rule" : [
{
"name" : "VerlaufConditionContext",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "condition"
}
],
"rule" : [
{
"name" : "VerlaufTZ",
"source" : [
{
"context" : "condition"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "tumorzuordnung",
"variable" : "tz"
}
],
"dependent" : [
{
"name" : "MapTumorzuordnung",
"variable" : [
"condition",
"tz"
]
}
]
},
{
"name" : "VerlaufMap",
"source" : [
{
"context" : "condition"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "verlauf",
"variable" : "verl"
}
],
"dependent" : [
{
"name" : "MapVerlauf",
"variable" : [
"condition",
"verl"
]
}
]
}
]
}
]
},
{
"name" : "EntryOP",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-operation') or $this.contains('senologie-brustop'))"
}
],
"rule" : [
{
"name" : "OPProcedureContext",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "procedure"
}
],
"rule" : [
{
"name" : "OPMap",
"source" : [
{
"context" : "procedure"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "op",
"variable" : "op"
}
],
"dependent" : [
{
"name" : "MapOP",
"variable" : [
"procedure",
"op"
]
}
]
}
]
},
{
"name" : "OPEntryHisto",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "histEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '59847-4')"
}
],
"rule" : [
{
"name" : "OPCallHisto",
"source" : [
{
"context" : "histEntry",
"element" : "resource",
"variable" : "histObs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "op",
"variable" : "op"
},
{
"context" : "op",
"contextType" : "variable",
"element" : "histologie",
"variable" : "histo"
}
],
"dependent" : [
{
"name" : "MapHistologie",
"variable" : [
"histObs",
"histo"
]
}
]
}
]
},
{
"name" : "OPEntryPTNM",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "tnmEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21902-2')"
}
],
"rule" : [
{
"name" : "OPCallPTNM",
"source" : [
{
"context" : "tnmEntry",
"element" : "resource",
"variable" : "tnmObs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "op",
"variable" : "op"
},
{
"context" : "op",
"contextType" : "variable",
"element" : "tnm",
"variable" : "ptnm"
}
],
"dependent" : [
{
"name" : "MapTNM",
"variable" : [
"tnmObs",
"ptnm"
]
}
]
}
]
},
{
"name" : "OPCallModulMamma",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "proc2"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "op",
"variable" : "op"
},
{
"context" : "op",
"contextType" : "variable",
"element" : "modulMamma",
"variable" : "mamma"
}
],
"dependent" : [
{
"name" : "MapModulMamma",
"variable" : [
"src",
"mamma"
]
}
]
}
]
},
{
"name" : "EntrySYST",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-systemtherapie-procedure'))"
}
],
"rule" : [
{
"name" : "SYSTProcedureContext",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "procedure"
}
],
"rule" : [
{
"name" : "SYSTMap",
"source" : [
{
"context" : "procedure"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "syst",
"variable" : "syst"
}
],
"dependent" : [
{
"name" : "MapSYST",
"variable" : [
"procedure",
"syst"
]
}
]
}
]
}
]
},
{
"name" : "EntryST",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-strahlentherapie'))"
}
],
"rule" : [
{
"name" : "STProcedureContext",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "procedure"
}
],
"rule" : [
{
"name" : "STMap",
"source" : [
{
"context" : "procedure"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "st",
"variable" : "st"
}
],
"dependent" : [
{
"name" : "MapST",
"variable" : [
"procedure",
"st"
]
}
]
}
]
}
]
},
{
"name" : "EntryTumorkonferenz",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(CarePlan) and resource.meta.profile.exists($this.contains('senologie-tumorboard-empfehlung'))"
}
],
"rule" : [
{
"name" : "TumorkonferenzCarePlanContext",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "careplan"
}
],
"rule" : [
{
"name" : "TumorkonferenzMap",
"source" : [
{
"context" : "careplan"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "tumorkonferenz",
"variable" : "tk"
}
],
"dependent" : [
{
"name" : "MapTumorkonferenz",
"variable" : [
"careplan",
"tk"
]
}
]
}
]
}
]
},
{
"name" : "EntryTod",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Patient) and resource.deceased.exists()"
}
],
"rule" : [
{
"name" : "TodPatientContext",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "patient"
}
],
"rule" : [
{
"name" : "TodMap",
"source" : [
{
"context" : "patient"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "tod",
"variable" : "tod"
}
],
"dependent" : [
{
"name" : "MapTod",
"variable" : [
"patient",
"tod"
]
}
]
}
]
}
]
}
]
},
{
"name" : "SetMeldungMetadata",
"typeMode" : "none",
"documentation" : "============================================================================\r\nSetMeldungMetadata: Meldungs-Metadaten erzeugen\r\nmeldungID, melderID, meldebegruendung, eigeneLeistung\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Bundle",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "OBDSMeldung",
"mode" : "target"
}
],
"rule" : [
{
"name" : "MapMeldungID",
"source" : [
{
"context" : "src",
"element" : "identifier",
"variable" : "id"
}
],
"rule" : [
{
"name" : "SetMeldungIDFromIdentifier",
"source" : [
{
"context" : "id",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "meldungID",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
},
{
"name" : "SetMeldungIDGenerated",
"source" : [
{
"context" : "src",
"condition" : "identifier.exists().not()"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "meldungID",
"transform" : "uuid"
}
]
},
{
"name" : "MapMelderID",
"source" : [
{
"context" : "src",
"element" : "meta",
"variable" : "meta"
}
],
"rule" : [
{
"name" : "SetMelderIDFromSource",
"source" : [
{
"context" : "meta",
"element" : "source",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "melderID",
"transform" : "copy",
"parameter" : [
{
"valueId" : "s"
}
]
}
]
}
]
},
{
"name" : "SetMeldebegruendung",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "meldebegruendung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "I"
}
]
}
]
},
{
"name" : "SetEigeneLeistung",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "eigeneLeistung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "J"
}
]
}
]
}
]
}
]
}