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: IMMZIND50

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

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 IMMZIndComIMMZIndicatorCommon
depends-onLibrary IMMZvlIMMZVaccineLibrary
depends-onLibrary FCFHIRCommon
depends-onCode system Administrative Gender CodesAdministrativeGender
depends-onValue set DTP Vaccinehttp://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE24

Parameters

Measurement Periodin01Period
Patientout01Patient
Patient Should Complete DTP Series During Measurement Periodout01boolean
numeratorout01boolean
denominatorout01boolean
Geographic Region Stratifierout01string
Gender Stratifierout01Coding

Data Requirements

Type: Patient (Patient)
Type: Immunization (Immunization)
Type: ImmunizationRecommendation (ImmunizationRecommendation)

Contents

text/cql

/*
 * Library: IMMZ.IND.50
 * Dropout Rate of DTP1 to DTP3 (Individuals) 
 * Indicates the number of individuals which have dropped out of the DTP containing vaccine protocol (i.e. children which have received DTP1 but not DTP3).

This indicator works by counting the number of individuals who have received the first dose of DTP (dose 1) containing vaccine but not the last dose of DTP (are past-due for dose 3) with the children who have completed the vaccination protocol.
 * 
 * Numerator: Number of children who have received DTP1 (numerator) minus number of children who have not received DTP dose 3 and are past due (numerator exclusion)  
 * Numerator Computation: Numerator: COUNT immunization events WHERE administered product is DTP containing vaccine AND dose sequence = 1 before reporting period and EXISTS immunization recommendation WHERE product is DTP AND dose sequence = 3 AND due date during reporting period.
Numerator Exclusion: COUNT immunization recommendations WHERE recommended product is DTP containing vaccine AND dose sequence = 3 AND due date during reporting period AND NOT EXISTS Immunization event where administered product is DTP containing vaccine AND dose sequence = 3
 * Denominator: Number of children who have received DTP containing vaccine dose 1
 * Denominator Computation: COUNT immunization events WHERE administered product is DTP containing vaccine AND dose sequence = 1 AND EXISTS immunization recommendation WHERE product is DTP and dose sequence = 3 and due date during reporting period.
 * 
 * Disaggregation:
 *   - Geographic Region
 * 
 * References: WHO Immunization Facility Analysis Guide (1)
 */

library IMMZIND50

// 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 IMMZIndicatorCommon called IMMZIndCom
include IMMZVaccineLibrary called IMMZvl
include FHIRCommon called FC
// End Skeleton CQL
parameter "Measurement Period" Interval<Date>
context Patient

/**
 * Patient should be completing DTP during measurement period
 */
define "Patient Should Complete DTP Series During Measurement Period":
	exists(
		IMMZCom."DTP Doses Administered to Patient" I 
		where 
			(singleton from I.protocolApplied).doseNumber = 1
	)
	and 
	exists(
		[ImmunizationRecommendation] IR 
		where 
			exists(
				IR.recommendation RC where
				exists(RC.dateCriterion DC where date from DC.value during "Measurement Period")
				and RC.doseNumber = 3
				and RC.vaccineCode in IMMZc."DTP Vaccine"
		)
	)
	
/*
 * Numerator: Number of administrations of DTP1 administered during reporting period minus the number of administrations of DTP3 administered during report period
 * Numerator Computation: COUNT immunization events WHERE administered product is DTP (IMMZ.A1.DE24) AND dose sequence is 1  during reporting period
SUBTRACT
COUNT immunization events WHERE administered product is DTP (IMMZ.A1.DE24) AND dose sequence is 3  during reporting period
 */
define "numerator":
	"Patient Should Complete DTP Series During Measurement Period"
	and not exists(IMMZIndCom."DTP Doses Administered to Patient During Measurement Period" I where (singleton from I.protocolApplied).doseNumber = 3)

/*
 * Denominator: Number of doses of DTP1 administered
 * Denominator Computation: COUNT immunization events WHERE administered product is DTP (IMMZ.A1.DE24) AND dose sequence is 1 before reporting period 
 */
define "denominator":
	"Patient Should Complete DTP Series During Measurement Period"

/*
 * Disaggregator: Geographic Region
 */
define "Geographic Region Stratifier":
	IMMZIndCom."By Geographic Region Stratifier"

/*
 * Disaggregator: Gender
 */
define "Gender Stratifier":
	IMMZIndCom."By Administrative Gender Stratifier"

/* End of IMMZ.IND.50 */

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

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