Professional Documents
Culture Documents
Pharmaceutical Companies
of Johnson & Johnson
Common Data Model (CDM v4.0)
ETL Mapping Specification for
Optum Clinformatics v5.0
Qianli Ma, Erica Voss, & Chris Knoll
Version 2.0
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table of Contents
1
INTRODUCTION............................................................................................ 3
1.1
1.2
ABBREVIATIONS............................................................................................................. 3
CONVENTIONS USED IN DOCUMENT...................................................................................3
DATA MAPPING............................................................................................ 4
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
Page 2 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
1 Introduction
The purpose of this document is to describe the Extract, Transform, Load (ETL)
mapping of the licensed data from Optum Clinformatics (United Health Group) into
the Observational Medical Outcomes Partnership (OMOP) Common Data Model
(CDM) V4. This document is specific to Optum Clinformatics v5.0 or later.
1.1 Abbreviations
Table 1: Abbreviations
Abbreviation
Description
ETL
OMOP
CDM
FIPS
ICD
CPT
HCPCS
DRG
MDC
Table 2: Conventions
Convention
Description
[X]
Italicized
Page 3 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
2 Data Mapping
This section describes how the source files are mapped into the CDM.
The following are a list of conventions used throughout all tables in this ETL:
Since our data is already de-identified, we do not need to mask our
PERSON_IDs.
If a CONCEPT_ID column cannot be mapped to a known code, it should be set
to 0.
If a non-CONCEPT_ID column cannot be mapped to a known code, it should
be set to NULL.
Only pull records during observation periods where a person had both
medical and pharmacy benefits.
ICD diagnosis and procedure codes in Optum MEDICAL table have no decimal
point, so when mapping to the OMOP Vocabulary, the decimal points need to
be removed from the vocabulary in order to map between the source and the
vocabulary.
2.1.2 Step II
Page 4 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
2.1.4 Step IV
2.1.5 Step V
Use OBSERVATION_PERIOD and Optum LAB tables to build OBSERVATION table, and
create table shells for ORGANIZATION and CARE_SITE tables (the cohort table will
not be populated at this time):
Page 5 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
If LOCATION_SOURCE_VALUE NOT IN
('AK','AL','AR','AZ','CA','CO','CT','DC','DE','FL',
'GA','HI','IA','ID','IL','IN','KS','KY','LA','MA',
'MD','ME','MI','MN','MO','MS','MT','NC','ND','NE',
'NH','NJ','NM','NV','NY','OH','OK','OR','PA','PR',
'RI','SC','SD','TN','TX','UT','VA','VT','WA','WI',
'WV','WY') then State ='UN';
Else State = LOCATION_SOURCE_VALUE;
Table 1: LOCATION
Destination Field
Source Field
Applied Rule
LOCATION_ID
ADDRESS_1
ADDRESS_2
CITY
STATE
LOCATION_SOURCE_
VALUE
ZIP
COUNTY
LOCATION_SOURCE_V
ALUE
MEMBER_ _DETAIL:
STATE
System
generated.
NULL
NULL
NULL
Recode source
values of State
using the code
above.
NULL
NULL
Comment
Page 6 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 2: PERSON
Destination Field
Source Field
PERSON_ID
MEMBER_DETAIL:
PATID
GENDER_SOURCE_V
ALUE
GENDER_CONCEPT_ID
YEAR_OF_BIRTH
MONTH_OF_BIRTH
DAY_OF_BIRTH
RACE_CONCEPT_ID
ETHNICITY_CONCEPT_I
D
LOCATION_ID
PROVIDER_ID
CARE_SITE_ID
PERSON_SOURCE_VALU
E
GENDER_SOURCE_VALU
E
RACE_SOURCE_VALUE
ETHNICITY_SOURCE_VA
LUE
MEMBER_DETAIL:
YRDOB
MEMBER_DETAIL
STATE
MEMBER_DETAIL
PATID
MEMBER_DETAIL
GDR_CD
-
Applied Rule
Comment
These CONCEPT_IDs
fall under
VOCABULARY_ID = 12
in CONCEPT table.
NULL
NULL
0
0
Map STATE to
LOCATION_SOURCE
_VALUE in Location
table, then extract
its associated
LOCATION_ID
NULL
NULL
NULL
NULL
Page 7 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 3: OBSERVATION_PERIOD
Destination Field
Source
Field
Applied Rule
OBSERVATION_PERIOD_ID
PERSON_ID
MEMBER_DE
TAIL
PATID
MEMBER_DE
TAIL
ELIGEFF
System generated.
MEMBER_DE
TAIL
ELIGEND
OBSERVATION_PERIOD_START
_DATE
OBSERVATION_PERIOD_END_
DATE
Comment
Page 8 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 9 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 4: PAYER_PLAN_PERIOD
Destination Field
Source
Field
Applied Rule
PAYER_PLAN_PERIOD_ID
PERSON_ID
MEMBER_DE
TAIL:
PATID
MEMBER_DE
TAIL:
ELIGEFF
System generated.
MEMBER_DE
TAIL:
ELIGEND
MEMBER_DE
TAIL:
BUS, ASO,
PRODUCT,
CDHP
PAYER_PLAN_PERIOD_START_
DATE
PAYER_PLAN_PERIOD_END_DA
TE
PAYER_SOURCE_VALUE
Comment
Revise ELIGEFF
using the code
above to match
the start date
of Optum data.
Page 10 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 4: PAYER_PLAN_PERIOD
Destination Field
Source
Field
PLAN_SOURCE_VALUE
MEDICAL:
PAT_PLANID
-
FAMILY_SOURCE_VALUE
Applied Rule
Comment
NULL
Page 11 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 12 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 5: PROVIDER
Destination Field
Source Field
PROVIDER_ID
NPI
DEA
SPECIALTY_CONCEPT_ID
SPECIALTY_SOURCE_V
ALUE
Applied Rule
System
generated.
NULL
NULL
RX set as
38004514
(Unknown
Physician
Specialty)
MEDICAL
PROVCAT: Map
it to OMOP
VOCABULARY_I
D = 300
CARE_SITE_ID
PROVIDER_SOURCE_VAL
UE
RX:
NPI,
DEA
MEDICAL:
PROV
SPECIALTY_SOURCE_VAL
UE
Comment
These CONCEPT_IDs
fall under
VOCABULARY_ID =
300. A record of this
vocabulary can be
found in Appendix
3.1.
Set as 38004514
(Unknown Physician
Specialty) if
SPECIALTY_SOURCE_V
ALUE has missing
value or is NULL or
cant be mapped.
0
We pull in both DEA
and NPI codes. Some
NPI = DEA, however
OPTUM has identified
that as data coming
in with the codes
switched and not a
duplication of NPI and
DEA codes.
RX:
NULL
MEDICAL:
PROVCAT
Page 13 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
(RVNU_CD >= '0100' AND RVNU_CD <='0219') /*Room and Board Charges*/
OR (RVNU_CD >= '0720' AND RVNU_CD <='0729') /*Labor Room and Delivery*/
OR (RVNU_CD >= '0800' AND RVNU_CD <='0809') /*Inpatient Renal Dialysis*/
THEN
IF POS IN (13,31,32,34) THEN CLAIM_TYPE = 'LTC'
ELSE CLAIM_TYPE = 'IP';
Page 14 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
COINS
PAT_PLANID
Page 15 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 16 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
example.xlsx
Page 17 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 6: VISIT_OCCURRENCE
Destination Field
Source Field
Applied Rule
VISIT_OCCURRENCE_ID
PERSON_ID
MEDICAL:
PATID/PAT_PLANID
System
generated.
At the row level
we work with
PAT_PLANID, but
PATID is what is
written to the
CDM.
VISIT_START_DATE
MEDICAL:
min(FST_DT)
VISIT_END_DATE
MEDICAL:
max(LST_DT)
PLACE_OF_SERVICE_SO
URCE_VALUE
PLACE_OF_SERVICE_CONCEPT
_ID
CARE_SITE_ID
PLACE_OF_SERVICE_SOURCE_
VALUE
MEDICAL:
POS
RVNU_CD
PROC_CD
Map
PLACE_OF_SERV
ICE_SOURCE_VA
LUE to their
associated
CONCEPT_IDs:
IP - 9201
OP
- 9202
ER - 9203
LTC - 42898160
NULL
Use the steps
mentioned
above to create
this field.
Comment
These
CONCEPT_IDs
fall under
VOCABULARY_I
D = 24 in
CONCEPT table.
Page 18 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Optum removes decimal points from ICD diagnosis so when mapping to the
OMOP Vocabulary, the decimal points need to also be removed from the
vocabulary in order to map between the source and the vocabulary. Also
some ICD procedure codes are misclassified as ICD condition codes in OMOP
SOURCE_TO_CONCEPT_MAP, so the following logic should be applied first
before removing decimal point in OMOP Vocabulary so you only get ICD
conditions:
CASE
WHEN LEN(SOURCE_CODE) = 3
AND SOURCE_CODE NOT LIKE '%.%'
THEN 1
WHEN LEN(SOURCE_CODE) BETWEEN 5 AND 6
AND SUBSTRING(SOURCE_CODE,4,1) IN ('.')
THEN 1
WHEN SUBSTRING(SOURCE_CODE, 1, 1) IN ('E') THEN
CASE
WHEN LEN(SOURCE_CODE) = 4
AND SOURCE_CODE NOT LIKE '%.%'
THEN 1
WHEN LEN(SOURCE_CODE) BETWEEN 6 AND 7
AND SUBSTRING(SOURCE_CODE,5,1) IN ('.')
THEN 1
Page 19 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
END
ELSE 0
END
Page 20 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 7: CONDITION_OCCURRENCE
Destination Field
Source Field
Applied Rule
CONDITION_OCCURRENC
E_ID
PERSON_ID
System generated.
MEDICAL:
PATID/PAT_PLANI
D
MEDICAL:
DIAG1,
DIAG2,
DIAG3,
DIAG4,
DIAG5
CONDITION_CONCEPT_ID
Comment
SELECT DISTINCT
REPLACE(SOURCE_CODE, '.', '')
AS SOURCE_CODE,
TARGET_CONCEPT_ID
FROM SOURCE_TO_CONCEPT_MAP
WHERE TARGET_VOCABULARY_ID = 1
/*SNOMED*/
AND SOURCE_VOCABULARY_ID = 2
/*ICD9*/
AND PRIMARY_MAP = 'Y'
AND stcm.INVALID_REASON IS NULL
AND GETDATE() BETWEEN
stcm.VALID_START_DATE and
stcm.VALID_END_DATE
CONDITION_START_DATE
CONDITION_END_DATE
VISIT_OCCURRE
NCE:
VISIT_START_DAT
E
-
NULL
Page 21 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 7: CONDITION_OCCURRENCE
Destination Field
Source Field
Applied Rule
CONDITION_TYPE_CONCE
PT_ID
VISIT_OCCURRE
NCE:
PLACE_OF_SERVI
CE_SOURCE_VALU
E
If
PLACE_OF_SERVICE_SOURCE_
VALUE =IP then do,
If DIAG1 then 38000199,
If DIAG2 then 38000200,
If DIAG3 then 38000201,
If DIAG4 then 38000202,
If DIAG5 then 38000203,
End;
Else then do,
If DIAG1 then 38000230,
If DIAG2 then 38000231,
If DIAG3 then 38000232,
If DIAG4 then 38000233,
If DIAG5 then 38000234,
End;
Comment
If same
ICD code
exists in
more than
one
position,
keep only
the one
with low
position
number.
Map to
inpatient/ou
tpatient
header to
be
consistent
with
PROCEDURE
_OCCURREN
CE table.
These
CONCEPT_I
Ds fall
under
VOCABULAR
Y_ID = 37 in
CONCEPT
table.
STOP_REASON
ASSOCIATED_PROVIDER_I
D
TEMP_MEDICAL
:
NEW_PROV,
NEW_PROVCAT
VISIT_OCCURRENCE_ID
VISIT_OCCURRE
NCE:VISIT_OCCU
RRENCE_ID
MEDICAL:
DIAG1,
DIAG2,
DIAG3,
DIAG4,
DIAG5
CONDITION_SOURCE_VAL
UE
NULL
Map PROV and PROVCAT to
PROVIDER_SOURCE_VALUE
and
SPECIALTY_SOURCE_VALUE in
Provider table to extract its
associated Provider ID.
Use rules
mentioned
above to
exclude
invalid ICD9
diagnosis
codes.
Page 22 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Use the following steps to build this table off CONDITION_OCCURRENCE table:
Page 23 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 8: CONDITION_ERA
Destination
Field
Source Field
Applied Rule
CONDITION_ERA_ID
PERSON_ID
CONDITION_OCCUR
RENCE: PERSON_ID
CONDITION_OCCUR
RENCE:
CONDITION_CONCEPT
_ID
CONDITION_OCCUR
RENCE:
min(CONDITION_STAR
T_DATE)
System generated.
CONDITION_CONCE
PT_ID
CONDITION_ERA_ST
ART_DATE
CONDITION_ERA_EN
D_DATE
CONDITION_TYPE_C
ONCEPT_ID
CONDITION_OCCUR
RENCE_COUNT
Do not build
CONDITION_ERAS where the
CONDITION_OCCURRENCE.CO
NDITION_CONCEPT_ID is 0.
The start date for the
condition era constructed
from the individual instances
of condition occurrences. It is
the start date of the very first
chronologically recorded
instance of the condition.
The end date for the
condition era constructed
from the individual instances
of condition occurrences. It is
the end date of the final
continuously recorded
instance of the condition.
Apply a 30 day persistence
window and label as
CONCEPT_ID 38000247.
Comment
CONCEPT_ID Falls
under
VOCABULARY_ID =
37 in CONCEPT
table.
Page 24 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 25 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 26 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 9: PROCEDURE_OCCURRENCE
Destination Field
Source Field
Applied Rule
PROCEDURE_OCCURRENCE_ID
PERSON_ID
MEDICAL:
PATID/PAT_PLANI
D
PROCEDURE_CONCEPT_ID
MEDICAL:
PROC1,
PROC2,
PROC3
(ICD procedure
codes)
System generated.
At the row level we work
with PAT_PLANID, but
PATID is what is written to
the CDM.
Map source codes to
CONCEPT_ID:
PROCEDURE_DATE
MEDICAL:
PROC_CD
(most are
CPT4/HCPCS
code, but some
are ICD
procedure codes
or local codes)
MEDICAL:
FST_DT
VISIT_OCCURR
ENCE:VISIT_EN
D_DATE
PROCEDURE_TYPE_CONCEPT_I
D
VISIT_OCCURR
ENCE:
PLACE_OF_SERV
ICE_SOURCE_VA
LUE
SELECT DISTINCT
REPLACE(SOURCE_CODE, '.',
'') AS SOURCE_CODE,
TARGET_CONCEPT_ID
FROM SOURCE_TO_CONCEPT_MAP
WHERE SOURCE_VOCABULARY_ID
in (3,4,5)
AND TARGET_VOCABULARY_ID in
(3,4,5)
AND PRIMARY_MAP = 'Y'
AND stcm.INVALID_REASON IS
NULL
AND GETDATE() BETWEEN
stcm.VALID_START_DATE and
stcm.VALID_END_DATE
Comment
Procedures
included in the
DRUG_EXPOSUR
E table are also
included here.
0 will be set for
unmapped
procedure codes.
Map to
inpatient/ou
tpatient
header.
These
CONCEPT_I
Ds fall
under
VOCABULA
RY_ID = 38
in CONCEPT
table.
Page 27 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Table 9: PROCEDURE_OCCURRENCE
Destination Field
ASSOCIATED_PROVIDER_ID
Source Field
TEMP_MEDIC
AL:
NEW_PROV,
NEW_PROVCAT
(ICD procedure
codes)
VISIT_OCCURRENCE_ID
RELEVANT_CONDITION_CONCE
PT_ID
Applied Rule
Comment
PROV,
PROVCAT
(most are
CPT4/HCPCS
code, but some
are ICD
procedure codes
or local codes)
VISIT_OCCURR
ENCE:
VISIT_OCCURRE
NCE_ID
MEDICAL:
DIAG1
Select
MIN(DIAG1) for
PROC_CDs but
take all DIAG1s
that come with
PROC1, PROC2,
and PROC3.
SELECT DISTINCT
REPLACE(SOURCE_CODE, '.',
'') AS SOURCE_CODE,
TARGET_CONCEPT_ID
FROM SOURCE_TO_CONCEPT_MAP
WHERE TARGET_VOCABULARY_ID =
1 /*SNOMED*/
AND SOURCE_VOCABULARY_ID = 2
/*ICD9*/
AND PRIMARY_MAP = 'Y'
AND stcm.INVALID_REASON IS
NULL
AND GETDATE() BETWEEN
stcm.VALID_START_DATE and
stcm.VALID_END_DATE
PROCEDURE_SOURCE_VALUE
MEDICAL:
PROC1,
PROC2,
PROC3
MEDICAL:
PROC_CD
See logic
above for
how to
clean ICD
procedure
codes.
Page 28 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 29 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 30 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 31 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
Applied Rule
PROCEDURE_COST_ID
PROCEDURE_OCCURREN
CE_ID
PROCEDURE_O
CCURRENCE:
PROCEDURE_OC
CURRENCE_ID
MEDICAL:
COPAY
MEDICAL:
COINS
MEDICAL:
DEDUCT
MEDICAL:
AMT_COB_SAV
MEDICAL:
COINS+
DEDUCT
STANDARDPRI
CING:
STD_COST
A system-generated
unique identifier for
each procedure cost
record.
Same as
PROCEDURE_OCCURR
ENCE_ID
PAID_COPAY
PAID_COINSURANCE
PAID_TOWARD_DEDUCTI
BLE
PAID_BY_PAYER
PAID_BY_COORDINATION
_BENEFITS
TOTAL_OUT_OF_POCKET
TOTAL_PAID
Comment
NULL
Lookup using
PAT_PLANID, CLMID,
CLMSEQ, and FST_DT
When a mapping fails
to find a STD_COST in
STANDARDPRICING or
there were multiple
STANDARDPRICING
rows per MEDICAL
row we will list a
NULL instead of
STD_COST.
DISEASE_CLASS_CONCE
PT_ID
MEDICAL:
DRG
REVENUE_CODE_CONCE
MEDICAL:
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 33 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
SOURCE_CO
DE
20
21
22
23
24
25
26
27
27
28
29
40
41
42
SOURCE_CODE_DESCRIPTION
EXPIRED
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
LEVEL
EXPIRED
DEATH_TYPE_CONCEPT_I
D
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
TO BE DEFINED AT STATE
38003566
AT HOME (HOSPICE)
38003566
38003566
38003566
Page 34 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Code
Code
Code
Code
SOURCE_CO
DE
7616
798
7980
7981
7982
ICD9 Code
ICD9 Code
7989
E9131
ICD9 Code
E978
SOURCE_CODE_DESCRIPTION
Maternal Death Affecting Fetus or
newborn
Sudden death, cause unknown
Sudden infant death syndrome
Instantaneous death
Death occurring in less than 24 hours
from onset of symptoms, not
otherwise explained
Unattended death
Accidental mechanical suffocation by
plastic bag
Legal execution
DEATH_TYPE_CONCEPT_I
D
38003567
38003567
38003567
38003567
38003567
38003567
38003567
38003567
1) DRG
This query also provides a way of defining death via DRG. The claim
must have the DRG with a VISIT_END_DATE between the
VALID_START_DATE and VALID_END_DATE of this lookup.
SELECT 'DRG code indicating death' AS CODE_TYPE, SOURCE_CODE,
SOURCE_CODE_DESCRIPTION, '38003568' AS DEATH_TYPE_CONCEPT_ID, VALID_START_DATE,
VALID_END_DATE
FROM SOURCE_TO_CONCEPT_MAP
WHERE SOURCE_CODE IN (283, 284, 285, 123, 789, 385)
AND SOURCE_VOCABULARY_ID = 40
AND TARGET_CONCEPT_ID IN (
38000421,38001111,38001112,38001113,38000683,38001500
)
ORDER BY SOURCE_CODE, INVALID_REASON
Page 35 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Only one record will be kept for each patient. The record with latest date of
death will be kept. If multiple lines of death records are captured on the
same day, the death captured by discharge status has higher priority than
those captured by ICD diagnosis codes and the lowest priority goes to records
identified by DRG.
If there are health care visits after 32 days of death date, delete the death
record.
Source Field
Applied Rule
PERSON_ID
MEDICAL:
PATID/PAT_PLANID
DEATH_DATE
VISIT_OCCURRENCE:
VISIT_END_DATE
Discharge status:
MEDICAL:
DSTATUS
DEATH_TYPE_CONCEPT_ID
Condition:
MEDICAL:
DIAG1, DIAG2,
DIAG3,DIAG4,DIAG5
CAUSE_OF_DEATH_CONCEPT_I
D
CAUSE_OF_DEATH_SOURCE_VA
LUE
DRG:
MEDICAL:
DRG
-
38003566 for
death captured
by Discharge
status,
38003567 for
death captured
by condition, and
38003568 for
death captured
by DRG
Comment
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 45 in
CONCEPT
table.
NULL
Page 36 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 37 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
Applied Rule
DRUG_EXPOSURE_ID
PERSON_ID
RX:
PATID/PAT_PLANID
System generated.
At the row level we work
with PAT_PLANID, but
PATID is what is written
to the CDM.
DRUG_CONCEPT_ID
PROCEDURE_OCCUR
RENCE: PERSON_ID
DRUG_SOURCE_VALUE
SELECT DISTINCT
SOURCE_CODE,
TARGET_CONCEPT_ID
FROM
SOURCE_TO_CONCEPT_MAP
WHERE
TARGET_VOCABULARY_ID = 8
/*RXNORM*/
AND SOURCE_VOCABULARY_ID
= 9 /*NDC*/
AND PRIMARY_MAP = 'Y'
AND INVALID_REASON IS
NULL
AND GETDATE() BETWEEN
VALID_START_DATE and
VALID_END_DATE
Comment
If
unmapped:
set 0 for
Prescripti
on drug;
exclude
records for
Procedure
drug
Page 38 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
DRUG_EXPOSURE_START_
DATE
RX:
FILL_DT
DRUG_EXPOSURE_END_D
ATE
DRUG_TYPE_CONCEPT_ID
PROCEDURE_OCCUR
RENCE:
PROCEDURE_DATE
RX:
MAIL_IND
PROCEDURE_OCCUR
RENCE:
PROCEDURE_TYPE_CO
NCEPT_ID
STOP_REASON
REFILLS
QUANTITY
DAYS_SUPPLY
SIG
PRESCRIBING_PROVIDER_
ID
RX:
RFL_NBR
RX:
sum(QUANTITY)
PROCEDURE_OCCUR
RENCE:
sum(UNITS)
RX :
sum(DAYS_SUP)
RX:
NPI,
DEA
PROCEDURE_OCCUR
RENCE:
ASSOCIATED_PROVIDE
R_ID
Applied Rule
Comment
NULL
Prescription drug:
If MAIL_IND = Y then
38000176 (Prescription
dispensed through mail
order); else 38000175
(Prescription dispensed
in pharmacy)
Procedure drug: if
PROCEDURE_TYPE_CON
CEPT_ID in
(38000251,38000252,3
8000253,38000254)
then 38000180
(Inpatient
administration); else
38000179 (Physician
administered drug,
identified as procedure)
NULL
NULL for Procedure
drug
These
CONCEPT_I
Ds fall
under
VOCABULA
RY_ID = 36
in CONCEPT
table.
Page 39 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
Applied Rule
VISIT_OCCURRENCE_ID
PROCEDURE_OCCUR
RENCE:
VISIT_OCCURRENCE_ID
Prescription drug:
NULL
RELEVANT_CONDITION_C
ONCEPT_ID
DRUG_SOURCE_VALUE
PROCEDURE_OCCUR
RENCE:
RELEVANT_CONDITION
_CONCEPT_ID
RX:
NDC
PROCEDURE_OCCUR
RENCE:
For PROC_CD, if NDC is
NOT NULL then NDC
ELSE
PROCEDURE_SOURCE_
VALUE. For all other
columns just take the
PROCEDURE_SOURCE_
VALUE
Comment
Procedure drug:
VISIT_OCCURRENCE_ID
Prescription drug:
NULL
Procedure drug:
RELEVANT_CONDITION_
CONCEPT_ID.
Prescription drug:
Keep all records even if
there is no mapping;
Procedure drug:
Keep records only when
procedure codes are
mapped.
Page 40 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 41 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
Applied Rule
Comme
nt
DRUG_COST_ID
Same as
DRUG_EXPOSURE_ID
DRUG_EXPOSURE_ID
DRUG_EXPOSURE:
DRUG_EXPOSURE_I
D
RX:
sum(COPAY)
RX:
sum(DEDUCT)
-
Same as
DRUG_EXPOSURE_ID
The
relationshi
p between
DRUG_CO
ST and
DRUG_EX
POSURE is
one to
one.
Exclude
procedur
e drug
RX:
sum(STD_COST)
RX:
sum(DISPFEE)
RX:
sum(AVGWHLSL)
PAYER_PLAN_PERI
OD:
PAYER_PLAN_PERIO
D_ID
NULL
PAID_COPAY
PAID_COINSURANCE
PAID_TOWARD_DEDUCTIB
LE
PAID_BY_PAYER
PAID_BY_COORDINATION_
BENEFITS
TOTAL_OUT_OF_POCKET
TOTAL_PAID
INGREDIENT_COST
DISPENSING_FEE
AVERAGE_WHOLESALE_P
RICE
PAYER_PLAN_PERIOD_ID
NULL
NULL
NULL
NULL
Look up associated
PAYER_PLAN_PERIOD_ID by
PERSON_ID and
DRUG_EXPOSURE_START_DA
TE AND PAT_PLANID. If there
no match, put NULL.
Page 42 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Key conventions:
Use the following steps to build this table off DRUG_EXPOSURE table:
1) Exclude records with DRUG_CONCEPT_ID = 0.
2) Use the following logic to map DRUG_CONCEPT_ID to ingredient levels:
SELECT DISTINCT ca.ANCESTOR_CONCEPT_ID /*ingredient level*/,
ca.DESCENDANT_CONCEPT_ID /*this is where you set the
DRUG_EXPOSURE.DRUG_CONCEPT_ID to*/
FROM CONCEPT c1
JOIN CONCEPT_ANCESTOR ca
ON ca.DESCENDANT_CONCEPT_ID = c1.CONCEPT_ID
JOIN CONCEPT c2
ON c2.CONCEPT_ID = ca.ANCESTOR_CONCEPT_ID
WHERE c1.CONCEPT_VOCABULARY_ID = 8
AND c2.CONCEPT_VOCABULARY_ID = 8
AND c2.CONCEPT_LEVEL = 2
Page 43 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
Applied Rule
DRUG_ERA_ID
PERSON_ID
DRUG_EXPOSURE:
PERSON_ID
DRUG_EXPOSURE:
DRUG_CONCEPT_ID
System generated.
DRUG_CONCEPT_ID
DRUG_ERA_START_DA
TE
DRUG_EXPOSURE:
min(DRUG_EXPOSUR
E_START_DATE)
DRUG_ERA_END_DAT
E
DRUG_EXPOSURE:
max(DRUG_EXPOSU
RE_END_DATE)
DRUG_TYPE_CONCEP
T_ID
DRUG_EXPOSURE_CO
UNT
Comment
This
CONCEPT_ID
falls under
VOCABULAR
Y_ID = 36 in
CONCEPT
table.
Page 44 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 45 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
VALUE_AS_NUMBER = RSLT_NBR;
OBSERVATION_TYPE_CONCEPT_ID = 38000277;
END;
ELSE IF VALUE_AS_CONCEPT_ID NE . THEN
OBSERVATION_TYPE_CONCEPT_ID = 38000279; /*Result as Concept*/
ELSE OBSERVATION_TYPE_CONCEPT_ID = 38000278; /*Result as Text*/
Page 46 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
OBSERVATION_ID
PERSON_ID
OBSERVATION_CONCEPT
_ID
OBSERVATION_DATE
OBSERVATION_TIME
VALUE_AS_NUMBER
VALUE_AS_STRING
VALUE_AS_CONCEPT_ID
LAB:
PATID/PAT_PLANI
D
LAB:
LOINC_CD
LAB:
FST_DT
LAB:
RSLT_NBR
LAB:
RSLT_TXT
LAB:
ABNL_CD ,
RSLT_TXT
UNIT_CONCEPT_ID
LAB:
RSLT_UNIT_NM
Applied Rule
Comment
NULL
This is applicable to
observations where the result
can be converted into numeric
value. Set as NULL if
RSLT_NBR IN (0.000000,
-999999.999999)
Map result (case insensitive)
to the following CONCEPT_IDs:
CONCEPT
RESULT
_ID
Low
4267416
High
4328749
Normal
4069590
Absent
4132135
Abnormal
4135493
Present
4181412
Final
report
9188
Negative
9189
Not found
9190
Positive
9191
Trace
9192
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 1 and
CONCEPT_CLA
SS =Qualifier
value in
CONCEPT
table.
Page 47 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
OBSERVATION_ID
PERSON_ID
OBSERVATION_CONCEPT
_ID
OBSERVATION_DATE
OBSERVATION_TIME
VALUE_AS_NUMBER
VALUE_AS_STRING
VALUE_AS_CONCEPT_ID
LAB:
PATID/PAT_PLANI
D
LAB:
LOINC_CD
LAB:
FST_DT
LAB:
RSLT_NBR
LAB:
RSLT_TXT
LAB:
ABNL_CD ,
RSLT_TXT
Applied Rule
Comment
NULL
This is applicable to
observations where the result
can be converted into numeric
value. Set as NULL if
RSLT_NBR IN (0.000000,
-999999.999999)
Map result (case insensitive)
to the following CONCEPT_IDs:
CONCEPT
RESULT
_ID
Low
4267416
High
4328749
Normal
4069590
Absent
4132135
Abnormal
4135493
Present
4181412
Final
report
9188
Negative
9189
Not found
9190
Positive
9191
Trace
9192
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 1 and
CONCEPT_CLA
SS =Qualifier
value in
CONCEPT
table.
Page 48 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
OBSERVATION_ID
PERSON_ID
OBSERVATION_CONCEPT
_ID
OBSERVATION_DATE
OBSERVATION_TIME
VALUE_AS_NUMBER
VALUE_AS_STRING
VALUE_AS_CONCEPT_ID
LAB:
PATID/PAT_PLANI
D
LAB:
LOINC_CD
LAB:
FST_DT
LAB:
RSLT_NBR
LAB:
RSLT_TXT
LAB:
ABNL_CD ,
RSLT_TXT
Applied Rule
Comment
NULL
This is applicable to
observations where the result
can be converted into numeric
value. Set as NULL if
RSLT_NBR IN (0.000000,
-999999.999999)
Map result (case insensitive)
to the following CONCEPT_IDs:
CONCEPT
RESULT
_ID
Low
4267416
High
4328749
Normal
4069590
Absent
4132135
Abnormal
4135493
Present
4181412
Final
report
9188
Negative
9189
Not found
9190
Positive
9191
Trace
9192
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 1 and
CONCEPT_CLA
SS =Qualifier
value in
CONCEPT
table.
Page 49 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
OBSERVATION_ID
PERSON_ID
OBSERVATION_CONCEPT
_ID
OBSERVATION_DATE
OBSERVATION_TIME
VALUE_AS_NUMBER
VALUE_AS_STRING
VALUE_AS_CONCEPT_ID
LAB:
PATID/PAT_PLANI
D
LAB:
LOINC_CD
LAB:
FST_DT
LAB:
RSLT_NBR
LAB:
RSLT_TXT
LAB:
ABNL_CD ,
RSLT_TXT
Applied Rule
Comment
NULL
This is applicable to
observations where the result
can be converted into numeric
value. Set as NULL if
RSLT_NBR IN (0.000000,
-999999.999999)
Map result (case insensitive)
to the following CONCEPT_IDs:
CONCEPT
RESULT
_ID
Low
4267416
High
4328749
Normal
4069590
Absent
4132135
Abnormal
4135493
Present
4181412
Final
report
9188
Negative
9189
Not found
9190
Positive
9191
Trace
9192
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 1 and
CONCEPT_CLA
SS =Qualifier
value in
CONCEPT
table.
LAB:
LOW_NRML
LAB:
HI_NRML
LAB:
RSLT_NBR,
38000277 Observation
numeric result
These
CONCEPT_IDs
Page 50 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
OBSERVATION_ID
PERSON_ID
OBSERVATION_CONCEPT
_ID
OBSERVATION_DATE
OBSERVATION_TIME
VALUE_AS_NUMBER
VALUE_AS_STRING
VALUE_AS_CONCEPT_ID
LAB:
PATID/PAT_PLANI
D
LAB:
LOINC_CD
LAB:
FST_DT
LAB:
RSLT_NBR
LAB:
RSLT_TXT
LAB:
ABNL_CD ,
RSLT_TXT
Applied Rule
Comment
NULL
This is applicable to
observations where the result
can be converted into numeric
value. Set as NULL if
RSLT_NBR IN (0.000000,
-999999.999999)
Map result (case insensitive)
to the following CONCEPT_IDs:
CONCEPT
RESULT
_ID
Low
4267416
High
4328749
Normal
4069590
Absent
4132135
Abnormal
4135493
Present
4181412
Final
report
9188
Negative
9189
Not found
9190
Positive
9191
Trace
9192
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 1 and
CONCEPT_CLA
SS =Qualifier
value in
CONCEPT
table.
ABNL_CD ,
RSLT_TXT
fall under
VOCABULARY_
ID=39 in
CONCEPT
Table
Page 51 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
OBSERVATION_ID
PERSON_ID
OBSERVATION_CONCEPT
_ID
OBSERVATION_DATE
OBSERVATION_TIME
VALUE_AS_NUMBER
VALUE_AS_STRING
VALUE_AS_CONCEPT_ID
LAB:
PATID/PAT_PLANI
D
LAB:
LOINC_CD
LAB:
FST_DT
LAB:
RSLT_NBR
LAB:
RSLT_TXT
LAB:
ABNL_CD ,
RSLT_TXT
ASSOCIATED_PROVIDER_
ID
VISIT_OCCURRENCE_ID
RELEVANT_CONDITION_
CONCEPT_ID
OBSERVATION_SOURCE_
Applied Rule
Comment
NULL
This is applicable to
observations where the result
can be converted into numeric
value. Set as NULL if
RSLT_NBR IN (0.000000,
-999999.999999)
Map result (case insensitive)
to the following CONCEPT_IDs:
CONCEPT
RESULT
_ID
Low
4267416
High
4328749
Normal
4069590
Absent
4132135
Abnormal
4135493
Present
4181412
Final
report
9188
Negative
9189
Not found
9190
Positive
9191
Trace
9192
NULL
NULL
LAB:
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 1 and
CONCEPT_CLA
SS =Qualifier
value in
CONCEPT
table.
Page 52 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
OBSERVATION_ID
PERSON_ID
OBSERVATION_CONCEPT
_ID
OBSERVATION_DATE
OBSERVATION_TIME
VALUE_AS_NUMBER
VALUE_AS_STRING
VALUE_AS_CONCEPT_ID
LAB:
PATID/PAT_PLANI
D
LAB:
LOINC_CD
LAB:
FST_DT
LAB:
RSLT_NBR
LAB:
RSLT_TXT
LAB:
ABNL_CD ,
RSLT_TXT
VALUE
LOINC_CD
UNIT_SOURCE_VALUE
LAB:
RSLT_UNIT_NM
Applied Rule
Comment
NULL
This is applicable to
observations where the result
can be converted into numeric
value. Set as NULL if
RSLT_NBR IN (0.000000,
-999999.999999)
Map result (case insensitive)
to the following CONCEPT_IDs:
CONCEPT
RESULT
_ID
Low
4267416
High
4328749
Normal
4069590
Absent
4132135
Abnormal
4135493
Present
4181412
Final
report
9188
Negative
9189
Not found
9190
Positive
9191
Trace
9192
These
CONCEPT_IDs
fall under
VOCABULARY_
ID = 1 and
CONCEPT_CLA
SS =Qualifier
value in
CONCEPT
table.
Page 53 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Page 54 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
ORGANIZATION_ID
PLACE_OF_SERVICE_CONCE
PT_ID
LOCATION_ID
ORGANIZATION_SOURCE_V
ALUE
PLACE_OF_SERVICE_SOURC
E_VALUE
0
0
Applied Rule
NULL
NULL
NULL
Comment
Source Field
CARE_SITE_ID
LOCATION_ID
ORGANIZATION_ID
PLACE_OF_SERVICE_CONCEP
T_ID
CARE_SITE_SOURCE_VALUE
PLACE_OF_SERVICE_SOURCE_
VALUE
0
0
0
-
Applied Rule
Comment
NULL
NULL
NULL
Page 55 of 56
Common Data Model (CDM V4.0) ETL Mapping Specification for OPTUM
Source Field
Applied Rule
Comment
COHORT_ID
COHORT_CONCEPT_ID
COHORT_START_DATE
COHORT_END_DATE
SUBJECT_ID
STOP_REASON
Page 56 of 56