FHIR Cross-Version Mapping Pack
0.1.0 - Ballot for Release 5.1.0 International flag

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

: Primitive Transforms: R4 to R3 - XML Representation

Page standards status: Draft Maturity Level: 1

Raw xml | Download



<StructureMap xmlns="http://hl7.org/fhir">
  <id value="primitives4to3"/>
  <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/primitives4to3'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'primitives4to3'</span>
<span style="color: #cc00cc">/// <b>title</b> = </span><span style="color: blue">'Primitive Transforms: R4 to R3'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'active'</span>

<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/base64Binary<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/base64Binary<span style="color: navy">&quot; </span><b>alias </b>base64BinaryR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/boolean<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/boolean<span style="color: navy">&quot; </span><b>alias </b>booleanR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/canonical<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/canonical<span style="color: navy">&quot; </span><b>alias </b>canonicalR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/code<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/code<span style="color: navy">&quot; </span><b>alias </b>codeR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/date<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/date<span style="color: navy">&quot; </span><b>alias </b>dateR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/dateTime<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/dateTime<span style="color: navy">&quot; </span><b>alias </b>dateTimeR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/decimal<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/decimal<span style="color: navy">&quot; </span><b>alias </b>decimalR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/id<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/id<span style="color: navy">&quot; </span><b>alias </b>idR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/instant<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/instant<span style="color: navy">&quot; </span><b>alias </b>instantR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/integer<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/integer<span style="color: navy">&quot; </span><b>alias </b>integerR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/markdown<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/markdown<span style="color: navy">&quot; </span><b>alias </b>markdownR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/oid<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/oid<span style="color: navy">&quot; </span><b>alias </b>oidR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/positiveInt<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/positiveInt<span style="color: navy">&quot; </span><b>alias </b>positiveIntR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/string<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/string<span style="color: navy">&quot; </span><b>alias </b>stringR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/time<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/time<span style="color: navy">&quot; </span><b>alias </b>timeR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/unsignedInt<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/unsignedInt<span style="color: navy">&quot; </span><b>alias </b>unsignedIntR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/uri<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/uri<span style="color: navy">&quot; </span><b>alias </b>uriR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/url<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/url<span style="color: navy">&quot; </span><b>alias </b>urlR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/uuid<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/uuid<span style="color: navy">&quot; </span><b>alias </b>uuidR3 <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/4.0/xhtml<span style="color: navy">&quot; </span><b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/3.0/xhtml<span style="color: navy">&quot; </span><b>alias </b>xhtmlR3 <b>as </b><b>target</b>

<b>imports</b><span style="color: navy"> &quot;</span><a href="StructureMap-Element4to3.html" title="Element Transforms: R4 to R3">http://hl7.org/fhir/StructureMap/Element4to3</a><span style="color: navy">&quot;
</span>
<b>group </b>base64Binary<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>base64Binary, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>base64BinaryR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;base64Binary-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>boolean<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>boolean, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>booleanR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;boolean-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>canonical<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>canonical, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>canonicalR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;canonical-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>code<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>code, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>codeR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;code-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>date<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>date, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>dateR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;date-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>dateTime<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>dateTime, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>dateTimeR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;dateTime-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>decimal<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>decimal, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>decimalR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;decimal-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>id<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>id, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>idR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;id-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>instant<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>instant, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>instantR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;instant-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>integer<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>integer, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>integerR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;integer-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>markdown<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>markdown, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>markdownR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;markdown-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>oid<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>oid, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>oidR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;oid-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>positiveInt<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>positiveInt, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>positiveIntR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;positiveInt-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>string<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>string, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>stringR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;string-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>time<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>time, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>timeR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;time-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>unsignedInt<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>unsignedInt, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>unsignedIntR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;unsignedInt-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>uri<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>uri, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>uriR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;uri-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>url<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>url, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>urlR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;url-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>uuid<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>uuid, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>uuidR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;uuid-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>xhtml<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>xhtml, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>xhtmlR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;xhtml-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>markdownToString<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>markdown, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>stringR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;markdownToString-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>code2id<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>code, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>idR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;code2id-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>uri2code<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>uriR3, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>code<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;uri2code-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>string2code<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>stringR3, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>code<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;uri2code-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>code2string<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>codeR3, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>string<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;uri2code-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>canonical2Uri<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>canonicalR3, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>uri<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;canonical2uri-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>url2uri<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>url, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>uriR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;code2uri-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>string2id<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>string, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>idR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;uri2code-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>string2uri<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>string, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>uriR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;code2uri-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>decimal2unsignedInt<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>decimal, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>unsignedIntR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;unsignedInt2decimal-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>canonical2string<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>canonical, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>stringR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;code2uri-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>oid2string<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>string, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>oidR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>id2oid<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>id, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>oidR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>id2string<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>id, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>stringR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>code2oid<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>code, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>oidR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;type+&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>integer2positiveInt<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>integer, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>positiveIntR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;unsignedInt2decimal-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>positiveInt2integer<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>positiveInt, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>integerR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span> <i>&quot;unsignedInt2decimal-value&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>unsignedInt2positiveInt<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>unsignedInt, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>positiveIntR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>code2uri<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>code, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>uriR3<span style="color: navy">)</span><b> extends </b>Element<b> &lt;&lt;types&gt;&gt;</b><span style="color: navy"> {
</span>  src.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>tgt.value = <span style="color: maroon">v</span><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/primitives4to3"/>
  <version value="0.1.0"/>
  <name value="primitives4to3"/>
  <title value="Primitive Transforms: R4 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="PrimitiveTransformsR4toR3"/>
  <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/4.0/base64Binary"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/base64Binary"/>
    <mode value="target"/>
    <alias value="base64BinaryR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/boolean"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/boolean"/>
    <mode value="target"/>
    <alias value="booleanR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/canonical"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/canonical"/>
    <mode value="target"/>
    <alias value="canonicalR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/code"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/code"/>
    <mode value="target"/>
    <alias value="codeR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/date"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/date"/>
    <mode value="target"/>
    <alias value="dateR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/dateTime"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/dateTime"/>
    <mode value="target"/>
    <alias value="dateTimeR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/decimal"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/decimal"/>
    <mode value="target"/>
    <alias value="decimalR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/id"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/id"/>
    <mode value="target"/>
    <alias value="idR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/instant"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/instant"/>
    <mode value="target"/>
    <alias value="instantR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/integer"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/integer"/>
    <mode value="target"/>
    <alias value="integerR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/markdown"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/markdown"/>
    <mode value="target"/>
    <alias value="markdownR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/oid"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/oid"/>
    <mode value="target"/>
    <alias value="oidR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/positiveInt"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/positiveInt"/>
    <mode value="target"/>
    <alias value="positiveIntR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/string"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/string"/>
    <mode value="target"/>
    <alias value="stringR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/time"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/time"/>
    <mode value="target"/>
    <alias value="timeR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/unsignedInt"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/unsignedInt"/>
    <mode value="target"/>
    <alias value="unsignedIntR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/uri"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/uri"/>
    <mode value="target"/>
    <alias value="uriR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/url"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/url"/>
    <mode value="target"/>
    <alias value="urlR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/uuid"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/uuid"/>
    <mode value="target"/>
    <alias value="uuidR3"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/4.0/xhtml"/>
    <mode value="source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/3.0/xhtml"/>
    <mode value="target"/>
    <alias value="xhtmlR3"/>
  </structure>
  <import value="http://hl7.org/fhir/StructureMap/Element4to3"/>
  <group>
    <name value="base64Binary"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="base64Binary"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="base64BinaryR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="base64Binary-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="boolean"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="boolean"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="booleanR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="boolean-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="canonical"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="canonical"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="canonicalR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="canonical-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="code"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="code"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="codeR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="code-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="date"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="date"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="dateR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="date-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="dateTime"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="dateTime"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="dateTimeR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="dateTime-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="decimal"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="decimal"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="decimalR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="decimal-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="id"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="id"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="idR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="id-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="instant"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="instant"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="instantR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="instant-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="integer"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="integer"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="integerR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="integer-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="markdown"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="markdown"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="markdownR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="markdown-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="oid"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="oid"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="oidR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="oid-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="positiveInt"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="positiveInt"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="positiveIntR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="positiveInt-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="string"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="string"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="stringR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="string-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="time"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="time"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="timeR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="time-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="unsignedInt"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="unsignedInt"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="unsignedIntR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="unsignedInt-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="uri"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="uri"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="uriR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="uri-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="url"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="url"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="urlR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="url-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="uuid"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="uuid"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="uuidR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="uuid-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="xhtml"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="xhtml"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="xhtmlR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="xhtml-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="markdownToString"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="markdown"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="stringR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="markdownToString-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="code2id"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="code"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="idR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="code2id-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="uri2code"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="uriR3"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="code"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="uri2code-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="string2code"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="stringR3"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="code"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="uri2code-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="code2string"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="codeR3"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="string"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="uri2code-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="canonical2Uri"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="canonicalR3"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="uri"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="canonical2uri-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="url2uri"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="url"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="uriR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="code2uri-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="string2id"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="string"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="idR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="uri2code-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="string2uri"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="string"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="uriR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="code2uri-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="decimal2unsignedInt"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="decimal"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="unsignedIntR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="unsignedInt2decimal-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="canonical2string"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="canonical"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="stringR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="code2uri-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="oid2string"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="string"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="oidR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="id2oid"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="id"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="oidR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="id2string"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="id"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="stringR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="code2oid"/>
    <extends value="Element"/>
    <typeMode value="type-and-types"/>
    <input>
      <name value="src"/>
      <type value="code"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="oidR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="integer2positiveInt"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="integer"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="positiveIntR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="unsignedInt2decimal-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="positiveInt2integer"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="positiveInt"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="integerR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="unsignedInt2decimal-value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="unsignedInt2positiveInt"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="unsignedInt"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="positiveIntR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="code2uri"/>
    <extends value="Element"/>
    <typeMode value="types"/>
    <input>
      <name value="src"/>
      <type value="code"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="uriR3"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="value"/>
      <source>
        <context value="src"/>
        <element value="value"/>
        <variable value="v"/>
      </source>
      <target>
        <context value="tgt"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="v"/>
        </parameter>
      </target>
    </rule>
  </group>
</StructureMap>