HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm
2.1.0 - STU 2 US

This page is part of the electronic Case Reporting (eCR) (v2.1.0: STU 2) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

: eRSD PlanDefinition Instance Example - XML Representation

Active as of 2020-07-31

Raw xml | Download



<PlanDefinition xmlns="http://hl7.org/fhir">
  <id value="plandefinition-ersd-instance-example"/>
  <meta>
    <profile
             value="http://hl7.org/fhir/us/ecr/StructureDefinition/ersd-plandefinition"/>
  </meta>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p><b>Generated Narrative: PlanDefinition</b></p><div style="display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%"><p style="margin-bottom: 0px">Resource PlanDefinition "plandefinition-ersd-instance-example" </p><p style="margin-bottom: 0px">Profile: <a href="StructureDefinition-ersd-plandefinition.html">eRSD PlanDefinition</a></p></div><p><b>Variable</b>: <span title="text/fhirpath"><code>14</code></span>(<b>normalReportingDuration</b>)</p><p><b>url</b>: <code>http://hl7.org/fhir/us/ecr/PlanDefinition/plandefinition-ersd-instance-example</code></p><p><b>version</b>: 2.1.0</p><p><b>name</b>: PlanDefinition_eRSD_Instance_Example</p><p><b>title</b>: eRSD PlanDefinition Instance Example</p><p><b>type</b>: Workflow Definition <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/3.1.0/CodeSystem-plan-definition-type.html">PlanDefinitionType</a>#workflow-definition)</span></p><p><b>status</b>: active</p><p><b>experimental</b>: true</p><p><b>date</b>: 2020-07-31 12:32:29-0500</p><p><b>publisher</b>: HL7 Public Health Work Group (http://www.hl7.org/Special/committees/pher/index.cfm)</p><p><b>contact</b>: HL7 International - Public Health: <a href="http://www.hl7.org/Special/committees/pher">http://www.hl7.org/Special/committees/pher</a></p><p><b>description</b>: An example ersd PlanDefinition</p><p><b>jurisdiction</b>: United States of America <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (unknown#US)</span></p><p><b>effectivePeriod</b>: 2020-12-01 --&gt; (ongoing)</p><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the start of the reporting workflow in response to the encounter-start event.</p><p><b>textEquivalent</b>: Start the reporting workflow in response to an encounter-start event</p><p><b>code</b>: Initiate a reporting workflow <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#initiate-reporting-workflow)</span></p><h3>RelatedActions</h3><table class="grid"><tr><td>-</td><td><b>ActionId</b></td><td><b>Relationship</b></td><td><b>Offset[x]</b></td></tr><tr><td>*</td><td>check-suspected-disorder</td><td>before-start</td><td>1 h<span style="background: LightGoldenRodYellow"> (Details: UCUM code h = 'h')</span></td></tr></table></blockquote><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the start of the check suspected disorder reporting workflow in response to the encounter-start event.</p><p><b>textEquivalent</b>: Check suspected disorders for immediate reportability and setup jobs for future reportability checks.</p><p><b>code</b>: Execute a series of actions to accomplish reporting <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#execute-reporting-workflow)</span></p><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the check for suspected disorder reportability to create the patients eICR.</p><p><b>textEquivalent</b>: Check Trigger Codes based on Suspected Reportable Value set.</p><p><b>code</b>: Evaluate candidate patient's data against trigger codes to determine reportability <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#check-trigger-codes)</span></p></blockquote><blockquote><p><b>action</b></p><p><b>code</b>: Evaluate condition to determine reportability <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#evaluate-condition)</span></p></blockquote></blockquote><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the check for suspected reportability of the eICR.</p><p><b>textEquivalent</b>: Check Reportability and setup jobs for future reportability checks.</p><p><b>code</b>: Execute a series of actions to accomplish reporting <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#execute-reporting-workflow)</span></p><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the check for reportability to create the patients eICR.</p><p><b>textEquivalent</b>: Check Trigger Codes based on RCTC Value sets.</p><p><b>code</b>: Evaluate candidate patient's data against trigger codes to determine reportability <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#check-trigger-codes)</span></p></blockquote><blockquote><p><b>action</b></p><p><b>code</b>: Evaluate condition to determine reportability <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#evaluate-condition)</span></p></blockquote><blockquote><p><b>action</b></p><p><b>code</b>: Evaluate condition to determine reportability <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#evaluate-condition)</span></p></blockquote><blockquote><p><b>action</b></p><p><b>code</b>: Complete reporting for the patient <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#complete-reporting)</span></p></blockquote></blockquote><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the creation of the eICR. It subsequently calls validate.</p><p><b>textEquivalent</b>: Create eICR</p><p><b>code</b>: Create a Report containing Patient's data for patients who passed the check-reportability test <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#create-report)</span></p><h3>RelatedActions</h3><table class="grid"><tr><td>-</td><td><b>ActionId</b></td><td><b>Relationship</b></td></tr><tr><td>*</td><td>validate-eicr</td><td>before-start</td></tr></table></blockquote><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the validation of the eICR. It subsequently calls route-and-send.</p><p><b>textEquivalent</b>: Validate eICR</p><p><b>code</b>: Validate Report against specified profiles and terminologies. <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#validate-report)</span></p><h3>RelatedActions</h3><table class="grid"><tr><td>-</td><td><b>ActionId</b></td><td><b>Relationship</b></td></tr><tr><td>*</td><td>route-and-send-eicr</td><td>before-start</td></tr></table></blockquote><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the routing and sending of the eICR.</p><p><b>textEquivalent</b>: Route and send eICR</p><p><b>code</b>: Submit the report to specified endpoint <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#submit-report)</span></p></blockquote><blockquote><p><b>action</b></p><p><b>description</b>: This action represents the start of the reporting workflow in response to the encounter-modified event</p><p><b>textEquivalent</b>: Start the reporting workflow in response to an encounter-modified event</p><p><b>code</b>: Initiate a reporting workflow <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="CodeSystem-us-ph-plandefinition-actions.html">US Public Health PlanDefinition Action Codes</a>#initiate-reporting-workflow)</span></p><blockquote><p><b>condition</b></p><p><b>kind</b>: applicability</p></blockquote><h3>RelatedActions</h3><table class="grid"><tr><td>-</td><td><b>ActionId</b></td><td><b>Relationship</b></td></tr><tr><td>*</td><td>create-eicr</td><td>before-start</td></tr></table></blockquote></div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/variable">
    <valueExpression>
      <name value="normalReportingDuration"/>
      <language value="text/fhirpath"/>
      <expression value="14"/>
    </valueExpression>
  </extension>
  <url
       value="http://hl7.org/fhir/us/ecr/PlanDefinition/plandefinition-ersd-instance-example"/>
  <version value="2.1.0"/>
  <name value="PlanDefinition_eRSD_Instance_Example"/>
  <title value="eRSD PlanDefinition Instance Example"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/plan-definition-type"/>
      <code value="workflow-definition"/>
      <display value="Workflow Definition"/>
    </coding>
  </type>
  <status value="active"/>
  <experimental value="true"/>
  <date value="2020-07-31T12:32:29.858-05:00"/>
  <publisher
             value="HL7 Public Health Work Group (http://www.hl7.org/Special/committees/pher/index.cfm)"/>
  <contact>
    <name value="HL7 International - Public Health"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/pher"/>
    </telecom>
  </contact>
  <description value="An example ersd PlanDefinition"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America"/>
    </coding>
    <text value="United States of America"/>
  </jurisdiction>
  <effectivePeriod>
    <start value="2020-12-01"/>
  </effectivePeriod>
  <relatedArtifact>
    <type value="depends-on"/>
    <label value="RCTC Value Set Library of Trigger Codes"/>
    <resource value="http://hl7.org/fhir/us/ecr/Library/library-rctc-example"/>
  </relatedArtifact>
  <action id="start-workflow">
    <description
                 value="This action represents the start of the reporting workflow in response to the encounter-start event."/>
    <textEquivalent
                    value="Start the reporting workflow in response to an encounter-start event"/>
    <code>
      <coding>
        <system
                value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
        <code value="initiate-reporting-workflow"/>
        <display value="Initiate a reporting workflow"/>
      </coding>
    </code>
    <trigger id="encounter-start">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-named-eventtype-extension">
        <valueCodeableConcept>
          <coding>
            <system
                    value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-triggerdefinition-namedevents"/>
            <code value="encounter-start"/>
            <display value="Indicates the start of an encounter"/>
          </coding>
        </valueCodeableConcept>
      </extension>
      <type value="named-event"/>
      <name value="encounter-start"/>
    </trigger>
    <input id="patient">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
        <valueString value="Patient/{{context.patientId}}"/>
      </extension>
      <type value="Patient"/>
    </input>
    <input id="encounter">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
        <valueString value="Encounter/{{context.encounterId}}"/>
      </extension>
      <type value="Encounter"/>
    </input>
    <relatedAction>
      <actionId value="check-suspected-disorder"/>
      <relationship value="before-start"/>
      <offsetDuration>
        <value value="1"/>
        <system value="http://unitsofmeasure.org"/>
        <code value="h"/>
      </offsetDuration>
    </relatedAction>
  </action>
  <action id="check-suspected-disorder">
    <description
                 value="This action represents the start of the check suspected disorder reporting workflow in response to the encounter-start event."/>
    <textEquivalent
                    value="Check suspected disorders for immediate reportability and setup jobs for future reportability checks."/>
    <code>
      <coding>
        <system
                value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
        <code value="execute-reporting-workflow"/>
      </coding>
    </code>
    <action id="is-encounter-suspected-disorder">
      <description
                   value="This action represents the check for suspected disorder reportability to create the patients eICR."/>
      <textEquivalent
                      value="Check Trigger Codes based on Suspected Reportable Value set."/>
      <code>
        <coding>
          <system
                  value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
          <code value="check-trigger-codes"/>
        </coding>
      </code>
      <condition>
        <kind value="applicability"/>
        <expression>
          <extension
                     url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-alternative-expression-extension">
            <valueExpression>
              <language value="text/cql-identifier"/>
              <expression value="Is Suspected Disorder?"/>
              <reference
                         value="http://hl7.org/fhir/us/ecr/Library/RuleFilters|2.1.0"/>
            </valueExpression>
          </extension>
          <language value="text/fhirpath"/>
          <expression
                      value="%modifiedConditions.exists() or %modifiedLabResults.exists() or %modifiedMedicationOrders.exists()"/>
        </expression>
      </condition>
      <input id="modifiedConditions">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString value="Condition?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="Condition"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-sdtc-example"/>
        </codeFilter>
      </input>
      <input id="modifiedLabResults">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString value="Observation?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="Observation"/>
        <codeFilter>
          <path value="value"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-lotc-example"/>
        </codeFilter>
      </input>
      <input id="modifiedMedicationOrders">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="MedicationRequest?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="MedicationRequest"/>
        <codeFilter>
          <path value="medication"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-mrtc-example"/>
        </codeFilter>
      </input>
      <relatedAction>
        <actionId value="create-eicr"/>
        <relationship value="before-start"/>
      </relatedAction>
    </action>
    <action id="continue-check-reportable">
      <code>
        <coding>
          <system
                  value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
          <code value="evaluate-condition"/>
        </coding>
      </code>
      <condition>
        <kind value="applicability"/>
        <expression>
          <extension
                     url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-alternative-expression-extension">
            <valueExpression>
              <language value="text/cql-identifier"/>
              <expression
                          value="Is Encounter In Progress and Within Normal Reporting Duration or 72h or less after end of encounter?"/>
              <reference
                         value="http://hl7.org/fhir/us/ecr/Library/RuleFilters|2.1.0"/>
            </valueExpression>
          </extension>
          <language value="text/fhirpath"/>
          <expression
                      value="%encounter.where((status = 'in-progress' and period.start + 1 day * %normalReportingDuration &gt;= now()) or (status = 'finished' and period.end + 72 hours &gt;= now())).select(true)"/>
        </expression>
      </condition>
      <relatedAction>
        <actionId value="check-reportable"/>
        <relationship value="before-start"/>
        <offsetDuration>
          <value value="6"/>
          <comparator value="&lt;="/>
          <system value="http://unitsofmeasure.org"/>
          <code value="h"/>
        </offsetDuration>
      </relatedAction>
    </action>
  </action>
  <action id="check-reportable">
    <description
                 value="This action represents the check for suspected reportability of the eICR."/>
    <textEquivalent
                    value="Check Reportability and setup jobs for future reportability checks."/>
    <code>
      <coding>
        <system
                value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
        <code value="execute-reporting-workflow"/>
      </coding>
    </code>
    <action id="is-encounter-reportable">
      <description
                   value="This action represents the check for reportability to create the patients eICR."/>
      <textEquivalent value="Check Trigger Codes based on RCTC Value sets."/>
      <code>
        <coding>
          <system
                  value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
          <code value="check-trigger-codes"/>
        </coding>
      </code>
      <condition>
        <kind value="applicability"/>
        <expression>
          <extension
                     url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-alternative-expression-extension">
            <valueExpression>
              <language value="text/cql-identifier"/>
              <expression
                          value="Is Encounter Reportable and Within Normal Reporting Duration?"/>
              <reference
                         value="http://hl7.org/fhir/us/ecr/Library/RuleFilters|2.1.0"/>
            </valueExpression>
          </extension>
          <language value="text/fhirpath"/>
          <expression
                      value="%encounter.where(period.start + 1 day * %normalReportingDuration &gt;= now()).select(true) and (%conditions.exists() or %encounters.exists() or %immunizations.exists() or %procedures.exists() or %procedureOrders.exists() or %labOrders.exists() or %labTests.exists() or %labResults.exists() or %medicationAdministrations.exists() or %medicationOrders.exists() or %medicationDispenses.exists())"/>
        </expression>
      </condition>
      <input id="conditions">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString value="Condition?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="Condition"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-dxtc-example"/>
        </codeFilter>
      </input>
      <input id="encounters">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
          <valueString value="encounter"/>
        </extension>
        <type value="Encounter"/>
        <codeFilter>
          <path value="reasonCode"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-dxtc-example"/>
        </codeFilter>
      </input>
      <input id="immunizations">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="Immunization?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="Immunization"/>
        <codeFilter>
          <path value="vaccineCode"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-mrtc-example"/>
        </codeFilter>
      </input>
      <input id="labOrders">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="ServiceRequest?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="ServiceRequest"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-lotc-example"/>
        </codeFilter>
      </input>
      <input id="labTests">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString value="Observation?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="Observation"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-lotc-example"/>
        </codeFilter>
      </input>
      <input id="diagnosticOrders">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="DiagnosticReport?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="DiagnosticReport"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-lotc-example"/>
        </codeFilter>
      </input>
      <input id="procedureOrders">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="ServiceRequest?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="ServiceRequest"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-pctc-example"/>
        </codeFilter>
      </input>
      <input id="procedures">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString value="Procedure?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="Procedure"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-pctc-example"/>
        </codeFilter>
      </input>
      <input id="medicationOrders">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="MedicationRequest?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="MedicationRequest"/>
        <codeFilter>
          <path value="medication"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-mrtc-example"/>
        </codeFilter>
      </input>
      <input id="medicationDispenses">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="MedicationDispense?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="MedicationDispense"/>
        <codeFilter>
          <path value="medication"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-mrtc-example"/>
        </codeFilter>
      </input>
      <input id="medicationAdministrations">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-fhirquerypattern-extension">
          <valueString
                       value="MedicationAdministration?patient=Patient/{{context.patientId}}"/>
        </extension>
        <type value="MedicationAdministration"/>
        <codeFilter>
          <path value="medication"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-mrtc-example"/>
        </codeFilter>
      </input>
      <input id="labResults">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
          <valueString value="labTests"/>
        </extension>
        <type value="Observation"/>
        <codeFilter>
          <path value="value"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-ostc-example"/>
        </codeFilter>
      </input>
      <input id="diagnosticResults">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
          <valueString value="diagnosticOrders"/>
        </extension>
        <type value="DiagnosticReport"/>
        <codeFilter>
          <path value="code"/>
          <valueSet
                    value="http://hl7.org/fhir/us/ecr/ValueSet/valueset-ostc-example"/>
        </codeFilter>
      </input>
      <relatedAction>
        <actionId value="create-eicr"/>
        <relationship value="before-start"/>
      </relatedAction>
    </action>
    <action id="check-update-eicr">
      <code>
        <coding>
          <system
                  value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
          <code value="evaluate-condition"/>
        </coding>
      </code>
      <condition>
        <kind value="applicability"/>
        <expression>
          <extension
                     url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-alternative-expression-extension">
            <valueExpression>
              <language value="text/cql-identifier"/>
              <expression value="Most recent eICR sent over 72 hours ago?"/>
              <reference
                         value="http://hl7.org/fhir/us/ecr/Library/RuleFilters|2.1.0"/>
            </valueExpression>
          </extension>
          <language value="text/fhirpath"/>
          <expression
                      value="((%lasteicr.last().entry[2].resource as Bundle).entry.first().resource as Composition).date &lt; now() - 72 hours"/>
        </expression>
      </condition>
      <input id="lasteicr">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
          <valueString value="eicrreport"/>
        </extension>
        <type value="Bundle"/>
        <profile
                 value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
      </input>
      <relatedAction>
        <actionId value="create-eicr"/>
        <relationship value="before-start"/>
      </relatedAction>
    </action>
    <action id="is-encounter-in-progress">
      <code>
        <coding>
          <system
                  value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
          <code value="evaluate-condition"/>
        </coding>
      </code>
      <condition>
        <kind value="applicability"/>
        <expression>
          <extension
                     url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-alternative-expression-extension">
            <valueExpression>
              <language value="text/cql-identifier"/>
              <expression
                          value="Is Encounter In Progress and Within Normal Reporting Duration or 72h or less after end of encounter?"/>
              <reference
                         value="http://hl7.org/fhir/us/ecr/Library/RuleFilters|2.1.0"/>
            </valueExpression>
          </extension>
          <language value="text/fhirpath"/>
          <expression
                      value="%inprogressencounter.where(status = 'in-progress' and period.start + 1 day * %normalReportingDuration &gt;= now() or (status = 'finished' and period.end + 72 hours &gt;= now())).exists()"/>
        </expression>
      </condition>
      <input id="inprogressencounter">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
          <valueString value="encounter"/>
        </extension>
        <type value="Encounter"/>
      </input>
      <relatedAction>
        <actionId value="check-reportable"/>
        <relationship value="before-start"/>
        <offsetDuration>
          <value value="6"/>
          <comparator value="&lt;="/>
          <system value="http://unitsofmeasure.org"/>
          <code value="h"/>
        </offsetDuration>
      </relatedAction>
    </action>
    <action id="is-encounter-completed">
      <code>
        <coding>
          <system
                  value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
          <code value="complete-reporting"/>
        </coding>
      </code>
      <condition>
        <kind value="applicability"/>
        <expression>
          <extension
                     url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-alternative-expression-extension">
            <valueExpression>
              <language value="text/cql-identifier"/>
              <expression value="Is Encounter Complete"/>
              <reference
                         value="http://aphl.org/fhir/ecr/Library/RuleFilters|2.1.0"/>
            </valueExpression>
          </extension>
          <language value="text/fhirpath"/>
          <expression value="%completedEncounter.exists(status = 'finished')"/>
        </expression>
      </condition>
      <input id="completedEncounter">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
          <valueString value="encounter"/>
        </extension>
        <type value="Encounter"/>
      </input>
    </action>
  </action>
  <action id="create-eicr">
    <description
                 value="This action represents the creation of the eICR. It subsequently calls validate."/>
    <textEquivalent value="Create eICR"/>
    <code>
      <coding>
        <system
                value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
        <code value="create-report"/>
      </coding>
    </code>
    <input id="patientdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="patient"/>
      </extension>
      <type value="Patient"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"/>
    </input>
    <input id="conditiondata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="conditions"/>
      </extension>
      <type value="Condition"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition"/>
    </input>
    <input id="encounterdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="encounter"/>
      </extension>
      <type value="Encounter"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter"/>
    </input>
    <input id="mrdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="medicationOrders"/>
      </extension>
      <type value="MedicationRequest"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-medicationrequest"/>
    </input>
    <input id="immzdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="immunizations"/>
      </extension>
      <type value="Immunization"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization"/>
    </input>
    <input id="procdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="procedures"/>
      </extension>
      <type value="Procedure"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure"/>
    </input>
    <input id="labResultdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="labResults"/>
      </extension>
      <type value="Observation"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab"/>
    </input>
    <input id="labOrderdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="labOrders"/>
      </extension>
      <type value="ServiceRequest"/>
      <profile value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
    </input>
    <input id="diagnosticResultdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="diagnosticResults"/>
      </extension>
      <type value="DiagnosticReport"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab"/>
    </input>
    <input id="diagnosticOrderdata">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="diagnosticOrders"/>
      </extension>
      <type value="DiagnosticReport"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-diagnosticreport-lab"/>
    </input>
    <output id="eicrreport">
      <type value="Bundle"/>
      <profile
               value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
    </output>
    <relatedAction>
      <actionId value="validate-eicr"/>
      <relationship value="before-start"/>
    </relatedAction>
  </action>
  <action id="validate-eicr">
    <description
                 value="This action represents the validation of the eICR. It subsequently calls route-and-send."/>
    <textEquivalent value="Validate eICR"/>
    <code>
      <coding>
        <system
                value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
        <code value="validate-report"/>
      </coding>
    </code>
    <input id="generatedeicrreport">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="eicrreport"/>
      </extension>
      <type value="Bundle"/>
      <profile
               value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
    </input>
    <output id="valideicrreport">
      <type value="Bundle"/>
      <profile
               value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
    </output>
    <relatedAction>
      <actionId value="route-and-send-eicr"/>
      <relationship value="before-start"/>
    </relatedAction>
  </action>
  <action id="route-and-send-eicr">
    <description
                 value="This action represents the routing and sending of the eICR."/>
    <textEquivalent value="Route and send eICR"/>
    <code>
      <coding>
        <system
                value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
        <code value="submit-report"/>
      </coding>
    </code>
    <input id="validatedeicrreport">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="valideicrreport"/>
      </extension>
      <type value="Bundle"/>
      <profile
               value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
    </input>
    <output id="submittedeicrreport">
      <type value="Bundle"/>
      <profile
               value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
    </output>
  </action>
  <action id="encounter-modified">
    <description
                 value="This action represents the start of the reporting workflow in response to the encounter-modified event"/>
    <textEquivalent
                    value="Start the reporting workflow in response to an encounter-modified event"/>
    <code>
      <coding>
        <system
                value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-plandefinition-actions"/>
        <code value="initiate-reporting-workflow"/>
        <display value="Initiate a reporting workflow"/>
      </coding>
    </code>
    <trigger id="encounter-modified-trigger">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-named-eventtype-extension">
        <valueCodeableConcept>
          <coding>
            <system
                    value="http://hl7.org/fhir/us/ecr/CodeSystem/us-ph-triggerdefinition-namedevents"/>
            <code value="encounter-modified"/>
            <display
                     value="Indicates modifications to data elements of an encounter"/>
          </coding>
        </valueCodeableConcept>
      </extension>
      <type value="named-event"/>
      <name value="encounter-modified"/>
    </trigger>
    <condition>
      <kind value="applicability"/>
      <expression>
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-alternative-expression-extension">
          <valueExpression>
            <language value="text/cql-identifier"/>
            <expression
                        value="Is Encounter Longer Than Normal Reporting Duration?"/>
            <reference
                       value="http://hl7.org/fhir/us/ecr/Library/RuleFilters|2.1.0"/>
          </valueExpression>
        </extension>
        <language value="text/fhirpath"/>
        <expression
                    value="%encounter.where(period.start + 1 day * %normalReportingDuration &lt; now()).select(true)"/>
      </expression>
    </condition>
    <relatedAction>
      <actionId value="create-eicr"/>
      <relationship value="before-start"/>
    </relatedAction>
  </action>
</PlanDefinition>