SMART PH4H
0.9.9 - release
This page is part of the PH4H (v0.9.9: Releases Draft) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
| Draft as of 2026-07-09 |
{
"resourceType" : "StructureMap",
"id" : "MedicationOverviewMinToMedicationOverviewLM",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap MedicationOverviewMinToMedicationOverviewLM</b></p><a name=\"MedicationOverviewMinToMedicationOverviewLM\"> </a><a name=\"hcMedicationOverviewMinToMedicationOverviewLM\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>http://smart.who.int/ph4h/StructureMap/MedicationOverviewMinToMedicationOverviewLM<span style=\"color: navy\">" = "</span>MedicationOverviewMinToMedicationOverviewLM<span style=\"color: navy\">"\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-MedicationOverviewMin.html\" title=\"Medication Overview (Minimal)\">http://smart.who.int/ph4h/StructureDefinition/MedicationOverviewMin</a><span style=\"color: navy\">" </span><b>alias </b>MedicationOverviewMin <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-MedicationTreatmentLineMin.html\" title=\"Medication Treatment Line (Minimal)\">http://smart.who.int/ph4h/StructureDefinition/MedicationTreatmentLineMin</a><span style=\"color: navy\">" </span><b>alias </b>MedicationTreatmentLineMin <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"file://E:\\work\\ImplementationGuides\\ihe-pharm-meow\\output/StructureDefinition-MedicationOverviewLM.html\" title=\"Medication Overview (model)\">https://profiles.ihe.net/PHARM/MEOW/StructureDefinition/MedicationOverviewLM</a><span style=\"color: navy\">" </span><b>alias </b>MedicationOverviewLM <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"file://E:\\work\\ImplementationGuides\\ihe-pharm-meow\\output/StructureDefinition-PatientLM.html\" title=\"Patient (model)\">https://profiles.ihe.net/PHARM/MEOW/StructureDefinition/PatientLM</a><span style=\"color: navy\">" </span><b>alias </b>PatientLM <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"file://E:\\work\\ImplementationGuides\\ihe-pharm-meow\\output/StructureDefinition-MedicationTreatmentLineLM.html\" title=\"Medication Treatment Line (model)\">https://profiles.ihe.net/PHARM/MEOW/StructureDefinition/MedicationTreatmentLineLM</a><span style=\"color: navy\">" </span><b>alias </b>MedicationTreatmentLineLM <b>as </b><b>target</b>\r\n\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">---------------------------------------------------------------------------</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Top-level group: 1 patient + 0..* medication treatment lines</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">---------------------------------------------------------------------------</span>\r\n<b>group </b>MedicationOverviewMinToMedicationOverviewLM<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>MedicationOverviewMin, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>MedicationOverviewLM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tgt.patient<b> as </b><span style=\"color: maroon\">patient</span><b> then </b>MedicationOverviewMinToPatientLM<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">)</span> <i>"patient"</i><span style=\"color: navy\">;</span>\r\n src.m<b> as </b><span style=\"color: maroon\">line</span><span style=\"color: navy\"><b> -> </b></span>tgt.medicationTreatmentLine<b> as </b><span style=\"color: maroon\">tline</span><b> then </b>MedicationTreatmentLineMinToMedicationTreatmentLineLM<span style=\"color: navy\">(</span><span style=\"color: maroon\">line</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tline</span><span style=\"color: navy\">)</span> <i>"treatmentLine"</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\">MedicationOverviewMin demographic fields -> PatientLM</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">---------------------------------------------------------------------------</span>\r\n<b>group </b>MedicationOverviewMinToPatientLM<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>MedicationOverviewMin, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>PatientLM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Name: create HumanName, populate, assign</span>\r\n src.n<b> as </b><span style=\"color: maroon\">n</span><span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'HumanName'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">hn</span><span style=\"color: navy\">, </span> hn.text = <span style=\"color: maroon\">n</span><span style=\"color: navy\">, </span> tgt.name = <span style=\"color: maroon\">hn</span> <i>"name"</i><span style=\"color: navy\">;</span>\r\n src.dob<b> as </b><span style=\"color: maroon\">dob</span><span style=\"color: navy\"><b> -> </b></span>tgt.dateOfBirth = <span style=\"color: maroon\">dob</span> <i>"dateOfBirth"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Gender: create Coding, then CodeableConcept wrapping it, assign</span>\r\n src.s<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">gc</span><span style=\"color: navy\">, </span> gc.system = <span style=\"color: blue\">'http://hl7.org/fhir/administrative-gender'</span><span style=\"color: navy\">, </span> gc.code = <span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">g</span><span style=\"color: navy\">, </span> g.coding = <span style=\"color: maroon\">gc</span><span style=\"color: navy\">, </span> tgt.gender = <span style=\"color: maroon\">g</span> <i>"gender"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Identifier: create Identifier, populate, assign. Identifier.type is intentionally</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">NOT emitted: the Min 'dt' code carries no code system, which produced</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">unvalidatable type.coding warnings (no system / not in IdentifierType VS).</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Identifier.type is optional (0..1); the value alone is sufficient here.</span>\r\n src.id<b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\"><b> -> </b></span><b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Identifier'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ident</span><b> then</b><span style=\"color: navy\"> {\r\n</span> id<span style=\"color: navy\"><b> -> </b></span>ident.value = <span style=\"color: maroon\">id</span> <i>"identifierValue"</i><span style=\"color: navy\">;</span>\r\n id<span style=\"color: navy\"><b> -> </b></span>tgt.identifier = <span style=\"color: maroon\">ident</span> <i>"identifierAssign"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"identifier"</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\">One MedicationTreatmentLineMin -> one MedicationTreatmentLineLM</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">---------------------------------------------------------------------------</span>\r\n<b>group </b>MedicationTreatmentLineMinToMedicationTreatmentLineLM<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>MedicationTreatmentLineMin, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>MedicationTreatmentLineLM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Status: the Min source carries no record status; default to 'active'.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">LM.status is 1..1 and the downstream R4 MedicationStatement.status is</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">1..1 required — without this rule, stage 2 emits status-less statements</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">that fail MEOW Bundle profile validation.</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.status = <span style=\"color: blue\">'active'</span> <i>"status"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Medication: create Coding, then CodeableConcept wrapping it, assign.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">The Min 'm' field is a bare code with no system; RACSEL production data uses</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">SNOMED CT, so tag it as SNOMED to satisfy validation.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">NOTE: the ATC-coded example (e.g. L02BG03) is mislabelled by this fixed system.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">If mixed code systems must be supported, the Min model should carry the system</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">alongside the code (e.g. an 'ms' field) rather than assuming SNOMED here.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Display intentionally NOT set: the Min 'm' field carries only a code, and</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">emitting the code as the display fails SNOMED display validation</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">("Wrong Display Name"). Leaving it absent lets the term server supply it.</span>\r\n src.m<b> as </b><span style=\"color: maroon\">med</span><span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">c</span><span style=\"color: navy\">, </span> c.system = <span style=\"color: blue\">'http://snomed.info/sct'</span><span style=\"color: navy\">, </span> c.code = <span style=\"color: maroon\">med</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">cc</span><span style=\"color: navy\">, </span> cc.coding = <span style=\"color: maroon\">c</span><span style=\"color: navy\">, </span> tgt.medication = <span style=\"color: maroon\">cc</span> <i>"medication"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Effective period: create Period, populate, assign</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">(Period uses .start/.end — NOT .low/.high; those are Range properties.)</span>\r\n src<span style=\"color: navy\"><b> -> </b></span><b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Period'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ep</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src.es<b> as </b><span style=\"color: maroon\">es</span><span style=\"color: navy\"><b> -> </b></span>ep.start = <span style=\"color: maroon\">es</span> <i>"effStart"</i><span style=\"color: navy\">;</span>\r\n src.ee<b> as </b><span style=\"color: maroon\">ee</span><span style=\"color: navy\"><b> -> </b></span>ep.end = <span style=\"color: maroon\">ee</span> <i>"effEnd"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.effectivePeriod = <span style=\"color: maroon\">ep</span> <i>"effAssign"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"effectivePeriod"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">recordingMetadata is a BackboneElement defined inline in the LM — navigate.</span>\r\n src.da<b> as </b><span style=\"color: maroon\">da</span><span style=\"color: navy\"><b> -> </b></span>tgt.recordingMetadata<b> as </b><span style=\"color: maroon\">rm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> da<span style=\"color: navy\"><b> -> </b></span>rm.recordedTime = <span style=\"color: maroon\">da</span> <i>"recordedTime"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dateAsserted"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Dosage as free text. Route to preparationInstructions (a plain string array)</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">rather than comment.commentText: comment is a BackboneElement with several</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">1..1 sub-fields (author, date, commentText) that the Min source can't</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">populate, so creating a half-empty comment confuses matchbox's serializer.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">preparationInstructions is a string field, no nested required structure.</span>\r\n src.d<b> as </b><span style=\"color: maroon\">d</span><span style=\"color: navy\"><b> -> </b></span>tgt.preparationInstructions = <span style=\"color: maroon\">d</span> <i>"dosage"</i><span style=\"color: navy\">;</span>\r\n src.r<b> as </b><span style=\"color: maroon\">r</span><span style=\"color: navy\"><b> -> </b></span>tgt.indicationText = <span style=\"color: maroon\">r</span> <i>"reason"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Adherence (treatmentStatus): MEOW requires adherence 1..1 downstream, so always</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">emit it. Default the code to 'active' and override with the source 'a' when it is</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">present. System is medication-statement-status (see $adherenceStatusVS alias — the</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">R4 stand-in for the R5 adherence value set), which includes 'active'.</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tsc</span><span style=\"color: navy\">, </span> tsc.system = <span style=\"color: blue\">'http://hl7.org/fhir/CodeSystem/medication-statement-status'</span><span style=\"color: navy\">, </span> tsc.code = <span style=\"color: blue\">'active'</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ts</span><span style=\"color: navy\">, </span> ts.coding = <span style=\"color: maroon\">tsc</span><span style=\"color: navy\">, </span> tgt.treatmentStatus = <span style=\"color: maroon\">ts</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src.a<b> as </b><span style=\"color: maroon\">a</span><span style=\"color: navy\"><b> -> </b></span>tsc.code = <span style=\"color: maroon\">a</span> <i>"adherenceValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"adherence"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "http://smart.who.int/ph4h/StructureMap/MedicationOverviewMinToMedicationOverviewLM",
"version" : "0.9.9",
"name" : "MedicationOverviewMinToMedicationOverviewLM",
"status" : "draft",
"date" : "2026-07-09T08:34:46+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"structure" : [
{
"url" : "http://smart.who.int/ph4h/StructureDefinition/MedicationOverviewMin",
"mode" : "source",
"alias" : "MedicationOverviewMin"
},
{
"url" : "http://smart.who.int/ph4h/StructureDefinition/MedicationTreatmentLineMin",
"mode" : "source",
"alias" : "MedicationTreatmentLineMin"
},
{
"url" : "https://profiles.ihe.net/PHARM/MEOW/StructureDefinition/MedicationOverviewLM",
"mode" : "target",
"alias" : "MedicationOverviewLM"
},
{
"url" : "https://profiles.ihe.net/PHARM/MEOW/StructureDefinition/PatientLM",
"mode" : "target",
"alias" : "PatientLM"
},
{
"url" : "https://profiles.ihe.net/PHARM/MEOW/StructureDefinition/MedicationTreatmentLineLM",
"mode" : "target",
"alias" : "MedicationTreatmentLineLM"
}
],
"group" : [
{
"name" : "MedicationOverviewMinToMedicationOverviewLM",
"typeMode" : "none",
"documentation" : "---------------------------------------------------------------------------\r\nTop-level group: 1 patient + 0..* medication treatment lines\r\n---------------------------------------------------------------------------",
"input" : [
{
"name" : "src",
"type" : "MedicationOverviewMin",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "MedicationOverviewLM",
"mode" : "target"
}
],
"rule" : [
{
"name" : "patient",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "patient",
"variable" : "patient"
}
],
"dependent" : [
{
"name" : "MedicationOverviewMinToPatientLM",
"variable" : [
"src",
"patient"
]
}
]
},
{
"name" : "treatmentLine",
"source" : [
{
"context" : "src",
"element" : "m",
"variable" : "line"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "medicationTreatmentLine",
"variable" : "tline"
}
],
"dependent" : [
{
"name" : "MedicationTreatmentLineMinToMedicationTreatmentLineLM",
"variable" : [
"line",
"tline"
]
}
]
}
]
},
{
"name" : "MedicationOverviewMinToPatientLM",
"typeMode" : "none",
"documentation" : "---------------------------------------------------------------------------\r\nMedicationOverviewMin demographic fields -> PatientLM\r\n---------------------------------------------------------------------------",
"input" : [
{
"name" : "src",
"type" : "MedicationOverviewMin",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "PatientLM",
"mode" : "target"
}
],
"rule" : [
{
"name" : "name",
"source" : [
{
"context" : "src",
"element" : "n",
"variable" : "n"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "hn",
"transform" : "create",
"parameter" : [
{
"valueString" : "HumanName"
}
]
},
{
"context" : "hn",
"contextType" : "variable",
"element" : "text",
"transform" : "copy",
"parameter" : [
{
"valueId" : "n"
}
]
},
{
"context" : "tgt",
"contextType" : "variable",
"element" : "name",
"transform" : "copy",
"parameter" : [
{
"valueId" : "hn"
}
]
}
]
},
{
"name" : "dateOfBirth",
"source" : [
{
"context" : "src",
"element" : "dob",
"variable" : "dob"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "dateOfBirth",
"transform" : "copy",
"parameter" : [
{
"valueId" : "dob"
}
]
}
]
},
{
"name" : "gender",
"source" : [
{
"context" : "src",
"element" : "s",
"variable" : "s"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "gc",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "gc",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/administrative-gender"
}
]
},
{
"context" : "gc",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "s"
}
]
},
{
"contextType" : "variable",
"variable" : "g",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "g",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "gc"
}
]
},
{
"context" : "tgt",
"contextType" : "variable",
"element" : "gender",
"transform" : "copy",
"parameter" : [
{
"valueId" : "g"
}
]
}
]
},
{
"name" : "identifier",
"source" : [
{
"context" : "src",
"element" : "id",
"variable" : "id"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "ident",
"transform" : "create",
"parameter" : [
{
"valueString" : "Identifier"
}
]
}
],
"rule" : [
{
"name" : "identifierValue",
"source" : [
{
"context" : "id"
}
],
"target" : [
{
"context" : "ident",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueId" : "id"
}
]
}
]
},
{
"name" : "identifierAssign",
"source" : [
{
"context" : "id"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "identifier",
"transform" : "copy",
"parameter" : [
{
"valueId" : "ident"
}
]
}
]
}
]
}
]
},
{
"name" : "MedicationTreatmentLineMinToMedicationTreatmentLineLM",
"typeMode" : "none",
"documentation" : "---------------------------------------------------------------------------\r\nOne MedicationTreatmentLineMin -> one MedicationTreatmentLineLM\r\n---------------------------------------------------------------------------",
"input" : [
{
"name" : "src",
"type" : "MedicationTreatmentLineMin",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "MedicationTreatmentLineLM",
"mode" : "target"
}
],
"rule" : [
{
"name" : "status",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
}
]
},
{
"name" : "medication",
"source" : [
{
"context" : "src",
"element" : "m",
"variable" : "med"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "c",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "c",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
}
]
},
{
"context" : "c",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "med"
}
]
},
{
"contextType" : "variable",
"variable" : "cc",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "cc",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "c"
}
]
},
{
"context" : "tgt",
"contextType" : "variable",
"element" : "medication",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cc"
}
]
}
]
},
{
"name" : "effectivePeriod",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "ep",
"transform" : "create",
"parameter" : [
{
"valueString" : "Period"
}
]
}
],
"rule" : [
{
"name" : "effStart",
"source" : [
{
"context" : "src",
"element" : "es",
"variable" : "es"
}
],
"target" : [
{
"context" : "ep",
"contextType" : "variable",
"element" : "start",
"transform" : "copy",
"parameter" : [
{
"valueId" : "es"
}
]
}
]
},
{
"name" : "effEnd",
"source" : [
{
"context" : "src",
"element" : "ee",
"variable" : "ee"
}
],
"target" : [
{
"context" : "ep",
"contextType" : "variable",
"element" : "end",
"transform" : "copy",
"parameter" : [
{
"valueId" : "ee"
}
]
}
]
},
{
"name" : "effAssign",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "effectivePeriod",
"transform" : "copy",
"parameter" : [
{
"valueId" : "ep"
}
]
}
]
}
]
},
{
"name" : "dateAsserted",
"source" : [
{
"context" : "src",
"element" : "da",
"variable" : "da"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "recordingMetadata",
"variable" : "rm"
}
],
"rule" : [
{
"name" : "recordedTime",
"source" : [
{
"context" : "da"
}
],
"target" : [
{
"context" : "rm",
"contextType" : "variable",
"element" : "recordedTime",
"transform" : "copy",
"parameter" : [
{
"valueId" : "da"
}
]
}
]
}
]
},
{
"name" : "dosage",
"source" : [
{
"context" : "src",
"element" : "d",
"variable" : "d"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "preparationInstructions",
"transform" : "copy",
"parameter" : [
{
"valueId" : "d"
}
]
}
]
},
{
"name" : "reason",
"source" : [
{
"context" : "src",
"element" : "r",
"variable" : "r"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "indicationText",
"transform" : "copy",
"parameter" : [
{
"valueId" : "r"
}
]
}
]
},
{
"name" : "adherence",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "tsc",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "tsc",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/CodeSystem/medication-statement-status"
}
]
},
{
"context" : "tsc",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"contextType" : "variable",
"variable" : "ts",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "ts",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "tsc"
}
]
},
{
"context" : "tgt",
"contextType" : "variable",
"element" : "treatmentStatus",
"transform" : "copy",
"parameter" : [
{
"valueId" : "ts"
}
]
}
],
"rule" : [
{
"name" : "adherenceValue",
"source" : [
{
"context" : "src",
"element" : "a",
"variable" : "a"
}
],
"target" : [
{
"context" : "tsc",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "a"
}
]
}
]
}
]
}
]
}
]
}