Skip to content

Commit

Permalink
OMOP Common Data Model
Browse files Browse the repository at this point in the history
* initial update for OMOP CDM version
  • Loading branch information
patrickthoral authored May 17, 2024
1 parent b8dcf06 commit 1307551
Show file tree
Hide file tree
Showing 53 changed files with 23,327 additions and 10,049 deletions.
515 changes: 321 additions & 194 deletions amsterdamumcdb/cohorts.py

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion amsterdamumcdb/connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ def connect_pg(config_file='config.ini'):
pg_con.set_session(autocommit=True)

cursor = pg_con.cursor()
cursor.execute('SET SCHEMA \'amsterdamumcdb\''); # set search_path to amsterdamumcdb schema
schema = config['psycopg2']['schema']
cursor.execute(f'SET SCHEMA \'{schema}\';') # set search_path to amsterdamumcdb schema

# create SQLAlchemy engine for official pandas database support
engine = sqlalchemy.create_engine('postgresql+psycopg2://', creator=lambda: pg_con)
Expand Down
19,658 changes: 10,626 additions & 9,032 deletions amsterdamumcdb/dictionary/dictionary.csv

Large diffs are not rendered by default.

9,032 changes: 9,032 additions & 0 deletions amsterdamumcdb/dictionary/legacy/dictionary.csv

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
33 changes: 33 additions & 0 deletions amsterdamumcdb/sql/diagnosis/cardiac_arrest.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
SELECT
condition_occurrence_id,
person_id,
visit_occurrence_id,
condition_concept_id,
c_condition.concept_name AS condition_concept_name,
condition_start_datetime,
condition_status_concept_id,
c_status.concept_name AS status_concept_name
FROM
condition_occurrence c_o
LEFT JOIN concept c_condition ON
c_condition.concept_id = c_o.condition_concept_id
LEFT JOIN concept c_status ON
c_status.concept_id = c_o.condition_status_concept_id
WHERE
condition_status_concept_id IN
(
32901, --Primary admission diagnosis
32907 --Secondary admission diagnosis
)
AND condition_concept_id IN
(SELECT
descendant_concept_id
FROM
concept_ancestor
WHERE
ancestor_concept_id IN
(
4256374 -- Cardiorespiratory arrest
))
ORDER BY
person_id, visit_occurrence_id
38 changes: 38 additions & 0 deletions amsterdamumcdb/sql/diagnosis/cardiac_surgery.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
SELECT
procedure_occurrence_id,
po.person_id,
po.visit_occurrence_id,
procedure_concept_id,
c.concept_name AS procedure_concept_name,
procedure_datetime
FROM
procedure_occurrence po
LEFT JOIN visit_occurrence visit ON
visit.visit_occurrence_id = po.visit_occurrence_id
LEFT JOIN concept c ON
c.concept_id = po.procedure_concept_id
LEFT JOIN provider p ON
p.provider_id = visit.provider_id
WHERE
procedure_datetime < visit.visit_start_datetime
AND procedure_datetime >= visit.visit_start_datetime - INTERVAL '8 HOUR'
AND (p.specialty_concept_id = 38004497 -- Cardiac Surgery
OR procedure_concept_id IN
(SELECT
descendant_concept_id
FROM
concept_ancestor
WHERE
ancestor_concept_id IN
(
4275564, -- Cardiac surgery procedure
44783222, -- Aortic arch replacement
4049406, -- Operation on the pulmonary trunk and arteries
44782479, -- Repair of ascending aorta
4339824, -- Aortic valve replacement and replacement of ascending aorta
4049406, -- Operation on the pulmonary trunk and arteries
44783314 -- Repair of dissection of proximal thoracic aorta
))
)
AND NOT po.provider_id IS NULL

46 changes: 46 additions & 0 deletions amsterdamumcdb/sql/diagnosis/gastro_intestinal_surgery.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
SELECT
procedure_occurrence_id,
po.person_id,
po.visit_occurrence_id,
procedure_concept_id,
c.concept_name AS procedure_concept_name,
procedure_datetime
FROM
procedure_occurrence po
LEFT JOIN visit_occurrence visit ON
visit.visit_occurrence_id = po.visit_occurrence_id
LEFT JOIN concept c ON
c.concept_id = po.procedure_concept_id
LEFT JOIN provider p ON
p.provider_id = visit.provider_id
WHERE
procedure_datetime < visit.visit_start_datetime
AND procedure_datetime >= visit.visit_start_datetime - INTERVAL '8 HOUR'
AND (p.specialty_concept_id = 38004447 -- General Surgery
OR procedure_concept_id IN
(SELECT
descendant_concept_id
FROM
concept_ancestor
WHERE
ancestor_concept_id IN
(
--4314251, -- Laparotomy
4293032 --Procedure on gastrointestinal tract
))
)
AND NOT procedure_concept_id IN
(SELECT
descendant_concept_id
FROM
concept_ancestor
WHERE
ancestor_concept_id IN
(
4042641, --Procedure on cardiovascular system
4030781 --Operative procedure on male genitourinary system (procedure)
))
AND NOT po.provider_id IS NULL



33 changes: 33 additions & 0 deletions amsterdamumcdb/sql/diagnosis/infection.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
SELECT
condition_occurrence_id,
person_id,
visit_occurrence_id,
condition_concept_id,
c_condition.concept_name AS condition_concept_name,
condition_start_datetime,
condition_status_concept_id,
c_status.concept_name AS status_concept_name
FROM
condition_occurrence c_o
LEFT JOIN concept c_condition ON
c_condition.concept_id = c_o.condition_concept_id
LEFT JOIN concept c_status ON
c_status.concept_id = c_o.condition_status_concept_id
WHERE
condition_status_concept_id IN
(
32901, --Primary admission diagnosis
32907 --Secondary admission diagnosis
)
AND condition_concept_id IN
(SELECT
descendant_concept_id
FROM
concept_ancestor
WHERE
ancestor_concept_id IN
(
4181063 --Inflammation of specific body organs (disorder)
))
ORDER BY
person_id, visit_occurrence_id
Loading

0 comments on commit 1307551

Please sign in to comment.