Metadata Title Patient Common Version 2026.1.0 Topic FHIR Topic CQL Description PatientCommon logic. Type logic-library from http://terminology.hl7.org/CodeSystem/library-type Parameter Name: Patient Use: Out Min Cardinality: 0 Max Cardinality: 1 Type: Patient Library Content CQL Content /* @description: Common patient fluent functions @comment: These are currently in the CI Build of US CQL, reproduced here for ease of reference */ library PatientCommon using FHIR version '4.0.1' include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' include hl7.fhir.uv.cql.FHIRCommon version '2.0.0' context Patient /* @description: Returns the age in days of the patient as of the given date, using birth time if known @comment: This function returns the number of whole days between the patient birth date and the asOf date. If the patient has a birthTime, the calculation is performed using the birthDateTime, and the time component of the asOf parameter is considered. Note that when the birth time is known, timezone offset normalization will be used. */ define fluent function ageInDaysAt(patient Patient, asOf DateTime): if patient.birthTime() is not null then CalculateAgeInDaysAt(Patient.birthDateTime(), asOf) else CalculateAgeInDaysAt(Patient.birthDate, date from asOf) /* @description: Returns the current age in days of the patient, using birth time if known @comment: This function returns the number of whole days between the patient birth date and the current date. If the patient has a birthTime, the calculation is performed using the birthDateTime and Now(), otherwise the calculation is performed using Today(). Note that when the birth time is known, timezone offset normalization will be used. */ define fluent function ageInDays(patient Patient): if patient.birthTime() is not null then CalculateAgeInDaysAt(Patient.birthDateTime(), Now()) else CalculateAgeInDaysAt(Patient.birthDate, Today()) /* @description: Returns the age in months of the patient as of the given date, using birth time if known @comment: This function returns the number of whole calendar months between the patient birth date and the asOf date. If the patient has a birthTime, the calculation is performed using the birthDateTime, and the time component of the asOf parameter is considered. Note that when the birth time is known, timezone offset normalization will be used. */ define fluent function ageInMonthsAt(patient Patient, asOf DateTime): if patient.birthTime() is not null then CalculateAgeInMonthsAt(Patient.birthDateTime(), asOf) else CalculateAgeInMonthsAt(Patient.birthDate, date from asOf) /* @description: Returns the current age in months of the patient, using birth time if known @comment: This function returns the number of whole calendar months between the patient birth date and the current date. If the patient has a birthTime, the calculation is performed using the birthDateTime and Now(), otherwise the calculation is performed using Today(). Note that when the birth time is known, timezone offset normalization will be used. */ define fluent function ageInMonths(patient Patient): if patient.birthTime() is not null then CalculateAgeInMonthsAt(Patient.birthDateTime(), Now()) else CalculateAgeInMonthsAt(Patient.birthDate, Today()) /* @description: Returns the age in years of the patient, as of the given date @comment: This function returns the number of whole calendar years between the patient birth date and the given date. Regardless of whether the patient has a birthTime, the calculation is performed using only the birth date. If the given date has a time component, it is ignored, on the grounds that birth time is almost universally not considered when determining age in years. */ define fluent function ageInYearsAt(patient Patient, asOf DateTime): CalculateAgeInYearsAt(Patient.birthDate, date from asOf) /* @description: Returns the current age in years of the patient @comment: This function returns the number of whole calendar years between the patient birth date and the current date. Regardless of whether the patient has a birthTime, the calculation is performed using only the birth date and Today(), on the grounds that birth time is almost universally not considered when determining age in years. */ define fluent function ageInYears(patient Patient): CalculateAgeInYearsAt(Patient.birthDate, Today()) ELM XML Content Encoded data (45848 characters) ELM JSON Content Encoded data (80344 characters) Generated using version 0.5.0 of the sample-content-ig Liquid templates