<?xml version="1.0" encoding="UTF-8"?>

<StructureMap xmlns="http://hl7.org/fhir">
  <id value="PlanNetToNdhEndpointSM"/>
  <language value="en"/>
  <text>
    <status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap PlanNetToNdhEndpointSM</b></p><a name="PlanNetToNdhEndpointSM"> </a><a name="hcPlanNetToNdhEndpointSM"> </a><pre class="fml">
<b>map</b><span style="color: navy"> &quot;</span>http://hl7.org/fhir/us/ndh/StructureMap/PlanNetToNdhEndpointSM<span style="color: navy">&quot; = &quot;</span>PlanNetToNdhEndpointSM<span style="color: navy">&quot;

</span><span style="color: navy">// </span><span style="color: green">This StructureMap defines the mapping from Plan-Net Endpoint to NDH Endpoint.</span>

<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.2/StructureDefinition-plannet-Endpoint.html" title="Plan-Net Endpoint">http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Endpoint</a><span style="color: navy">&quot; </span><b>alias </b>Source <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="StructureDefinition-ndh-Endpoint.html" title="NDH Endpoint Profile">http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint</a><span style="color: navy">&quot; </span><b>alias </b>Target <b>as </b><b>target</b>

<b>group </b>PlanNetToNdhEndpoint<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>Endpoint, <b>target</b> <span style="color: maroon">tgt</span><span style="color: navy"> : </span>Endpoint<span style="color: navy">)</span><span style="color: navy"> {
</span>  src.extension<b> where </b>(url = 'http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-endpoint-usecase') <i>&quot;dropPlanNetEndpointUsecases&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">intentionally not mapped as there is no equivalent in NDH.</span>
  src.managingOrganization<b> as </b><span style="color: maroon">vManagingOrg</span><span style="color: navy"><b> -&gt; </b></span>tgt.managingOrganization = <span style="color: maroon">vManagingOrg</span><span style="color: navy">;</span>
  src.contact<b> as </b><span style="color: maroon">vContactSrc</span><span style="color: navy"><b> -&gt; </b></span>tgt.contact<b> as </b><span style="color: maroon">vContactTgt</span><b> then</b><span style="color: navy"> {
</span>    vContactSrc.value<b> as </b><span style="color: maroon">vContactValue</span><span style="color: navy"><b> -&gt; </b></span>vContactTgt.value = <span style="color: maroon">vContactValue</span> <i>&quot;copyContactValue&quot;</i><span style="color: navy">;</span>
    vContactSrc.system<b> as </b><span style="color: maroon">vContactSystem</span><span style="color: navy"><b> -&gt; </b></span>vContactTgt.system = <span style="color: maroon">vContactSystem</span> <i>&quot;copyContactSystem&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;copyContact&quot;</i><span style="color: navy">;</span>
  src.identifier<b> as </b><span style="color: maroon">vIdentifierSrc</span><span style="color: navy"><b> -&gt; </b></span>tgt.identifier<b> as </b><span style="color: maroon">vIdentifierTgt</span><b> then</b><span style="color: navy"> {
</span>    vIdentifierSrc<b> as </b><span style="color: maroon">vIdentifierValue</span><span style="color: navy"><b> -&gt; </b></span>vIdentifierTgt = <span style="color: maroon">vIdentifierValue</span> <i>&quot;copyIdentifierValue&quot;</i><span style="color: navy">;</span>
    vIdentifierSrc.assigner<b> as </b><span style="color: maroon">vIdentifierAssigner</span><span style="color: navy"><b> -&gt; </b></span>vIdentifierTgt.assigner = <span style="color: maroon">vIdentifierAssigner</span> <i>&quot;copyIdentifierAssigner&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;copyIdentifier&quot;</i><span style="color: navy">;</span>
  src.status<b> as </b><span style="color: maroon">vStatus</span><span style="color: navy"><b> -&gt; </b></span>tgt.status = <span style="color: maroon">vStatus</span><span style="color: navy">;</span>
  src.connectionType<b> as </b><span style="color: maroon">vConnectionType</span><span style="color: navy"><b> -&gt; </b></span>tgt.connectionType = <span style="color: maroon">vConnectionType</span><span style="color: navy">;</span>
  src.name<b> as </b><span style="color: maroon">vName</span><span style="color: navy"><b> -&gt; </b></span>tgt.name = <span style="color: maroon">vName</span><span style="color: navy">;</span>
  src.payloadType<b> as </b><span style="color: maroon">vPayloadType</span><span style="color: navy"><b> -&gt; </b></span>tgt.payloadType = <span style="color: maroon">vPayloadType</span><span style="color: navy">;</span>
  src.payloadMimeType<b> as </b><span style="color: maroon">vPayloadMimeType</span><span style="color: navy"><b> -&gt; </b></span>tgt.payloadMimeType = <span style="color: maroon">vPayloadMimeType</span><span style="color: navy">;</span>
  src.address<b> as </b><span style="color: maroon">vAddress</span><span style="color: navy"><b> -&gt; </b></span>tgt.address = <span style="color: maroon">vAddress</span><span style="color: navy">;</span>
  src.header<b> as </b><span style="color: maroon">vHeader</span><span style="color: navy"><b> -&gt; </b></span>tgt.header = <span style="color: maroon">vHeader</span><span style="color: navy">;</span>
  src.period<b> as </b><span style="color: maroon">vPeriod</span><span style="color: navy"><b> -&gt; </b></span>tgt.period = <span style="color: maroon">vPeriod</span><span style="color: navy">;</span>
  src.meta<b> as </b><span style="color: maroon">vMetaSrc</span><span style="color: navy"><b> -&gt; </b></span>tgt.meta<b> as </b><span style="color: maroon">vMetaTgt</span><b> then</b><span style="color: navy"> {
</span>    vMetaSrc.lastUpdated<b> as </b><span style="color: maroon">vLastUpdated</span><span style="color: navy"><b> -&gt; </b></span>vMetaTgt.lastUpdated = <span style="color: maroon">vLastUpdated</span> <i>&quot;copyMetaLastUpdated&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;copyMeta&quot;</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="pa"/>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="4">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical value="http://hl7.org/fhir/us/ndh/ImplementationGuide/hl7.fhir.us.ndh"/>
      </extension>
    </valueInteger>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical value="http://hl7.org/fhir/us/ndh/ImplementationGuide/hl7.fhir.us.ndh"/>
      </extension>
    </valueCode>
  </extension>
  <url value="http://hl7.org/fhir/us/ndh/StructureMap/PlanNetToNdhEndpointSM"/>
  <version value="2.0.0-current"/>
  <name value="PlanNetToNdhEndpointSM"/>
  <title value="This StructureMap defines the mapping from Plan-Net Endpoint to NDH Endpoint."/>
  <status value="active"/>
  <date value="2026-05-29T16:56:26+00:00"/>
  <publisher value="HL7 International / Patient Administration"/>
  <contact>
    <name value="HL7 International / Patient Administration"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/pafm"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="pafm@lists.hl7.org"/>
    </telecom>
  </contact>
  <description value="This StructureMap defines the mapping from Plan-Net Endpoint to NDH Endpoint."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America"/>
    </coding>
  </jurisdiction>
  <structure>
    <url value="http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Endpoint"/>
    <mode value="source"/>
    <alias value="Source"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint"/>
    <mode value="target"/>
    <alias value="Target"/>
  </structure>
  <group>
    <name value="PlanNetToNdhEndpoint"/>
    <typeMode value="none"/>
    <input>
      <name value="src"/>
      <type value="Endpoint"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="tgt"/>
      <type value="Endpoint"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="dropPlanNetEndpointUsecases"/>
      <source>
        <context value="src"/>
        <element value="extension"/>
        <condition value="(url = 'http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-endpoint-usecase')"/>
      </source>
      <documentation value="intentionally not mapped as there is no equivalent in NDH."/>
    </rule>
    <rule>
      <name value="managingOrganization"/>
      <source>
        <context value="src"/>
        <element value="managingOrganization"/>
        <variable value="vManagingOrg"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="managingOrganization"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vManagingOrg"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="copyContact"/>
      <source>
        <context value="src"/>
        <element value="contact"/>
        <variable value="vContactSrc"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="contact"/>
        <variable value="vContactTgt"/>
      </target>
      <rule>
        <name value="copyContactValue"/>
        <source>
          <context value="vContactSrc"/>
          <element value="value"/>
          <variable value="vContactValue"/>
        </source>
        <target>
          <context value="vContactTgt"/>
          <contextType value="variable"/>
          <element value="value"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="vContactValue"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="copyContactSystem"/>
        <source>
          <context value="vContactSrc"/>
          <element value="system"/>
          <variable value="vContactSystem"/>
        </source>
        <target>
          <context value="vContactTgt"/>
          <contextType value="variable"/>
          <element value="system"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="vContactSystem"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="copyIdentifier"/>
      <source>
        <context value="src"/>
        <element value="identifier"/>
        <variable value="vIdentifierSrc"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="identifier"/>
        <variable value="vIdentifierTgt"/>
      </target>
      <rule>
        <name value="copyIdentifierValue"/>
        <source>
          <context value="vIdentifierSrc"/>
          <variable value="vIdentifierValue"/>
        </source>
        <target>
          <context value="vIdentifierTgt"/>
          <contextType value="variable"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="vIdentifierValue"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="copyIdentifierAssigner"/>
        <source>
          <context value="vIdentifierSrc"/>
          <element value="assigner"/>
          <variable value="vIdentifierAssigner"/>
        </source>
        <target>
          <context value="vIdentifierTgt"/>
          <contextType value="variable"/>
          <element value="assigner"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="vIdentifierAssigner"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="status"/>
      <source>
        <context value="src"/>
        <element value="status"/>
        <variable value="vStatus"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="status"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vStatus"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="connectionType"/>
      <source>
        <context value="src"/>
        <element value="connectionType"/>
        <variable value="vConnectionType"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="connectionType"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vConnectionType"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="name"/>
      <source>
        <context value="src"/>
        <element value="name"/>
        <variable value="vName"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="name"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vName"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="payloadType"/>
      <source>
        <context value="src"/>
        <element value="payloadType"/>
        <variable value="vPayloadType"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="payloadType"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vPayloadType"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="payloadMimeType"/>
      <source>
        <context value="src"/>
        <element value="payloadMimeType"/>
        <variable value="vPayloadMimeType"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="payloadMimeType"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vPayloadMimeType"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="address"/>
      <source>
        <context value="src"/>
        <element value="address"/>
        <variable value="vAddress"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="address"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vAddress"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="header"/>
      <source>
        <context value="src"/>
        <element value="header"/>
        <variable value="vHeader"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="header"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vHeader"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="period"/>
      <source>
        <context value="src"/>
        <element value="period"/>
        <variable value="vPeriod"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="period"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="vPeriod"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="copyMeta"/>
      <source>
        <context value="src"/>
        <element value="meta"/>
        <variable value="vMetaSrc"/>
      </source>
      <target>
        <context value="tgt"/>
        <contextType value="variable"/>
        <element value="meta"/>
        <variable value="vMetaTgt"/>
      </target>
      <rule>
        <name value="copyMetaLastUpdated"/>
        <source>
          <context value="vMetaSrc"/>
          <element value="lastUpdated"/>
          <variable value="vLastUpdated"/>
        </source>
        <target>
          <context value="vMetaTgt"/>
          <contextType value="variable"/>
          <element value="lastUpdated"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="vLastUpdated"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
</StructureMap>