[ab27bc]: / build_mimicsparql_kg / kg_complex_schema.py

Download this file

109 lines (96 with data), 3.3 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
from rdflib import Literal, XSD
KG_SCHEMA = {'SUBJECT_ID': ['HADM_ID', 'NAME', 'DOB', 'GENDER', 'EXPIRE_FLAG', 'DOD', 'DOD_YEAR', 'DOB_YEAR'],
'HADM_ID': ['MARITAL_STATUS', 'AGE', 'LANGUAGE', 'RELIGION', 'ADMISSION_TYPE', 'DAYS_STAY', 'INSURANCE',
'ETHNICITY', 'ADMISSION_LOCATION', 'DISCHARGE_LOCATION', 'DIAGNOSIS', 'ADMITYEAR',
'ADMITTIME', 'DISCHTIME', 'DIAGNOSES', 'PROCEDURES', 'PRESCRIPTIONS', 'LAB'],
'DIAGNOSES': ['DIAGNOSES_ICD9_CODE'],
'DIAGNOSES_ICD9_CODE': ['DIAGNOSES_SHORT_TITLE', 'DIAGNOSES_LONG_TITLE'],
'PROCEDURES': ['PROCEDURES_ICD9_CODE'],
'PROCEDURES_ICD9_CODE': ['PROCEDURES_SHORT_TITLE', 'PROCEDURES_LONG_TITLE'],
'PRESCRIPTIONS': ['ICUSTAY_ID', 'DRUG_TYPE', 'DRUG', 'FORMULARY_DRUG_CD', 'ROUTE', 'DRUG_DOSE'],
'LAB': ['ITEMID', 'CHARTTIME', 'FLAG', 'VALUE_UNIT'],
'ITEMID' :['LABEL', 'FLUID', 'CATEGORY']
}
patients_dtype = {
'SUBJECT_ID':'entity', # root
'NAME': XSD.string, # sub
'DOB':XSD.dateTime, # sub
'GENDER':XSD.string, # sub
'EXPIRE_FLAG':XSD.integer, # sub
'DOD':XSD.dateTime, # sub
'DOD_YEAR':XSD.float, # sub
'DOB_YEAR':XSD.integer, # sub
}
addmissions_dtype = {
'SUBJECT_ID':'entity',
'HADM_ID':'entity', # sub
'MARITAL_STATUS': XSD.string, # hadm
'AGE': XSD.integer, # hadm
'LANGUAGE':XSD.string, # hadm
'RELIGION':XSD.string, # hadm
'ADMISSION_TYPE':XSD.string, # hadm
'DAYS_STAY':XSD.integer, # hadm
'INSURANCE':XSD.string, # hadm
'ETHNICITY':XSD.string, # hadm
'ADMISSION_LOCATION':XSD.string,# hadm
'DISCHARGE_LOCATION':XSD.string, # hadm
'DIAGNOSIS': XSD.string, # hadm
'ADMITYEAR':XSD.integer, # hadm
'ADMITTIME':XSD.dateTime, # hadm
'DISCHTIME':XSD.datetime # hadm
}
diagnoses_dtype = {
'DIAGNOSES':'entity',# key
'HADM_ID':'entity', # root
'DIAGNOSES_ICD9_CODE': 'entity'
}
d_icd_diagnoses_dtype = {
'DIAGNOSES_ICD9_CODE': 'entity',
'DIAGNOSES_SHORT_TITLE': XSD.string,
'DIAGNOSES_LONG_TITLE': XSD.string,
}
procedures_dtype = {
'PROCEDURES':'entity',# key
'HADM_ID':'entity', # root
'PROCEDURES_ICD9_CODE':'entity'
}
d_icd_procedures_dtype = {
'PROCEDURES_ICD9_CODE': 'entity',
'PROCEDURES_SHORT_TITLE': XSD.string,
'PROCEDURES_LONG_TITLE': XSD.string,
}
prescriptions_dtype = {
'PRESCRIPTIONS':'entity',# key
'HADM_ID':'entity', # root
'ICUSTAY_ID':'entity',
'DRUG_TYPE': XSD.string,
'DRUG': XSD.string,
'FORMULARY_DRUG_CD': XSD.string,
'ROUTE':XSD.string,
'DRUG_DOSE': XSD.string,
}
lab_dtype = {
'LAB':'entity',# key
'HADM_ID':'entity', # root
'ITEMID':'entity',
'CHARTTIME': XSD.string,
'FLAG': XSD.string,
'VALUE_UNIT': XSD.string
}
d_labitem_dtype = {
'ITEMID':'entity',
'LABEL': XSD.string,
'FLUID': XSD.string,
'CATEGORY': XSD.string
}
SCHEMA_DTYPE = {**patients_dtype,
**addmissions_dtype,
**diagnoses_dtype,
**d_icd_diagnoses_dtype,
**prescriptions_dtype,
**procedures_dtype,
**d_icd_procedures_dtype,
**lab_dtype,
**d_labitem_dtype,
}
#print(SCHEMA_DTYPE)