WHO Immunization Implementation Guide
0.1.0 - CI Build International flag

WHO Immunization Implementation Guide, published by World Health Organization (WHO). This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations and changes regularly. See the Directory of published versions

Library: IMMZD2DTYellowFeverInput

Official URL: http://smart.who.int/ig/smart-immunizations/Library/IMMZD2DTYellowFeverInput Version: 0.1.0
Draft as of 2024-05-30 Computable Name: IMMZD2DTYellowFeverInput

Related Artifacts

depends-onFHIR model informationhttp://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
depends-onLibrary FHIRHelpershttp://smart.who.int/ig/smart-immunizations/Library/FHIRHelpers|4.0.1
depends-onLibrary IMMZComIMMZCommon
depends-onLibrary IMMZcIMMZConcepts
depends-onLibrary IMMZConIMMZConfig
depends-onLibrary IMMZvlIMMZVaccineLibrary
depends-onLibrary FCFHIRCommon
depends-onLibrary WconWHOConcepts
depends-onCode system IMMZ.DIMMZ.D CodeSystem for Data Elements
depends-onValue set Yellow Fever VaccineIMMZ.Z.DE23 Yellow fever containing vaccines
depends-onValue set Live AttenuatedSet of live attenuated vaccines
depends-onValue set Pregnancy Status PregnantPregnancy status values

Parameters

Patientout01Patient
Yellow Fever Doses Administered to Patientout0*Immunization
No yellow fever primary series doses were administeredout01boolean
One yellow fever primary series dose was administeredout01boolean
Client's age is less than 6 monthsout01boolean
Client's age is less than 9 monthsout01boolean
Client's age is between 6 to 9 monthsout01boolean
Client's age is more than or equal to 9 monthsout01boolean
Client's age is more than or equal to 60 yearsout01boolean
Live vaccine was administered in the last 4 weeksout01boolean
No live vaccine was administered in the last 4 weeksout01boolean
The client is currently pregnantout01boolean
The client has a history of severe allergic reactionsout01boolean
The client is severely immunocompromisedout01boolean
The client has a symptomatic HIV infectionout01boolean
The client is lactatingout01boolean

Data Requirements

Type: Patient (Patient)
Type: Immunization (Immunization)
Type: Observation (Observation)
Type: Condition (Condition)
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE167: Severe allergic reactions
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE200: Severely immunocompromised
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE168: Symptomatic HIV infection
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE191: Breastfeeding

Contents

text/cql

/*
 * Library: IMMZD2DTYellowFeverInput (IMMZ.D2.DT.YellowFeverInput)					
 */
library IMMZD2DTYellowFeverInput
// Start Skeleton CQL
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
include IMMZCommon called IMMZCom
include IMMZConcepts called IMMZc
include IMMZConfig called IMMZCon
include IMMZVaccineLibrary called IMMZvl
include FHIRCommon called FC

// End Skeleton CQL
context Patient

/*
@internal: Yellow Fever containing Doses Administered to Patient
*/
define "Yellow Fever Doses Administered to Patient":
  IMMZCom."Doses Administered to Patient" I
  where
    I.vaccineCode in IMMZc."Yellow Fever Vaccine"

/*
@input: No yellow fever primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Yellow fever containing vaccines" and "Type of dose" = "Primary series" ) = 0
*/
define "No yellow fever primary series doses were administered":
	not exists("Yellow Fever Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 9 months <= 0)

/*
@input: One yellow fever primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Yellow fever containing vaccines" and "Type of dose" = "Primary series" ) = 1
*/
define "One yellow fever primary series dose was administered":
	Count("Yellow Fever Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 9 months <= 0) >= 1

/*
@input: Client's age is less than 6 months
@pseudocode: Today's date - "Date of birth" < 6 'month'
*/
define "Client's age is less than 6 months":
	IMMZCom."Current Patient Age In Months" < 6

/*
@input: Client's age is between 6 to 9 months
@pseudocode: 6 'month' ≤ Today's date - "Date of birth" < 9 'month'
*/
define "Client's age is between 6 to 9 months":
	not("Client's age is less than 6 months") and "Client's age is less than 9 months"

/*
@input: Client's age is less than 9 months
@pseudocode: Today's date - "Date of birth" < 9 'month'"
*/
define "Client's age is less than 9 months":
	IMMZCom."Current Patient Age In Months" < 9

/*
@input: Client's age is more than or equal to 9 months 
@pseudocode: Today's date - "Date of birth" ≥ 9 'month'	
*/
define "Client's age is more than or equal to 9 months":
	not ("Client's age is less than 9 months")

/*
@input: Client's age is more than or equal to 60 years
@pseudocode: 'Today's date - ""Date of birth"" ≥ 60 'year'
*/
define "Client's age is more than or equal to 60 years":
	IMMZCom."Current Patient Age In Years" >= 60

/*
@input: Live vaccine was administered in the last 4 weeks 
@pseudocode: Today's date - latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 'week'	
*/
define "Live vaccine was administered in the last 4 weeks":
	//IMMZCom."Date of Latest Live Attenuated Vaccine" is not null and IMMZCom."Date of Latest Live Attenuated Vaccine" + 4 weeks > Now()
	IMMZCom."Date of Latest Live Attenuated Vaccine" is not null and duration in weeks between IMMZCom."Date of Latest Live Attenuated Vaccine" and Now() < 4

/*
@input: No live vaccine was administered in the last 4 weeks 
@pseudocode: Today's date - latest "Date and time of vaccination" (where "Live vaccine" = TRUE) ≥ 4 'week'	
*/
define "No live vaccine was administered in the last 4 weeks":
	not("Live vaccine was administered in the last 4 weeks")

/*
@input: The client is currently pregnant
@pseudocode: "Potential contraindications" = 'Currently pregnant'
*/
define "The client is currently pregnant":
	IMMZCom."Pregnant"

/*
@input: The client has a history of severe allergic reactions
@pseudocode: "Potential contraindications" = 'Severe allergic reactions'
*/
define "The client has a history of severe allergic reactions":
		exists(IMMZCom."Severe Allergic Reactions Condition")

/*
@input: The client is severely immunocompromised
@psuedocode: "Potential contraindications" = "Severely immunocompromised"
*/
define "The client is severely immunocompromised":
		exists(IMMZCom."Severely immunocompromised Condition")

/*
@input: The client has a symptomatic HIV infection
@pseudocode: "Potential contraindications" = 'Symptomatic HIV infection'
*/
define "The client has a symptomatic HIV infection":
	exists(IMMZCom."Symptomatic HIV Infection Condition")

/*
@input: The client is lactating
@psuedocode: "Potential contraindications" = "Breastfeeding"
*/
define "The client is lactating":
		exists(IMMZCom."Breastfeeding Condition")

Content not shown - (application/elm+xml, size = 37Kb )

Content not shown - (application/elm+json, size = 65Kb )