Title: IMMZD18SMeaslesLowTxLogic Id: IMMZD18SMeaslesLowTxLogic Version: 0.2.0 Url: IMMZD18SMeaslesLowTxLogic Status: draft Experimental: true Type: system: http://terminology.hl7.org/CodeSystem/library-type code: logic-library Date: 2025-07-02 07:24:46+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 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: IMMZD18SMeaslesLowTxLogic (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 IMMZD18SMeaslesLowTxLogic using FHIR version '4.0.1' include FHIRHelpers version '4.0.1' 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 @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 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 = '21.Alt12m' then "MCV dose 1 (MCV1)" when Patient.id = '21.Agt12m' then "MCV dose 1 (MCV1)" when Patient.id = '21.Agt12mLVlt4w' then "MCV dose 1 (MCV1)" when Patient.id = '22.D1Alt15m' then "MCV2" when Patient.id = '22.D1Agt15mLVlt4w' then "MCV2" when Patient.id = '22.D2' then not "MCV2" and not "MCV dose 1 (MCV1)" else 'No test case set' end Content: application/elm+xml Encoded data (52776 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