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 IMMZCon IMMZConfig depends-on Library IMMZc IMMZConcepts depends-on Library Wcon WHOConcepts depends-on Library FC FHIRCommon depends-on Code system ConditionVerificationStatusCodes ConditionVerificationStatus depends-on Value set HepA Vaccine http://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE5 depends-on Value set Pregnancy Status Pregnant http://fhir.org/guides/who/core/ValueSet/pregnancystatus-values depends-on Value set Immunocompromised Immunocompromised valueset depends-on Value set Active Condition http://fhir.org/guides/cqf/common/ValueSet/active-condition depends-on Value set Inactivated HAV http://fhir.org/guides/who/smart-immunization/ValueSet/IMMZ.A1.DE28 Parameters Individual has a substantial risk of contracting Hepatitis A in 0 1 boolean Patient out 0 1 Patient Hepatitis A vaccine immunization history out 0 * Immunization No-doses out 0 1 boolean Current Patient Age in Years out 0 1 integer Country is not highly endemic out 0 1 boolean Pregnancy Status out 0 1 boolean Not Immunocompromised out 0 1 boolean Country is administering a Live attenuated HAV vaccine out 0 1 boolean Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 1 dose scheme out 0 1 boolean Country is administering an Inactivated HAV vaccine out 0 1 boolean Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 2 dose scheme out 0 1 boolean 1 dose out 0 1 boolean Date last Hepatitis A dose given >= 6 months out 0 1 boolean Date last Hepatitis A dose given <= 5 years out 0 1 boolean Type of last Hepatits A dose out 0 1 CodeableConcept Inactivated HAV out 0 * Coding Should vaccinate patient for Hepatitis A because 1 dose given 6 months to 5 years ago in a 2 dose scheme due to high risk or immunocompromised out 0 1 boolean Data Requirements Type: Patient (Patient) Type: Immunization (Immunization) Type: Observation (Observation) Type: Condition (Condition) Contents text/cql /* * Library: IMMZDT17 (IMMZ.DT.17.HepatitisA) * Rule: If child or person has not been vaccinated, give Hepatitis A vaccine at 1 year of age * Trigger: Patient has never had Hepatits A vaccination */ library IMMZDT17 // Start Skeleton CQL using FHIR version '4.0.1' include FHIRHelpers version '4.0.1' include IMMZCommon called IMMZCom include IMMZConfig called IMMZCon include IMMZConcepts called IMMZc parameter "Individual has a substantial risk of contracting Hepatitis A" Boolean default false // End Skeleton CQL context Patient /* * @dataElement Hepatitis A vaccine immunization history */ define "Hepatitis A vaccine immunization history": IMMZCom."HepA Doses Administered to Patient" /* * @dataElement No-doses */ define "No-doses": not exists("Hepatitis A vaccine immunization history") /* * @dataElement Current Patient Age in Years */ define "Current Patient Age in Years": IMMZCom."Current Patient Age In Years" /* * @dataElement Country is not highly endemic */ define "Country is not highly endemic": IMMZCon."Country is not highly endemic for Hepatitis A" /* * @dataElement Pregnancy Status */ define "Pregnancy Status": IMMZCom."Pregnant" /* * @dataElement Immunocompromised */ define "Not Immunocompromised": not(IMMZCom."Immunocompromised = True") /* * @dataElement Country is administering a Live attenuated HAV vaccine */ define "Country is administering a Live attenuated HAV vaccine": IMMZCon."Country is administering a Live attenuated HAV vaccine" /* * Rule: Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 1 dose scheme * Annotations: * - Provide Hepatitis A immunization – using the "Hepatitis A vaccine immunization – NO PREVIOUS" Live attenuated HAV vaccine schedule (1 dose scheme) * Outputs: * - Immunize Patient for Hepatitis A - 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: * (((((("Hepatitis A vaccine immunization history" = "No-doses") and ("Current Patient Age in Years" >= 1)) and ("Country is not highly endemic" = true)) and ("Pregnancy Status" = false)) and ("Immunocompromised" = false)) and ("Country is administering a Live attenuated HAV vaccine" = true)) */ define "Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 1 dose scheme": (((((("No-doses") and ("Current Patient Age in Years" >= 1)) and ("Country is not highly endemic")) and ("Pregnancy Status" = false)) and ("Not Immunocompromised")) and ("Country is administering a Live attenuated HAV vaccine")) /* * @dataElement Country is administering an Inactivated HAV vaccine */ define "Country is administering an Inactivated HAV vaccine": IMMZCon."Country is administering an Inactivated HAV vaccine" /* * Rule: Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 2 dose scheme * Annotations: * - Provide Hepatitis A immunization – using the "Hepatitis A vaccine immunization – NO PREVIOUS" Inactivated HAV vaccine schedule (2 dose scheme) * Outputs: * - Immunize Patient for Hepatitis A - 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: * (((("Hepatitis A vaccine immunization history" = "No-doses") and ("Current Patient Age in Years" >= 1)) and ("Country is not highly endemic" = true)) and ("Country is administering an Inactivated HAV vaccine" = true)) */ define "Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 2 dose scheme": (((("No-doses") and ("Current Patient Age in Years" >= 1)) and ("Country is not highly endemic")) and ("Country is administering an Inactivated HAV vaccine")) /* * @dataElement 1 dose */ define "1 dose": IMMZCom."Number of HepA Doses Administered to Patient" = 1 /* * @dataElement Date last Hepatitis A dose given >= 6 months */ define "Date last Hepatitis A dose given >= 6 months": IMMZCom."Date last HepA dose Administered to Patient" equal 6 'months' before Today() and IMMZCom."Date last HepA dose Administered to Patient" more than 6 'months' before Today() /* * @dataElement Date last Hepatitis A dose given <= 5 years */ define "Date last Hepatitis A dose given <= 5 years": IMMZCom."Date last HepA dose Administered to Patient" equal 5 'years' before Today() and IMMZCom."Date last HepA dose Administered to Patient" less than 5 'years' before Today() /* * @dataElement Type of last Hepatits A dose */ define "Type of last Hepatits A dose": IMMZCom."Type of last Hepatits A dose Administered to Patient" /* * @dataElement Inactivated HAV */ define "Inactivated HAV": IMMZc."Inactivated HAV" /* * Rule: Should vaccinate patient for Hepatitis A because 1 dose given 6 months to 5 years ago in a 2 dose scheme due to high risk or immunocompromised * Annotations: * - Provide Hepatitis A immunization – using the "Hepatitis A vaccine immunization – 1 PREVIOUS" Inactivated HAV vaccine schedule (2 dose scheme) * - * Outputs: * - Immunize Patient for Hepatitis A - 1 Dose of Inactivated HAV (high risk or immunocompromised) * - * 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: * (((((("Hepatitis A vaccine immunization history" = "1 dose") and ("Date last Hepatitis A dose given" >= "6 months" = true)) and ("Date last Hepatitis A dose given" <= "5 years" = true)) and ("Type of last Hepatits A dose" = "Inactivated HAV")) and ("Individual has a substantial risk of contracting Hepatitis A" = true)) or ((((("Hepatitis A vaccine immunization history" = "1 dose") and ("Date last Hepatitis A dose given" >= "6 months" = true)) and ("Date last Hepatitis A dose given" <= "5 years" = true)) and ("Type of last Hepatits A dose" = "Inactivated HAV")) and ("Immunocompromised" = true))) */ define "Should vaccinate patient for Hepatitis A because 1 dose given 6 months to 5 years ago in a 2 dose scheme due to high risk or immunocompromised": ("1 dose") and ("Date last Hepatitis A dose given >= 6 months") and ("Date last Hepatitis A dose given <= 5 years") and ("Type of last Hepatits A dose" in IMMZc."Inactivated HAV") and ( ("Individual has a substantial risk of contracting Hepatitis A") or (IMMZCom."Immunocompromised = True") ) Content not shown - (application/elm+xml, size = 40Kb) Content not shown - (application/elm+json, size = 211Kb)
Code system ConditionVerificationStatusCodes
Individual has a substantial risk of contracting Hepatitis A
Hepatitis A vaccine immunization history
Country is administering a Live attenuated HAV vaccine
Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 1 dose scheme
Country is administering an Inactivated HAV vaccine
Should vaccinate patient for Hepatitis A because no doses at 1 year old in a 2 dose scheme
Date last Hepatitis A dose given >= 6 months
Date last Hepatitis A dose given <= 5 years
Should vaccinate patient for Hepatitis A because 1 dose given 6 months to 5 years ago in a 2 dose scheme due to high risk or immunocompromised