WHO Immunization Implementation Guide
0.1.0 - CI Build International flag

WHO Immunization Implementation Guide, published by World Health Organization (WHO). This is not an authorized publication; it is the continuous build for version 0.1.0). 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: IMMZDT19

Official URL: http://fhir.org/guides/who/smart-immunization/Library/IMMZDT19 Version: 0.1.0
Draft as of 2023-08-02 Computable Name: IMMZDT19

Related Artifacts

depends-onFHIR model informationhttp://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
depends-onLibrary FHIRHelpershttp://fhir.org/guides/who/smart-immunization/Library/FHIRHelpers|4.0.1
depends-onLibrary IMMZComIMMZCommon
depends-onLibrary IMMZcIMMZConcepts
depends-onLibrary IMMZConIMMZConfig
depends-onLibrary IMMZvlIMMZVaccineLibrary
depends-onLibrary WconWHOConcepts
depends-onValue set Dengue Vaccinehttp://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE27
depends-onValue set Pregnancy Status Pregnanthttp://fhir.org/guides/who/core/ValueSet/pregnancystatus-values
depends-onValue set SeronegativeSeronegative valuest

Parameters

Patientout01Patient
No-doses Dengue vaccine immunization historyout01boolean
Ageout01integer
9 yearsout01Quantity
45 yearsout01Quantity
Should vaccinate patient for Dengue because no doses at 9 years old in a 3 dose schemeout01boolean
Dengue vaccine immunization history = 1 doseout01boolean
Last dose givenout01date
6 monthsout01Quantity
Should vaccinate patient for Dengue because 1st dose given 6 months ago in a 3 dose schemeout01boolean
Dengue vaccine immunization history = 2 dosesout01boolean
Should vaccinate patient for Dengue because 2nd dose given 6 months ago in a 3 dose schemeout01boolean

Data Requirements

Type: Patient (Patient)
Type: Immunization (Immunization)
Type: Observation (Observation)
Type: Condition (Condition)

Contents

text/cql

/*
 * Library: IMMZDT19 (IMMZ.DT.19.Dengue)
 * Rule: If child or person has not been vaccinated, give Dengue vaccine between 9 and 45 years of age 
 * Trigger: Patient has never had Dengue vaccination, or missing doses in the vaccination schedule
 */
library IMMZDT19
// 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
// End Skeleton CQL

context Patient

/* 
 * @dataElement No-doses
 */
define "No-doses Dengue vaccine immunization history":
	not exists(IMMZCom."Dengue Doses Administered to Patient")

/* 
 * @dataElement Age
 */
define "Age":
	IMMZCom."Current Patient Age In Years"

/* 
 * @dataElement 9 years
 */
define "9 years":
	9 years

/* 
 * @dataElement 45 years
 */
define "45 years":
	45 years

/*
 * Rule: Should vaccinate patient for Dengue because no doses at 9 years old in a 3 dose scheme
 * Annotations:
 * 	 - Provide Dengue immunizations – using the "Dengue vaccine immunization – NO PREVIOUS" schedule (3 dose scheme)
 * Outputs:
 * 	 - Immunize Patient for Dengue - No Doses at 9 years old
 * References:
 * 	- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables
 * Logic:
 *	 (("Dengue vaccine immunization history" = "No-doses") and ("Age" >= "9 years"))
 */
define "Should vaccinate patient for Dengue because no doses at 9 years old in a 3 dose scheme":
	(("No-doses Dengue vaccine immunization history") and ("Age" between "9 years" and "45 years"))
	and not(IMMZCom."Pregnant")
	and not exists(IMMZCom."Individual is Seronegative for Dengue")

/* 
 * @dataElement 1 dose
 */
define "Dengue vaccine immunization history = 1 dose":
	Count(IMMZCom."Dengue Doses Administered to Patient") = 1

/* 
 * @dataElement Last dose given
 */
define "Last dose given":
  date from (First(IMMZCom."Dengue Doses Administered to Patient").occurrence as FHIR.dateTime)

/* 
 * @dataElement 6 months
 */
define "6 months":
	6 months

/*
 * Rule: Should vaccinate patient for Dengue because 1st dose given 6 months ago in a 3 dose scheme
 * Annotations:
 * 	 - Provide Dengue immunizations – using the "Dengue vaccine immunization – 1 PREVIOUS" schedule (3 dose scheme)
 * Outputs:
 * 	 - Immunize Patient for Dengue - 1 Dose given 6 months ago
 * References:
 * 	- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables
 * Logic:
 *	 (("Dengue vaccine immunization history" = "1 dose") and ("Last dose given" >= "6 months"))
 */
define "Should vaccinate patient for Dengue because 1st dose given 6 months ago in a 3 dose scheme":
	(("Dengue vaccine immunization history = 1 dose") and ("Last dose given" more than 6 months before Today()))
	and not(IMMZCom."Pregnant")
	and not exists(IMMZCom."Individual is Seronegative for Dengue")

/* 
 * @dataElement 2 doses
 */
define "Dengue vaccine immunization history = 2 doses":
	Count(IMMZCom."Dengue Doses Administered to Patient" H) = 2

/*
 * Rule: Should vaccinate patient for Dengue because 2nd dose given 6 months ago in a 3 dose scheme
 * Annotations:
 * 	 - Provide Dengue immunizations – using the "Dengue vaccine immunization – 2 PREVIOUS" schedule (3 dose scheme)
 * Outputs:
 * 	 - Immunize Patient for Dengue - 2 Doses given 6 months ago
 * References:
 * 	- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables
 * Logic:
 *	 (("Dengue vaccine immunization history" = "2 doses") and ("Last dose given" >= "6 months"))
 */
define "Should vaccinate patient for Dengue because 2nd dose given 6 months ago in a 3 dose scheme":
	(("Dengue vaccine immunization history = 2 doses") and ("Last dose given" more than 6 months before Today()))
	and not(IMMZCom."Pregnant")
	and not exists(IMMZCom."Individual is Seronegative for Dengue")

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

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