Title: IMMZD18SMeaslesLowTransmissionLogic Id: IMMZD18SMeaslesLowTransmissionLogic Version: 0.2.0 Url: IMMZD18SMeaslesLowTransmissionLogic Status: draft Type: system: http://terminology.hl7.org/CodeSystem/library-type code: logic-library Date: 2025-12-05 23:35:21+0000 Publisher: WHO Description: This library defines decision support logic for the IMMZ.D18.S.Measles.Low transmission schedule table in the Immunization CPG Related Artifacts: Dependencies WHOCommon IMMZCommon IMMZConcepts IMMZEncounterElements IMMZD2DTMeaslesEncounterElements Parameters: Name Type Min Max In/Out Today date 0 1 In Patient Patient 0 1 Out MCV dose 1 (MCV1) boolean 0 1 Out MCV dose 1 (MCV1) Due Date date 0 1 Out MCV dose 1 (MCV1) Create string 0 1 Out MCV dose 1 (MCV1) Overdue Resource 0 1 Out MCV dose 1 (MCV1) Expiration Resource 0 1 Out MCV1 was administered boolean 0 1 Out MCV2 was administered. The primary series has been completed boolean 0 1 Out MCV2 boolean 0 1 Out MCV2 Due Date date 0 1 Out MCV2 Create string 0 1 Out MCV2 Overdue Resource 0 1 Out MCV2 Expiration Resource 0 1 Out Test Validation Resource 0 1 Out Content: text/cql /* * Library: IMMZD18SMeaslesLowTransmissionLogic (IMMZ.D18.S.Measles.Low transmission schedule) * Schedule Table: Schedule for countries with low levels of measles transmission (countries that provide first dose of measles-containing vaccine (MCV) at 12 months and second dose of MCV at 15 months) */ library IMMZD18SMeaslesLowTransmissionLogic using FHIR version '4.0.1' include FHIRHelpers version '4.0.1' include WHOCommon called WC include IMMZCommon called Common include IMMZConcepts called Concepts include IMMZEncounterElements called IE include IMMZD2DTMeaslesEncounterElements called Encounter parameter Today Date default Today() context Patient /* @output: MCV dose 1 (MCV1) @description: Provision of MCV1 from the primary series @trigger: Child's birth @pseudo: @triggerDate: "Date of birth" */ define "MCV dose 1 (MCV1)": Encounter."No measles primary series doses were administered" /* @output: MCV dose 1 (MCV1) Create @create: The client is due for MCV1 if the client is at least 12 months */ define "MCV dose 1 (MCV1) Create": if "MCV dose 1 (MCV1)" then 'The client is due for MCV1 if the client is at least 12 months' + ' Due Date: ' + ToString("MCV dose 1 (MCV1) Due Date") else '' /* @dynamicValue: MCV dose 1 (MCV1) Due Date @pseudocode: "Date of birth" + 12 months */ define "MCV dose 1 (MCV1) Due Date": if "MCV dose 1 (MCV1)" then Patient.birthDate + 12 months else null /* @dynamicValue: MCV dose 1 (MCV1) Overdue @pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated. */ define "MCV dose 1 (MCV1) Overdue": null /* @dynamicValue: MCV dose 1 (MCV1) Expiration @pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated. */ define "MCV dose 1 (MCV1) Expiration": null /* @complete: MCV1 was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Measles-containing vaccines" and "Type of dose" = "Primary series") = 1 */ define "MCV1 was administered": Encounter."MCV1 was administered" /* @output: MCV2 @description: Provision of MCV2 from the primary series @trigger: MCV1 was administered @pseudo: Count of vaccines administered (where "Vaccine type" = "Measles-containing vaccines" and "Type of dose" = "Primary series") = 1 @triggerDate: "Date of birth" */ define "MCV2": not "MCV2 was administered. The primary series has been completed" /* @output: MCV2 Create @create: The client is due for MCV2 if the client is at least 15 months. */ define "MCV2 Create": if "MCV2" then 'The client is due for MCV2 if the client is at least 15 months.' + ' Due Date: ' + ToString("MCV2 Due Date") else '' /* @dynamicValue: MCV2 Due Date @pseudocode: "Date of birth" + 15 months */ define "MCV2 Due Date": if "MCV2" then Patient.birthDate + 15 months else null /* @dynamicValue: MCV2 Overdue @pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated. */ define "MCV2 Overdue": null /* @dynamicValue: MCV2 Expiration @pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated. */ define "MCV2 Expiration": null /* @complete: MCV2 was administered. The primary series has been completed @pseudocode: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Measles-containing vaccines") */ define "MCV2 was administered. The primary series has been completed": Encounter."MCV2 was administered" /* @test: Test expected results based on example patients */ define "Test Validation": case when Patient.id = 'Measles22.1' then "MCV dose 1 (MCV1)" when Patient.id = 'Measles23.3' then "MCV dose 1 (MCV1)" when Patient.id = 'Measles24.3' then "MCV dose 1 (MCV1)" when Patient.id = 'Measles25.2' then "MCV2" when Patient.id = 'Measles26.3' then "MCV2" when Patient.id = 'Measles27.3' then "MCV2" when Patient.id = 'Measles28.1' then "MCV2 was administered. The primary series has been completed" and not "MCV2" else 'No test case set' end Content: application/elm+xml Encoded data (58080 characters)
This library defines decision support logic for the IMMZ.D18.S.Measles.Low transmission schedule table in the Immunization CPG
MCV2 was administered. The primary series has been completed