Related Artifacts depends-on FHIR model information http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1 depends-on Library FHIRHelpers http://smart.who.int/ig/smart-immunizations/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 Library Wcon WHOConcepts depends-on Code system IMMZ.D IMMZ.D CodeSystem for Data Elements depends-on Value set MCV Vaccine IMMZ.Z.DE9 ValueSet for Measles Vaccines depends-on Value set Live Attenuated Set of live attenuated vaccines depends-on Value set Pregnancy Status Pregnant Pregnancy status values Parameters Patient out 0 1 Patient MCV Doses Administered to Patient out 0 * Immunization No measles primary series doses were administered out 0 1 boolean MCV0 was administered out 0 1 boolean MCV0 was not administered out 0 1 boolean MCV1 was administered High Tx out 0 1 boolean MCV2 was administered High Tx out 0 1 boolean MCV1 was administered Low Tx out 0 1 boolean MCV2 was administered Low Tx out 0 1 boolean Measles supplementary dose was administered out 0 1 boolean Measles supplementary dose was not administered out 0 1 boolean Measles routine immunization schedule is complete High Tx out 0 1 boolean Measles routine immunization schedule is complete Low Tx out 0 1 boolean Client's age is less than 6 months out 0 1 boolean Client's age is less than 9 months out 0 1 boolean Client's age is between 6 months and 9 months out 0 1 boolean Client's age is more than or equal to 9 months out 0 1 boolean Client's age is less than 12 months out 0 1 boolean Client's age is more than or equal to 12 months out 0 1 boolean Client's age is less than 15 months out 0 1 boolean Client's age is more than or equal to 15 months out 0 1 boolean Live vaccine was administered in the last 4 weeks out 0 1 boolean No live vaccine was administered in the last 4 weeks out 0 1 boolean The client is pregnant out 0 1 boolean The client has history of anaphylactic reactions out 0 1 boolean The client has history of severe allergic reactions out 0 1 boolean The client is severely immunosuppressed out 0 1 boolean The client has a symptomatic HIV infection out 0 1 boolean Data Requirements Type: Patient (Patient) Type: Immunization (Immunization) Type: Observation (Observation) Type: Condition (Condition) Type: Condition (Condition) Filter Value code One of these codes: IMMZ.D CodeSystem for Data Elements DE166: History of anaphylactic reactions Type: Condition (Condition) Filter Value code One of these codes: IMMZ.D CodeSystem for Data Elements DE167: Severe allergic reactions Type: Condition (Condition) Filter Value code One of these codes: IMMZ.D CodeSystem for Data Elements DE165: Severely immunosuppressed Type: Condition (Condition) Filter Value code One of these codes: IMMZ.D CodeSystem for Data Elements DE168: Symptomatic HIV infection Contents text/cql /* * Library: IMMZD2DTMeaslesInput (IMMZ.D2.DT.Measles.Input) */ library IMMZD2DTMeaslesInput // 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 /* @internal: MCV containing Doses Administered to Patient */ define "MCV Doses Administered to Patient": IMMZCom."Doses Administered to Patient" I where I.vaccineCode in IMMZc."MCV Vaccine" /* @input: No measles primary series doses were administered @psuedocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Primary series" ) = 0 */ define "No measles primary series doses were administered": not exists("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 9 months <= 0) /* @input: MCV0 was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Dose 0") = 1 */ define "MCV0 was administered": Count("MCV Doses Administered to Patient" I where I.occurrence between Patient.birthDate + 6 months and Patient.birthDate + 9 months) >= 1 /* @input: MCV0 was not administered @psuedocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Dose 0") = 0 */ define "MCV0 was not administered": Not("MCV0 was administered") /* @input: MCV1 was administered High Tx @pseudocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Primary series" ) = 1 */ define "MCV1 was administered High Tx": Count("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 9 months <= 0) = 1 /* @input: MCV2 was administered High Tx @pseudocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Primary series" ) = 2 */ define "MCV2 was administered High Tx": Count("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 9 months <= 0) >= 2 and Count("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 15 months <= 0) >= 1 /* @input: MCV1 was administered Low Tx @pseudocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Primary series" ) = 1 */ define "MCV1 was administered Low Tx": Count("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 12 months <= 0) = 1 /* @input: MCV2 was administered Low Tx @pseudocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Primary series" ) = 2 */ define "MCV2 was administered Low Tx": Count("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 12 months <= 0) >= 2 and Count("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 15 months <= 0) >= 1 /* @input: Measles supplementary dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Supplementary dose") = 1 */ define "Measles supplementary dose was administered": Count("MCV Doses Administered to Patient" I where duration in days between I.occurrence and Patient.birthDate + 9 months <= 0) >= 3 /* @input: Measles supplementary dose was not administered @pseudocode: Count of vaccines administered (where "Vaccine type" = 'Measles containing vaccines' and "Type of dose" = "Supplementary dose") = 0 */ define "Measles supplementary dose was not administered": Not("Measles supplementary dose was administered") /* @input: Measles routine immunization schedule is complete High Tx @pseudocode: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Measles containing vaccines") */ define "Measles routine immunization schedule is complete High Tx": "MCV2 was administered High Tx" /* @input: Measles routine immunization schedule is complete Low Tx @pseudocode: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Measles containing vaccines") */ define "Measles routine immunization schedule is complete Low Tx": "MCV2 was administered Low Tx" /* @input: Client's age is less than 6 months @pseudocode: Today's date - "Date of birth" < 6 'month' */ define "Client's age is less than 6 months": IMMZCom."Current Patient Age In Months" < 6 /* @input: Client's age is between 6 months and 9 months @pseudocode: 6 'month' ≤ Today's date - "Date of birth" < 9 'month' */ define "Client's age is between 6 months and 9 months": not("Client's age is less than 6 months") and "Client's age is less than 9 months" /* @input: Client's age is less than 9 months @pseudocode: Today's date - "Date of birth" < 9 'month'" */ define "Client's age is less than 9 months": IMMZCom."Current Patient Age In Months" < 9 /* @input: Client's age is more than or equal to 9 months @pseudocode: Today's date - "Date of birth" ≥ 9 'month' */ define "Client's age is more than or equal to 9 months": not ("Client's age is less than 9 months") /* @input: Client's age is less than 12 months @pseudocode: Today's date - ""Date of birth"" < 12 'month' */ define "Client's age is less than 12 months": IMMZCom."Current Patient Age In Months" < 12 /* @input: Client's age is more than or equal to 12 months Today's date - ""Date of birth"" ≥ 12 'month' */ define "Client's age is more than or equal to 12 months": not("Client's age is less than 12 months") /* @input: Client's age is less than 15 months @pseudocode: Today's date - "Date of birth" < 15 'month' */ define "Client's age is less than 15 months": IMMZCom."Current Patient Age In Months" < 15 /* @input: Client's age is more than or equal to 15 months @psuedocode: Today's date - "Date of birth" ≥ 15 'month' */ define "Client's age is more than or equal to 15 months": not("Client's age is less than 15 months") /* @input: Live vaccine was administered in the last four weeks @pseudocode: Today's date - latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 'week' */ define "Live vaccine was administered in the last 4 weeks": //IMMZCom."Date of Latest Live Attenuated Vaccine" is not null and IMMZCom."Date of Latest Live Attenuated Vaccine" + 4 weeks > Now() IMMZCom."Date of Latest Live Attenuated Vaccine" is not null and duration in weeks between IMMZCom."Date of Latest Live Attenuated Vaccine" and Now() < 4 /* @input: No live vaccine was administered in the last four weeks @pseudocode: Today's date - latest "Date and time of vaccination" (where "Live vaccine" = TRUE) ≥ 4 'week' */ define "No live vaccine was administered in the last 4 weeks": not("Live vaccine was administered in the last 4 weeks") /* @input: The client is pregnant @pseudocode: "Potential contraindications" = 'Currently pregnant' */ define "The client is pregnant": IMMZCom."Pregnant" /* @input: The client has history of anaphylactic reactions @pseudocode: "Potential contraindications" = 'History of anaphylactic reactions' */ define "The client has history of anaphylactic reactions": exists(IMMZCom."History of Anaphylactic Reactions Condition") /* @input: The client has history of severe allergic reactions @pseudocode: "Potential contraindications" = 'Severe allergic reactions' */ define "The client has history of severe allergic reactions": exists(IMMZCom."Severe Allergic Reactions Condition") /* @input: The client is severely immunosuppressed @pseudocode: "Potential contraindications" = 'Severely immunosuppressed' */ define "The client is severely immunosuppressed": exists(IMMZCom."Severely Immunosuppressed Condition") /* @input: The client has a symptomatic HIV infection @pseudocode: "Potential contraindications" = 'Symptomatic HIV infection' */ define "The client has a symptomatic HIV infection": exists(IMMZCom."Symptomatic HIV Infection Condition") Content not shown - (application/elm+xml, size = 90Kb) Content not shown - (application/elm+json, size = 164Kb)
No measles primary series doses were administered
Measles supplementary dose was administered
Measles supplementary dose was not administered
Measles routine immunization schedule is complete High Tx
Measles routine immunization schedule is complete Low Tx
Client's age is between 6 months and 9 months
Client's age is more than or equal to 9 months
Client's age is more than or equal to 12 months
Client's age is more than or equal to 15 months
Live vaccine was administered in the last 4 weeks
No live vaccine was administered in the last 4 weeks
The client has history of anaphylactic reactions
The client has history of severe allergic reactions
The client has a symptomatic HIV infection