Related Artifacts 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 Code system ConditionVerificationStatusCodes ConditionVerificationStatus depends-on Value set HPV Vaccine http://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE7 depends-on Value set Immunocompromised Immunocompromised valueset depends-on Value set Active Condition http://fhir.org/guides/cqf/common/ValueSet/active-condition Parameters Patient out 0 1 Patient Should vaccinate Patient for HPV because no doses on a two-dose schedule out 0 1 boolean Should vaccinate Patient for HPV a second time on a two-dose schedule out 0 1 boolean Time between first and second HPV doses less than 5 months out 0 1 boolean Time since initial HPV dose more than 6 months out 0 1 boolean Should vaccinate Patient for HPV Dose 3 - due to short interval between first and second dose out 0 1 boolean Should vaccinate Patient for HPV because no doses on a three-dose schedule out 0 1 boolean Should vaccinate Patient for HPV because one dose on a three-dose schedule out 0 1 boolean Should vaccinate Patient for HPV because two doses on a three-dose schedule out 0 1 boolean Data Requirements Type: Patient (Patient) Type: Immunization (Immunization) Type: Condition (Condition) Contents text/cql /* * Library: IMMZDT10 (IMMZ.DT.10.HPV) * Rule: If child or person has not been vaccinated, give HPV vaccine according to the defined schedule * Trigger: Patient has never received HPV vaccination */ library IMMZDT10 // 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 for HPV because no doses on a two-dose schedule * Annotations: * - Provide HPV immunizations - using the "HPV vaccine immunization - NO PREVIOUS" schedule (2 dose scheme) * Outputs: * - Immunize Patient for HPV - No Doses * 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: * (((("HPV vaccine history" = "No-doses") and ("Sex" = "Female")) and ("Current Patient Age in Years" >= 9)) and ("Current Patient Age in Years" <= 14)) */ define "Should vaccinate Patient for HPV because no doses on a two-dose schedule": IMMZCom."No HPV Doses Administered to Patient" and IMMZCom."Patient Biological Sex" = 'female' and IMMZCom."Current Patient Age In Years" between 9 and 14 /* * Rule: Should vaccinate Patient for HPV a second time on a two-dose schedule * Annotations: * - Provide HPV immunizations - using "HPV vaccine immunization - 1 PREVIOUS" schedule (2 dose scheme) * Outputs: * - Immunize Patient for HPV - 1 Dose * 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: * (((((("HPV vaccine history" = "1 dose") and ("Sex" = "Female")) and ("Current Patient Age in Years" >= 9)) and ("Current Patient Age in Years" <= 14)) and ("Date last HPV dose given" >= "6 months")) and ("Date last HPV dose given" <= "12 months")) */ define "Should vaccinate Patient for HPV a second time on a two-dose schedule": IMMZCom."Number of HPV Doses Administered to Patient" = 1 and IMMZCom."Patient Biological Sex" = 'female' and IMMZCom."Current Patient Age In Years" between 9 and 14 and IMMZCom."Date Last HPV Dose Administered to Patient" more than 6 month before Today() and IMMZCom."Date Last HPV Dose Administered to Patient" less than 12 month before Today() /* * @dataElement Time between first and second HPV doses in Months */ define "Time between first and second HPV doses less than 5 months": First(IMMZCom."HPV Doses Administered to Patient" I where (singleton from I.protocolApplied).doseNumber = 2 return IMMZCom.ToDate(I.occurrence)) less than 5 month after First(IMMZCom."HPV Doses Administered to Patient" I where (singleton from I.protocolApplied).doseNumber = 1 return IMMZCom.ToDate(I.occurrence)) /* * @dataElement Time since initial HPV dose in Months */ define "Time since initial HPV dose more than 6 months": First(IMMZCom."HPV Doses Administered to Patient" I where (singleton from I.protocolApplied).doseNumber = 1 return IMMZCom.ToDate(I.occurrence)) more than 6 months before Today() /* * Rule: Should vaccinate Patient for HPV Dose 3 - due to short interval between first and second dose * Annotations: * - Provide additional HPV immunizations - using "HPV vaccination immunization - 2 PREVIOUS" schedule (2+1 dose scheme) * Outputs: * - Immunize Patient for HPV - 2 Doses * 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: * (((((("HPV vaccine history" = "2 doses") and ("Sex" = "Female")) and ("Time between first and second HPV doses in Months" < 5)) and ("Time since initial HPV dose in Months" >= 6)) and ("Current Patient Age in Years" >= 9)) and ("Current Patient Age in Years" <= 14)) */ define "Should vaccinate Patient for HPV Dose 3 - due to short interval between first and second dose": IMMZCom."Number of HPV Doses Administered to Patient" = 2 and IMMZCom."Patient Biological Sex" = 'female' and "Time between first and second HPV doses less than 5 months" and "Time since initial HPV dose more than 6 months" and IMMZCom."Current Patient Age In Years" between 9 and 14 /* * Rule: Should vaccinate Patient for HPV because no doses on a three-dose schedule * Annotations: * - Provide HPV immunizations - using the "HPV vaccine immunization - NO PREVIOUS" schedule (3 dose scheme) * Outputs: * - Immunize Patient for HPV - No Doses * 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: * (((("HPV vaccine history" = "No-doses") and ("Sex" = "Female")) and ("Current Patient Age in Years" >= 15)) or (((("HPV vaccine history" = "No-doses") and ("Sex" = "Female")) and ("Current Patient Age in Years" < 15)) and ("Immunocompromised" = "True"))) */ define "Should vaccinate Patient for HPV because no doses on a three-dose schedule": IMMZCom."No HPV Doses Administered to Patient" and IMMZCom."Patient Biological Sex" = 'female' and ( IMMZCom."Current Patient Age In Years" >= 15 or ( IMMZCom."Current Patient Age In Years" < 15 and IMMZCom."Immunocompromised = True" ) ) /* * Rule: Should vaccinate Patient for HPV because one dose on a three-dose schedule * Annotations: * - Provide HPV immunizations - using the "HPV vaccine immunization - ONE PREVIOUS" schedule (3 dose scheme) * - * Outputs: * - Immunize Patient for HPV - 1 Dose * - * 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: * (((((("HPV vaccine history" = "1 dose") and ("Sex" = "Female")) and ("Current Patient Age in Years" >= 15)) and ("Date last HPV dose given" >= "1 month")) and ("Date last HPV does given" <= "2 months")) or (((((("HPV vaccine history" = "1 dose") and ("Sex" = "Female")) and ("Current Patient Age in Years" < 15)) and ("Immunocompromised" = "True")) and ("Date last HPV dose given" >= "1 month")) and ("Date last HPV dose given" <= "2 months"))) */ define "Should vaccinate Patient for HPV because one dose on a three-dose schedule": IMMZCom."Number of HPV Doses Administered to Patient" = 1 and IMMZCom."Patient Biological Sex" = 'female' and IMMZCom."Date Last HPV Dose Administered to Patient" more than 1 month before Today() and IMMZCom."Date Last HPV Dose Administered to Patient" less than 2 month before Today() and ( IMMZCom."Current Patient Age In Years" >= 15 or ( IMMZCom."Current Patient Age In Years" < 15 and IMMZCom."Immunocompromised = True" ) ) /* * Rule: Should vaccinate Patient for HPV because two doses on a three-dose schedule * Annotations: * - Provide HPV immunizations - using the "HPV vaccine immunization - TWO PREVIOUS" schedule (3 dose scheme) * - * Outputs: * - Immunize Patient for HPV - 2 Doses * - * 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: * ((((("HPV vaccine history" = "2 doses") and ("Sex" = "Female")) and ("Current Patient Age in Years" >= 15)) and ("Date last HPV dose given" >= "6 months")) or ((((("HPV vaccine history" = "2 doses") and ("Sex" = "Female")) and ("Current Patient Age in Years" < 15)) and ("Immunocompromised" = "True")) and ("Date last HPV dose given" >= "6 months"))) */ define "Should vaccinate Patient for HPV because two doses on a three-dose schedule": IMMZCom."Number of HPV Doses Administered to Patient" = 2 and IMMZCom."Patient Biological Sex" = 'female' and IMMZCom."Date Last HPV Dose Administered to Patient" more than 6 month before Today() and ( IMMZCom."Current Patient Age In Years" >= 15 or ( IMMZCom."Current Patient Age In Years" < 15 and IMMZCom."Immunocompromised = True" ) ) Content not shown - (application/elm+xml, size = 70Kb) Content not shown - (application/elm+json, size = 368Kb)
Code system ConditionVerificationStatusCodes
Should vaccinate Patient for HPV because no doses on a two-dose schedule
Should vaccinate Patient for HPV a second time on a two-dose schedule
Time between first and second HPV doses less than 5 months
Time since initial HPV dose more than 6 months
Should vaccinate Patient for HPV Dose 3 - due to short interval between first and second dose
Should vaccinate Patient for HPV because no doses on a three-dose schedule
Should vaccinate Patient for HPV because one dose on a three-dose schedule
Should vaccinate Patient for HPV because two doses on a three-dose schedule