FHIR Mapping Language (FML), published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/mapping-language-ig/ and changes regularly. See the Directory of published versions
| Page standards status: Informative |
{
"resourceType" : "StructureMap",
"resourceDefinition" : "http://hl7.org/fhir/StructureDefinition/StructureMap|0.1.0",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap GroupTypes</b></p><a name=\"GroupTypes\"> </a><a name=\"hcGroupTypes\"> </a><pre class=\"fml\">\r\n<span style=\"color: #cc00cc\">/// <b>url</b> = </span><span style=\"color: blue\">'http://hl7.org/fhir/uv/mapping-language/StructureMap/GroupTypes'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'GroupTypes'</span>\r\n<span style=\"color: #cc00cc\">/// <b>status</b> = </span><span style=\"color: blue\">'active'</span>\r\n<span style=\"color: #cc00cc\">/// <b>description</b> = </span><span style=\"color: blue\">'Example demonstrating the types stereotype marking a default mapping for a type pair'</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#HumanName\" title=\"HumanName\">http://hl7.org/fhir/StructureDefinition/HumanName</a><span style=\"color: navy\">" </span><b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/6.0.0-ballot5/datatypes.html#HumanName\" title=\"HumanName\">http://hl7.org/fhir/StructureDefinition/HumanName</a><span style=\"color: navy\">" </span><b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/6.0.0-ballot5/patient.html\" title=\"Patient\">http://hl7.org/fhir/StructureDefinition/Patient</a><span style=\"color: navy\">" </span><b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/6.0.0-ballot5/patient.html\" title=\"Patient\">http://hl7.org/fhir/StructureDefinition/Patient</a><span style=\"color: navy\">" </span><b>as </b><b>target</b>\r\n\r\n<b>group </b>UseDefaultTypes<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcP</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">tgtP</span><span style=\"color: navy\"> : </span>Patient<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">this rule will resolve the HumanName source/target types</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">to the GroupTypes group and call it</span>\r\n srcP.name<span style=\"color: navy\"><b> -> </b></span>tgtP.name<span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>GroupTypes<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>HumanName, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>HumanName<span style=\"color: navy\">)</span><b> <<types>></b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">This specific default group for mapping names will only copy the family and text,</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">all other properties will be dropped</span>\r\n src.family<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>tgt.family = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n src.text<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>tgt.text = <span style=\"color: maroon\">v</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "http://hl7.org/fhir/uv/mapping-language/StructureMap/GroupTypes",
"name" : "GroupTypes",
"status" : "active",
"description" : "Example demonstrating the types stereotype marking a default mapping for a type pair",
"structure" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/HumanName",
"mode" : "source"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/HumanName",
"mode" : "target"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Patient",
"mode" : "source"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Patient",
"mode" : "target"
}
],
"group" : [
{
"name" : "UseDefaultTypes",
"input" : [
{
"mode" : "source",
"name" : "srcP",
"type" : "Patient"
},
{
"mode" : "target",
"name" : "tgtP",
"type" : "Patient"
}
],
"rule" : [
{
"source" : [
{
"context" : "srcP",
"element" : [
"name"
],
"variable" : "vvv"
}
],
"target" : [
{
"context" : "tgtP",
"element" : [
"name"
],
"variable" : "vvv",
"transform" : "create"
}
],
"documentation" : "this rule will resolve the HumanName source/target types\r\nto the GroupTypes group and call it",
"name" : "name"
}
]
},
{
"name" : "GroupTypes",
"input" : [
{
"mode" : "source",
"name" : "src",
"type" : "HumanName"
},
{
"mode" : "target",
"name" : "tgt",
"type" : "HumanName"
}
],
"rule" : [
{
"source" : [
{
"context" : "src",
"element" : [
"family"
],
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"element" : [
"family"
],
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
],
"documentation" : "This specific default group for mapping names will only copy the family and text,\r\nall other properties will be dropped",
"name" : "family"
},
{
"source" : [
{
"context" : "src",
"element" : [
"text"
],
"variable" : "v"
}
],
"target" : [
{
"context" : "tgt",
"element" : [
"text"
],
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
],
"name" : "text"
}
],
"typeMode" : "types"
}
],
"id" : "GroupTypes",
"language" : "en"
}