| CAUTI Elements |
| 2.0.0-ballot |
| urn:oid:2.16.840.1.113883.4.642.40.61.28.38 |
| Draft |
| true |
|
001 from http://unstats.un.org/unsd/methods/m49/m49.htm
|
| FHIR
|
| CQL
|
| HL7 International / Clinical Quality Information |
DRAFT Data elements used in the calculation of NHSN Catheter-associated Urinary Tract Infection measures.
|
|
logic-library from http://terminology.hl7.org/CodeSystem/library-type
|
Description: Library FHIRHelpers
Resource: http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1
Canonical URL: http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1
|
Description: Library FHIRCommon
Resource: http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0
Canonical URL: http://hl7.org/fhir/uv/cql/Library/FHIRCommon|2.0.0
|
Description: Value Set Catheter Inserted
Resource: http://example.org/ValueSet/catheter-inserted
Canonical URL: http://example.org/ValueSet/catheter-inserted
|
Description: Value Set Catheter Removed
Resource: http://example.org/ValueSet/catheter-removed
Canonical URL: http://example.org/ValueSet/catheter-removed
|
Description: Value Set Urine Culture
Resource: http://example.org/ValueSet/urine-culture
Canonical URL: http://example.org/ValueSet/urine-culture
|
Description: Value Set Bacterium Presence
Resource: http://example.org/ValueSet/bacterium-presence
Canonical URL: http://example.org/ValueSet/bacterium-presence
|
Description: Value Set Microbiologic Blood Tests
Resource: http://example.org/ValueSet/bacterium-presence
Canonical URL: http://example.org/ValueSet/bacterium-presence
|
Type: Procedure
Profile(s):
Procedure
Code Filter(s):
Path: code
ValueSet: http://example.org/ValueSet/catheter-inserted
|
Type: Procedure
Profile(s):
Procedure
Code Filter(s):
Path: code
ValueSet: http://example.org/ValueSet/catheter-removed
|
Type: Observation
Profile(s):
Observation
Code Filter(s):
Path: code
ValueSet: http://example.org/ValueSet/urine-culture
|
Type: Condition
Profile(s):
Condition
|
Type: Observation
Profile(s):
Observation
Code Filter(s):
Path: code
ValueSet: http://example.org/ValueSet/bacterium-presence
|
Type: Encounter
Profile(s):
Encounter
|
| Name |
Use |
Card. |
Type |
Documentation |
| Measurement Period |
In |
0..1 |
Period |
|
| Patient |
Out |
0..1 |
Patient |
|
| Catheter Inserted Procedure |
Out |
0..* |
Procedure |
|
| Catheter Removed Procedure |
Out |
0..* |
Procedure |
|
| Catheter Usage |
Out |
0..* |
Period |
|
| Catheter Usage During Measurement Period |
Out |
0..* |
Period |
|
| Urine Culture With Bacterium |
Out |
0..* |
Observation |
|
| UTI |
Out |
0..* |
Resource |
|
| Catheter-Associated UTI |
Out |
0..* |
Resource |
|
| Symptoms Not Attributable To Catheter |
Out |
0..* |
Condition |
|
| Symptoms Attributable To Catheter |
Out |
0..* |
Condition |
|
| Symptomatic UTI |
Out |
0..* |
Resource |
|
| Microbiologic Blood Test Result |
Out |
0..* |
Observation |
|
| Bacteremic UTI |
Out |
0..* |
Resource |
|
| Encounter During Measurement Period |
Out |
0..* |
Encounter |
|
|
/*
@description: Provides data elements used in the Catheter-Associated Urinary Tract Infection Rates and Standardized Infection Ratio measures.
@comment: DRAFT: Note that this is draft content used to illustrate an approach to calculating risk-adjusted measures.
The logic represented here is based on the CAUTI measures defined in the [UTI Events](https://www.cdc.gov/nhsn/pdfs/pscmanual/7psccauticurrent.pdf)
documentation on the NHSN site.
@seealso: https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/blob/master/Source/Cooking%20With%20CQL/93/CAUTI.md
*/
library CAUTIElements
using FHIR version '4.0.1'
include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers
include hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon
valueset "Catheter Inserted": 'http://example.org/ValueSet/catheter-inserted'
valueset "Catheter Removed": 'http://example.org/ValueSet/catheter-removed'
valueset "Urine Culture": 'http://example.org/ValueSet/urine-culture'
valueset "Bacterium Presence": 'http://example.org/ValueSet/bacterium-presence'
valueset "Microbiologic Blood Tests": 'http://example.org/ValueSet/bacterium-presence'
parameter "Measurement Period" Interval<DateTime>
default Interval[@2026-01-01T00:00:00, @2026-12-31T23:59:59]
context Patient
define "Catheter Inserted Procedure":
[Procedure: "Catheter Inserted"] P
where P.status = 'completed'
define "Catheter Removed Procedure":
[Procedure: "Catheter Removed"] P
where P.status = 'completed'
define "Catheter Usage":
"Catheter Inserted Procedure" I
let catheterRemoved:
First(
"Catheter Removed Procedure" R
where R.performed.toInterval() starts after I.performed.toInterval()
sort by start of performed.toInterval()
)
return Interval[
date from start of I.performed.toInterval(),
date from start of catheterRemoved.performed.toInterval()
]
define "Catheter Usage During Measurement Period":
collapse (
"Catheter Usage" Usage
where Usage overlaps "Measurement Period"
return Interval[
Max({start of Usage, start of "Measurement Period"}),
Min({end of Usage, end of "Measurement Period"})
]
)
define "Urine Culture With Bacterium":
[Observation: "Urine Culture"] O
where O.status = 'final'
and exists (
O.component C
where C.code in "Bacterium Presence"
and C.value >= 10000 '[CFU]/mL'
)
define "UTI":
"Urine Culture With Bacterium" U
let
DOE: date from start of U.effective.toInterval(),
IWP: Interval[DOE - 3 days, DOE + 3 days]
where start of U.effective.toInterval() during "Measurement Period"
return {
urineCultureResult: U,
dateOfEvent: DOE,
infectionWindowPeriod: IWP
}
define "Catheter-Associated UTI":
"UTI" U
where exists (
"Catheter Usage" Usage
where start of Usage before U.dateOfEvent
and end of Usage on or after U.dateOfEvent - 1 day
and duration in days of Usage > 2
)
define "Symptomatic UTI":
"UTI" U
where exists ("Symptoms Not Attributable To Catheter" S
where S.prevalenceInterval() starts during U.infectionWindowPeriod
)
or exists (
"Symptoms Attributable To Catheter" S
where S.prevalenceInterval() starts during U.infectionWindowPeriod
and not exists (
"Catheter Usage" Usage
where S.prevalenceInterval() starts during Usage
)
)
// Need to finish out symptoms attributable and not-attributable
define "Symptoms Not Attributable To Catheter":
[Condition] C where false
/*
"Fever Over 38"
union "Suprapubic Tenderness"
union "Costovertebral Angle Pain"
union "Hypothermia Under 36 In Infants"
union "Apnea In Infants"
union "Bradycardia In Infants"
union "Lethargy In Infants"
union "Vomiting In Infants"
*/
define "Symptoms Attributable To Catheter":
[Condition] C where false
define "Microbiologic Blood Test Result":
[Observation: "Microbiologic Blood Tests"] T
where T.status = 'final'
and exists (
T.component C
where C.code in "Bacterium Presence"
and C.value >= 10000 '[CFU]/ml'
)
define "Bacteremic UTI":
"UTI" U
where exists (
"Microbiologic Blood Test Result" B
where B.effective.toInterval() during U.infectionWindowPeriod
and exists (
B.component.code intersect U.urineCultureResult.component.code
)
)
define "Encounter During Measurement Period":
[Encounter] E
where E.period during "Measurement Period"
define function "Patient Days"(location Location):
Sum(
"Encounter During Measurement Period" E
where E.location.location.references(location)
return all duration in days of E.period
)
|
Encoded data
|
Encoded data
|