OHDSI Home | Forums | Wiki | Github

Where to store immunization details in OMOP CDM to feed data to PCORNet

I’m working on an effort to populate the IMMUNIZATION table for PCORNet CDM. We use an OMOP database to provide the data elements to PCORNet. I’ve found some of the needed columns in the DRUG_EXPOSURE table, but I’m finding several columns are not available , examples:
Is there a best practice to follow for providing the immunization data in OMOP CDM? We do have a source table (immune) from the system that populates the OMOP database that has the needed columns, would the best approach be to include this additional immunization data in a new extra IMMUNE table within OMOP CDM?
Has anyone had any experience working on the immunization data requirements for PCORNet using OMOP CDM as the source? I would appreciate any insight into your experience .
John Whitten

Instead of populating a whole other table with data already found in the Drug Exposure table, why not just add these additional columns to your Drug Exposure table?

As per this conversation, Atlas won’t recognize these additional fields, but you also won’t “break” the cdm.

Before @Christian_Reich asking for use cases, let me jump in first :blush:


Immunization status belongs to Observation domain and the top level concept is here. It subsumes concepts such as below:

Immunization advised (4147575)
Immunization due (4062746)
Immunization overdue (37312219)
Immunization series complete (764381)
Immunization status unknown (4062745)
and many more…


Not sure what this is. Can you please provide some examples?

Hi Melanie,
Yes, that is an option. We do have tables called “X” tables like X_DRUG_EXPOSURE that store this type of data, but since these are only immunization data elements, I believe a table specific to immunizations may be a better option.

Hi Qi,
Thanks for the info.
The description for VX_STATUS_REASON is -
Reason immunization is incomplete or not done.
This field is not expected to be populated for immunizations with a status of “CP” (Completed) or “ER” (Entered in error)
Valid values-
MP=Medical precaution
OS=Out of stock
PO=Patient objection
NI=No information

Just as a FYI:

I have been finding immunization data in the regular Drug tables of Epic.