@jenniferduryea and I are looking to populate the observation.oberservation_type_concept_id field in our ETL of HCUP-NIS data, but can’t seem to find a good match in the vocabularies.
Naively, to find all “appropriate” Observation Type concepts, I’m searching the concept table by concept_class_id like so:
select *
from concept
where true
and concept_class_id = 'Observation Type'
But I only get back the following results:
Chief complaint
HRA Observation Numeric Result
HRA Observation Text
Lab observation concept code result
Lab observation numeric result
Lab observation text
Observation recorded from EHR
Observation recorded from EHR with text result
Patient reported
Problem list from EHR
Referral Record
None of these seem to apply to NIS data, or survey, or claims data in general. So two questions:
I just noticed there is also a domain of “Observation Type”, but it yields the same results as when I searched by concept_class_id. So my questions still stand.
@Christian_Reich - We are trying to put the following information from HCUP NIS in the Observation table so we need observation_type_concept_ids for these items:
discharge weights - survey specific information
stratum - survey specific information
admission type - hospital discharge summary
discharge status - claims information
cost-to-charge ratios - hospital-specific finance data
CCS codes - this could be considered “chief complaint” but these codes are created by AHRQ (the HCUP administrators) and are not exactly from the provider of care. And rarely are they the “chief” complaint.
hospital teaching status - hospital-specific description
hospital bed size - hospital- specific description
I think that’s it for now. Please let me know if you need any more clarification on this. Thanks!
The types are not attributes. The are the provenance.
So, “discharge weight” is a concept that should go into the observation_concept_id (actually measurement_concept_id) as weight, and the Observation Type should be “Observation recorded from EHR”. If you want to specifically make sure it is clear that it is in a separate discharge record we could add “Discharge Record”. Is it? Where are you getting that information from?
Stratum: don’t know what that is.
Admission type: again, where is this coming form? EHR record? Say so. And put the actual admission type into the observation_concept_id.
Discharge status: We have that already.
Cost-to-charge ratio: Isn’t that specific to a specific cost?
CCS codes: We had them as its own vocabulary with mostly Condition concepts, but we kicked them out. Too messy. Do you need them? if they are not chief complaint, just put them in as EHR record, and fine.
Hospital information: We don’t have that in the CDM. Do you want to add it to your Provider table?
We understand that observation_type_concept_id captures the origin of the data, but there don’t appear to be concepts for “Observation recorded from claims data” or, in our case “Observation recorded from survey questionnaire”. Those are two concepts we’d like added.
As for the observations we’re trying to capture, most of them are statistical weights, not patient measurements. Please see the documentation from HCUP about how these weights are used to create national estimates from survey data: http://www.hcup-us.ahrq.gov/db/nation/nis/NIS_Introduction_2001.jsp#table3 Please see specific responses to your reply below.
See DISCWT variable in HCUP documentation listed above. I have not found a good CONCEPT_ID for this. As you can see, @Mark_Danese asked about this in another post ( Survey weights (statistical weights) in CDM ) but the answers there do not seem satisfactory. Not sure what was done for NHANES.
See NIS_STRATUM variable in HCUP documentation listed above. This is specific to statistical analysis - not patient related. I have not found a good CONCEPT_ID for this, similar to the Discharge Weight variable.
I have found the following concept_ids for admission status: 4079617 , 4331002 , 4314435 , 4046034, 8715
I found the concept_ids for discharge status as well.
HCUP reports the cost-to-charge ratio on a per hospital basis. The hospital reports their overall cost-to-charge ratio for the survey questionnaire. I have no found a good CONCEPT_ID for this. I have asked the community for their assistance in this forum post ( Observation_concept_id for Cost-to_Charge ratios ) but no one has responded. Probably because there isn’t a good one. And I’m not sure how to solve this problem.
I would love to put CCS codes in the Condition table as their own vocabulary. I see these used a lot in survey data, and sometimes in claims data. But, since that option is not available anymore, I was going to put them in the Observation table. I’ll try to find relevant CONCEPT_IDs for them. I’ll let you know what I find.
I would love to add this information to the care_site table (not the Provider table, since that is for physicians). But these fields (hospital bed size and teaching facility status, specifically) are not available in the care_site table. So I was adding these to the Observation table because it doesn’t fit anywhere else. I’m not finding viable CONCEPT_IDs for these fields either. Suggestions?
Let’s finish this up, I feel like we have rolled this problem back and forth for too long. But: I am going to grill you a little bit for the use cases. Forgive me for the pain that will cause, but we need to have that to keep the CDM clean:
Observation recorded from claims data: What observations do we record from claims? The hospital file of the HCUP, like the statistical weight? Is that patient-level data? In other words: does every weight entry of a person have such a weight attached?
If yes: we would create (or pick) a concept and put that into the observation_table, with a fact_relationship record linking it to the weight record in the MEASUREMENT table (!!!)
If not: What person_id did you plan on filling, and what observation_date? I would say the right place would be a care_site addendum table.
Observation recorded from survey questionnaire: Makes sense to me.
Stratum: Again, if it is not patient related, can’t go into the Observation table. It sounds like in the HCUP it is hospital-dependent, so it could go into the proposed care_site addendum table. But if you mention NHANES I feel it has nothing to do with a hospital necessarily, either.
The hospital admissions: The fact that there was a hospital admission is not an observation. It should consitute a inpatient hospital visit. Or are you trying to capture that it was elective/emergeny/birth that got the patient into the hospital? If yes, you could use those concepts, and again make a fact_relationship to the visit.
Cost-to-charge ratio: Same thing. Not patient-level data, hence no observation. Don’t litter the “garbage can”.
CCS: Let me take a look at it again. We have a lot better ICD9 to SNOMED mapping now, maybe we could swallow them now, and fix the links up a bit. And I agree, they are condition classes, not observations.
Bottom line: For the hospital-specific stuff we could create a non-standard addendum table. Let me know what you want in there, and we put it into the sandbox we are planning on building. We can also then get the right Concepts for it.
Thanks Christian. I will let Jen answer these more specifically, but I wanted to suggest that we might want to make a “survey” or “study design” table for the “sandbox”. You are right that the sampling frame for the study is something that exists “outside” the patient. In this case, the NIS is a complex national sample of hospital discharges. So, all of the hospitalization data is person-specific. But statistical weights and stratum information describe how the person in the sample relates to the entire US population (sampling frame). Things like weights (how many people this person represents in the US), strata (subgroups defined in the sampling frame – for example, patients may be sampled by region, hospital for profit status, etc.). The tricky thing is that these concepts are usually provided at the individual level, so it looks like they could fit in the observation table. But in reality, they are study design variables. I would love it if we had a place to put this information, and the concepts needed to do it. Generally these variables are just passed on to R/SAS/Stata and used to estimate nationally representative values based on the results from the population. So, there is generally no need to manipulate them, or group them, or anything.
There are some complications – some surveys have multiple weights, for example (MEPS does this, as does the Medicare Current Beneficiary Survey). The NIS has a set of trend weights, for pooling data across years. Also, in the NIS the facilities have weights, since they are the sampling units (so there needs to be the ability to identify weights, and the entity to which they apply).
Anyway, this is just to give a little background on some of the issues.
Rather than create a care_site addendum table to handle the NIS-specific survey-related data, I’d rather we create a table that handles survey-related data for most survey-oriented datasets, much like @Mark_Danese suggested.
Accordingly, @jenniferduryea is going to review a few of the survey-oriented datasets we’re looking to ETL into CDMv5 and we’ll try to create a table that will properly store weights, stratum, etc. across those datasets.
So, for the time being, we’re going to table this discussion. We’ll come back in a week or two with some proposed modifications to the CDM that we can put into a sandbox and then we’ll build an ETL or two against that sandbox to see how it all works out.
Quite interested to see how this turns out. In the bigger picture, we also may want to keep in mind ideas from Overhauling Measurement Types , which is more about representing survey content than sampling frames.
Hi Christian,Could you please help me with the following questions about HERMES? Thanks!
Could we export not only Concept IDs but also Concept Codes?
I searched Digoxin and the query did not retrieve anything. then I removed the capitalization for the first letter D and was able to query using “digoxin”.
Best Regards,
Chunhua
Click on “Show / hid columns” in the upper right part of the screen. There you can switch on Concept Code.
The capitalization: Yes, we need to fix that.
There are many HCPCS codes that currently belong to observation-domain and are standard concepts. eg. concept ids
2720870
44786391
2617452
2614666
2721449
Are these represented in Observation table. If yes, could we please create a provenance for HCPCS (claim line detail or outpatient observation/inpatient observation). Also needed for MDC, DRG, Diagnosis - that belong to observation domain?
I have a little bit of a hard time with these. They are totally different things:
2720870 Low osmolar contrast material, 300-399 mg/ml iodine concentration, per ml
44786391 Hospital outpatient clinic visit for assessment and management of a patient
2617452 Hospital observation service, per hour
2614666 Ground mileage, per statute mile
2721449 Physical therapy; in the home, per diem
The first is a disposable, the second and third an adminstrative detail, the fourth and fifth a service. How do they possibly belong together (other than because the insurance company uses them for billing purposes)? Remember - the OHDSI system is for analyzing the data from the healthcare experience of the patient, not the institution. I know, that may not be optimal for you all the time.
MDC, DRG - Observations: Ask the concept:
select distinct domain_id from concept where vocabulary_id in ('DRG', 'MDC');
Thank you. Taking just one of the above examples - if this means, contrast was administered (i.e. drug or procedure) - are they incorrectly in observation domain?
They are correctly in the Observation domain. They are no drugs, because drugs have to have a biochemical effect, and contrast material by definition has not. They are not procedures, because the administration of contrast material has no health-altering effect (therapeutic procedure), and by themselves also no effect on diagnosing disease. The angiography has. And that gets its CPT-4 code, you can be sure of that. And, finally, the contrast material is typically not charged when the procedure actually happens.