-
Notifications
You must be signed in to change notification settings - Fork 8
Synthea COVID 19
Guoqian Jiang edited this page May 20, 2020
·
7 revisions
library "VentilationTherapyPerformedforCOVID19Patients" version '1.0.0'
using QUICK
codesystem "SNOMED CT": 'http://snomed.info/sct'
code "COVID 19": '840539006' from "SNOMED CT" display 'COVID 19'
code "Ventilation Therapy": '26763009' from "SNOMED CT" display 'Ventilation Therapy'
parameter "Measurement Period" Interval<DateTime>
context Patient
define "Has COVID 19":
exists (["Condition": "COVID 19"] covid
where covid.onsetDateTime after start of "Measurement Period")
define "Ventilation Therapy Performed":
exists(["Procedure": "Ventilation Therapy"] vt
where vt.performedPeriod overlaps after "Measurement Period")
define "Ventilation Therapy Performed for COVID 19 Patients":
"Has COVID 19"
and "Ventilation Therapy Performed"
PREFIX fhir: <http://hl7.org/fhir/>
select distinct ?patient ?pcodingSystem ?pcodingCode ?pcodingDisplay ?pstart ?pend where {
?procedure a fhir:Procedure .
?procedure fhir:Procedure.subject [fhir:link ?patient ;].
##?procedure fhir:Procedure.encounter [fhir:link ?encounter ;].
?procedure fhir:Procedure.code [
fhir:CodeableConcept.coding [
fhir:index ?pindex;
fhir:Coding.code [fhir:value ?pcodingCode] ;
fhir:Coding.system [fhir:value ?pcodingSystem] ;
fhir:Coding.display [fhir:value ?pcodingDisplay];
]
].
FILTER (?pcodingCode = "26763009")
?procedure fhir:Procedure.performedPeriod [
fhir:Period.start [fhir:value ?pstart; ];
fhir:Period.end [fhir:value ?pend; ] ;
]
FILTER (YEAR(?pstart) >= YEAR(?onsetDateTime) &&
MONTH(?pstart) >= MONTH(?onsetDateTime) &&
DAY(?pstart) >= DAY(?onsetDateTime) &&
YEAR(?pend) <= YEAR(?abatementDateTime) &&
MONTH(?pend) <= MONTH(?abatementDateTime) &&
DAY(?pend) >= DAY(?abatementDateTime))
{
select distinct ?patient ?encounter ?onsetDateTime ?abatementDateTime where {
?condition a fhir:Condition .
?condition fhir:Condition.subject [fhir:link ?patient ;].
?condition fhir:Condition.encounter [fhir:link ?encounter ;].
?condition fhir:Condition.code [
fhir:CodeableConcept.coding [
fhir:index ?index;
fhir:Coding.code [fhir:value ?codingCode] ;
fhir:Coding.system [fhir:value ?codingSystem] ;
fhir:Coding.display [fhir:value ?codingDisplay];
]
].
FILTER (?codingCode = "840539006")
?condition fhir:Condition.onsetDateTime [fhir:value ?onsetDateTime; ] .
?condiiton fhir:Condition.abatementDateTime [fhir:value ?abatementDateTime; ] .
}
}
}
PREFIX fhir: <http://hl7.org/fhir/>
select distinct ?codingSystem ?codingCode ?codingDisplay(COUNT(?codingDisplay) AS ?count) where {
?condition a fhir:Condition .
?condition fhir:Condition.subject [fhir:link ?patient ;].
?condition fhir:Condition.code [
fhir:CodeableConcept.coding [
fhir:index ?index;
fhir:Coding.code [fhir:value ?codingCode] ;
fhir:Coding.system [fhir:value ?codingSystem] ;
fhir:Coding.display [fhir:value ?codingDisplay];
]
].
}GROUP By ?codingDisplay ?codingCode ?codingSystem ORDER BY DESC(?count)