Table Catalog
This document groups the major tables of the Stage 2 OMOP database (omop.sqlite3) by role.
For the columns each source table must supply, see
OMOP input format. For the final deepphe.sqlite3 database the
pipeline delivers, see Output database.
1. Imported source tables
These are copied into SQLite from CSV or MySQL sources. They do not exist in JSON-only runs.
Representative examples:
DEMOGRAPHIC_BRCAOVCA_VWDEMOGRAPHIC_MELANOMA_VWDIAGNOSIS_BRCAOVCA_HOSP_VWDIAGNOSIS_BRCAOVCA_OUTPT_VWDIAGNOSIS_MELANOMA_HOSP_VWDIAGNOSIS_MELANOMA_OUTPT_VWDEATH_BRCAOVCA_VWDEATH_MELANOMA_VW
These tables are the input to much of the config-driven transformation pipeline.
2. Lookup tables
ICD_CODES
Purpose:
- reference lookup for ICD-based cancer mappings
Source:
src/dphe_db_pipeline/omop_importer/lookup_tables/ICD_CODES/icd.bsv- a curated 52-row subset of ICD-9-CM and ICD-10-CM cancer code prefixes
- covers breast (
B), ovarian (O), and melanoma (M) mappings; it is not a complete ICD code set
Typical columns:
CODECANCERVOCAB
3. Calculated tables
CALCULATED_PATIENT_DATA
Purpose:
- consolidated patient-level demographic output
Typical columns:
PERSON_IDGENDERRACEETHNICITYDATE_OF_BIRTH
Exists in:
csvmysqljson
CALCULATED_DX_DATA
Purpose:
- patient-level diagnosis/cancer summary output
Typical columns:
PERSON_IDCODEVOCABDATECANCERAGE_AT_DX
Exists in:
csvmysqljson
CALCULATED_PT_ICD_CODES
Purpose:
- derived patient-to-ICD mapping table used in the source-table-driven pipeline
Typical columns:
PERSON_IDVOCABPARENTDATECANCER
Exists in:
csvmysql- not currently expected in JSON-only mode
Expectations by mode
| Table group | CSV | MySQL | JSON |
|---|---|---|---|
| Imported source tables | Yes | Yes | No |
| Lookup tables | Yes | Yes | Limited / mode-dependent |
CALCULATED_PATIENT_DATA | Yes | Yes | Yes |
CALCULATED_DX_DATA | Yes | Yes | Yes |
CALCULATED_PT_ICD_CODES | Yes | Yes | No |
Good sanity checks
If you are unsure which path ran, inspect the destination database:
- If you see many imported
*_VWtables, you likely rancsvormysql. - If you only see calculated tables after a clean run, you likely ran
json.