From 342acb7085ed8e3613fc622687ee44cc02d17e92 Mon Sep 17 00:00:00 2001 From: Alistair Johnson Date: Mon, 26 Aug 2024 08:00:30 -0400 Subject: [PATCH 1/3] add brand names, around ~1k obs --- mimic-iv/concepts/medication/arb.sql | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mimic-iv/concepts/medication/arb.sql b/mimic-iv/concepts/medication/arb.sql index 3d381ebf..d83ba10e 100644 --- a/mimic-iv/concepts/medication/arb.sql +++ b/mimic-iv/concepts/medication/arb.sql @@ -2,13 +2,14 @@ WITH arb_drug AS ( SELECT DISTINCT drug , CASE - WHEN UPPER(drug) LIKE '%AZILSARTAN%' THEN 1 - WHEN UPPER(drug) LIKE '%CANDESARTAN%' THEN 1 - WHEN UPPER(drug) LIKE '%IRBESARTAN%' THEN 1 - WHEN UPPER(drug) LIKE '%LOSARTAN%' THEN 1 - WHEN UPPER(drug) LIKE '%OLMESARTAN%' THEN 1 - WHEN UPPER(drug) LIKE '%TELMISARTAN%' THEN 1 - WHEN UPPER(drug) LIKE '%VALSARTAN%' THEN 1 + WHEN UPPER(drug) LIKE '%AZILSARTAN%' OR UPPER(drug) LIKE '%EDARBI%' THEN 1 + WHEN UPPER(drug) LIKE '%CANDESARTAN%' OR UPPER(drug) LIKE '%ATACAND%' THEN 1 + WHEN UPPER(drug) LIKE '%IRBESARTAN%' OR UPPER(drug) LIKE '%AVAPRO%' THEN 1 + WHEN UPPER(drug) LIKE '%LOSARTAN%' OR UPPER(drug) LIKE '%COZAAR%' THEN 1 + WHEN UPPER(drug) LIKE '%OLMESARTAN%' OR UPPER(drug) LIKE '%BENICAR%' THEN 1 + WHEN UPPER(drug) LIKE '%TELMISARTAN%' OR UPPER(drug) LIKE '%MICARDIS%' THEN 1 + WHEN UPPER(drug) LIKE '%VALSARTAN%' OR UPPER(drug) LIKE '%DIOVAN%' THEN 1 + WHEN UPPER(drug) LIKE '%SACUBITRIL%' OR UPPER(drug) LIKE '%ENTRESTO%' THEN 1 ELSE 0 END AS arb FROM `physionet-data.mimiciv_hosp.prescriptions` From 1a28a60ad6c37a98f1f3957931043e8c85431cbe Mon Sep 17 00:00:00 2001 From: Alistair Johnson Date: Mon, 26 Aug 2024 08:03:13 -0400 Subject: [PATCH 2/3] add arb for duckdb/postgres --- mimic-iv/concepts_duckdb/medication/arb.sql | 37 +++++++++++++++++++ mimic-iv/concepts_postgres/medication/arb.sql | 37 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 mimic-iv/concepts_duckdb/medication/arb.sql create mode 100644 mimic-iv/concepts_postgres/medication/arb.sql diff --git a/mimic-iv/concepts_duckdb/medication/arb.sql b/mimic-iv/concepts_duckdb/medication/arb.sql new file mode 100644 index 00000000..eb9bcc2e --- /dev/null +++ b/mimic-iv/concepts_duckdb/medication/arb.sql @@ -0,0 +1,37 @@ +-- THIS SCRIPT IS AUTOMATICALLY GENERATED. DO NOT EDIT IT DIRECTLY. +DROP TABLE IF EXISTS mimiciv_derived.arb; CREATE TABLE mimiciv_derived.arb AS +WITH arb_drug AS ( + SELECT DISTINCT + drug, + CASE + WHEN UPPER(drug) LIKE '%AZILSARTAN%' OR UPPER(drug) LIKE '%EDARBI%' + THEN 1 + WHEN UPPER(drug) LIKE '%CANDESARTAN%' OR UPPER(drug) LIKE '%ATACAND%' + THEN 1 + WHEN UPPER(drug) LIKE '%IRBESARTAN%' OR UPPER(drug) LIKE '%AVAPRO%' + THEN 1 + WHEN UPPER(drug) LIKE '%LOSARTAN%' OR UPPER(drug) LIKE '%COZAAR%' + THEN 1 + WHEN UPPER(drug) LIKE '%OLMESARTAN%' OR UPPER(drug) LIKE '%BENICAR%' + THEN 1 + WHEN UPPER(drug) LIKE '%TELMISARTAN%' OR UPPER(drug) LIKE '%MICARDIS%' + THEN 1 + WHEN UPPER(drug) LIKE '%VALSARTAN%' OR UPPER(drug) LIKE '%DIOVAN%' + THEN 1 + WHEN UPPER(drug) LIKE '%SACUBITRIL%' OR UPPER(drug) LIKE '%ENTRESTO%' + THEN 1 + ELSE 0 + END AS arb + FROM mimiciv_hosp.prescriptions +) +SELECT + pr.subject_id, + pr.hadm_id, + pr.drug AS arb, + pr.starttime, + pr.stoptime +FROM mimiciv_hosp.prescriptions AS pr +INNER JOIN arb_drug + ON pr.drug = arb_drug.drug +WHERE + arb_drug.arb = 1 \ No newline at end of file diff --git a/mimic-iv/concepts_postgres/medication/arb.sql b/mimic-iv/concepts_postgres/medication/arb.sql new file mode 100644 index 00000000..eb9bcc2e --- /dev/null +++ b/mimic-iv/concepts_postgres/medication/arb.sql @@ -0,0 +1,37 @@ +-- THIS SCRIPT IS AUTOMATICALLY GENERATED. DO NOT EDIT IT DIRECTLY. +DROP TABLE IF EXISTS mimiciv_derived.arb; CREATE TABLE mimiciv_derived.arb AS +WITH arb_drug AS ( + SELECT DISTINCT + drug, + CASE + WHEN UPPER(drug) LIKE '%AZILSARTAN%' OR UPPER(drug) LIKE '%EDARBI%' + THEN 1 + WHEN UPPER(drug) LIKE '%CANDESARTAN%' OR UPPER(drug) LIKE '%ATACAND%' + THEN 1 + WHEN UPPER(drug) LIKE '%IRBESARTAN%' OR UPPER(drug) LIKE '%AVAPRO%' + THEN 1 + WHEN UPPER(drug) LIKE '%LOSARTAN%' OR UPPER(drug) LIKE '%COZAAR%' + THEN 1 + WHEN UPPER(drug) LIKE '%OLMESARTAN%' OR UPPER(drug) LIKE '%BENICAR%' + THEN 1 + WHEN UPPER(drug) LIKE '%TELMISARTAN%' OR UPPER(drug) LIKE '%MICARDIS%' + THEN 1 + WHEN UPPER(drug) LIKE '%VALSARTAN%' OR UPPER(drug) LIKE '%DIOVAN%' + THEN 1 + WHEN UPPER(drug) LIKE '%SACUBITRIL%' OR UPPER(drug) LIKE '%ENTRESTO%' + THEN 1 + ELSE 0 + END AS arb + FROM mimiciv_hosp.prescriptions +) +SELECT + pr.subject_id, + pr.hadm_id, + pr.drug AS arb, + pr.starttime, + pr.stoptime +FROM mimiciv_hosp.prescriptions AS pr +INNER JOIN arb_drug + ON pr.drug = arb_drug.drug +WHERE + arb_drug.arb = 1 \ No newline at end of file From 6cc099b81df77157b08ab543288ef952424853ab Mon Sep 17 00:00:00 2001 From: Alistair Johnson Date: Mon, 26 Aug 2024 08:09:10 -0400 Subject: [PATCH 3/3] add back format conversion --- mimic-iv/buildmimic/sqlite/import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mimic-iv/buildmimic/sqlite/import.py b/mimic-iv/buildmimic/sqlite/import.py index 02b4f0b3..1cb8eb0d 100644 --- a/mimic-iv/buildmimic/sqlite/import.py +++ b/mimic-iv/buildmimic/sqlite/import.py @@ -50,7 +50,7 @@ def process_dataframe(df: pd.DataFrame, subjects: t.Optional[t.List[int]] = None) -> pd.DataFrame: for c in df.columns: if c.endswith('time') or c.endswith('date'): - df[c] = pd.to_datetime(df[c]) + df[c] = pd.to_datetime(df[c], format='ISO8601') if subjects is not None and 'subject_id' in df: df = df.loc[df['subject_id'].isin(subjects)]