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

<StructureMap xmlns="http://hl7.org/fhir">
  <id value="MeaslesLabResultsMap"/>
  <text>
    <status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap MeaslesLabResultsMap</b></p><a name="MeaslesLabResultsMap"> </a><a name="hcMeaslesLabResultsMap"> </a><pre class="fml">
<b>map</b><span style="color: navy"> &quot;</span>http://example.org/StructureMap/MeaslesLabResultsMap<span style="color: navy">&quot; = &quot;</span>MeaslesLabResultsMap<span style="color: navy">&quot;

</span><span style="color: navy">// </span><span style="color: green">Measles Lab Results QuestionnaireResponse to FHIR resources</span>
<span style="color: navy">// </span><span style="color: green">Maps to: Observation (Measles IgM), Observation (Rubella IgM), DiagnosticReport</span>

<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R4/questionnaireresponse.html" title="QuestionnaireResponse">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style="color: navy">&quot; </span><b>alias </b>QuestionnaireResponse <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R4/bundle.html" title="Bundle">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style="color: navy">&quot; </span><b>alias </b>Bundle <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R4/observation.html" title="Observation">http://hl7.org/fhir/StructureDefinition/Observation</a><span style="color: navy">&quot; </span><b>alias </b>Observation <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R4/diagnosticreport.html" title="DiagnosticReport">http://hl7.org/fhir/StructureDefinition/DiagnosticReport</a><span style="color: navy">&quot; </span><b>alias </b>DiagnosticReport <b>as </b><b>target</b>

<b>group </b>MeaslesLabResultsMap<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>QuestionnaireResponse, <b>target</b> <span style="color: maroon">bundle</span><span style="color: navy"> : </span>Bundle<span style="color: navy">)</span><span style="color: navy"> {
</span>  src<span style="color: navy"><b> -&gt; </b></span>bundle.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span> <i>&quot;bundleId&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>bundle.type = <span style="color: blue">'transaction'</span> <i>&quot;bundleType&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Measles IgM Observation</span>
  src<span style="color: navy"><b> -&gt; </b></span>bundle.entry<b> as </b><span style="color: maroon">e</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">measlesObs</span><b> then </b>MapMeaslesIgM<span style="color: navy">(</span><span style="color: maroon">src</span><span style="color: navy">, </span><span style="color: maroon">measlesObs</span><span style="color: navy">)</span> <i>&quot;execMeaslesIgM&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span> e.request<b> as </b><span style="color: maroon">req</span><span style="color: navy">, </span> req.method = <span style="color: blue">'POST'</span><span style="color: navy">, </span> req.url = <span style="color: blue">'Observation'</span> <i>&quot;measlesObsReq&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;measlesIgMEntry&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Rubella IgM Observation</span>
  src<span style="color: navy"><b> -&gt; </b></span>bundle.entry<b> as </b><span style="color: maroon">e</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">rubellaObs</span><b> then </b>MapRubellaIgM<span style="color: navy">(</span><span style="color: maroon">src</span><span style="color: navy">, </span><span style="color: maroon">rubellaObs</span><span style="color: navy">)</span> <i>&quot;execRubellaIgM&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span> e.request<b> as </b><span style="color: maroon">req</span><span style="color: navy">, </span> req.method = <span style="color: blue">'POST'</span><span style="color: navy">, </span> req.url = <span style="color: blue">'Observation'</span> <i>&quot;rubellaObsReq&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;rubellaIgMEntry&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">DiagnosticReport</span>
  src<span style="color: navy"><b> -&gt; </b></span>bundle.entry<b> as </b><span style="color: maroon">e</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'DiagnosticReport'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">report</span><b> then </b>MapLabDiagnosticReport<span style="color: navy">(</span><span style="color: maroon">src</span><span style="color: navy">, </span><span style="color: maroon">report</span><span style="color: navy">)</span> <i>&quot;execReport&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span> e.request<b> as </b><span style="color: maroon">req</span><span style="color: navy">, </span> req.method = <span style="color: blue">'POST'</span><span style="color: navy">, </span> req.url = <span style="color: blue">'DiagnosticReport'</span> <i>&quot;reportReq&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;diagnosticReportEntry&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>MapMeaslesIgM<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>QuestionnaireResponse, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation<span style="color: navy">)</span><span style="color: navy"> {
</span>  src<span style="color: navy"><b> -&gt; </b></span>obs.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span> <i>&quot;obsId&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>obs.status = <span style="color: blue">'final'</span> <i>&quot;status&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">LOINC code for Measles virus IgM Ab in Serum</span>
  src<span style="color: navy"><b> -&gt; </b></span>obs.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;loincSys&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'20479-4'</span> <i>&quot;measlesIgMCode&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Measles virus IgM Ab [Presence] in Serum'</span> <i>&quot;measlesIgMDisplay&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;measlesIgMCoding&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span>code.text = <span style="color: blue">'Measles IgM'</span> <i>&quot;obsText&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;codeBlock&quot;</i><span style="color: navy">;</span>
  src.subject<b> as </b><span style="color: maroon">subj</span><span style="color: navy"><b> -&gt; </b></span> obs.subject<b> as </b><span style="color: maroon">ref</span><span style="color: navy">, </span> ref.reference = <span style="color: navy">(</span>'Patient/' + subj.reference<span style="color: navy">)</span><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Lab ID as identifier</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '8732404074721'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.identifier<b> as </b><span style="color: maroon">id</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span>id.system = <span style="color: blue">'http://example.org/identifier/lab-id'</span> <i>&quot;labIdSys&quot;</i><span style="color: navy">;</span>
      ans<span style="color: navy"><b> -&gt; </b></span>id.value = <span style="color: maroon">ans.valueString</span> <i>&quot;labIdValue&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;labId&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;labIdItem&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Specimen sent date → effective period start</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '718251724172'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.effective = <span style="color: maroon">ans.valueDate</span> <i>&quot;effectiveDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;specimenSentDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Date specimen received → issued</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'date-specimen-received'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.issued = <span style="color: maroon">ans.valueDate</span> <i>&quot;issued&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;receivedDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Specimen condition as note</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'specimen-condition'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span> obs.note<b> as </b><span style="color: maroon">note</span><span style="color: navy">, </span> note.text = <span style="color: navy">(</span>'Specimen condition: ' + ans.valueCoding.display<span style="color: navy">)</span> <i>&quot;conditionNote&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;specimenCondition&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Measles IgM result → value</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'measles-igm'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.valueCodeableConcept<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span>coding.coding<b> as </b><span style="color: maroon">cod</span><b> then</b><span style="color: navy"> {
</span>        ans<span style="color: navy"><b> -&gt; </b></span>cod.system = <span style="color: blue">'http://example.org/CodeSystem/lab-result'</span> <i>&quot;resultSys&quot;</i><span style="color: navy">;</span>
        ans<span style="color: navy"><b> -&gt; </b></span>cod.code = <span style="color: navy">(</span>ans.valueCoding.code<span style="color: navy">)</span> <i>&quot;resultCode&quot;</i><span style="color: navy">;</span>
        ans<span style="color: navy"><b> -&gt; </b></span>cod.display = <span style="color: navy">(</span>ans.valueCoding.display<span style="color: navy">)</span> <i>&quot;resultDisplay&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;resultCoding&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;measlesIgMResult&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Interpretation</span>
    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.interpretation<b> as </b><span style="color: maroon">interp</span><b> then</b><span style="color: navy"> {
</span>      ans.valueCoding<b> as </b><span style="color: maroon">val</span><b> where </b>code = 'Positive'<span style="color: navy"><b> -&gt; </b></span> interp.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'POS'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Positive'</span> <i>&quot;posInterp&quot;</i><span style="color: navy">;</span>
      ans.valueCoding<b> as </b><span style="color: maroon">val</span><b> where </b>code = 'Negative'<span style="color: navy"><b> -&gt; </b></span> interp.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'NEG'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Negative'</span> <i>&quot;negInterp&quot;</i><span style="color: navy">;</span>
      ans.valueCoding<b> as </b><span style="color: maroon">val</span><b> where </b>code = 'Indeterminate'<span style="color: navy"><b> -&gt; </b></span> interp.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'IND'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Indeterminate'</span> <i>&quot;indInterp&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;interpretation&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;measlesIgMItem&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Date results sent out</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'date-lab-sent-results'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.extension<b> as </b><span style="color: maroon">ext</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span>ext.url = <span style="color: blue">'http://example.org/StructureDefinition/resultsSentDate'</span> <i>&quot;extUrl&quot;</i><span style="color: navy">;</span>
      ans<span style="color: navy"><b> -&gt; </b></span>ext.valueDate = <span style="color: maroon">ans.valueDate</span> <i>&quot;extValue&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;resultsSentExt&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;resultsSentDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Regional lab referral date</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '655865451155'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.extension<b> as </b><span style="color: maroon">ext</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span>ext.url = <span style="color: blue">'http://example.org/StructureDefinition/regionalLabDate'</span> <i>&quot;extUrl&quot;</i><span style="color: navy">;</span>
      ans<span style="color: navy"><b> -&gt; </b></span>ext.valueDate = <span style="color: maroon">ans.valueDate</span> <i>&quot;extValue&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;regionalLabExt&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;regionalLabDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Final classification as note</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'final-classification'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span> obs.note<b> as </b><span style="color: maroon">note</span><span style="color: navy">, </span> note.text = <span style="color: navy">(</span>'Final classification: ' + ans.valueCoding.display<span style="color: navy">)</span> <i>&quot;classificationNote&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;finalClassification&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>MapRubellaIgM<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>QuestionnaireResponse, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation<span style="color: navy">)</span><span style="color: navy"> {
</span>  src<span style="color: navy"><b> -&gt; </b></span>obs.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span> <i>&quot;obsId&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>obs.status = <span style="color: blue">'final'</span> <i>&quot;status&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">LOINC code for Rubella virus IgM Ab in Serum</span>
  src<span style="color: navy"><b> -&gt; </b></span>obs.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;loincSys&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'22501-3'</span> <i>&quot;rubellaIgMCode&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Rubella virus IgM Ab [Presence] in Serum'</span> <i>&quot;rubellaIgMDisplay&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;rubellaIgMCoding&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span>code.text = <span style="color: blue">'Rubella IgM'</span> <i>&quot;obsText&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;codeBlock&quot;</i><span style="color: navy">;</span>
  src.subject<b> as </b><span style="color: maroon">subj</span><span style="color: navy"><b> -&gt; </b></span> obs.subject<b> as </b><span style="color: maroon">ref</span><span style="color: navy">, </span> ref.reference = <span style="color: navy">(</span>'Patient/' + subj.reference<span style="color: navy">)</span><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Lab ID as identifier</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '8732404074721'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.identifier<b> as </b><span style="color: maroon">id</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span>id.system = <span style="color: blue">'http://example.org/identifier/lab-id'</span> <i>&quot;labIdSys&quot;</i><span style="color: navy">;</span>
      ans<span style="color: navy"><b> -&gt; </b></span>id.value = <span style="color: maroon">ans.valueString</span> <i>&quot;labIdValue&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;labId&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;labIdItem&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Specimen received date → effective</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'date-specimen-received'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.effective = <span style="color: maroon">ans.valueDate</span> <i>&quot;effectiveDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;receivedDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Rubella IgM result → value</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'rubella-igm'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.valueCodeableConcept<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span>coding.coding<b> as </b><span style="color: maroon">cod</span><b> then</b><span style="color: navy"> {
</span>        ans<span style="color: navy"><b> -&gt; </b></span>cod.system = <span style="color: blue">'http://example.org/CodeSystem/lab-result'</span> <i>&quot;resultSys&quot;</i><span style="color: navy">;</span>
        ans<span style="color: navy"><b> -&gt; </b></span>cod.code = <span style="color: navy">(</span>ans.valueCoding.code<span style="color: navy">)</span> <i>&quot;resultCode&quot;</i><span style="color: navy">;</span>
        ans<span style="color: navy"><b> -&gt; </b></span>cod.display = <span style="color: navy">(</span>ans.valueCoding.display<span style="color: navy">)</span> <i>&quot;resultDisplay&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;resultCoding&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;rubellaIgMResult&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Interpretation</span>
    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>obs.interpretation<b> as </b><span style="color: maroon">interp</span><b> then</b><span style="color: navy"> {
</span>      ans.valueCoding<b> as </b><span style="color: maroon">val</span><b> where </b>code = 'Positive'<span style="color: navy"><b> -&gt; </b></span> interp.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'POS'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Positive'</span> <i>&quot;posInterp&quot;</i><span style="color: navy">;</span>
      ans.valueCoding<b> as </b><span style="color: maroon">val</span><b> where </b>code = 'Negative'<span style="color: navy"><b> -&gt; </b></span> interp.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'NEG'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Negative'</span> <i>&quot;negInterp&quot;</i><span style="color: navy">;</span>
      ans.valueCoding<b> as </b><span style="color: maroon">val</span><b> where </b>code = 'Indeterminate'<span style="color: navy"><b> -&gt; </b></span> interp.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'IND'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Indeterminate'</span> <i>&quot;indInterp&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;interpretation&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;rubellaIgMItem&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Status: not done if absent</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'rubella-igm'<b> then</b><span style="color: navy"> {
</span>    item<b> where </b>answer.empty()<span style="color: navy"><b> -&gt; </b></span> obs.status = <span style="color: blue">'cancelled'</span><span style="color: navy">, </span> obs.dataAbsentReason<b> as </b><span style="color: maroon">reason</span><span style="color: navy">, </span> reason.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/data-absent-reason'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'not-performed'</span> <i>&quot;notDone&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;rubellaNotDone&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>MapLabDiagnosticReport<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>QuestionnaireResponse, <b>target</b> <span style="color: maroon">report</span><span style="color: navy"> : </span>DiagnosticReport<span style="color: navy">)</span><span style="color: navy"> {
</span>  src<span style="color: navy"><b> -&gt; </b></span>report.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span> <i>&quot;reportId&quot;</i><span style="color: navy">;</span>
  src<span style="color: navy"><b> -&gt; </b></span>report.status = <span style="color: blue">'final'</span> <i>&quot;status&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Category: Laboratory</span>
  src<span style="color: navy"><b> -&gt; </b></span>report.category<b> as </b><span style="color: maroon">cat</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>cat.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v2-0074'</span> <i>&quot;catSys&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'LAB'</span> <i>&quot;catCode&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Laboratory'</span> <i>&quot;catDisplay&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;catCoding&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;category&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Measles serology panel LOINC</span>
  src<span style="color: navy"><b> -&gt; </b></span>report.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>    src<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      src<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;loincSys&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'41852-5'</span> <i>&quot;panelCode&quot;</i><span style="color: navy">;</span>
      src<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Microorganism or agent identified in Specimen'</span> <i>&quot;panelDisplay&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;panelCoding&quot;</i><span style="color: navy">;</span>
    src<span style="color: navy"><b> -&gt; </b></span>code.text = <span style="color: blue">'Measles/Rubella Serology Panel'</span> <i>&quot;codeText&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;codeBlock&quot;</i><span style="color: navy">;</span>
  src.subject<b> as </b><span style="color: maroon">subj</span><span style="color: navy"><b> -&gt; </b></span> report.subject<b> as </b><span style="color: maroon">ref</span><span style="color: navy">, </span> ref.reference = <span style="color: navy">(</span>'Patient/' + subj.reference<span style="color: navy">)</span><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Lab ID</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '8732404074721'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>report.identifier<b> as </b><span style="color: maroon">id</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span>id.system = <span style="color: blue">'http://example.org/identifier/lab-id'</span> <i>&quot;labIdSys&quot;</i><span style="color: navy">;</span>
      ans<span style="color: navy"><b> -&gt; </b></span>id.value = <span style="color: maroon">ans.valueString</span> <i>&quot;labIdValue&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;labId&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;labIdItem&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Effective date from specimen received</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'date-specimen-received'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>report.effective = <span style="color: maroon">ans.valueDate</span> <i>&quot;effectiveDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;effectiveDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Issued date from results sent</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'date-lab-sent-results'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>report.issued = <span style="color: maroon">ans.valueDate</span> <i>&quot;issued&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;issuedDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Final classification as conclusion</span>
  src.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'final-classification'<b> then</b><span style="color: navy"> {
</span>    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>report.conclusion = <span style="color: navy">(</span>ans.valueCoding.display<span style="color: navy">)</span> <i>&quot;conclusion&quot;</i><span style="color: navy">;</span>
    item.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -&gt; </b></span>report.conclusionCode<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>      ans<span style="color: navy"><b> -&gt; </b></span> code.coding<b> as </b><span style="color: maroon">cod</span><span style="color: navy">, </span> cod.system = <span style="color: blue">'http://example.org/CodeSystem/measles-classification'</span><span style="color: navy">, </span> cod.code = <span style="color: navy">(</span>ans.valueCoding.code<span style="color: navy">)</span><span style="color: navy">, </span> cod.display = <span style="color: navy">(</span>ans.valueCoding.display<span style="color: navy">)</span> <i>&quot;conclusionCode&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;conclusionCode&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;classification&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span></pre></div>
  </text>
  <url value="http://example.org/StructureMap/MeaslesLabResultsMap"/>
  <version value="0.1.0"/>
  <name value="MeaslesLabResultsMap"/>
  <status value="draft"/>
  <date value="2026-05-04T06:19:40+00:00"/>
  <publisher value="Kenya National Public Health Institute"/>
  <contact>
    <name value="Kenya National Public Health Institute"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.nphi.go.ke/"/>
    </telecom>
  </contact>
  <contact>
    <name value="Kenya National Public Health Institute"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.nphi.go.ke/"/>
      <use value="work"/>
    </telecom>
  </contact>
  <description value="Measles Lab Results QuestionnaireResponse to FHIR resources&#xD;&#xA;Maps to: Observation (Measles IgM), Observation (Rubella IgM), DiagnosticReport"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="KE"/>
      <display value="Kenya"/>
    </coding>
  </jurisdiction>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"/>
    <mode value="source"/>
    <alias value="QuestionnaireResponse"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
    <mode value="target"/>
    <alias value="Bundle"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <mode value="target"/>
    <alias value="Observation"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/DiagnosticReport"/>
    <mode value="target"/>
    <alias value="DiagnosticReport"/>
  </structure>
  <group>
    <name value="MeaslesLabResultsMap"/>
    <typeMode value="none"/>
    <input>
      <name value="src"/>
      <type value="QuestionnaireResponse"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="bundle"/>
      <type value="Bundle"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="bundleId"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="bundle"/>
        <contextType value="variable"/>
        <element value="id"/>
        <transform value="uuid"/>
      </target>
    </rule>
    <rule>
      <name value="bundleType"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="bundle"/>
        <contextType value="variable"/>
        <element value="type"/>
        <transform value="copy"/>
        <parameter>
          <valueString value="transaction"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="measlesIgMEntry"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="bundle"/>
        <contextType value="variable"/>
        <element value="entry"/>
        <variable value="e"/>
      </target>
      <rule>
        <name value="execMeaslesIgM"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="e"/>
          <contextType value="variable"/>
          <element value="resource"/>
          <variable value="measlesObs"/>
          <transform value="create"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
        <dependent>
          <name value="MapMeaslesIgM"/>
          <variable value="src"/>
          <variable value="measlesObs"/>
        </dependent>
      </rule>
      <rule>
        <name value="measlesObsReq"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="e"/>
          <contextType value="variable"/>
          <element value="request"/>
          <variable value="req"/>
        </target>
        <target>
          <context value="req"/>
          <contextType value="variable"/>
          <element value="method"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="POST"/>
          </parameter>
        </target>
        <target>
          <context value="req"/>
          <contextType value="variable"/>
          <element value="url"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="rubellaIgMEntry"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="bundle"/>
        <contextType value="variable"/>
        <element value="entry"/>
        <variable value="e"/>
      </target>
      <rule>
        <name value="execRubellaIgM"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="e"/>
          <contextType value="variable"/>
          <element value="resource"/>
          <variable value="rubellaObs"/>
          <transform value="create"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
        <dependent>
          <name value="MapRubellaIgM"/>
          <variable value="src"/>
          <variable value="rubellaObs"/>
        </dependent>
      </rule>
      <rule>
        <name value="rubellaObsReq"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="e"/>
          <contextType value="variable"/>
          <element value="request"/>
          <variable value="req"/>
        </target>
        <target>
          <context value="req"/>
          <contextType value="variable"/>
          <element value="method"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="POST"/>
          </parameter>
        </target>
        <target>
          <context value="req"/>
          <contextType value="variable"/>
          <element value="url"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="diagnosticReportEntry"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="bundle"/>
        <contextType value="variable"/>
        <element value="entry"/>
        <variable value="e"/>
      </target>
      <rule>
        <name value="execReport"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="e"/>
          <contextType value="variable"/>
          <element value="resource"/>
          <variable value="report"/>
          <transform value="create"/>
          <parameter>
            <valueString value="DiagnosticReport"/>
          </parameter>
        </target>
        <dependent>
          <name value="MapLabDiagnosticReport"/>
          <variable value="src"/>
          <variable value="report"/>
        </dependent>
      </rule>
      <rule>
        <name value="reportReq"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="e"/>
          <contextType value="variable"/>
          <element value="request"/>
          <variable value="req"/>
        </target>
        <target>
          <context value="req"/>
          <contextType value="variable"/>
          <element value="method"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="POST"/>
          </parameter>
        </target>
        <target>
          <context value="req"/>
          <contextType value="variable"/>
          <element value="url"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="DiagnosticReport"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
  <group>
    <name value="MapMeaslesIgM"/>
    <typeMode value="none"/>
    <input>
      <name value="src"/>
      <type value="QuestionnaireResponse"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="obsId"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="id"/>
        <transform value="uuid"/>
      </target>
    </rule>
    <rule>
      <name value="status"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="status"/>
        <transform value="copy"/>
        <parameter>
          <valueString value="final"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="codeBlock"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="code"/>
        <variable value="code"/>
      </target>
      <rule>
        <name value="measlesIgMCoding"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="code"/>
          <contextType value="variable"/>
          <element value="coding"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="loincSys"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://loinc.org"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="measlesIgMCode"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="20479-4"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="measlesIgMDisplay"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Measles virus IgM Ab [Presence] in Serum"/>
            </parameter>
          </target>
        </rule>
      </rule>
      <rule>
        <name value="obsText"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="code"/>
          <contextType value="variable"/>
          <element value="text"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Measles IgM"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="subject"/>
      <source>
        <context value="src"/>
        <element value="subject"/>
        <variable value="subj"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="subject"/>
        <variable value="ref"/>
      </target>
      <target>
        <context value="ref"/>
        <contextType value="variable"/>
        <element value="reference"/>
        <transform value="evaluate"/>
        <parameter>
          <valueString value="'Patient/' + subj.reference"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="labIdItem"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = '8732404074721'"/>
      </source>
      <rule>
        <name value="labId"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="identifier"/>
          <variable value="id"/>
        </target>
        <rule>
          <name value="labIdSys"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="id"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://example.org/identifier/lab-id"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="labIdValue"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="id"/>
            <contextType value="variable"/>
            <element value="value"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="ans.valueString"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="specimenSentDate"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = '718251724172'"/>
      </source>
      <rule>
        <name value="effectiveDate"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="effective"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="ans.valueDate"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="receivedDate"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'date-specimen-received'"/>
      </source>
      <rule>
        <name value="issued"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="issued"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="ans.valueDate"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="specimenCondition"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'specimen-condition'"/>
      </source>
      <rule>
        <name value="conditionNote"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="note"/>
          <variable value="note"/>
        </target>
        <target>
          <context value="note"/>
          <contextType value="variable"/>
          <element value="text"/>
          <transform value="evaluate"/>
          <parameter>
            <valueString value="'Specimen condition: ' + ans.valueCoding.display"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="measlesIgMItem"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'measles-igm'"/>
      </source>
      <rule>
        <name value="measlesIgMResult"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="valueCodeableConcept"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="resultCoding"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <rule>
            <name value="resultSys"/>
            <source>
              <context value="ans"/>
            </source>
            <target>
              <context value="cod"/>
              <contextType value="variable"/>
              <element value="system"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="http://example.org/CodeSystem/lab-result"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="resultCode"/>
            <source>
              <context value="ans"/>
            </source>
            <target>
              <context value="cod"/>
              <contextType value="variable"/>
              <element value="code"/>
              <transform value="evaluate"/>
              <parameter>
                <valueString value="ans.valueCoding.code"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="resultDisplay"/>
            <source>
              <context value="ans"/>
            </source>
            <target>
              <context value="cod"/>
              <contextType value="variable"/>
              <element value="display"/>
              <transform value="evaluate"/>
              <parameter>
                <valueString value="ans.valueCoding.display"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <rule>
        <name value="interpretation"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="interpretation"/>
          <variable value="interp"/>
        </target>
        <rule>
          <name value="posInterp"/>
          <source>
            <context value="ans"/>
            <element value="valueCoding"/>
            <variable value="val"/>
            <condition value="code = 'Positive'"/>
          </source>
          <target>
            <context value="interp"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="POS"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Positive"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="negInterp"/>
          <source>
            <context value="ans"/>
            <element value="valueCoding"/>
            <variable value="val"/>
            <condition value="code = 'Negative'"/>
          </source>
          <target>
            <context value="interp"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="NEG"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Negative"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="indInterp"/>
          <source>
            <context value="ans"/>
            <element value="valueCoding"/>
            <variable value="val"/>
            <condition value="code = 'Indeterminate'"/>
          </source>
          <target>
            <context value="interp"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="IND"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Indeterminate"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="resultsSentDate"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'date-lab-sent-results'"/>
      </source>
      <rule>
        <name value="resultsSentExt"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="extension"/>
          <variable value="ext"/>
        </target>
        <rule>
          <name value="extUrl"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="ext"/>
            <contextType value="variable"/>
            <element value="url"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://example.org/StructureDefinition/resultsSentDate"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="extValue"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="ext"/>
            <contextType value="variable"/>
            <element value="valueDate"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="ans.valueDate"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="regionalLabDate"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = '655865451155'"/>
      </source>
      <rule>
        <name value="regionalLabExt"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="extension"/>
          <variable value="ext"/>
        </target>
        <rule>
          <name value="extUrl"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="ext"/>
            <contextType value="variable"/>
            <element value="url"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://example.org/StructureDefinition/regionalLabDate"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="extValue"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="ext"/>
            <contextType value="variable"/>
            <element value="valueDate"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="ans.valueDate"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="finalClassification"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'final-classification'"/>
      </source>
      <rule>
        <name value="classificationNote"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="note"/>
          <variable value="note"/>
        </target>
        <target>
          <context value="note"/>
          <contextType value="variable"/>
          <element value="text"/>
          <transform value="evaluate"/>
          <parameter>
            <valueString value="'Final classification: ' + ans.valueCoding.display"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
  <group>
    <name value="MapRubellaIgM"/>
    <typeMode value="none"/>
    <input>
      <name value="src"/>
      <type value="QuestionnaireResponse"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="obsId"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="id"/>
        <transform value="uuid"/>
      </target>
    </rule>
    <rule>
      <name value="status"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="status"/>
        <transform value="copy"/>
        <parameter>
          <valueString value="final"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="codeBlock"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="code"/>
        <variable value="code"/>
      </target>
      <rule>
        <name value="rubellaIgMCoding"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="code"/>
          <contextType value="variable"/>
          <element value="coding"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="loincSys"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://loinc.org"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="rubellaIgMCode"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="22501-3"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="rubellaIgMDisplay"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Rubella virus IgM Ab [Presence] in Serum"/>
            </parameter>
          </target>
        </rule>
      </rule>
      <rule>
        <name value="obsText"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="code"/>
          <contextType value="variable"/>
          <element value="text"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Rubella IgM"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="subject"/>
      <source>
        <context value="src"/>
        <element value="subject"/>
        <variable value="subj"/>
      </source>
      <target>
        <context value="obs"/>
        <contextType value="variable"/>
        <element value="subject"/>
        <variable value="ref"/>
      </target>
      <target>
        <context value="ref"/>
        <contextType value="variable"/>
        <element value="reference"/>
        <transform value="evaluate"/>
        <parameter>
          <valueString value="'Patient/' + subj.reference"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="labIdItem"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = '8732404074721'"/>
      </source>
      <rule>
        <name value="labId"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="identifier"/>
          <variable value="id"/>
        </target>
        <rule>
          <name value="labIdSys"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="id"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://example.org/identifier/lab-id"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="labIdValue"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="id"/>
            <contextType value="variable"/>
            <element value="value"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="ans.valueString"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="receivedDate"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'date-specimen-received'"/>
      </source>
      <rule>
        <name value="effectiveDate"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="effective"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="ans.valueDate"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="rubellaIgMItem"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'rubella-igm'"/>
      </source>
      <rule>
        <name value="rubellaIgMResult"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="valueCodeableConcept"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="resultCoding"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <rule>
            <name value="resultSys"/>
            <source>
              <context value="ans"/>
            </source>
            <target>
              <context value="cod"/>
              <contextType value="variable"/>
              <element value="system"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="http://example.org/CodeSystem/lab-result"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="resultCode"/>
            <source>
              <context value="ans"/>
            </source>
            <target>
              <context value="cod"/>
              <contextType value="variable"/>
              <element value="code"/>
              <transform value="evaluate"/>
              <parameter>
                <valueString value="ans.valueCoding.code"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="resultDisplay"/>
            <source>
              <context value="ans"/>
            </source>
            <target>
              <context value="cod"/>
              <contextType value="variable"/>
              <element value="display"/>
              <transform value="evaluate"/>
              <parameter>
                <valueString value="ans.valueCoding.display"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <rule>
        <name value="interpretation"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="interpretation"/>
          <variable value="interp"/>
        </target>
        <rule>
          <name value="posInterp"/>
          <source>
            <context value="ans"/>
            <element value="valueCoding"/>
            <variable value="val"/>
            <condition value="code = 'Positive'"/>
          </source>
          <target>
            <context value="interp"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="POS"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Positive"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="negInterp"/>
          <source>
            <context value="ans"/>
            <element value="valueCoding"/>
            <variable value="val"/>
            <condition value="code = 'Negative'"/>
          </source>
          <target>
            <context value="interp"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="NEG"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Negative"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="indInterp"/>
          <source>
            <context value="ans"/>
            <element value="valueCoding"/>
            <variable value="val"/>
            <condition value="code = 'Indeterminate'"/>
          </source>
          <target>
            <context value="interp"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="IND"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Indeterminate"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="rubellaNotDone"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'rubella-igm'"/>
      </source>
      <rule>
        <name value="notDone"/>
        <source>
          <context value="item"/>
          <condition value="answer.empty()"/>
        </source>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="status"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="cancelled"/>
          </parameter>
        </target>
        <target>
          <context value="obs"/>
          <contextType value="variable"/>
          <element value="dataAbsentReason"/>
          <variable value="reason"/>
        </target>
        <target>
          <context value="reason"/>
          <contextType value="variable"/>
          <element value="coding"/>
          <variable value="cod"/>
        </target>
        <target>
          <context value="cod"/>
          <contextType value="variable"/>
          <element value="system"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="http://terminology.hl7.org/CodeSystem/data-absent-reason"/>
          </parameter>
        </target>
        <target>
          <context value="cod"/>
          <contextType value="variable"/>
          <element value="code"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="not-performed"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
  <group>
    <name value="MapLabDiagnosticReport"/>
    <typeMode value="none"/>
    <input>
      <name value="src"/>
      <type value="QuestionnaireResponse"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="report"/>
      <type value="DiagnosticReport"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="reportId"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="report"/>
        <contextType value="variable"/>
        <element value="id"/>
        <transform value="uuid"/>
      </target>
    </rule>
    <rule>
      <name value="status"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="report"/>
        <contextType value="variable"/>
        <element value="status"/>
        <transform value="copy"/>
        <parameter>
          <valueString value="final"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="category"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="report"/>
        <contextType value="variable"/>
        <element value="category"/>
        <variable value="cat"/>
      </target>
      <rule>
        <name value="catCoding"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="cat"/>
          <contextType value="variable"/>
          <element value="coding"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="catSys"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://terminology.hl7.org/CodeSystem/v2-0074"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="catCode"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="LAB"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="catDisplay"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Laboratory"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="codeBlock"/>
      <source>
        <context value="src"/>
      </source>
      <target>
        <context value="report"/>
        <contextType value="variable"/>
        <element value="code"/>
        <variable value="code"/>
      </target>
      <rule>
        <name value="panelCoding"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="code"/>
          <contextType value="variable"/>
          <element value="coding"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="loincSys"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://loinc.org"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="panelCode"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="41852-5"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="panelDisplay"/>
          <source>
            <context value="src"/>
          </source>
          <target>
            <context value="coding"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Microorganism or agent identified in Specimen"/>
            </parameter>
          </target>
        </rule>
      </rule>
      <rule>
        <name value="codeText"/>
        <source>
          <context value="src"/>
        </source>
        <target>
          <context value="code"/>
          <contextType value="variable"/>
          <element value="text"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Measles/Rubella Serology Panel"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="subject"/>
      <source>
        <context value="src"/>
        <element value="subject"/>
        <variable value="subj"/>
      </source>
      <target>
        <context value="report"/>
        <contextType value="variable"/>
        <element value="subject"/>
        <variable value="ref"/>
      </target>
      <target>
        <context value="ref"/>
        <contextType value="variable"/>
        <element value="reference"/>
        <transform value="evaluate"/>
        <parameter>
          <valueString value="'Patient/' + subj.reference"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="labIdItem"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = '8732404074721'"/>
      </source>
      <rule>
        <name value="labId"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="report"/>
          <contextType value="variable"/>
          <element value="identifier"/>
          <variable value="id"/>
        </target>
        <rule>
          <name value="labIdSys"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="id"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://example.org/identifier/lab-id"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="labIdValue"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="id"/>
            <contextType value="variable"/>
            <element value="value"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="ans.valueString"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="effectiveDate"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'date-specimen-received'"/>
      </source>
      <rule>
        <name value="effectiveDate"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="report"/>
          <contextType value="variable"/>
          <element value="effective"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="ans.valueDate"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="issuedDate"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'date-lab-sent-results'"/>
      </source>
      <rule>
        <name value="issued"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="report"/>
          <contextType value="variable"/>
          <element value="issued"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="ans.valueDate"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="classification"/>
      <source>
        <context value="src"/>
        <element value="item"/>
        <variable value="item"/>
        <condition value="linkId = 'final-classification'"/>
      </source>
      <rule>
        <name value="conclusion"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="report"/>
          <contextType value="variable"/>
          <element value="conclusion"/>
          <transform value="evaluate"/>
          <parameter>
            <valueString value="ans.valueCoding.display"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="conclusionCode"/>
        <source>
          <context value="item"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="ans"/>
        </source>
        <target>
          <context value="report"/>
          <contextType value="variable"/>
          <element value="conclusionCode"/>
          <variable value="code"/>
        </target>
        <rule>
          <name value="conclusionCode"/>
          <source>
            <context value="ans"/>
          </source>
          <target>
            <context value="code"/>
            <contextType value="variable"/>
            <element value="coding"/>
            <variable value="cod"/>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://example.org/CodeSystem/measles-classification"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="code"/>
            <transform value="evaluate"/>
            <parameter>
              <valueString value="ans.valueCoding.code"/>
            </parameter>
          </target>
          <target>
            <context value="cod"/>
            <contextType value="variable"/>
            <element value="display"/>
            <transform value="evaluate"/>
            <parameter>
              <valueString value="ans.valueCoding.display"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
  </group>
</StructureMap>