HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm
2.1.2 - STU 2 United States of America flag

HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 2.1.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/case-reporting/ and changes regularly. See the Directory of published versions

: eRSD PlanDefinition Instance Simple Example - XML Representation

Active as of 2020-07-31

Raw xml | Download


<PlanDefinition xmlns="http://hl7.org/fhir">
  <id value="plandefinition-ersd-instance-simple-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">
<div>
    <table class="grid dict">
        
        <tr>
            <th scope="row"><b>Id: </b></th>
            <td style="padding-left: 4px;">plandefinition-ersd-instance-simple-example</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="PlanDefinition-plandefinition-ersd-instance-simple-example.html">eRSD PlanDefinition Instance Simple Example</a></td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Version: </b></th>
            <td style="padding-left: 4px;">2.1.2</td>
        </tr>
        

        
        <tr>
            <th scope="row">
                <b>
                    
                        
                    
                </b>
            </th>
            <td style="padding-left: 4px;">
                
                <p style="margin-bottom: 5px;">
                    <span>urn:oid:2.16.840.1.113883.4.642.40.46.34.4</span>
                </p>
                
            </td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">eRSD PlanDefinition Instance Simple Example</td>
        </tr>
        

        

        

        
        <tr>
            <th scope="row"><b>Experimental: </b></th>
            <td style="padding-left: 4px;">true</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Type: </b></th>
            <td style="padding-left: 4px;">
                
                    
                        
                        <p style="margin-bottom: 5px;">
                            <b>system: </b> <span><a href="http://terminology.hl7.org/6.2.0/CodeSystem-plan-definition-type.html">http://terminology.hl7.org/CodeSystem/plan-definition-type</a></span>
                        </p>
                        
                        
                        <p style="margin-bottom: 5px;">
                            <b>code: </b> <span>workflow-definition</span>
                        </p>
                        
                        
                        <p style="margin-bottom: 5px;">
                            <b>display: </b> <span>Workflow Definition</span>
                        </p>
                        
                    
                
                
            </td>
        </tr>
        

        

        
        <tr>
            <th scope="row"><b>Date: </b></th>
            <td style="padding-left: 4px;">2020-07-31 12:32:29-0500</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Publisher: </b></th>
            <td style="padding-left: 4px;">HL7 International / Public Health</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Description: </b></th>
            <td style="padding-left: 4px;"><div><p>An example ersd PlanDefinition</p>
</div></td>
        </tr>
        

        

        

        

        
        <tr>
            <th scope="row"><b>Jurisdiction: </b></th>
            <td style="padding-left: 4px;">US</td>
        </tr>
        

        

        

        

        

        

        

        

        

        
        <tr>
            <th scope="row"><b>Actions: </b></th>
            <td style="padding-left: 4px;">
                <table class="grid-dict">
                    
                    <tr>
                        <td>
                            
                            Start the reporting workflow in response to an encounter-start event
                            
                            <br/>
                            
                            <b>When:</b>
                            
                            <i>Named Event:</i> encounter-start
                            <br/>
                            
                            
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            Check suspected disorders for immediate reportability and setup jobs for future reportability checks.
                            
                            <br/>
                            
                            
                            
                            <b>Then:</b>
                            <table class="grid-dict">
                                
                                <tr>
                                    <td>
                                        
                                        Check Trigger Codes based on Suspected Reportable Value set.
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        <i>(%modifiedConditions.exists() or %modifiedLabResults.exists() or %modifiedMedicationOrders.exists())</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                                <tr>
                                    <td>
                                        
                                        <b> :</b>
                                        
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        <i>(%encounter.where((status = 'in-progress' and period.start + %normalReportingDuration &lt; now()) or status = 'finished' and period.end &lt;= now() - 72 hours))</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                            </table>
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            Check Reportability and setup jobs for future reportability checks.
                            
                            <br/>
                            
                            
                            
                            <b>Then:</b>
                            <table class="grid-dict">
                                
                                <tr>
                                    <td>
                                        
                                        Check Trigger Codes based on RCTC Value sets.
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        <i>(%encounter.where(period.start + %normalReportingDuration &gt;= now()) 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()))</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                                <tr>
                                    <td>
                                        
                                        <b> :</b>
                                        
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        <i>(%last-eicr.last().entry.first().resource.date &lt; now() - 72 hours)</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                                <tr>
                                    <td>
                                        
                                        <b> :</b>
                                        
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        <i>(%`inprogress-encounter`.where(status = 'in-progress' and period.start + %normalReportingDuration &gt;= now() and period.end &lt;= now() - 72 hours))</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                                <tr>
                                    <td>
                                        
                                        <b> :</b>
                                        
                                        
                                        <br/>
                                        
                                        
                                        <b>If:</b>
                                        
                                        <i>Applicability:</i>
                                        
                                        <i>(%completedEncounter.exists(status = 'finished'))</i>
                                        <br/>
                                        
                                        
                                        
                                        
                                        
                                    </td>
                                </tr>
                                
                            </table>
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            Create eICR
                            
                            <br/>
                            
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            Validate eICR
                            
                            <br/>
                            
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            Route and send eICR
                            
                            <br/>
                            
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                    <tr>
                        <td>
                            
                            Start the reporting workflow in response to an encounter-modified event
                            
                            <br/>
                            
                            <b>When:</b>
                            
                            <i>Named Event:</i> encounter-modified
                            <br/>
                            
                            
                            
                            <b>If:</b>
                            
                            <i>Applicability:</i>
                            
                            <i>(%encounter.where(period.start + %normalReportingDuration &lt; now()))</i>
                            <br/>
                            
                            
                            
                            
                            
                        </td>
                    </tr>
                    
                </table>
            </td>
        </tr>
        
    </table>
</div>
</div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/variable">
    <valueExpression>
      <name value="normalReportingDuration"/>
      <language value="text/fhirpath"/>
      <expression value="2 weeks"/>
    </valueExpression>
  </extension>
  <url
       value="http://hl7.org/fhir/us/ecr/PlanDefinition/plandefinition-ersd-instance-simple-example"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:2.16.840.1.113883.4.642.40.46.34.4"/>
  </identifier>
  <version value="2.1.2"/>
  <name value="PlanDefinition_eRSD_Instance_Simple_Example"/>
  <title value="eRSD PlanDefinition Instance Simple 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 International / Public Health"/>
  <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>
  <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>
          <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>
          <language value="text/fhirpath"/>
          <expression
                      value="%encounter.where((status = 'in-progress' and period.start + %normalReportingDuration &lt; now()) or status = 'finished' and period.end &lt;= now() - 72 hours)"/>
        </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>
          <language value="text/fhirpath"/>
          <expression
                      value="%encounter.where(period.start + %normalReportingDuration &gt;= now()) 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>
          <language value="text/fhirpath"/>
          <expression
                      value="%last-eicr.last().entry.first().resource.date &lt; now() - 72 hours"/>
        </expression>
      </condition>
      <input id="last-eicr">
        <extension
                   url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
          <valueString value="eicr-report"/>
        </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>
          <language value="text/fhirpath"/>
          <expression
                      value="%`inprogress-encounter`.where(status = 'in-progress' and period.start + %normalReportingDuration &gt;= now() and period.end &lt;= now() - 72 hours)"/>
        </expression>
      </condition>
      <input id="inprogress-encounter">
        <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>
          <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="patient-data">
      <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="condition-data">
      <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="encounter-data">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="encounters"/>
      </extension>
      <type value="Encounter"/>
      <profile
               value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter"/>
    </input>
    <input id="mr-data">
      <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="immz-data">
      <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="proc-data">
      <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="labResult-data">
      <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="labOrder-data">
      <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="diagnosticResult-data">
      <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="diagnosticOrder-data">
      <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="eicr-report">
      <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="generated-eicr-report">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="eicr-report"/>
      </extension>
      <type value="Bundle"/>
      <profile
               value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
    </input>
    <output id="valid-eicr-report">
      <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="validated-eicr-report">
      <extension
                 url="http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-relateddata-extension">
        <valueString value="valid-eicr-report"/>
      </extension>
      <type value="Bundle"/>
      <profile
               value="http://hl7.org/fhir/us/ecr/StructureDefinition/eicr-document-bundle"/>
    </input>
    <output id="submitted-eicr-report">
      <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>
        <language value="text/fhirpath"/>
        <expression
                    value="%encounter.where(period.start + %normalReportingDuration &lt; now())"/>
      </expression>
    </condition>
    <relatedAction>
      <actionId value="create-eicr"/>
      <relationship value="before-start"/>
    </relatedAction>
  </action>
</PlanDefinition>