OHDSI Home | Forums | Wiki | Github

CPT4 Observations

In our data set we have the CPT code for 12-Lead ECG Performed (3120F) and the associated date of the ECG. In the OMOP vocabulary, this code is a standard concept and is classified as an observation. Shouldn’t it be in the procedure domain?

1 Like

Hi, Was this resolved/clarified?

We are trying to understand if we should be inserting records into OMOP tables on the basis of the terminology or on the basis of the OMOP classification. Causing us PCORnet issues since PCORnet does not split terminologies across tables like this in most cases.

“All of Us” in California want to make sure we’re compliant.


FWIW, we insert records based on the domain of the source tables - so we do have rows in PROCEDURE_OCCURRENCE that have CONCEPT_IDs with a DOMAIN_ID of OBSERVATION. Of the 630 CPT4s that exist in Observation, it seems like most are Category 2s. Some I could see the argument for slotting into Observation, but others seem pretty clear-cut Procedures to me, e.g.

42628528	Oncology (tumor of unknown origin), mRNA, gene expression profiling by real-time RT-PCR of 92 genes (87 content and 5 housekeeping) to classify tumor into main cancer type and subtype, utilizing formalin-fixed paraffin-embedded tissue, algorithm reported
1 Like


There is no such a thing, @esholle. Again, I need to enforce the OMOP CDM commandments. One says “the vocabulary decides to which table a concept goes, not the source”. Just because something is a CPT code, or is listed in a field with the word “proc” in its name, doesn’t make it a procedure. There are many many examples where this is glaringly obvious. Look, for example, at the Procedure Drugs, or at these Measurements: http://athena.ohdsi.org/search-terms/terms?domain=Measurement&vocabulary=CPT4&vocabulary=HCPCS&page=2&pageSize=15&query=. There is no procedure whatsoever, other than taking blood.

Not at all. It’s a Measurement, really. But it’s in Observation because it is a panel (you cannot have 92 results in one Measurement). A procedure would have to occur on the patient to be a procedure, not on some sample in the lab in the basement of the hospital. It’s got “to hurt a little”, if you need a hint.

Sorry to be the bad cop here, but somebody’s got to do that job. Look: If everybody decided where to put codes we are back in incompatibility land, and remote network studies over multiple nodes are out of the window.

Now, the vocab team does these assignments based on some heuristic. And sometimes you can argue about the right assignments, like @cukarthik’s ECG. We know we have to address this, and a debate about a similar subject already started. (Sorry, @cukarthik, for letting your post hang there for two months.) So, if you think a certain concept is in the wrong domain PLEASE BRING IT UP HERE and we will fix it. Till then, it will be whatever creature it gets assigned to.

I appreciate your thoughts, @Christian_Reich, as well as your “bad cop” perspective - this is invaluable as we endeavor to model our data in such a way as to facilitate collaboration with other sites further down the road.

We’ve taken this approach because we have use cases that revolve around modeling some of these concepts as procedures. As you probably already know, the data model implemented by a certain monumental/heroic EHR system stores lab orders and procedures in the same table. We have investigators who are interested in order sets - while my initial reaction was that modeling lab orders as Measurements might make it more difficult to track the hierarchical relationship between order > results, you’ve certainly given me a lot to think about. Perhaps our approach has been blinkered by too rigid adherence to the strictures of the source system.


Now that you accepted and paid your ticket :slight_smile: let me help you out: I think what you are asking for is already underway: Proposal to add type_concepts for lab Measurements. You would be able to have multiple records in the Measurement table each time one of the following occurs: ordered, collected, completed, and final/verified. Only the penultimate or final would contain the result. Would that work?

I am not sure where the THEMIS team is. @mvanzandt? @ericaVoss? @aostropolets?