OHDSI Home | Forums | Wiki | Github

APACHE APS III Variables to Standard Concepts

I have data that includes vitals/lab measurements that go into an Acute Physiology Score (APS) III.
I’m having difficult finding an appropriate standard concept to assign these variables.

These variables are defined as:
APS points are assigned based upon the “Worst” values (measurement of the degree of physiologic derangement) that a patient exhibits during the APACHE Day. The “Worst” values tend to be those that are furthest away from the APACHE-defined mid-point.
An APACHE Day is defined as the first 24 hours of ICU admission.

Some examples of these variables are GCS, wbc, temp, sodium, heart rate, ph, creatinine, fio2, pao2, etc.

I want to bring these into OMOP, but I need help with a standard concept to map it to. I can find concepts like “Apache III Score” and “APS score”. But for example, I’m looking for something like “APS heart rate” and not just “Heart Rate” concept so that I can differentiate a heart rate measurement from the APS heart rate.

Any thoughts or suggestions?

Just to be clear, you want to store the individual variable scores for each of the components as well as the total score as separate concepts? That is why you want an APS heart rate to differentiate from the actual heart rate? I would think that the calculated score could be determined by the raw data in each of the variables. For the CIEL dictionary, that has been the method I have used. However, where the individual scores are useful on their own, I created concepts for those. For example: The Clinical Global Impression Scale has three components: Severity Score, Improvement Score and Efficacy Score. However, those scores are not just calculated values off of a raw data element.

We definitely don’t have such pre-coordinated concepts. And my understanding is that the pre-coordination is not the best choice here. Let’s say you have 10-20 tests of interest and then 2-3 scoring systems with 2-3 ways to define the “worst” result.

LOINC provides some content to address the circumstances (at rest, on exertion, post-exercise, etc.), specimen number (1st, 2nd, 3rd, etc.), max/min results (during 1-24 hrs or study) but only for the very generic or specific stuff. I’m even not sure whether they’d add it by the request.

You can start with the following, but it becomes much harder when looking into the rest.

ID CODE NAME CLASS CONCEPT VALIDITY DOMAIN VOCAB
3045369 44784-7 Creatinine [Mass/volume] (Maximum value during study) in Serum or Plasma Lab Test Standard Valid Measurement LOINC
3044738 44783-9 Sodium [Moles/volume] (Maximum value during study) in Serum or Plasma Lab Test Standard Valid Measurement LOINC
3016715 8315-4 Body temperature 24 hour maximum Clinical Observation Standard Valid Measurement LOINC
3016778 8320-4 Body temperature - 24 hour minimum Clinical Observation Standard Valid Measurement LOINC
3027998 8873-2 Heart rate 24 hour maximum Clinical Observation Standard Valid Measurement LOINC
3021545 8883-1 Heart rate 24 hour minimum Clinical Observation Standard Valid Measurement LOINC

Instead of the pre-coordination, there are some other solutions:

  • introduction of the modifier/qualifier field to the Measurement table. Was requested several times, needs the decision on the Community level.
  • usage of the Oncology module approach where Measurement is a modifier of the event. But it’s not clear what event is to be modified.
  • Map to the generic Measurement concepts. Find a way to distinguish these records from generic Measurements, e.g. link to the specific visit_occurrence or visit_detail. Would this differentiation work in the opposite direction in analytical tools?

Yes! I have the APS score and the individual components that make up that score so I will want to store both the individual components (24 concepts) and the APS Score (which would be concept 3016042 I presume). The individual components are useful for other analysis so that’s why I will need a concept that differentiates.

That’s unfortunate to hear :frowning:. In terms of choice, it’s the data I have already, and this data is being used in current analysis. The goal for my team was to do the analysis on OMOPified data, and I’m tasked to ETL the data to OMOP CDM.

This may be a good lead actually. I could interpret these value as more observational than measurement/lab similar to the Max 24hr heart rate concepts you listed above. I imagine the situation as measurements were taken, and the observed worst value based on the criteria to score APS is recorded separately. I’ll see if there’s a way to use modifier/qualifier field.

I found concept 4083067 (Acute physiology and chronic health evaluation risk of hospital death score).

Would it be acceptable to map into observation table and take a heart rate concept, say 4239408 (Heart rate), for observation_concept_id with 4083067 (Acute physiology and chronic health evaluation risk of hospital death score) for qualifier_concept_id?

Then map similarly for the other concepts (GCS, wbc, temp, sodium, ph, creatinine, fio2, pao2, etc.)?

This should work. Except you need to hard-code the target domain since the majority of the tests are in the Measurement Domain.

1 Like
t