WHO Immunization Implementation Guide
0.2.0 - ci-build

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions

Library: IMMZD5DTMumpsCILogic

Official URL: http://smart.who.int/immunizations/Library/IMMZD5DTMumpsCILogic Version: 0.2.0
Draft as of 2025-08-08 Computable Name: IMMZD5DTMumpsCILogic

This library defines decision support logic for the IMMZ.D5.DT.Mumps contraindications decision table in the Immunization CPG

Title: IMMZD5DTMumpsCILogic
Id: IMMZD5DTMumpsCILogic
Version: 0.2.0
Url: IMMZD5DTMumpsCILogic
Status: draft
Type:

system: http://terminology.hl7.org/CodeSystem/library-type

code: logic-library

Date: 2025-08-08 19:12:11+0000
Publisher: WHO
Description:

This library defines decision support logic for the IMMZ.D5.DT.Mumps contraindications decision table in the Immunization CPG

Related Artifacts:

Dependencies

Parameters:
NameTypeMinMaxIn/Out
Todaydate01In
PatientPatient01Out
Draft Medication Request ID for Mumps doseid01Out
Mumps vaccination is contraindicated Case 1boolean01Out
Mumps vaccination is contraindicated Case 2boolean01Out
Mumps vaccination is contraindicated Case 3boolean01Out
Mumps vaccination is contraindicatedboolean01Out
Mumps vaccination is contraindicated Guidancestring01Out
Mumps vaccination could be contraindicated. Clinical judgement is required.boolean01Out
Mumps vaccination could be contraindicated. Clinical judgement is required. Guidancestring01Out
Guidancestring01Out
Has Guidanceboolean01Out
Test ValidationResource01Out
Content: text/cql

/*
 * Library: IMMZD5DTMumpsCILogic (IMMZ.D5.DT.Mumps contraindications)
 * Rule: Check for contraindications before administering the vaccine(s) due	
 * Decision Table: Potential contraindications
 * Trigger: IMMZ.D5 Determine vaccine(s) to be administered based on contraindications
 */
library IMMZD5DTMumpsCILogic

using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'

include IMMZD5DTMumpsEncounterElements called Encounter

parameter Today Date default Today()

context Patient

/*
  @dynamicValue: Draft Medication Request ID for Mumps dose
  */
  define "Draft Medication Request ID for Mumps dose":
    First(Encounter."Draft Medication Request for Mumps dose").id


/*
@dynamicValue: Guidance
*/
define "Guidance":
  case
    when "Mumps vaccination is contraindicated" then "Mumps vaccination is contraindicated Guidance"
    when "Mumps vaccination could be contraindicated. Clinical judgement is required." then "Mumps vaccination could be contraindicated. Clinical judgement is required. Guidance"
    else ''
  end

define "Has Guidance":
  "Guidance" is not null and "Guidance" != ''

/*
@output: Mumps vaccination is contraindicated Case 1
@pseudocode: "Immunization recommendation status" = "Contraindicated"
*/
define "Mumps vaccination is contraindicated Case 1":
  Encounter."The client is currently pregnant"

/*
@output: Mumps vaccination is contraindicated Case 2
@pseudocode: "Immunization recommendation status" = "Contraindicated"
*/
define "Mumps vaccination is contraindicated Case 2":
  Encounter."The client has immune deficiency"

/*
@output: Mumps vaccination is contraindicated Case 3
@pseudocode: "Immunization recommendation status" = "Contraindicated"
*/
define "Mumps vaccination is contraindicated Case 3":
  Encounter."The client is severely immunosuppressed"

/*
@output: Mumps vaccination is contraindicated
@pseudocode: "Immunization recommendation status" = "Contraindicated"
*/
define "Mumps vaccination is contraindicated":
  "Mumps vaccination is contraindicated Case 1"
    or "Mumps vaccination is contraindicated Case 2"
    or "Mumps vaccination is contraindicated Case 3"

/*
@output: Mumps vaccination is contraindicated Guidance
@guidance: Do not vaccinate client with mumps as mumps vaccination is contraindicated for pregnant individuals.
@guidance: Do not vaccinate client with mumps as mumps vaccination is contraindicated in individuals with immunodeficiency syndromes.
@guidance: Do not vaccinate client with mumps as mumps vaccination is contraindicated in immunosuppressed individuals.
*/
define "Mumps vaccination is contraindicated Guidance":
  case
    when "Mumps vaccination is contraindicated Case 1" then 'Do not vaccinate client with mumps as mumps vaccination is contraindicated for pregnant individuals.'
    when "Mumps vaccination is contraindicated Case 2" then 'Do not vaccinate client with mumps as mumps vaccination is contraindicated in individuals with immunodeficiency syndromes.'
    when "Mumps vaccination is contraindicated Case 3" then 'Do not vaccinate client with mumps as mumps vaccination is contraindicated in immunosuppressed individuals.'
    else ''
  end

/*
@output: Mumps vaccination could be contraindicated. Clinical judgement is required.
@pseudocode: Create a clinical note.
*/
define "Mumps vaccination could be contraindicated. Clinical judgement is required.":
  Encounter."The client has allergy to vaccine components"

/*
@output: Mumps vaccination could be contraindicated. Clinical judgement is required. Guidance
@guidance: Do not vaccinate client with mumps if client has allergy to vaccine components, such as neomycin and gelatin.
*/
define "Mumps vaccination could be contraindicated. Clinical judgement is required. Guidance":
  'Do not vaccinate client with mumps if client has allergy to vaccine components, such as neomycin and gelatin.'


/*
@test: Test expected results based on example patients
*/
define "Test Validation":
  case
    when Patient.id = '20.1' then "Mumps vaccination is contraindicated Case 1" and "Guidance" = 'Do not vaccinate client with mumps as mumps vaccination is contraindicated for pregnant individuals.'
    when Patient.id = '21.1' then "Mumps vaccination could be contraindicated. Clinical judgement is required." and "Guidance" = 'Do not vaccinate client with mumps if client has allergy to vaccine components, such as neomycin and gelatin.'
    when Patient.id = '22.1' then "Mumps vaccination is contraindicated Case 2" and "Guidance" = 'Do not vaccinate client with mumps as mumps vaccination is contraindicated in individuals with immunodeficiency syndromes.'
    when Patient.id = '23.1' then "Mumps vaccination is contraindicated Case 3" and "Guidance" = 'Do not vaccinate client with mumps as mumps vaccination is contraindicated in immunosuppressed individuals.'
    else 'No test case set'
  end
Content: application/elm+xml
Encoded data (52336 characters)