This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version. For a full list of available versions, see the Directory of published versions
Page standards status: Trial-use | Maturity Level: 1 |
{
"resourceType" : "StructureMap",
"id" : "ConceptMap4Bto5",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre class=\"fml\">\r\n<span style=\"color: #cc00cc\">/// <b>url</b> = </span><span style=\"color: blue\">'http://hl7.org/fhir/StructureMap/ConceptMap4Bto5'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'ConceptMap4Bto5'</span>\r\n<span style=\"color: #cc00cc\">/// <b>title</b> = </span><span style=\"color: blue\">'FML Conversion for ConceptMap: R4B to R5'</span>\r\n<span style=\"color: #cc00cc\">/// <b>status</b> = </span><span style=\"color: blue\">'active'</span>\r\n\r\n<b>conceptmap</b><span style=\"color: navy\"> "</span>ConceptMapGroupUnmappedMode<span style=\"color: navy\">" {\r\n</span><b> prefix </b>s<span style=\"color: navy\"> = "</span><a href=\"http://hl7.org/fhir/R4B/codesystem-conceptmap-unmapped-mode.html\" title=\"ConceptMapGroupUnmappedMode\">http://hl7.org/fhir/4.3/conceptmap-unmapped-mode</a><span style=\"color: navy\">"\r\n</span><b> prefix </b>t<span style=\"color: navy\"> = "</span><a href=\"http://hl7.org/fhir/R5/codesystem-conceptmap-unmapped-mode.html\" title=\"Concept Map Group Unmapped Mode\">http://hl7.org/fhir/conceptmap-unmapped-mode</a><span style=\"color: navy\">"\r\n</span>\r\n s<span style=\"color: navy\">:</span>provided <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>use-source-code<span style=\"color: navy\">"</span>\r\n s<span style=\"color: navy\">:</span>fixed <b>-</b> t<span style=\"color: navy\">:</span>fixed\r\n s<span style=\"color: navy\">:</span>"other-map" <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>other-map<span style=\"color: navy\">"</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>conceptmap</b><span style=\"color: navy\"> "</span>ConceptMapRelationship<span style=\"color: navy\">" {\r\n</span><b> prefix </b>s<span style=\"color: navy\"> = "</span><a href=\"http://hl7.org/fhir/R4B/codesystem-concept-map-equivalence.html\" title=\"ConceptMapEquivalence\">http://hl7.org/fhir/4.3/concept-map-equivalence</a><span style=\"color: navy\">"\r\n</span><b> prefix </b>t<span style=\"color: navy\"> = "</span><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html\" title=\"ConceptMapRelationship\">http://hl7.org/fhir/concept-map-relationship</a><span style=\"color: navy\">"\r\n</span>\r\n s<span style=\"color: navy\">:</span>relatedto <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>related-to<span style=\"color: navy\">"</span>\r\n s<span style=\"color: navy\">:</span>inexact <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>related-to<span style=\"color: navy\">"</span>\r\n s<span style=\"color: navy\">:</span>equivalent <b>-</b> t<span style=\"color: navy\">:</span>equivalent\r\n s<span style=\"color: navy\">:</span>equal <b>-</b> t<span style=\"color: navy\">:</span>equivalent\r\n s<span style=\"color: navy\">:</span>wider <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>source-is-narrower-than-target<span style=\"color: navy\">"</span>\r\n s<span style=\"color: navy\">:</span>subsumes <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>source-is-narrower-than-target<span style=\"color: navy\">"</span>\r\n s<span style=\"color: navy\">:</span>narrower <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>source-is-broader-than-target<span style=\"color: navy\">"</span>\r\n s<span style=\"color: navy\">:</span>specializes <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>source-is-broader-than-target<span style=\"color: navy\">"</span>\r\n s<span style=\"color: navy\">:</span>unmatched <b>-</b> t<span style=\"color: navy\">:</span><span style=\"color: navy\">"</span>not-related-to<span style=\"color: navy\">"</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>conceptmap</b><span style=\"color: navy\"> "</span>PublicationStatus<span style=\"color: navy\">" {\r\n</span><b> prefix </b>s<span style=\"color: navy\"> = "</span><a href=\"http://hl7.org/fhir/R4B/codesystem-publication-status.html\" title=\"PublicationStatus\">http://hl7.org/fhir/4.3/publication-status</a><span style=\"color: navy\">"\r\n</span><b> prefix </b>t<span style=\"color: navy\"> = "</span><a href=\"http://hl7.org/fhir/R5/codesystem-publication-status.html\" title=\"PublicationStatus\">http://hl7.org/fhir/publication-status</a><span style=\"color: navy\">"\r\n</span>\r\n s<span style=\"color: navy\">:</span>draft <b>-</b> t<span style=\"color: navy\">:</span>draft\r\n s<span style=\"color: navy\">:</span>active <b>-</b> t<span style=\"color: navy\">:</span>active\r\n s<span style=\"color: navy\">:</span>retired <b>-</b> t<span style=\"color: navy\">:</span>retired\r\n s<span style=\"color: navy\">:</span>unknown <b>-</b> t<span style=\"color: navy\">:</span>unknown\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4B/conceptmap.html\" title=\"ConceptMap\">http://hl7.org/fhir/4.3/StructureDefinition/ConceptMap</a><span style=\"color: navy\">" </span><b>alias </b>ConceptMapR4B <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/conceptmap.html\" title=\"ConceptMap\">http://hl7.org/fhir/StructureDefinition/ConceptMap</a><span style=\"color: navy\">" </span><b>alias </b>ConceptMapR5 <b>as </b><b>target</b>\r\n\r\n<b>imports</b><span style=\"color: navy\"> "</span>http://hl7.org/fhir/StructureMap/*4Bto5<span style=\"color: navy\">"\r\n</span>\r\n<b>group </b>ConceptMap<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>ConceptMapR4B, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>ConceptMapR5<span style=\"color: navy\">)</span><b> extends </b>DomainResource<b> <<type+>></b><span style=\"color: navy\"> {\r\n</span> src.url<span style=\"color: navy\"><b> -> </b></span>tgt.url<span style=\"color: navy\">;</span>\r\n src.identifier<span style=\"color: navy\"><b> -> </b></span>tgt.identifier<span style=\"color: navy\">;</span>\r\n src.version<span style=\"color: navy\"><b> -> </b></span>tgt.version<span style=\"color: navy\">;</span>\r\n src.name<span style=\"color: navy\"><b> -> </b></span>tgt.name<span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">src.versionAlgorithm : string -> tgt.versionAlgorithm;</span>\r\n src.title<span style=\"color: navy\"><b> -> </b></span>tgt.title<span style=\"color: navy\">;</span>\r\n src.status<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>tgt.status = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'#PublicationStatus'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n src.experimental<span style=\"color: navy\"><b> -> </b></span>tgt.experimental<span style=\"color: navy\">;</span>\r\n src.date<span style=\"color: navy\"><b> -> </b></span>tgt.date<span style=\"color: navy\">;</span>\r\n src.publisher<span style=\"color: navy\"><b> -> </b></span>tgt.publisher<span style=\"color: navy\">;</span>\r\n src.contact<span style=\"color: navy\"><b> -> </b></span>tgt.contact<span style=\"color: navy\">;</span>\r\n src.description<span style=\"color: navy\"><b> -> </b></span>tgt.description<span style=\"color: navy\">;</span>\r\n src.useContext<span style=\"color: navy\"><b> -> </b></span>tgt.useContext<span style=\"color: navy\">;</span>\r\n src.jurisdiction<span style=\"color: navy\"><b> -> </b></span>tgt.jurisdiction<span style=\"color: navy\">;</span>\r\n src.purpose<span style=\"color: navy\"><b> -> </b></span>tgt.purpose<span style=\"color: navy\">;</span>\r\n src.copyright<span style=\"color: navy\"><b> -> </b></span>tgt.copyright<span style=\"color: navy\">;</span>\r\n src.source<span style=\"color: navy\"> : </span>uri<span style=\"color: navy\"><b> -> </b></span>tgt.sourceScope<span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">src.copyrightLabel -> tgt.copyrightLabel;</span>\r\n src.source<span style=\"color: navy\"> : </span>canonical<span style=\"color: navy\"><b> -> </b></span>tgt.sourceScope<span style=\"color: navy\">;</span>\r\n src.target<span style=\"color: navy\"> : </span>uri<span style=\"color: navy\"><b> -> </b></span>tgt.targetScope<span style=\"color: navy\">;</span>\r\n src.target<span style=\"color: navy\"> : </span>canonical<span style=\"color: navy\"><b> -> </b></span>tgt.targetScope<span style=\"color: navy\">;</span>\r\n src.group<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.group<b> as </b><span style=\"color: maroon\">t</span><b> then </b>ConceptMapGroup<span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ConceptMapGroup<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span>, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span><b> extends </b>BackboneElement<span style=\"color: navy\"> {\r\n</span> src.source<span style=\"color: navy\"><b> -> </b></span>tgt.source<span style=\"color: navy\">;</span>\r\n src.target<span style=\"color: navy\"><b> -> </b></span>tgt.target<span style=\"color: navy\">;</span>\r\n src.element<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.element<b> as </b><span style=\"color: maroon\">t</span><b> then </b>ConceptMapGroupElement<span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n src.unmapped<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.unmapped<b> as </b><span style=\"color: maroon\">t</span><b> then </b>ConceptMapGroupUnmapped<span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ConceptMapGroupElement<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span>, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span><b> extends </b>BackboneElement<span style=\"color: navy\"> {\r\n</span> src.code<span style=\"color: navy\"><b> -> </b></span>tgt.code<span style=\"color: navy\">;</span>\r\n src.display<span style=\"color: navy\"><b> -> </b></span>tgt.display<span style=\"color: navy\">;</span>\r\n src<b> where </b>src.target.all(equivalence = 'unmatched') as s<span style=\"color: navy\"><b> -> </b></span> tgt.noMap<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\">, </span> t.value = <span style=\"color: blue\">'true'</span> <i>"unmapped"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">src.valueSet -> tgt.valueSet;</span>\r\n src.target<b> as </b><span style=\"color: maroon\">s</span><b> where </b>s != unmatched<span style=\"color: navy\"><b> -> </b></span>tgt.target<b> as </b><span style=\"color: maroon\">t</span><b> then </b>ConceptMapGroupElementTarget<span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ConceptMapGroupElementTarget<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span>, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span><b> extends </b>BackboneElement<span style=\"color: navy\"> {\r\n</span> src.code<span style=\"color: navy\"><b> -> </b></span>tgt.code<span style=\"color: navy\">;</span>\r\n src.display<span style=\"color: navy\"><b> -> </b></span>tgt.display<span style=\"color: navy\">;</span>\r\n src.equivalence<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>tgt.relationship = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'#ConceptMapRelationship'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">src.valueSet -> tgt.valueSet;</span>\r\n src.comment<span style=\"color: navy\"><b> -> </b></span>tgt.comment<span style=\"color: navy\">;</span>\r\n src.dependsOn<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.dependsOn<b> as </b><span style=\"color: maroon\">t</span><b> then </b>ConceptMapGroupElementTargetDependsOn<span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">src.property as s -> tgt.property as t then ConceptMapGroupElementTargetProperty(s,t);</span>\r\n src.product<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.product<b> as </b><span style=\"color: maroon\">t</span><b> then </b>ConceptMapGroupElementTargetDependsOn<span style=\"color: navy\">(</span><span style=\"color: maroon\">s</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">t</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ConceptMapGroupElementTargetDependsOn<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span>, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span><b> extends </b>BackboneElement<span style=\"color: navy\"> {\r\n</span> src.property<span style=\"color: navy\"><b> -> </b></span>tgt.attribute<span style=\"color: navy\">;</span>\r\n src.value<b> where </b>src.system.empty()<span style=\"color: navy\"><b> -> </b></span>tgt.value<span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">todo: move the URL to ConceptMap.additionalAttribute - needs a new mapping language feature</span>\r\n src<b> where </b>src.system.exists()<span style=\"color: navy\"><b> -> </b></span>tgt.value = <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\">t</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src.system<span style=\"color: navy\"><b> -> </b></span>t.system<span style=\"color: navy\">;</span>\r\n src.value<span style=\"color: navy\"><b> -> </b></span>t.code<span style=\"color: navy\">;</span>\r\n src.display<span style=\"color: navy\"><b> -> </b></span>t.display<span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"attributeValue"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ConceptMapGroupUnmapped<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span>, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span><b> extends </b>BackboneElement<span style=\"color: navy\"> {\r\n</span> src.mode<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>tgt.mode = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'#ConceptMapGroupUnmappedMode'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n src.code<span style=\"color: navy\"><b> -> </b></span>tgt.code<span style=\"color: navy\">;</span>\r\n src.display<span style=\"color: navy\"><b> -> </b></span>tgt.display<span style=\"color: navy\">;</span>\r\n src.url<span style=\"color: navy\"><b> -> </b></span>tgt.otherMap<span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">src.valueSet -> tgt.valueSet;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"contained" : [
{
"resourceType" : "ConceptMap",
"id" : "ConceptMapGroupUnmappedMode",
"status" : "active",
"group" : [
{
"source" : "http://hl7.org/fhir/4.3/conceptmap-unmapped-mode",
"target" : "http://hl7.org/fhir/conceptmap-unmapped-mode",
"element" : [
{
"code" : "provided",
"target" : [
{
"code" : "use-source-code",
"relationship" : "related-to"
}
]
},
{
"code" : "fixed",
"target" : [
{
"code" : "fixed",
"relationship" : "related-to"
}
]
},
{
"code" : "other-map",
"target" : [
{
"code" : "other-map",
"relationship" : "related-to"
}
]
}
]
}
]
},
{
"resourceType" : "ConceptMap",
"id" : "ConceptMapRelationship",
"status" : "active",
"group" : [
{
"source" : "http://hl7.org/fhir/4.3/concept-map-equivalence",
"target" : "http://hl7.org/fhir/concept-map-relationship",
"element" : [
{
"code" : "relatedto",
"target" : [
{
"code" : "related-to",
"relationship" : "related-to"
}
]
},
{
"code" : "inexact",
"target" : [
{
"code" : "related-to",
"relationship" : "related-to"
}
]
},
{
"code" : "equivalent",
"target" : [
{
"code" : "equivalent",
"relationship" : "related-to"
}
]
},
{
"code" : "equal",
"target" : [
{
"code" : "equivalent",
"relationship" : "related-to"
}
]
},
{
"code" : "wider",
"target" : [
{
"code" : "source-is-narrower-than-target",
"relationship" : "related-to"
}
]
},
{
"code" : "subsumes",
"target" : [
{
"code" : "source-is-narrower-than-target",
"relationship" : "related-to"
}
]
},
{
"code" : "narrower",
"target" : [
{
"code" : "source-is-broader-than-target",
"relationship" : "related-to"
}
]
},
{
"code" : "specializes",
"target" : [
{
"code" : "source-is-broader-than-target",
"relationship" : "related-to"
}
]
},
{
"code" : "unmatched",
"target" : [
{
"code" : "not-related-to",
"relationship" : "related-to"
}
]
}
]
}
]
},
{
"resourceType" : "ConceptMap",
"id" : "PublicationStatus",
"status" : "active",
"group" : [
{
"source" : "http://hl7.org/fhir/4.3/publication-status",
"target" : "http://hl7.org/fhir/publication-status",
"element" : [
{
"code" : "draft",
"target" : [
{
"code" : "draft",
"relationship" : "related-to"
}
]
},
{
"code" : "active",
"target" : [
{
"code" : "active",
"relationship" : "related-to"
}
]
},
{
"code" : "retired",
"target" : [
{
"code" : "retired",
"relationship" : "related-to"
}
]
},
{
"code" : "unknown",
"target" : [
{
"code" : "unknown",
"relationship" : "related-to"
}
]
}
]
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode" : "fhir"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueInteger" : 1,
"_valueInteger" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical" : "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.extensions"
}
]
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode" : "trial-use",
"_valueCode" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical" : "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.extensions"
}
]
}
}
],
"url" : "http://hl7.org/fhir/StructureMap/ConceptMap4Bto5",
"version" : "5.1.0",
"name" : "ConceptMap4Bto5",
"title" : "FML Conversion for ConceptMap: R4B to R5",
"status" : "active",
"date" : "2024-04-27T18:54:50+10:00",
"publisher" : "HL7 International / FHIR Infrastructure",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "http://www.hl7.org/Special/committees/fiwg"
}
]
}
],
"description" : "FMLConversionforConceptMapR4BtoR5",
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001"
}
]
}
],
"structure" : [
{
"url" : "http://hl7.org/fhir/4.3/StructureDefinition/ConceptMap",
"mode" : "source",
"alias" : "ConceptMapR4B"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/ConceptMap",
"mode" : "target",
"alias" : "ConceptMapR5"
}
],
"import" : [
"http://hl7.org/fhir/StructureMap/*4Bto5"
],
"group" : [
{
"name" : "ConceptMap",
"extends" : "DomainResource",
"typeMode" : "type-and-types",
"input" : [
{
"name" : "src",
"type" : "ConceptMapR4B",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "ConceptMapR5",
"mode" : "target"
}
],
"rule" : [
{
"name" : "url",
"source" : [
{
"context" : "src",
"element" : "url",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "url",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "identifier",
"source" : [
{
"context" : "src",
"element" : "identifier",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "identifier",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "version",
"source" : [
{
"context" : "src",
"element" : "version",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "version",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "name",
"source" : [
{
"context" : "src",
"element" : "name",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "name",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
],
"documentation" : "src.versionAlgorithm : string -> tgt.versionAlgorithm;"
},
{
"name" : "title",
"source" : [
{
"context" : "src",
"element" : "title",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "title",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "status",
"source" : [
{
"context" : "src",
"element" : "status",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"element" : "status",
"transform" : "translate",
"parameter" : [
{
"valueId" : "v"
},
{
"valueString" : "#PublicationStatus"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "experimental",
"source" : [
{
"context" : "src",
"element" : "experimental",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "experimental",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "date",
"source" : [
{
"context" : "src",
"element" : "date",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "date",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "publisher",
"source" : [
{
"context" : "src",
"element" : "publisher",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "publisher",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "contact",
"source" : [
{
"context" : "src",
"element" : "contact",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "contact",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "description",
"source" : [
{
"context" : "src",
"element" : "description",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "description",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "useContext",
"source" : [
{
"context" : "src",
"element" : "useContext",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "useContext",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "jurisdiction",
"source" : [
{
"context" : "src",
"element" : "jurisdiction",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "jurisdiction",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "purpose",
"source" : [
{
"context" : "src",
"element" : "purpose",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "purpose",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "copyright",
"source" : [
{
"context" : "src",
"element" : "copyright",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "copyright",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "sourceUri",
"source" : [
{
"context" : "src",
"type" : "uri",
"element" : "source",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "sourceScope",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
],
"documentation" : "src.copyrightLabel -> tgt.copyrightLabel;"
},
{
"name" : "sourceCanonical",
"source" : [
{
"context" : "src",
"type" : "canonical",
"element" : "source",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "sourceScope",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "targetUri",
"source" : [
{
"context" : "src",
"type" : "uri",
"element" : "target",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "targetScope",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "targetCanonical",
"source" : [
{
"context" : "src",
"type" : "canonical",
"element" : "target",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "targetScope",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "group",
"source" : [
{
"context" : "src",
"element" : "group",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"element" : "group",
"variable" : "t"
}
],
"dependent" : [
{
"name" : "ConceptMapGroup",
"parameter" : [
{
"valueId" : "s"
},
{
"valueId" : "t"
}
]
}
]
}
]
},
{
"name" : "ConceptMapGroup",
"extends" : "BackboneElement",
"input" : [
{
"name" : "src",
"mode" : "source"
},
{
"name" : "tgt",
"mode" : "target"
}
],
"rule" : [
{
"name" : "source",
"source" : [
{
"context" : "src",
"element" : "source",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "source",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "target",
"source" : [
{
"context" : "src",
"element" : "target",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "target",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "element",
"source" : [
{
"context" : "src",
"element" : "element",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"element" : "element",
"variable" : "t"
}
],
"dependent" : [
{
"name" : "ConceptMapGroupElement",
"parameter" : [
{
"valueId" : "s"
},
{
"valueId" : "t"
}
]
}
]
},
{
"name" : "unmapped",
"source" : [
{
"context" : "src",
"element" : "unmapped",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"element" : "unmapped",
"variable" : "t"
}
],
"dependent" : [
{
"name" : "ConceptMapGroupUnmapped",
"parameter" : [
{
"valueId" : "s"
},
{
"valueId" : "t"
}
]
}
]
}
]
},
{
"name" : "ConceptMapGroupElement",
"extends" : "BackboneElement",
"input" : [
{
"name" : "src",
"mode" : "source"
},
{
"name" : "tgt",
"mode" : "target"
}
],
"rule" : [
{
"name" : "code",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "code",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "display",
"source" : [
{
"context" : "src",
"element" : "display",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "display",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "unmapped",
"source" : [
{
"context" : "src",
"condition" : "src.target.all(equivalence = 'unmatched') as s"
}
],
"target" : [
{
"context" : "tgt",
"element" : "noMap",
"variable" : "t"
},
{
"context" : "t",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "true"
}
]
}
],
"documentation" : "src.valueSet -> tgt.valueSet;"
},
{
"name" : "target",
"source" : [
{
"context" : "src",
"element" : "target",
"variable" : "s",
"condition" : "s != unmatched"
}
],
"target" : [
{
"context" : "tgt",
"element" : "target",
"variable" : "t"
}
],
"dependent" : [
{
"name" : "ConceptMapGroupElementTarget",
"parameter" : [
{
"valueId" : "s"
},
{
"valueId" : "t"
}
]
}
]
}
]
},
{
"name" : "ConceptMapGroupElementTarget",
"extends" : "BackboneElement",
"input" : [
{
"name" : "src",
"mode" : "source"
},
{
"name" : "tgt",
"mode" : "target"
}
],
"rule" : [
{
"name" : "code",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "code",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "display",
"source" : [
{
"context" : "src",
"element" : "display",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "display",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "equivalence",
"source" : [
{
"context" : "src",
"element" : "equivalence",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"element" : "relationship",
"transform" : "translate",
"parameter" : [
{
"valueId" : "v"
},
{
"valueString" : "#ConceptMapRelationship"
},
{
"valueString" : "code"
}
]
}
],
"documentation" : "src.valueSet -> tgt.valueSet;"
},
{
"name" : "comment",
"source" : [
{
"context" : "src",
"element" : "comment",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "comment",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "dependsOn",
"source" : [
{
"context" : "src",
"element" : "dependsOn",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"element" : "dependsOn",
"variable" : "t"
}
],
"dependent" : [
{
"name" : "ConceptMapGroupElementTargetDependsOn",
"parameter" : [
{
"valueId" : "s"
},
{
"valueId" : "t"
}
]
}
],
"documentation" : "src.property as s -> tgt.property as t then ConceptMapGroupElementTargetProperty(s,t);"
},
{
"name" : "product",
"source" : [
{
"context" : "src",
"element" : "product",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"element" : "product",
"variable" : "t"
}
],
"dependent" : [
{
"name" : "ConceptMapGroupElementTargetDependsOn",
"parameter" : [
{
"valueId" : "s"
},
{
"valueId" : "t"
}
]
}
]
}
]
},
{
"name" : "ConceptMapGroupElementTargetDependsOn",
"extends" : "BackboneElement",
"input" : [
{
"name" : "src",
"mode" : "source"
},
{
"name" : "tgt",
"mode" : "target"
}
],
"rule" : [
{
"name" : "property",
"source" : [
{
"context" : "src",
"element" : "property",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "attribute",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "value",
"source" : [
{
"context" : "src",
"element" : "value",
"variable" : "vvv",
"condition" : "src.system.empty()"
}
],
"target" : [
{
"context" : "tgt",
"element" : "value",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
],
"documentation" : "todo: move the URL to ConceptMap.additionalAttribute - needs a new mapping language feature"
},
{
"name" : "attributeValue",
"source" : [
{
"context" : "src",
"condition" : "src.system.exists()"
}
],
"target" : [
{
"context" : "tgt",
"element" : "value",
"variable" : "t",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "system",
"source" : [
{
"context" : "src",
"element" : "system",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "t",
"element" : "system",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "value",
"source" : [
{
"context" : "src",
"element" : "value",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "t",
"element" : "code",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "display",
"source" : [
{
"context" : "src",
"element" : "display",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "t",
"element" : "display",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
}
]
}
]
},
{
"name" : "ConceptMapGroupUnmapped",
"extends" : "BackboneElement",
"input" : [
{
"name" : "src",
"mode" : "source"
},
{
"name" : "tgt",
"mode" : "target"
}
],
"rule" : [
{
"name" : "mode",
"source" : [
{
"context" : "src",
"element" : "mode",
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"element" : "mode",
"transform" : "translate",
"parameter" : [
{
"valueId" : "v"
},
{
"valueString" : "#ConceptMapGroupUnmappedMode"
},
{
"valueString" : "code"
}
]
}
]
},
{
"name" : "code",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "code",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "display",
"source" : [
{
"context" : "src",
"element" : "display",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "display",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
]
},
{
"name" : "url",
"source" : [
{
"context" : "src",
"element" : "url",
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgt",
"element" : "otherMap",
"variable" : "vvv",
"transform" : "create"
}
],
"dependent" : [
{
"name" : "DefaultMappingGroupAnonymousAlias",
"parameter" : [
{
"valueId" : "vvv"
},
{
"valueId" : "vvv"
}
]
}
],
"documentation" : "src.valueSet -> tgt.valueSet;"
}
]
}
]
}