FHIR Cross-Version Mapping Pack, 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/fhir-cross-version/ and changes regularly. See the Directory of published versions
Page standards status: Draft | Maturity Level: 1 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="ElementDefinition2to3"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><pre class="fml">
<span style="color: #cc00cc">/// <b>url</b> = </span><span style="color: blue">'http://hl7.org/fhir/StructureMap/ElementDefinition2to3'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'ElementDefinition2to3'</span>
<span style="color: #cc00cc">/// <b>title</b> = </span><span style="color: blue">'ElementDefinition Transforms: R2 to R3'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'active'</span>
<b>uses</b><span style="color: navy"> "</span>http://hl7.org/fhir/1.0/ElementDefinition<span style="color: navy">" </span><b>alias </b>ElementDefinitionR2 <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span>http://hl7.org/fhir/3.0/ElementDefinition<span style="color: navy">" </span><b>alias </b>ElementDefinition <b>as </b><b>target</b>
<b>imports</b><span style="color: navy"> "</span>http://hl7.org/fhir/StructureMap/*2to3<span style="color: navy">"
</span>
<b>group </b>ElementDefinition<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>ElementDefinitionR2, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>ElementDefinition, <b>target</b> <span style="color: maroon">first</span><span style="color: navy"> : </span>boolean<span style="color: navy">)</span><b> <<type+>></b><span style="color: navy"> {
</span> src.extension<span style="color: navy"><b> -> </b></span>tgt.extension <i>"ElementDefinition-extensions"</i><span style="color: navy">;</span>
src.path<span style="color: navy"><b> -> </b></span>tgt.id <i>"ElementDefinition-id"</i><span style="color: navy">;</span>
src.path<span style="color: navy"><b> -> </b></span>tgt.path <i>"ElementDefinition-path"</i><span style="color: navy">;</span>
src.representation<span style="color: navy"><b> -> </b></span>tgt.representation <i>"ElementDefinition-representation"</i><span style="color: navy">;</span>
src.name<span style="color: navy"><b> -> </b></span>tgt.sliceName <i>"ElementDefinition-sliceName"</i><span style="color: navy">;</span>
src.name<span style="color: navy"><b> -> </b></span>tgt.id <i>"ElementDefinition-id"</i><span style="color: navy">;</span>
src.label<span style="color: navy"><b> -> </b></span>tgt.label <i>"ElementDefinition-label"</i><span style="color: navy">;</span>
src.code<span style="color: navy"><b> -> </b></span>tgt.code <i>"ElementDefinition-code"</i><span style="color: navy">;</span>
src.slicing<b> as </b><span style="color: maroon">vs0</span><span style="color: navy"><b> -> </b></span>tgt.slicing<b> as </b><span style="color: maroon">vt0</span><b> then</b><span style="color: navy"> {
</span> vs0.discriminator<b> as </b><span style="color: maroon">vs1</span><span style="color: navy"><b> -> </b></span> vt0.discriminator<b> as </b><span style="color: maroon">vd1</span><span style="color: navy">, </span> vd1.type = <span style="color: blue">'value'</span><span style="color: navy">, </span> vd1.path = <span style="color: maroon">vs1</span> <i>"slicing-discriminator"</i><span style="color: navy">;</span>
vs0.description<span style="color: navy"><b> -> </b></span>vt0.description <i>"slicing-description"</i><span style="color: navy">;</span>
vs0.ordered<span style="color: navy"><b> -> </b></span>vt0.ordered <i>"slicing-ordered"</i><span style="color: navy">;</span>
vs0.rules<span style="color: navy"><b> -> </b></span>vt0.rules <i>"slicing-rules"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"ElementDefinition-slicing"</i><span style="color: navy">;</span>
src.short<span style="color: navy"><b> -> </b></span>tgt.short <i>"ElementDefinition-short"</i><span style="color: navy">;</span>
src.definition<span style="color: navy"><b> -> </b></span>tgt.definition <i>"ElementDefinition-definition"</i><span style="color: navy">;</span>
src.comments<span style="color: navy"><b> -> </b></span>tgt.comment <i>"ElementDefinition-comments"</i><span style="color: navy">;</span>
src.requirements<span style="color: navy"><b> -> </b></span>tgt.requirements <i>"ElementDefinition-requirements"</i><span style="color: navy">;</span>
src.alias<span style="color: navy"><b> -> </b></span>tgt.alias <i>"ElementDefinition-alias"</i><span style="color: navy">;</span>
src.min<span style="color: navy"><b> -> </b></span>tgt.min <i>"ElementDefinition-min"</i><span style="color: navy">;</span>
src.max<span style="color: navy"><b> -> </b></span>tgt.max <i>"ElementDefinition-max"</i><span style="color: navy">;</span>
src.base<b> as </b><span style="color: maroon">vs0</span><span style="color: navy"><b> -> </b></span>tgt.base<b> as </b><span style="color: maroon">vt0</span><b> then</b><span style="color: navy"> {
</span> vs0.path<span style="color: navy"><b> -> </b></span>vt0.path <i>"base-path"</i><span style="color: navy">;</span>
vs0.min<span style="color: navy"><b> -> </b></span>vt0.min <i>"base-min"</i><span style="color: navy">;</span>
vs0.max<span style="color: navy"><b> -> </b></span>vt0.max <i>"base-max"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"ElementDefinition-base"</i><span style="color: navy">;</span>
src.type<b> as </b><span style="color: maroon">vs0</span><b> where </b>first.not()<span style="color: navy"><b> -> </b></span>tgt.type<b> as </b><span style="color: maroon">vt0</span><b> then </b>type<span style="color: navy">(</span><span style="color: maroon">vs0</span><span style="color: navy">, </span><span style="color: maroon">vt0</span><span style="color: navy">)</span> <i>"ElementDefinition-type"</i><span style="color: navy">;</span>
src.nameReference<span style="color: navy"><b> -> </b></span>tgt.contentReference <i>"ElementDefinition-nameReference"</i><span style="color: navy">;</span>
src.defaultValue<span style="color: navy"><b> -> </b></span>tgt.defaultValue <i>"ElementDefinition-defaultValue"</i><span style="color: navy">;</span>
src.meaningWhenMissing<span style="color: navy"><b> -> </b></span>tgt.meaningWhenMissing <i>"ElementDefinition-meaningWhenMissing"</i><span style="color: navy">;</span>
src.example<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> tgt.example<b> as </b><span style="color: maroon">ve</span><span style="color: navy">, </span> ve.label = <span style="color: blue">'General'</span><span style="color: navy">, </span> ve.value = <span style="color: maroon">v</span> <i>"ElementDefinition-example"</i><span style="color: navy">;</span>
src.fixed<span style="color: navy"><b> -> </b></span>tgt.fixed <i>"ElementDefinition-fixed"</i><span style="color: navy">;</span>
src.pattern<span style="color: navy"><b> -> </b></span>tgt.pattern <i>"ElementDefinition-pattern"</i><span style="color: navy">;</span>
src.minValue<span style="color: navy"><b> -> </b></span>tgt.minValue <i>"ElementDefinition-minValue"</i><span style="color: navy">;</span>
src.maxValue<span style="color: navy"><b> -> </b></span>tgt.maxValue <i>"ElementDefinition-maxValue"</i><span style="color: navy">;</span>
src.maxLength<span style="color: navy"><b> -> </b></span>tgt.maxLength <i>"ElementDefinition-maxLength"</i><span style="color: navy">;</span>
src.condition<span style="color: navy"><b> -> </b></span>tgt.condition <i>"ElementDefinition-condition"</i><span style="color: navy">;</span>
src.constraint<b> as </b><span style="color: maroon">vs0</span><span style="color: navy"><b> -> </b></span>tgt.constraint<b> as </b><span style="color: maroon">vt0</span><b> then </b>constraint<span style="color: navy">(</span><span style="color: maroon">vs0</span><span style="color: navy">, </span><span style="color: maroon">vt0</span><span style="color: navy">)</span> <i>"ElementDefinition-constraint"</i><span style="color: navy">;</span>
src.mustSupport<span style="color: navy"><b> -> </b></span>tgt.mustSupport <i>"ElementDefinition-mustSupport"</i><span style="color: navy">;</span>
src.isModifier<span style="color: navy"><b> -> </b></span>tgt.isModifier <i>"ElementDefinition-isModifier"</i><span style="color: navy">;</span>
src.isSummary<span style="color: navy"><b> -> </b></span>tgt.isSummary <i>"ElementDefinition-isSummary"</i><span style="color: navy">;</span>
src.binding<b> as </b><span style="color: maroon">vs0</span><span style="color: navy"><b> -> </b></span>tgt.binding<b> as </b><span style="color: maroon">vt0</span><b> then </b>binding<span style="color: navy">(</span><span style="color: maroon">vs0</span><span style="color: navy">, </span><span style="color: maroon">vt0</span><span style="color: navy">)</span> <i>"ElementDefinition-binding"</i><span style="color: navy">;</span>
src.mapping<b> as </b><span style="color: maroon">vs0</span><span style="color: navy"><b> -> </b></span>tgt.mapping<b> as </b><span style="color: maroon">vt0</span><b> then </b>mapping<span style="color: navy">(</span><span style="color: maroon">vs0</span><span style="color: navy">, </span><span style="color: maroon">vt0</span><span style="color: navy">)</span> <i>"ElementDefinition-mapping"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>binding<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>Element<span style="color: navy"> {
</span> src.strength<span style="color: navy"><b> -> </b></span>tgt.strength <i>"binding-strength"</i><span style="color: navy">;</span>
src.description<span style="color: navy"><b> -> </b></span>tgt.description <i>"binding-description"</i><span style="color: navy">;</span>
src.valueSet<span style="color: navy"><b> -> </b></span>tgt.valueSet <i>"binding-valueSet"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>type<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>Element<span style="color: navy"> {
</span> src.code<span style="color: navy"><b> -> </b></span>tgt.code <i>"type-code"</i><span style="color: navy">;</span>
src.profile<b> where </b>src.code = 'Reference'<span style="color: navy"><b> -> </b></span>tgt.profile <i>"type-profile1"</i><span style="color: navy">;</span>
src.profile<b> where </b>src.code != 'Reference'<span style="color: navy"><b> -> </b></span>tgt.targetProfile <i>"type-profile2"</i><span style="color: navy">;</span>
src.aggregation<span style="color: navy"><b> -> </b></span>tgt.aggregation <i>"type-aggregation"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>constraint<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>Element<span style="color: navy"> {
</span> src.key<span style="color: navy"><b> -> </b></span>tgt.key <i>"constraint-key"</i><span style="color: navy">;</span>
src.requirements<span style="color: navy"><b> -> </b></span>tgt.requirements <i>"constraint-requirements"</i><span style="color: navy">;</span>
src.severity<span style="color: navy"><b> -> </b></span>tgt.severity <i>"constraint-severity"</i><span style="color: navy">;</span>
src.human<span style="color: navy"><b> -> </b></span>tgt.human <i>"constraint-human"</i><span style="color: navy">;</span>
src.xpath<span style="color: navy"><b> -> </b></span>tgt.xpath <i>"constraint-xpath"</i><span style="color: navy">;</span>
src<span style="color: navy"><b> -> </b></span>tgt.expression = <span style="color: blue">'todo'</span> <i>"constraint-expression"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>mapping<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>Element<span style="color: navy"> {
</span> src.identity<span style="color: navy"><b> -> </b></span>tgt.identity <i>"mapping-identity"</i><span style="color: navy">;</span>
src.language<span style="color: navy"><b> -> </b></span>tgt.language <i>"mapping-language"</i><span style="color: navy">;</span>
src.map<span style="color: navy"><b> -> </b></span>tgt.map <i>"mapping-map"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
<valueCode value="fhir"/>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
<valueInteger value="1">
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
<valueCanonical
value="http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"/>
</extension>
</valueInteger>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
<valueCode value="draft">
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
<valueCanonical
value="http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"/>
</extension>
</valueCode>
</extension>
<url value="http://hl7.org/fhir/StructureMap/ElementDefinition2to3"/>
<version value="0.1.0"/>
<name value="ElementDefinition2to3"/>
<title value="ElementDefinition Transforms: R2 to R3"/>
<status value="active"/>
<date value="2024-02-22T03:16:50+00:00"/>
<publisher value="HL7 International / FHIR Infrastructure"/>
<contact>
<telecom>
<system value="url"/>
<value value="http://www.hl7.org/Special/committees/fiwg"/>
</telecom>
</contact>
<description value="ElementDefinitionTransformsR2toR3"/>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
</coding>
</jurisdiction>
<structure>
<url value="http://hl7.org/fhir/1.0/ElementDefinition"/>
<mode value="source"/>
<alias value="ElementDefinitionR2"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/3.0/ElementDefinition"/>
<mode value="target"/>
<alias value="ElementDefinition"/>
</structure>
<import value="http://hl7.org/fhir/StructureMap/*2to3"/>
<group>
<name value="ElementDefinition"/>
<typeMode value="type-and-types"/>
<input>
<name value="src"/>
<type value="ElementDefinitionR2"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="ElementDefinition"/>
<mode value="target"/>
</input>
<input>
<name value="first"/>
<type value="boolean"/>
<mode value="target"/>
</input>
<rule>
<name value="ElementDefinition-extensions"/>
<source>
<context value="src"/>
<element value="extension"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="extension"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-id"/>
<source>
<context value="src"/>
<element value="path"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="id"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-path"/>
<source>
<context value="src"/>
<element value="path"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="path"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-representation"/>
<source>
<context value="src"/>
<element value="representation"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="representation"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-sliceName"/>
<source>
<context value="src"/>
<element value="name"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="sliceName"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-id"/>
<source>
<context value="src"/>
<element value="name"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="id"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-label"/>
<source>
<context value="src"/>
<element value="label"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="label"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-slicing"/>
<source>
<context value="src"/>
<element value="slicing"/>
<variable value="vs0"/>
</source>
<target>
<context value="tgt"/>
<element value="slicing"/>
<variable value="vt0"/>
</target>
<rule>
<name value="slicing-discriminator"/>
<source>
<context value="vs0"/>
<element value="discriminator"/>
<variable value="vs1"/>
</source>
<target>
<context value="vt0"/>
<element value="discriminator"/>
<variable value="vd1"/>
</target>
<target>
<context value="vd1"/>
<element value="type"/>
<transform value="copy"/>
<parameter>
<valueString value="value"/>
</parameter>
</target>
<target>
<context value="vd1"/>
<element value="path"/>
<transform value="copy"/>
<parameter>
<valueId value="vs1"/>
</parameter>
</target>
</rule>
<rule>
<name value="slicing-description"/>
<source>
<context value="vs0"/>
<element value="description"/>
<variable value="vvv"/>
</source>
<target>
<context value="vt0"/>
<element value="description"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="slicing-ordered"/>
<source>
<context value="vs0"/>
<element value="ordered"/>
<variable value="vvv"/>
</source>
<target>
<context value="vt0"/>
<element value="ordered"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="slicing-rules"/>
<source>
<context value="vs0"/>
<element value="rules"/>
<variable value="vvv"/>
</source>
<target>
<context value="vt0"/>
<element value="rules"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="ElementDefinition-short"/>
<source>
<context value="src"/>
<element value="short"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="short"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-definition"/>
<source>
<context value="src"/>
<element value="definition"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="definition"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-comments"/>
<source>
<context value="src"/>
<element value="comments"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="comment"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-requirements"/>
<source>
<context value="src"/>
<element value="requirements"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="requirements"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-alias"/>
<source>
<context value="src"/>
<element value="alias"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="alias"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-min"/>
<source>
<context value="src"/>
<element value="min"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="min"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-max"/>
<source>
<context value="src"/>
<element value="max"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="max"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-base"/>
<source>
<context value="src"/>
<element value="base"/>
<variable value="vs0"/>
</source>
<target>
<context value="tgt"/>
<element value="base"/>
<variable value="vt0"/>
</target>
<rule>
<name value="base-path"/>
<source>
<context value="vs0"/>
<element value="path"/>
<variable value="vvv"/>
</source>
<target>
<context value="vt0"/>
<element value="path"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="base-min"/>
<source>
<context value="vs0"/>
<element value="min"/>
<variable value="vvv"/>
</source>
<target>
<context value="vt0"/>
<element value="min"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="base-max"/>
<source>
<context value="vs0"/>
<element value="max"/>
<variable value="vvv"/>
</source>
<target>
<context value="vt0"/>
<element value="max"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="ElementDefinition-type"/>
<source>
<context value="src"/>
<element value="type"/>
<variable value="vs0"/>
<condition value="first.not()"/>
</source>
<target>
<context value="tgt"/>
<element value="type"/>
<variable value="vt0"/>
</target>
<dependent>
<name value="type"/>
<parameter>
<valueId value="vs0"/>
</parameter>
<parameter>
<valueId value="vt0"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-nameReference"/>
<source>
<context value="src"/>
<element value="nameReference"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="contentReference"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-defaultValue"/>
<source>
<context value="src"/>
<element value="defaultValue"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="defaultValue"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-meaningWhenMissing"/>
<source>
<context value="src"/>
<element value="meaningWhenMissing"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="meaningWhenMissing"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-example"/>
<source>
<context value="src"/>
<element value="example"/>
<variable value="v"/>
</source>
<target>
<context value="tgt"/>
<element value="example"/>
<variable value="ve"/>
</target>
<target>
<context value="ve"/>
<element value="label"/>
<transform value="copy"/>
<parameter>
<valueString value="General"/>
</parameter>
</target>
<target>
<context value="ve"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
<rule>
<name value="ElementDefinition-fixed"/>
<source>
<context value="src"/>
<element value="fixed"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="fixed"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-pattern"/>
<source>
<context value="src"/>
<element value="pattern"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="pattern"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-minValue"/>
<source>
<context value="src"/>
<element value="minValue"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="minValue"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-maxValue"/>
<source>
<context value="src"/>
<element value="maxValue"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="maxValue"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-maxLength"/>
<source>
<context value="src"/>
<element value="maxLength"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="maxLength"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-condition"/>
<source>
<context value="src"/>
<element value="condition"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="condition"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-constraint"/>
<source>
<context value="src"/>
<element value="constraint"/>
<variable value="vs0"/>
</source>
<target>
<context value="tgt"/>
<element value="constraint"/>
<variable value="vt0"/>
</target>
<dependent>
<name value="constraint"/>
<parameter>
<valueId value="vs0"/>
</parameter>
<parameter>
<valueId value="vt0"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-mustSupport"/>
<source>
<context value="src"/>
<element value="mustSupport"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="mustSupport"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-isModifier"/>
<source>
<context value="src"/>
<element value="isModifier"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="isModifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-isSummary"/>
<source>
<context value="src"/>
<element value="isSummary"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="isSummary"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-binding"/>
<source>
<context value="src"/>
<element value="binding"/>
<variable value="vs0"/>
</source>
<target>
<context value="tgt"/>
<element value="binding"/>
<variable value="vt0"/>
</target>
<dependent>
<name value="binding"/>
<parameter>
<valueId value="vs0"/>
</parameter>
<parameter>
<valueId value="vt0"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="ElementDefinition-mapping"/>
<source>
<context value="src"/>
<element value="mapping"/>
<variable value="vs0"/>
</source>
<target>
<context value="tgt"/>
<element value="mapping"/>
<variable value="vt0"/>
</target>
<dependent>
<name value="mapping"/>
<parameter>
<valueId value="vs0"/>
</parameter>
<parameter>
<valueId value="vt0"/>
</parameter>
</dependent>
</rule>
</group>
<group>
<name value="binding"/>
<extends value="Element"/>
<input>
<name value="src"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<rule>
<name value="binding-strength"/>
<source>
<context value="src"/>
<element value="strength"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="strength"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="binding-description"/>
<source>
<context value="src"/>
<element value="description"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="description"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="binding-valueSet"/>
<source>
<context value="src"/>
<element value="valueSet"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="valueSet"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</group>
<group>
<name value="type"/>
<extends value="Element"/>
<input>
<name value="src"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<rule>
<name value="type-code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="type-profile1"/>
<source>
<context value="src"/>
<element value="profile"/>
<variable value="vvv"/>
<condition value="src.code = 'Reference'"/>
</source>
<target>
<context value="tgt"/>
<element value="profile"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="type-profile2"/>
<source>
<context value="src"/>
<element value="profile"/>
<variable value="vvv"/>
<condition value="src.code != 'Reference'"/>
</source>
<target>
<context value="tgt"/>
<element value="targetProfile"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="type-aggregation"/>
<source>
<context value="src"/>
<element value="aggregation"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="aggregation"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</group>
<group>
<name value="constraint"/>
<extends value="Element"/>
<input>
<name value="src"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<rule>
<name value="constraint-key"/>
<source>
<context value="src"/>
<element value="key"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="key"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="constraint-requirements"/>
<source>
<context value="src"/>
<element value="requirements"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="requirements"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="constraint-severity"/>
<source>
<context value="src"/>
<element value="severity"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="severity"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="constraint-human"/>
<source>
<context value="src"/>
<element value="human"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="human"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="constraint-xpath"/>
<source>
<context value="src"/>
<element value="xpath"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="xpath"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="constraint-expression"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<element value="expression"/>
<transform value="copy"/>
<parameter>
<valueString value="todo"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="mapping"/>
<extends value="Element"/>
<input>
<name value="src"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<rule>
<name value="mapping-identity"/>
<source>
<context value="src"/>
<element value="identity"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="identity"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="mapping-language"/>
<source>
<context value="src"/>
<element value="language"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="language"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="mapping-map"/>
<source>
<context value="src"/>
<element value="map"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<element value="map"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<dependent>
<name value="DefaultMappingGroupAnonymousAlias"/>
<parameter>
<valueId value="vvv"/>
</parameter>
<parameter>
<valueId value="vvv"/>
</parameter>
</dependent>
</rule>
</group>
</StructureMap>