US Public Health Profiles Library
2.0.0-ballot - STU 2 - Ballot United States of America flag

This page is part of the US Public Health Profiles Library (v2.0.0-ballot: STU 2 Ballot) based on FHIR (HL7® FHIR® Standard) R4. This version is a pre-release. The current official version is 1.0.0. For a full list of available versions, see the Directory of published versions

PlanDefinition: US Public Health PlanDefinition - Alternative Expression (Experimental)

Official URL: http://example.org/fhir/PlanDefinition/us-ph-plandefinition-alt-expression-example Version: 2.0.0-ballot
Standards status: Informative Computable Name: USPublicHealthPlanDefinitionAlternativeExpressionExample
Other Identifiers: OID:2.16.840.1.113883.4.642.40.58.34.1

An example PlanDefinition

Id: us-ph-plandefinition-alt-expression-example
Url: US Public Health PlanDefinition Alternative Expression Example
Version: 2.0.0-ballot

urn:oid:2.16.840.1.113883.4.642.40.58.34.1

Title: US Public Health PlanDefinition Alternative Expression Example
Experimental: true
Type:

system: http://terminology.hl7.org/CodeSystem/plan-definition-type

code: workflow-definition

display: Workflow Definition

Date: 2022-07-31 12:32:29-0500
Publisher: HL7 International / Public Health
Description:

An example PlanDefinition

Jurisdiction: US
Effective Period: 2020-12-01..
Related Artifacts:

Dependencies

  • http://example.org/fhir/Library/library-rctc-example
Actions:
Start the reporting workflow in response to an encounter-start event
When: Named Event: encounter-start
Check suspected disorders for immediate reportability and setup jobs for future reportability checks.
Then:
Check Trigger Codes based on Suspected Reportable Value set.
If: Applicability: (%modifiedConditions.exists() or %modifiedLabResults.exists() or %modifiedMedicationOrders.exists())
:
If: Applicability: (%encounter.where((status = 'in-progress' and period.start + 1 day * %normalReportingDuration >= now()) or (status = 'finished' and period.end + 72 hours >= now())).select(true))
Check Reportability and setup jobs for future reportability checks.
Then:
Check Trigger Codes based on RCTC Value sets.
If: Applicability: (%encounter.where(period.start + 1 day * %normalReportingDuration >= 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()))
:
If: Applicability: (((%lasteicr.last().entry[2].resource as Bundle).entry.first().resource as Composition).date < now() - 72 hours)
:
If: Applicability: (%inprogressencounter.where(status = 'in-progress' and period.start + 1 day * %normalReportingDuration >= now() or (status = 'finished' and period.end + 72 hours >= now())).exists())
Create eICR
Then:
Anonymize the report.
Validate eICR
Route and send eICR
Start the reporting workflow in response to an encounter-modified event
When: Named Event: encounter-modified
If: Applicability: (%encounter.where(period.start + 1 day * %normalReportingDuration < now()).select(true))