/*
* Library: IMMZD2DTMumpsElements
*/
library IMMZD2DTMumpsElements
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
include WHOConcepts
include WHOCommon called WC
include WHOElements called WE
include IMMZCommon called Common
include IMMZConcepts called Concepts
include IMMZElements called Elements
context Patient
/*
@internal: Mumps containing Doses Administered to Patient
*/
define "Mumps Doses Administered to Patient":
Elements."Doses Administered to Patient" I
where
I.vaccineCode in Concepts."Mumps-containing vaccines"
/*
@internal: Mumps containing Doses Administered to Patient that are in the Primary series
*/
define "Mumps Primary Series Doses Administered to Patient":
"Mumps Doses Administered to Patient".seriesPrimary()
/*
@internal: Number of Mumps Primary Series doses
*/
define "Number of Mumps Primary Series Doses Administered":
Count("Mumps Primary Series Doses Administered to Patient")
/*
@input: Client's age is less than 12 months
@pseudocode: Today's date − "Date of birth" < 12 months
@code: Client's age is less than 12 months-42
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "Client's age is less than 12 months":
Elements."Current Patient Age In Months" < 12
/*
@input: No mumps primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Mumps-containing vaccines" and "Type of dose" = "Primary series") = 0
@code: No mumps primary series doses were administered-125
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "No mumps primary series doses were administered":
"Number of Mumps Primary Series Doses Administered" = 0
/*
@input: Client's age is more than or equal to 12 months
@pseudocode: Today's date − "Date of birth" ≥ 12 months
@code: Client's age is more than or equal to 12 months-42
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "Client's age is more than or equal to 12 months":
Elements."Current Patient Age In Months" >= 12
/*
@input: Live vaccine was administered in the past 4 weeks
@pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 weeks
@code: Live vaccine was administered in the past 4 weeks-92
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "Live vaccine was administered in the past 4 weeks":
Elements."Live vaccine was administered in the last 4 weeks"
/*
@input: No live vaccine was administered in the past 4 weeks
@pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) ≥ 4 weeks
@code: No live vaccine was administered in the past 4 weeks-92
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "No live vaccine was administered in the past 4 weeks":
Elements."No live vaccine was administered in the last 4 weeks"
/*
@input: One mumps primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Mumps-containing vaccines" and "Type of dose" = "Primary series") = 1
@code: One mumps primary series dose was administered-125
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "One mumps primary series dose was administered":
"Number of Mumps Primary Series Doses Administered" = 1
/*
@input: The latest mumps dose was administered less than 4 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Mumps-containing vaccines") < 4 weeks
@code: The latest mumps dose was administered less than 4 weeks ago-108
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "The latest mumps dose was administered less than 4 weeks ago":
"Date of Latest Mumps Dose" is not null
and duration in weeks between "Date of Latest Mumps Dose" and Now() < 4
/*
@input: The latest mumps dose was administered more than 4 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Mumps-containing vaccines") ≥ 4 weeks
@code: The latest mumps dose was administered more than 4 weeks ago-108
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "The latest mumps dose was administered more than 4 weeks ago":
not "The latest mumps dose was administered less than 4 weeks ago"
/*
@input: Two mumps primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Mumps-containing vaccines" and "Type of dose" = "Primary series") = 2
@code: Two mumps primary series doses were administered-125
@decision: IMMZ.D2.DT.Mumps: 2-dose schedule (countries with mumps in schedule and low transmission of measles)
*/
define "Two mumps primary series doses were administered":
"Number of Mumps Primary Series Doses Administered" = 2
/*
@internal: Date of Latest Mumps Dose
*/
define "Date of Latest Mumps Dose":
date from start of "Mumps Doses Administered to Patient".mostRecent().occurrence.toInterval()