WHO Immunization Implementation Guide
0.1.0 - CI Build International flag

WHO Immunization Implementation Guide, published by World Health Organization (WHO). This guide is not an authorized publication; it is the continuous build for version 0.1.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: IMMZD5DTMeaslesCI

Official URL: http://smart.who.int/ig/smart-immunizations/Library/IMMZD5DTMeaslesCI Version: 0.1.0
Draft as of 2024-05-30 Computable Name: IMMZD5DTMeaslesCI

Related Artifacts

depends-onFHIR model informationhttp://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
depends-onLibrary FHIRHelpershttp://smart.who.int/ig/smart-immunizations/Library/FHIRHelpers|4.0.1
depends-onLibrary IMMZComIMMZCommon
depends-onLibrary IMMZcIMMZConcepts
depends-onLibrary IMMZConIMMZConfig
depends-onLibrary IMMZvlIMMZVaccineLibrary
depends-onLibrary FCFHIRCommon
depends-onLibrary inputIMMZD2DTMeaslesInput
depends-onLibrary WconWHOConcepts
depends-onCode system IMMZ.DIMMZ.D CodeSystem for Data Elements
depends-onValue set Pregnancy Status PregnantPregnancy status values

Parameters

Patientout01Patient
Draft Medication Request for MCV doseout0*MedicationRequest
Draft Medication Request ID for MCV doseout01id
Measles vaccination contraindicated Case 1out01boolean
Measles vaccination contraindicated Case 2out01boolean
Measles vaccination contraindicatedout01boolean
Measles vaccination contraindicated Guidanceout01string
Clinical judgement required Case 1out01boolean
Clinical judgement required Case 2out01boolean
Clinical judgement required Case 3out01boolean
Clinical judgement requiredout01boolean
Clinical judgement required Guidanceout01string
Guidanceout01string

Data Requirements

Type: Patient (Patient)
Type: MedicationRequest (MedicationRequest)
Type: Observation (Observation)
Type: Condition (Condition)
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE165: Severely immunosuppressed
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE166: History of anaphylactic reactions
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE167: Severe allergic reactions
Type: Condition (Condition)
FilterValue
codeOne of these codes: IMMZ.D CodeSystem for Data Elements DE168: Symptomatic HIV infection

Contents

text/cql

/*
 * Library: IMMZD5DTMeaslesCI (IMMZ.D5.DT.Measles.CI)
 * Rule: Check for contraindications before administering the vaccine(s) due	 	 	  
 * Trigger: IMMZ.D5 Determine vaccine(s) to be administered based on contraindications
 */
library IMMZD5DTMeaslesCI
// 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
include IMMZD2DTMeaslesInput called input

// End Skeleton CQL
context Patient

/*
@internal: Draft Medication Request for MCV dose
*/
define "Draft Medication Request for MCV dose":
	[MedicationRequest] MR where MR.status = 'draft' and MR.intent = 'proposal'
	sort by date from (authoredOn as FHIR.dateTime) desc

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

/*
@dynamicValue: Guidance
*/
define "Guidance":
	Combine( { 
		if "Measles vaccination contraindicated" then "Measles vaccination contraindicated Guidance" else '',
		if "Clinical judgement required" then "Clinical judgement required Guidance" else ''
	}, ' ' )

/*
@output: Measles vaccination contraindicated Case 1
@pseudocode: "Immunization recommendation status" = 'Contraindicated'
*/
define "Measles vaccination contraindicated Case 1":
	input."The client is pregnant"

/*
@output: Measles vaccination contraindicated Case 2
@pseudocode: "Immunization recommendation status" = 'Contraindicated'
*/
define "Measles vaccination contraindicated Case 2":
	input."The client is severely immunosuppressed"

/*
@output: Measles vaccination contraindicated
@pseudocode: "Immunization recommendation status" = 'Contraindicated'
*/
define "Measles vaccination contraindicated":
	"Measles vaccination contraindicated Case 1" or "Measles vaccination contraindicated Case 2"

/*
@output: Measles vaccination contraindicated Guidance
@guidance: Do not vaccinate due to a contraindication: client is pregnant.
@guidance: Do not vaccinate due to a contraindication: client is severely immunosuppressed.
*/
define "Measles vaccination contraindicated Guidance":
	Combine( {
		if "Measles vaccination contraindicated Case 1" then 'Do not vaccinate due to a contraindication: client is pregnant.' else '',
		if "Measles vaccination contraindicated Case 2" then 'Do not vaccinate due to a contraindication: client is severely immunosuppressed.' else ''
	}, ' ' )

/*
@output: Clinical judgement required Case 1
@pseudocode: Immunization recommendation status = 'Further evaluation needed'"
*/
define "Clinical judgement required Case 1":
	input."The client has history of anaphylactic reactions"

/*
@output: Clinical judgement required Case 2
@pseudocode: Immunization recommendation status = 'Further evaluation needed'"
*/
define "Clinical judgement required Case 2":
	input."The client has history of severe allergic reactions"

/*
@output: Clinical judgement required Case 3
@pseudocode: Immunization recommendation status = 'Further evaluation needed'"
*/
define "Clinical judgement required Case 3":
input."The client has a symptomatic HIV infection"

/*
@output: Clinical judgement required
@pseudocode: Immunization recommendation status = 'Further evaluation needed'"
*/
define "Clinical judgement required":
	"Clinical judgement required Case 1"
	or "Clinical judgement required Case 2"
	or "Clinical judgement required Case 3"

/*
@output: Clinical judgement required Guidance
@guidance: Check if previous anaphylactic reaction refers to components of the vaccine (e.g. neomycin or gelatin)
@guidance: Check if previous severe reaction refers to components of the vaccine (e.g. neomycin or gelatin) 
@guidance: Vaccination may be considered if the client is not severely immunosuppressed
*/
define "Clinical judgement required Guidance":
	Combine( {
		if "Clinical judgement required Case 1" then 'Check if previous anaphylactic reaction refers to components of the vaccine (e.g. neomycin or gelatin)' else '',
		if "Clinical judgement required Case 2" then 'Check if previous severe reaction refers to components of the vaccine (e.g. neomycin or gelatin)' else '',
		if "Clinical judgement required Case 3" then 'Vaccination may be considered if the client is not severely immunosuppressed' else ''
	}, ' ' )

Content not shown - (application/elm+xml, size = 30Kb )

Content not shown - (application/elm+json, size = 51Kb )