WHO Immunization Implementation Guide
0.1.0 - CI Build
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
| Official URL: http://fhir.org/guides/who/smart-immunization/Library/IMMZDT04 | Version: 0.1.0 | |||
| Draft as of 2023-08-02 | Computable Name: IMMZDT04 | |||
| depends-on | FHIR model information | http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1 |
| depends-on | Library FHIRHelpers | http://fhir.org/guides/who/smart-immunization/Library/FHIRHelpers|4.0.1 |
| depends-on | Library IMMZCom | IMMZCommon |
| depends-on | Library IMMZc | IMMZConcepts |
| depends-on | Library IMMZCon | IMMZConfig |
| depends-on | Library IMMZvl | IMMZVaccineLibrary |
| depends-on | Library FC | FHIRCommon |
| depends-on | Value set DTP Vaccine | http://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE24 |
| Patient | out | 0 | 1 | Patient |
| Should vaccinate patient with DTP 1st dose | out | 0 | 1 | boolean |
| Should vaccinate patient for DTP with 2nd dose | out | 0 | 1 | boolean |
| Should vaccinate patient for DTP with 3rd dose | out | 0 | 1 | boolean |
| Should vaccinate patient for DTP with 1st booster | out | 0 | 1 | boolean |
| Should vaccinate patient for DTP with 2nd booster | out | 0 | 1 | boolean |
| Should vaccinate patient for DTP with 3rd booster | out | 0 | 1 | boolean |
| Should vaccinate patient for DTP with 4th dose | out | 0 | 1 | boolean |
| Should vaccinate patient for DTP with 5th dose | out | 0 | 1 | boolean |
| Type: Patient (Patient) |
| Type: Immunization (Immunization) |
text/cql
/*
* Library: IMMZDT04 (IMMZ.DT.04.DTP)
* Rule: If child or person has not been given DTP, start scheme
* Trigger: Patient requires a DTP vaccine
*/
library IMMZDT04
// 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
/*
* Rule: Should vaccinate patient with DTP 1st dose
* Annotations:
* - Provide DTP immunization 1st dose – using the "DTP vaccine immunization – NO PREVIOUS" schedule (3 dose scheme) if the patient is the older 6 weeks of age
* - Provide DTP immunization 1st dose – using the "DTP vaccine immunization – NO PREVIOUS" schedule (5 dose scheme) if the patient is 15 years of age or more
* Outputs:
* - Immunize Patient for DTP - No Doses
* - Immunize Patient for DTP - No Doses at 15 years or older
* 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:
* ((("DTP vaccine immunization history" = "No-doses") and ("Current Patient Age in Weeks" >= 6)) or (("DTP vaccine immunization history" = "No-doses") and ("Current Patient Age in Years" >= 15)))
*/
define "Should vaccinate patient with DTP 1st dose":
(IMMZCom."No DTP Doses Administered to Patient") and
((IMMZCom."Current Patient Age In Weeks" >= 6) or (IMMZCom."Current Patient Age In Years" >= 15))
/*
* Rule: Should vaccinate patient for DTP with 2nd dose
* Annotations:
* - Provide DTP immunization 2nd dose – using the "DTP vaccine immunization – 3 dose scheme" if the patient is 4-8 weeks after their first dose
* - Provide DTP immunization 2nd dose – using the "DTP vaccine immunization – 1 PREVIOUS" schedule (5 dose scheme) if the patient is 15 years of age or more and is 4-8 weeks after their first dose
* Outputs:
* - Immunize Patient for DTP - 1 Dose
* - Immunize Patient for DTP - 1 Dose at 15 years or older
* 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:
* ((("DTP vaccine immunization history" = "1 dose") and ("Date last DTP dose given" >= "4 weeks")) or (((("DTP vaccine immunization history" = "1 dose") and ("Current Patient Age in Years" >= 15)) and ("Date last DTP dose given" >= "4 weeks")) and ("Date last DTP dose given" <= "8 weeks")))
*/
define "Should vaccinate patient for DTP with 2nd dose":
IMMZCom."Number of DTP Doses Administered to Patient Excluding Birth Dose" = 1 and
(
IMMZCom."Date Last DTP Dose Administered to Patient" more than 4 week before Today() or
(
IMMZCom."Current Patient Age In Years" >= 15 and
(IMMZCom."Date Last DTP Dose Administered to Patient" more than 4 week before Today()) and
(IMMZCom."Date Last DTP Dose Administered to Patient" less than 8 week before Today())
)
)
/*
* Rule: Should vaccinate patient for DTP with 3rd dose
* Annotations:
* - Provide DTP immunizations – using the "DTP vaccine immunization – 3 dose scheme, provide the 3rd dose" if the patient is 4-8 weeks after their first dose
* -
* - Provide DTP immunization 3rd dose – using the "DTP vaccine immunization – 2 PREVIOUS" schedule (5 dose scheme) if the patient is 15 years of age or more and is 4-8 weeks after their second dose
* Outputs:
* - Immunize Patient for DTP - 2 Doses
* -
* - Immunize Patient for DTP - 2 Doses at 15 years or older
* 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:
* (((("DTP vaccine immunization history" = "2 doses") and ("Date last DTP dose given" >= "4 weeks")) or (((("DTP vaccine immunization history" = "2 doses") and ("Date last DTP dose given" >= "6 months")) and ("Age when patient received 1st dose" >= "1 year")) and ("Age when patient received 1st dose" < "7 years"))) or (((("DTP vaccine immunization history" = "2 doses") and ("Current Patient Age in Years" >= 15)) and ("Date last DTP dose given" >= "4 weeks")) and ("Date last DTP dose given" <= "8 weeks")))
*/
define "Should vaccinate patient for DTP with 3rd dose":
IMMZCom."Number of DTP Doses Administered to Patient Excluding Birth Dose" = 2 and
(
IMMZCom."Date Last DTP Dose Administered to Patient" more than 4 week before Today() or
(
IMMZCom."Date Last DTP Dose Administered to Patient" more than 6 month before Today() and
IMMZCom."Date First DTP Dose Administered to Patient Excluding Birth Dose" more than 1 year after Patient.birthDate and
IMMZCom."Date First DTP Dose Administered to Patient Excluding Birth Dose" less than 7 year after Patient.birthDate
) or
(
(IMMZCom."Current Patient Age In Years" >= 15) and
(IMMZCom."Date Last DTP Dose Administered to Patient" more than 4 week before Today()) and
(IMMZCom."Date Last DTP Dose Administered to Patient" less than 8 week before Today())
)
)
/*
* Rule: Should vaccinate patient for DTP with 1st booster
* Annotations:
* - Provide booster at 12-23 months (DTP-containing vaccine) if patient has completed primary 3 dose scheme
* Outputs:
* - Immunize Patient for DTP - Booster 1
* 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:
* (("DTP vaccine immunization history" = "3 doses") and ("Current Patient Age in Months" >= 12))
*/
define "Should vaccinate patient for DTP with 1st booster":
IMMZCom."Number of DTP Doses Administered to Patient Excluding Birth Dose" = 3
and IMMZCom."Current Patient Age In Months" >= 12
/*
* Rule: Should vaccinate patient for DTP with 2nd booster
* Annotations:
* - Provide booster at 4-7 years (Td/DT containing vaccine) if patient has completed primary 3 dose scheme and 1 booster
* Outputs:
* - Immunize Patient for DTP - Booster 2
* 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:
* (("DTP vaccine immunization history" = "4 doses") and ("Current Patient Age in Years" >= 4))
*/
define "Should vaccinate patient for DTP with 2nd booster":
IMMZCom."Number of DTP Doses Administered to Patient Excluding Birth Dose" = 4
and IMMZCom."Current Patient Age In Years" >= 4
/*
* Rule: Should vaccinate patient for DTP with 3rd booster
* Annotations:
* - Provide booster at 9-15 years (Td containing vaccine), if >7 years use only aP containing vaccine - if patient has completed primary 3 dose scheme and 2 boosters
* Outputs:
* - Immunize Patient for DTP - Booster 3
* 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:
* (("DTP vaccine immunization history" = "5 doses") and ("Current Patient Age in Years" >= 9))
*/
define "Should vaccinate patient for DTP with 3rd booster":
IMMZCom."Number of DTP Doses Administered to Patient Excluding Birth Dose" = 5
and IMMZCom."Current Patient Age In Years" >= 9
/*
* Rule: Should vaccinate patient for DTP with 4th dose
* Annotations:
* - Provide DTP immunization 4th dose – using the "DTP vaccine immunization – 3 PREVIOUS" schedule (5 dose scheme) if the patient is 15 years of age or more and is 4-8 weeks after their second dose
* Outputs:
* - Immunize Patient for DTP - 3 Doses at 15 years or older
* 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:
* (((("DTP vaccine immunization history" = "3 doses") and ("Current Patient Age in Years" >= 15)) and ("Date last DTP dose given" >= "4 weeks")) and ("Date last DTP dose given" <= "8 weeks"))
*/
define "Should vaccinate patient for DTP with 4th dose":
IMMZCom."Number of DTP Doses Administered to Patient Excluding Birth Dose" = 3 and
IMMZCom."Current Patient Age In Years" >= 15 and
IMMZCom."Date Last DTP Dose Administered to Patient" more than 4 week before Today() and
IMMZCom."Date Last DTP Dose Administered to Patient" less than 8 week before Today()
/*
* Rule: Should vaccinate patient for DTP with 5th dose
* Annotations:
* - Provide DTP immunization 5th dose – using the "DTP vaccine immunization – 4 PREVIOUS" schedule (5 dose scheme) if the patient is 15 years of age or more and is 4-8 weeks after their second dose
* Outputs:
* - Immunize Patient for DTP - 4 Doses at 15 years or older
* 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:
* (((("DTP vaccine immunization history" = "4 doses") and ("Current Patient Age in Years" >= 15)) and ("Date last DTP dose given" >= "4 weeks")) and ("Date last DTP dose given" <= "8 weeks"))
*/
define "Should vaccinate patient for DTP with 5th dose":
IMMZCom."Number of DTP Doses Administered to Patient Excluding Birth Dose" = 4 and
IMMZCom."Current Patient Age In Years" >= 15 and
IMMZCom."Date Last DTP Dose Administered to Patient" more than 4 week before Today() and
IMMZCom."Date Last DTP Dose Administered to Patient" less than 8 week before Today()
Content not shown - (application/elm+xml, size = 60Kb)
Content not shown - (application/elm+json, size = 328Kb)