Skip to content

Commit

Permalink
updated loaded, fixed bugs in person import, removed visit dimension …
Browse files Browse the repository at this point in the history
…constraint on i2b2patient list in run script. also adding other useful OMOP files
  • Loading branch information
matthewjoss committed Mar 21, 2018
1 parent 40218b9 commit 4ef36f6
Show file tree
Hide file tree
Showing 4 changed files with 511 additions and 23 deletions.
18 changes: 18 additions & 0 deletions MSSQL/OMOP Mapping DDL.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
CREATE TABLE [dbo].[i2o_mapping] (
[omop_sourcecode] bigint NULL,
[concept_id] int NOT NULL,
[domain_id] varchar(20) NOT NULL
)
ON [PRIMARY]
WITH (DATA_COMPRESSION = NONE)
GO


CREATE TABLE [dbo].[i2o_unitsmap] (
[units_name] varchar(255) NOT NULL,
[concept_id] int NOT NULL,
[standard_concept] varchar(1) NULL
)
ON [PRIMARY]
WITH (DATA_COMPRESSION = NONE)
GO
52 changes: 30 additions & 22 deletions MSSQL/OMOPLoader.sql
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ DECLARE @batchid numeric
declare getsql cursor local for
--1 -- S,R,NH
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+ --person(raw_sex,PATID, BIRTH_DATE, BIRTH_TIME,SEX, HISPANIC, RACE)
' select p.sex_cd+'':'+sex.c_name+''',p.race_cd+'':'+race.c_name+''',p.race_cd+'':Unknown'',patient_num, '+
' select p.sex_cd+'':'+sex.c_name+''',substring(p.race_cd+'':'+race.c_name+''', 1, 50),substring(p.race_cd+'':Unknown'', 1, 50),patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -352,15 +352,16 @@ declare getsql cursor local for
' from i2b2patient p '+
' where lower(p.sex_cd) in ('+lower(sex.c_dimcode)+') '+
' and lower(p.race_cd) in ('+lower(race.c_dimcode)+') '+
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '
from pcornet_demo race, pcornet_demo sex
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '+
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
from pcornet_demo race, pcornet_demo sex
where race.c_fullname like '\PCORI\DEMOGRAPHIC\RACE\%'
and race.c_visualattributes like 'L%'
and sex.c_fullname like '\PCORI\DEMOGRAPHIC\SEX\%'
and sex.c_visualattributes like 'L%'
union -- A - S,R,H
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+
' select p.sex_cd+'':'+sex.c_name+''',p.race_cd+'':'+race.c_name+''',p.race_cd+'':'+hisp.c_name+''',patient_num, '+ --' select p.sex_cd+'':''+sex.c_name,p.race_cd+'':''+race.c_name,p.race_cd+'':''+hisp.c_name,patient_num, '+
' select p.sex_cd+'':'+sex.c_name+''',substring(p.race_cd+'':'+race.c_name+''', 1, 50), substring(p.race_cd+'':'+hisp.c_name+''', 1, 50),patient_num, '+ --' select p.sex_cd+'':''+sex.c_name,p.race_cd+'':''+race.c_name,p.race_cd+'':''+hisp.c_name,patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -372,8 +373,9 @@ select 'insert into person(gender_source_value,race_source_value,ethnicity_sourc
' where lower(p.sex_cd) in ('+lower(sex.c_dimcode)+') '+
' and lower(p.race_cd) in ('+lower(race.c_dimcode)+') '+
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''RACE'') '+
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '
from pcornet_demo race, pcornet_demo hisp, pcornet_demo sex
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '+
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
from pcornet_demo race, pcornet_demo hisp, pcornet_demo sex
where race.c_fullname like '\PCORI\DEMOGRAPHIC\RACE\%'
and race.c_visualattributes like 'L%'
and hisp.c_fullname like '\PCORI\DEMOGRAPHIC\HISPANIC\Y%'
Expand All @@ -382,7 +384,7 @@ select 'insert into person(gender_source_value,race_source_value,ethnicity_sourc
and sex.c_visualattributes like 'L%'
union --2 S, nR, nH
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+
' select p.sex_cd+'':'+sex.c_name+''',p.race_cd+'':Unknown'',p.race_cd+'':Unknown'',patient_num, '+ --' select p.sex_cd,p.race_cd,p.race_cd,patient_num, '+
' select p.sex_cd+'':'+sex.c_name+''',substring(p.race_cd+'':Unknown'', 1, 50), substring(p.race_cd+'':Unknown'', 1, 50),patient_num, '+ --' select p.sex_cd,p.race_cd,p.race_cd,patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -393,13 +395,14 @@ union --2 S, nR, nH
' from i2b2patient p '+
' where lower(isnull(p.sex_cd,''xx'')) in ('+lower(sex.c_dimcode)+') '+
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''RACE'') '+
' and lower(isnull(p.race_cd,''ni'')) not in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '
' and lower(isnull(p.race_cd,''ni'')) not in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '+
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
from pcornet_demo sex
where sex.c_fullname like '\PCORI\DEMOGRAPHIC\SEX\%'
and sex.c_visualattributes like 'L%'
union --3 -- nS,R, NH
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+
' select p.sex_cd,p.race_cd+'':'+race.c_name+''',p.race_cd+'':Unknown'',patient_num, '+
' select p.sex_cd,substring(p.race_cd+'':'+race.c_name+''', 1, 50),substring(p.race_cd+'':Unknown'', 1, 50),patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -410,13 +413,14 @@ union --3 -- nS,R, NH
' from i2b2patient p '+
' where lower(isnull(p.sex_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''SEX'') '+
' and lower(p.race_cd) in ('+lower(race.c_dimcode)+') '+
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''HISPANIC'')'
from pcornet_demo race
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''HISPANIC'')'+
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
from pcornet_demo race
where race.c_fullname like '\PCORI\DEMOGRAPHIC\RACE\%'
and race.c_visualattributes like 'L%'
union --B -- nS,R, H
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+
' select p.sex_cd,p.race_cd+'':'+race.c_name+''',p.race_cd+'':'+hisp.c_name+''',patient_num, '+
' select p.sex_cd,substring(p.race_cd+'':'+race.c_name+''', 1, 50),substring(p.race_cd+'':'+hisp.c_name+''', 1, 50),patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -428,15 +432,16 @@ union --B -- nS,R, H
' where lower(isnull(p.sex_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''SEX'') '+
' and lower(p.race_cd) in ('+lower(race.c_dimcode)+') '+
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''RACE'') '+
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'')'
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'')'+
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
from pcornet_demo race,pcornet_demo hisp
where race.c_fullname like '\PCORI\DEMOGRAPHIC\RACE\%'
and race.c_visualattributes like 'L%'
and hisp.c_fullname like '\PCORI\DEMOGRAPHIC\HISPANIC\Y%'
and hisp.c_visualattributes like 'L%'
union --4 -- S, NR, H
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+
' select p.sex_cd+'':'+sex.c_name+''',p.race_cd+'':Unknown'',p.race_cd+'':Hispanic'',patient_num, '+
' select p.sex_cd+'':'+sex.c_name+''',substring(p.race_cd+'':Unknown'', 1, 50),substring(p.race_cd+'':Hispanic'', 1, 50),patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -447,13 +452,14 @@ union --4 -- S, NR, H
' from i2b2patient p '+
' where lower(isnull(p.sex_cd,''NI'')) in ('+lower(sex.c_dimcode)+') '+
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''RACE'') '+
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '
from pcornet_demo sex
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '+
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
from pcornet_demo sex
where sex.c_fullname like '\PCORI\DEMOGRAPHIC\SEX\%'
and sex.c_visualattributes like 'L%'
union --5 -- NS, NR, H
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+
' select p.sex_cd,p.race_cd+'':Unknown'',p.race_cd+'':Hispanic'',patient_num, '+
' select p.sex_cd,substring(p.race_cd+'':Unknown'', 1, 50),substring(p.race_cd+'':Hispanic'', 1, 50),patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -464,10 +470,11 @@ union --5 -- NS, NR, H
' from i2b2patient p '+
' where lower(isnull(p.sex_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''SEX'') '+
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''RACE'') '+
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'')'
' and lower(isnull(p.race_cd,''xx'')) in (select lower(code) from omop_codelist where codetype=''HISPANIC'')' +
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
union --6 -- NS, NR, nH
select 'insert into person(gender_source_value,race_source_value,ethnicity_source_value,person_id,year_of_birth,month_of_birth,day_of_birth,birth_datetime,gender_concept_id,ethnicity_concept_id,race_concept_id) '+
' select p.sex_cd,p.race_cd+'':Unknown'',p.race_cd+'':Unknown'',patient_num, '+
' select p.sex_cd,substring(p.race_cd+'':Unknown'', 1, 50),substring(p.race_cd+'':Unknown'', 1, 50),patient_num, '+
' year(birth_date), '+
' month(birth_date), '+
' day(birth_date), '+
Expand All @@ -478,8 +485,8 @@ union --6 -- NS, NR, nH
' from i2b2patient p '+
' where lower(isnull(p.sex_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''SEX'') '+
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''HISPANIC'') '+
' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''RACE'') '

' and lower(isnull(p.race_cd,''xx'')) not in (select lower(code) from omop_codelist where codetype=''RACE'') ' +
' and patient_num not in (select person_id from person)' --bug fix MJ 3/19/18
begin
exec pcornet_popcodelist

Expand All @@ -489,7 +496,7 @@ FETCH NEXT FROM getsql INTO @sqltext;

WHILE @@FETCH_STATUS = 0
BEGIN
--print @sqltext
print @sqltext
exec sp_executesql @sqltext
FETCH NEXT FROM getsql INTO @sqltext;

Expand All @@ -502,6 +509,7 @@ end

go


----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
-- Encounter - by Jeff Klann and Aaron Abend and Matthew Joss
Expand Down
Loading

0 comments on commit 4ef36f6

Please sign in to comment.