143 lines
5.3 KiB
MySQL
143 lines
5.3 KiB
MySQL
|
|
-- THIS SCRIPT IS AUTOMATICALLY GENERATED. DO NOT EDIT IT DIRECTLY.
|
||
|
|
DROP TABLE IF EXISTS ventilation_classification; CREATE TABLE ventilation_classification AS
|
||
|
|
-- Identify The presence of a mechanical ventilation using settings
|
||
|
|
select
|
||
|
|
icustay_id, charttime
|
||
|
|
-- case statement determining whether it is an instance of mech vent
|
||
|
|
, max(
|
||
|
|
case
|
||
|
|
when itemid is null or value is null then 0 -- can't have null values
|
||
|
|
when itemid = 720 and value != 'Other/Remarks' THEN 1 -- VentTypeRecorded
|
||
|
|
when itemid = 223848 and value != 'Other' THEN 1
|
||
|
|
when itemid = 223849 then 1 -- ventilator mode
|
||
|
|
when itemid = 467 and value = 'Ventilator' THEN 1 -- O2 delivery device == ventilator
|
||
|
|
when itemid in
|
||
|
|
(
|
||
|
|
445, 448, 449, 450, 1340, 1486, 1600, 224687 -- minute volume
|
||
|
|
, 639, 654, 681, 682, 683, 684,224685,224684,224686 -- tidal volume
|
||
|
|
, 218,436,535,444,459,224697,224695,224696,224746,224747 -- High/Low/Peak/Mean/Neg insp force ("RespPressure")
|
||
|
|
, 221,1,1211,1655,2000,226873,224738,224419,224750,227187 -- Insp pressure
|
||
|
|
, 543 -- PlateauPressure
|
||
|
|
, 5865,5866,224707,224709,224705,224706 -- APRV pressure
|
||
|
|
, 60,437,505,506,686,220339,224700 -- PEEP
|
||
|
|
, 3459 -- high pressure relief
|
||
|
|
, 501,502,503,224702 -- PCV
|
||
|
|
, 223,667,668,669,670,671,672 -- TCPCV
|
||
|
|
, 224701 -- PSVlevel
|
||
|
|
)
|
||
|
|
THEN 1
|
||
|
|
else 0
|
||
|
|
end
|
||
|
|
) as MechVent
|
||
|
|
, max(
|
||
|
|
case
|
||
|
|
-- initiation of oxygen therapy indicates the ventilation has ended
|
||
|
|
when itemid = 226732 and value in
|
||
|
|
(
|
||
|
|
'Nasal cannula', -- 153714 observations
|
||
|
|
'Face tent', -- 24601 observations
|
||
|
|
'Aerosol-cool', -- 24560 observations
|
||
|
|
'Trach mask ', -- 16435 observations
|
||
|
|
'High flow neb', -- 10785 observations
|
||
|
|
'Non-rebreather', -- 5182 observations
|
||
|
|
'Venti mask ', -- 1947 observations
|
||
|
|
'Medium conc mask ', -- 1888 observations
|
||
|
|
'T-piece', -- 1135 observations
|
||
|
|
'High flow nasal cannula', -- 925 observations
|
||
|
|
'Ultrasonic neb', -- 9 observations
|
||
|
|
'Vapomist' -- 3 observations
|
||
|
|
) then 1
|
||
|
|
when itemid = 467 and value in
|
||
|
|
(
|
||
|
|
'Cannula', -- 278252 observations
|
||
|
|
'Nasal Cannula', -- 248299 observations
|
||
|
|
-- 'None', -- 95498 observations
|
||
|
|
'Face Tent', -- 35766 observations
|
||
|
|
'Aerosol-Cool', -- 33919 observations
|
||
|
|
'Trach Mask', -- 32655 observations
|
||
|
|
'Hi Flow Neb', -- 14070 observations
|
||
|
|
'Non-Rebreather', -- 10856 observations
|
||
|
|
'Venti Mask', -- 4279 observations
|
||
|
|
'Medium Conc Mask', -- 2114 observations
|
||
|
|
'Vapotherm', -- 1655 observations
|
||
|
|
'T-Piece', -- 779 observations
|
||
|
|
'Hood', -- 670 observations
|
||
|
|
'Hut', -- 150 observations
|
||
|
|
'TranstrachealCat', -- 78 observations
|
||
|
|
'Heated Neb', -- 37 observations
|
||
|
|
'Ultrasonic Neb' -- 2 observations
|
||
|
|
) then 1
|
||
|
|
else 0
|
||
|
|
end
|
||
|
|
) as OxygenTherapy
|
||
|
|
, max(
|
||
|
|
case when itemid is null or value is null then 0
|
||
|
|
-- extubated indicates ventilation event has ended
|
||
|
|
when itemid = 640 and value = 'Extubated' then 1
|
||
|
|
when itemid = 640 and value = 'Self Extubation' then 1
|
||
|
|
else 0
|
||
|
|
end
|
||
|
|
)
|
||
|
|
as Extubated
|
||
|
|
, max(
|
||
|
|
case when itemid is null or value is null then 0
|
||
|
|
when itemid = 640 and value = 'Self Extubation' then 1
|
||
|
|
else 0
|
||
|
|
end
|
||
|
|
)
|
||
|
|
as SelfExtubated
|
||
|
|
from chartevents ce
|
||
|
|
where ce.value is not null
|
||
|
|
-- exclude rows marked as error
|
||
|
|
and (ce.error != 1 or ce.error IS NULL)
|
||
|
|
and itemid in
|
||
|
|
(
|
||
|
|
-- the below are settings used to indicate ventilation
|
||
|
|
720, 223849 -- vent mode
|
||
|
|
, 223848 -- vent type
|
||
|
|
, 445, 448, 449, 450, 1340, 1486, 1600, 224687 -- minute volume
|
||
|
|
, 639, 654, 681, 682, 683, 684,224685,224684,224686 -- tidal volume
|
||
|
|
, 218,436,535,444,224697,224695,224696,224746,224747 -- High/Low/Peak/Mean ("RespPressure")
|
||
|
|
, 221,1,1211,1655,2000,226873,224738,224419,224750,227187 -- Insp pressure
|
||
|
|
, 543 -- PlateauPressure
|
||
|
|
, 5865,5866,224707,224709,224705,224706 -- APRV pressure
|
||
|
|
, 60,437,505,506,686,220339,224700 -- PEEP
|
||
|
|
, 3459 -- high pressure relief
|
||
|
|
, 501,502,503,224702 -- PCV
|
||
|
|
, 223,667,668,669,670,671,672 -- TCPCV
|
||
|
|
, 224701 -- PSVlevel
|
||
|
|
|
||
|
|
-- the below are settings used to indicate extubation
|
||
|
|
, 640 -- extubated
|
||
|
|
|
||
|
|
-- the below indicate oxygen/NIV, i.e. the end of a mechanical vent event
|
||
|
|
, 468 -- O2 Delivery Device#2
|
||
|
|
, 469 -- O2 Delivery Mode
|
||
|
|
, 470 -- O2 Flow (lpm)
|
||
|
|
, 471 -- O2 Flow (lpm) #2
|
||
|
|
, 227287 -- O2 Flow (additional cannula)
|
||
|
|
, 226732 -- O2 Delivery Device(s)
|
||
|
|
, 223834 -- O2 Flow
|
||
|
|
|
||
|
|
-- used in both oxygen + vent calculation
|
||
|
|
, 467 -- O2 Delivery Device
|
||
|
|
)
|
||
|
|
group by icustay_id, charttime
|
||
|
|
UNION DISTINCT
|
||
|
|
-- add in the extubation flags from procedureevents_mv
|
||
|
|
-- note that we only need the start time for the extubation
|
||
|
|
-- (extubation is always charted as ending 1 minute after it started)
|
||
|
|
select
|
||
|
|
icustay_id, starttime as charttime
|
||
|
|
, 0 as MechVent
|
||
|
|
, 0 as OxygenTherapy
|
||
|
|
, 1 as Extubated
|
||
|
|
, case when itemid = 225468 then 1 else 0 end as SelfExtubated
|
||
|
|
from procedureevents_mv
|
||
|
|
where itemid in
|
||
|
|
(
|
||
|
|
227194 -- "Extubation"
|
||
|
|
, 225468 -- "Unplanned Extubation (patient-initiated)"
|
||
|
|
, 225477 -- "Unplanned Extubation (non-patient initiated)"
|
||
|
|
);
|