| TJC Overall Library |
| 4.0.000 |
| TJCOverall |
| urn:oid:2.16.840.1.113883.4.642.40.61.28.33 |
| 2019-08-03 |
| 2019-08-03 |
| true |
| Global (Whole world) |
| HL7 International / Clinical Quality Information |
This library is used as an example in the FHIR Quality Measure Implementation Guide
|
| Logic Library |
Name: Measurement Period
Use: In
Min Cardinality: 0
Max Cardinality: 1
Type: Period
|
Name: Patient
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Patient
|
Name: Intervention Comfort Measures
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Resource
|
Name: Non Elective Inpatient Encounter
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Encounter
|
Name: All Stroke Encounter
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Encounter
|
Name: Encounter with Principal Diagnosis and Age
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Encounter
|
Name: Ischemic Stroke Encounter
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Encounter
|
Name: Ischemic Stroke Encounters with Discharge Disposition
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Encounter
|
Name: Comfort Measures during Hospitalization
Use: Out
Min Cardinality: 0
Max Cardinality: *
Type: Encounter
|
Type: Patient
Profile(s):
Patient
Must Support Elements: birthDate
|
Type: ServiceRequest
Profile(s):
ServiceRequest
Must Support Elements: code, intent
Code Filter(s):
Path: code
ValueSet: Comfort Measures
|
Type: Procedure
Profile(s):
Procedure
Must Support Elements: code, status
Code Filter(s):
Path: code
ValueSet: Comfort Measures
|
Type: Encounter
Profile(s):
Encounter
Must Support Elements: type, period, hospitalization, hospitalization.dischargeDisposition
Code Filter(s):
Path: type
ValueSet: Nonelective Inpatient Encounter
|
/*
This example is a work in progress and should not be considered a final specification
or recommendation for guidance. This example will help guide and direct the process
of finding conventions and usage patterns that meet the needs of the various stakeholders
in the measure development community.
*/
library TJCOverall version '4.0.000'
using FHIR version '4.0.1'
include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers
include MATGlobalCommonFunctions version '5.0.000' called Global
include SupplementalDataElements version '2.0.000' called SDE
codesystem "SNOMEDCT": 'http://snomed.info/sct'
codesystem "LOINC": 'http://loinc.org'
valueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'
valueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'
valueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'
valueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'
valueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'
valueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
valueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'
valueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'
valueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'
valueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'
valueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'
valueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'
valueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'
code "Birth date": '21112-8' from "LOINC" display 'Birth date'
parameter "Measurement Period" Interval<DateTime>
default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)
context Patient
define "Intervention Comfort Measures":
(["ServiceRequest": "Comfort Measures"] P
where P.intent = 'order')
union
(["Procedure": "Comfort Measures"] InterventionPerformed
where InterventionPerformed.status = 'completed')
define "All Stroke Encounter":
"Non Elective Inpatient Encounter" NonElectiveEncounter
where Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"
or Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"
define "Ischemic Stroke Encounter":
"Encounter with Principal Diagnosis and Age" EncounterWithAge
where Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"
define "Non Elective Inpatient Encounter":
["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter
where Global."LengthInDays"(NonElectiveEncounter.period) <= 120
and NonElectiveEncounter.period ends during "Measurement Period"
define "Ischemic Stroke Encounters with Discharge Disposition":
"Ischemic Stroke Encounter" IschemicStrokeEncounter
where IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"
or IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"
or IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"
or IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"
or IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"
define "Comfort Measures during Hospitalization":
"Ischemic Stroke Encounter" IschemicStrokeEncounter
with "Intervention Comfort Measures" ComfortMeasure
such that FHIRHelpers.ToDateTime(Coalesce(ComfortMeasure.performed as dateTime,ComfortMeasure.authoredOn)) during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)
define "Encounter with Principal Diagnosis and Age":
"All Stroke Encounter" AllStrokeEncounter
with ["Patient"] BirthDate
such that Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(BirthDate.birthDate), start of FHIRHelpers.ToInterval(AllStrokeEncounter.period)) >= 18
define function "CalendarDayOfOrDayAfter"(StartValue DateTime ):
Interval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))
|
Encoded data (83532 characters)
|
Encoded data (151272 characters)
|