Stream: Covid-19 Response
Topic: MeasureReport
Michael Donnelly (Mar 31 2020 at 21:46):
I've got an example of a MeasureReport. Let me know what it's missing.
Michael Donnelly (Mar 31 2020 at 21:47):
(I already found a bug. I'll post in a bit.)
Michael Donnelly (Mar 31 2020 at 22:02):
{ "resourceType": "MeasureReport", "id": "exIpgIZ2KRCpuIrsZ1v5mpBdAwVWrJ77AAAV3tpfplf5Bvzvw41h3M5wjTXNaSq-fkrRiKloO5-wUPxcp0orOxA3", "status": "complete", "type": "summary", "measure": "https://vs-icx.epic.com/Interconnect-CDE/api/FHIR/R4/Measure/e8-H2kvdTuFUBWb2RX967fw3", "subject": { "reference": "Location/eDvShAeUfxUlbCN1A6OATOQ3", "display": "River Hills Hospital System" }, "date": "2020-03-31", "reporter": { "reference": "Organization/e9OtaUAOSwwwfGDaKD43WbA3", "display": "River Hills Hospital System" }, "period": { "start": "2020-03-18", "end": "2020-03-18" }, "group": [ { "measureScore": { "value": 183 } } ] }
Michael Donnelly (Mar 31 2020 at 22:03):
And that's associated with the Measure:
{ "resourceType": "Measure", "id": "e8-H2kvdTuFUBWb2RX967fw3", "name": "ICU Total Ventilators", "title": "Total Ventilators", "status": "draft", "date": "2020-03-30T23:38:55Z", "publisher": "Epic", "contact": [ { "name": "Michael Donnelly", "telecom": [ { "system": "url", "value": "https://chat.fhir.org/#narrow/stream/226195-Covid-19-Response/topic/Example.20Measure.20definition", "rank": 1 }, { "system": "email", "value": "michael.donnelly@epic.com", "rank": 2 } ] } ], "description": "The number of ventilators available for use.", "useContext": [ { "code": { "system": "http://terminology.hl7.org/CodeSystem/usage-context-type", "code": "focus" }, "valueCodeableConcept": { "coding": [ { "system": "http://snomed.info/sct", "code": "840535000", "display": "COVID-19" } ], "text": "COVID-19" } } ] }
Keith Boone (Mar 31 2020 at 22:03):
For CDC reports, contact is nhsn@cdc.gov
Keith Boone (Mar 31 2020 at 22:03):
See https://www.cdc.gov/nhsn/cms/cms-reporting.html
Michael Donnelly (Mar 31 2020 at 22:04):
Is someone building the canonical CDC Measure resources?
Keith Boone (Mar 31 2020 at 22:05):
I'm about to from the spreadsheet...
Keith Boone (Mar 31 2020 at 22:05):
I have updates to it as well, but was working in Excel from a local copy so as not to conflict with other edits.
Keith Boone (Mar 31 2020 at 22:06):
The updates are the other data elements going into it.
Keith Boone (Mar 31 2020 at 22:06):
About to render a bunch of fsh from csv file I think.
Michael Donnelly (Mar 31 2020 at 22:11):
Does that MeasureReport look like what you'd expect, @Keith Boone ?
Michael Donnelly (Mar 31 2020 at 22:23):
@Gino Canessa I think this matches your example; can you eyeball it and see if I did anything weird?
Keith Boone (Mar 31 2020 at 22:23):
No, b/c the Measure itself is talking about COVID Virus, not vents. For vents you need a different code.
Hans Buitendijk (Mar 31 2020 at 22:26):
Agreed, but both use a limited starter set of Measure fields, which seems sufficient, but per prior comment, would at least include .guidance given additional guidance they are issuing.
Keith Boone (Mar 31 2020 at 22:27):
Michael Donnelly said:
Does that MeasureReport look like what you'd expect, Keith Boone ?
Would still like to see code being right "measure-population".
Michael Donnelly (Mar 31 2020 at 22:31):
Ah. So putting the number of ventilators in group.population.count instead of group.measureScore?
Michael Donnelly (Mar 31 2020 at 22:32):
I don't have a strong opinion about that.
Michael Donnelly (Mar 31 2020 at 22:32):
I was just going off @Gino Canessa 's example: https://chat.fhir.org/#narrow/stream/226195-Covid-19-Response/topic/Example.20Measure.20definition/near/192452917
Michael Donnelly (Mar 31 2020 at 22:33):
But measure-population makes sense.
Michael Donnelly (Mar 31 2020 at 22:33):
I'll be back shortly.
Michael Donnelly (Mar 31 2020 at 22:36):
Like this?
{ "resourceType": "MeasureReport", "id": "exIpgIZ2KRCpuIrsZ1v5mpBdAwVWrJ77AAAV3tpfplf5Bvzvw41h3M5wjTXNaSq-fkrRiKloO5-wUPxcp0orOxA3", "status": "complete", "type": "summary", "measure": "https://vs-icx.epic.com/Interconnect-CDE/api/FHIR/R4/Measure/e8-H2kvdTuFUBWb2RX967fw3", "subject": { "reference": "Location/eDvShAeUfxUlbCN1A6OATOQ3", "display": "River Hills Hospital System" }, "date": "2020-03-31", "reporter": { "reference": "Organization/e9OtaUAOSwwwfGDaKD43WbA3", "display": "River Hills Hospital System" }, "period": { "start": "2020-03-18", "end": "2020-03-18" }, "group": [ { "population": [ { "code": { "coding": [ { "code": "measure-population", "display": "Measure Population" } ] }, "count": 183 } ] } ] }
Gino Canessa (Mar 31 2020 at 22:38):
@Michael Donnelly Looks good to my untrained eye :-)
@Keith Boone The discussion we had is that if we are using the CDC measures (for example), those fields are defined in the context of the COVID Patient Module.
For both, I was working off what I thought the last idea today was (from Hans?) that we wanted the absolute barest minimum. I figured these would be a good starting point if nothing else. I'm happy to generate more (this format exported on GH already).
Happy to adjust/update from feedback, but will be away for a few.
Hans Buitendijk (Mar 31 2020 at 22:52):
And I believe there is also some mixing between what is in MeasureReport vs. Measure. Within Measure is where I'm looking to minimize to start, and that's where it appears .group is not essential initially. @Gino Canessa 's and @Michael Donnelly 's examples do not seem to include that either.
Eric Haas (Apr 01 2020 at 01:51):
The DEQM and QM IGs cover all this and a lot more complex cases and have lots of examples. You can substitute beds, vents or whatever for patients and use summary reporting like discussed here. @Bryn Rhodes is the the best resource for these questions too.
Keith Boone (Apr 01 2020 at 02:22):
I just took a quick look at it, what we have so far seems to be aligned. There are some requirements in DEQM (e.g., Certification stuff) that simply aren't applicable in the SANER Case, but could certainly be applied without breaking anything.
Bryn Rhodes (Apr 01 2020 at 02:22):
@Michael Donnelly these examples look great! One minor quibble is the measure
element on MeasureReport is actually a canonical
, so it should be referencing by the url
of the Measure. Because Measure is a definition resource, that patterns allows version-specific or version-independent referencing, and also allows the Measure reference to be specified independent of the FHIR server on which the Measure appears. Just like profile urls.
Bryn Rhodes (Apr 01 2020 at 02:24):
So the url for the Measure might be 'http://epic.com/Measure/icu-hospital-beds' or something like that.
Bryn Rhodes (Apr 01 2020 at 02:27):
I would think the Measure should specify the subjectType
as well, Location? or Organization?
Michael Donnelly (Apr 01 2020 at 03:20):
Thanks @Bryn Rhodes , that's just the sort of stuff I'm looking for. I'll update it tomorrow and let you know.
Michael Donnelly (Apr 01 2020 at 15:04):
Updated MeasureReport based on @Bryn Rhodes 's feedback:
{ "resourceType": "MeasureReport", "id": "exIpgIZ2KRCpuIrsZ1v5mpBdAwVWrJ77AAAV3tpfplf5Bvzvw41h3M5wjTXNaSq-fkrRiKloO5-wUPxcp0orOxA3", "status": "complete", "type": "summary", "measure": "http://open.epic.com/Measure/ICU-Total-Ventilators-Facility", "subject": { "reference": "Location/eDvShAeUfxUlbCN1A6OATOQ3", "display": "River Hills Hospital System" }, "date": "2020-04-01", "reporter": { "reference": "Organization/e9OtaUAOSwwwfGDaKD43WbA3", "display": "River Hills Hospital System" }, "period": { "start": "2020-03-18", "end": "2020-03-18" }, "group": [ { "population": [ { "code": { "coding": [ { "code": "measure-population", "display": "Measure Population" } ] }, "count": 183 } ] } ] }
Bryn Rhodes (Apr 01 2020 at 15:09):
@Michael Donnelly , looks great
Michael Donnelly (Apr 01 2020 at 15:10):
Excellent. I should have an updated Measure presently.
Gino Canessa (Apr 01 2020 at 15:55):
I've updated the generator and pushed to GH - it should match your style from 10:04 this morning.
Links:
Bundle
withMeasure
resources: here- The rest of the folder has files by org, grabbing one for example:
I need to update the URLs to be SANER per Keith's last round (that has them), but wanted to get the examples pushed before today's call.
Michael Donnelly (Apr 02 2020 at 11:04):
Bryn Rhodes said:
Michael Donnelly , based on the discussion on this thread, I updated the last example you posted:
{ "resourceType": "MeasureReport", "id": "exIpgIZ2KRCpuIrsZ1v5mpBdAwVWrJ77AAAV3tpfplf5Bvzvw41h3M5wjTXNaSq-fkrRiKloO5-wUPxcp0orOxA3", "status": "complete", "type": "individual", "measure": "http://open.epic.com/Measure/ICU-Total-Ventilators-Facility", "subject": { "reference": "Location/eDvShAeUfxUlbCN1A6OATOQ3", "display": "River Hills Hospital System" }, "date": "2020-04-01", "reporter": { "reference": "Organization/e9OtaUAOSwwwfGDaKD43WbA3", "display": "River Hills Hospital System" }, "period": { "start": "2020-03-18", "end": "2020-03-18" }, "group": [ { "population": [ { "code": { "coding": [ { "code": "measure-population", "display": "Measure Population" } ] }, "count": 1 } ], "measureScore": { "value": 183 } } ] }
Excellent, thanks @Bryn Rhodes . I'll update it and let you know.
Michael Donnelly (Apr 02 2020 at 12:54):
I actually parsed this now. Is the population actually necessary in this case? Seems like it could be inferred.
Michael Donnelly (Apr 02 2020 at 12:55):
{ "resourceType": "MeasureReport", "id": "exIpgIZ2KRCpuIrsZ1v5mpBdAwVWrJ77AAAV3tpfplf5Bvzvw41h3M5wjTXNaSq-fkrRiKloO5-wUPxcp0orOxA3", "status": "complete", "type": "summary", "measure": "http://cdc.gov/Measure/numVent", "subject": { "reference": "Location/eDvShAeUfxUlbCN1A6OATOQ3", "display": "River Hills Hospital System" }, "date": "2020-04-02", "reporter": { "reference": "Organization/e9OtaUAOSwwwfGDaKD43WbA3", "display": "River Hills Hospital System" }, "period": { "start": "2020-03-18", "end": "2020-03-18" }, "group": [ { "measureScore": { "value": 183 } } ] }
Michael Donnelly (Apr 02 2020 at 13:37):
@Bryn Rhodes is the population
necessary here?
Bryn Rhodes (Apr 02 2020 at 13:43):
Based on the currently defined continuous-variable profile, it is.
Michael Donnelly (Apr 02 2020 at 13:43):
Okay.
Bryn Rhodes (Apr 02 2020 at 13:44):
But the profiles there are heavily focused on patient-based measures, and I'm wondering whether the same set of requirements are appropriate. We don't have a lot of experience with structure measures, and it may be that the pattern of defining initial population/measure population isn't useful in the structure measure space. It's worth a conversation for sure.
Bryn Rhodes (Apr 02 2020 at 13:45):
In the structure measures you support in Epic, do you have a group of measures that all use the same initial population, and then vary aspects of the measure population and measure observation?
Michael Donnelly (Apr 02 2020 at 13:47):
I'm far from expert in this area, so I'm not confident I'll interpret the terms correctly.
Michael Donnelly (Apr 02 2020 at 13:47):
My gut say the answer to your question is "no."
Michael Donnelly (Apr 02 2020 at 13:48):
I think it's worth having that conversation. In the short run, do you think it'd be better to include the measure-population or leave it out? It's trivial for me to do either.
Bryn Rhodes (Apr 02 2020 at 13:50):
In the short run I think leaving it in. You need at least something to specify the population count. (Even if it is technically always 1 in this case, receiving systems don't necessarily know that).
Michael Donnelly (Apr 02 2020 at 13:51):
Here you go:
{ "resourceType": "MeasureReport", "id": "exIpgIZ2KRCpuIrsZ1v5mpBdAwVWrJ77AAAV3tpfplf5Bvzvw41h3M5wjTXNaSq-fkrRiKloO5-wUPxcp0orOxA3", "status": "complete", "type": "summary", "measure": "http://cdc.gov/Measure/numVent", "subject": { "reference": "Location/eDvShAeUfxUlbCN1A6OATOQ3", "display": "River Hills Hospital System" }, "date": "2020-04-02", "reporter": { "reference": "Organization/e9OtaUAOSwwwfGDaKD43WbA3", "display": "River Hills Hospital System" }, "period": { "start": "2020-03-18", "end": "2020-03-18" }, "group": [ { "population": [ { "code": { "coding": [ { "code": "measure-population", "display": "Measure Population" } ] }, "count": 1 } ], "measureScore": { "value": 183 } } ] }
Bryn Rhodes (Apr 02 2020 at 13:54):
Fantastic! Can you get a system
on the population coding? http://terminology.hl7.org/CodeSystem/measure-population
Michael Donnelly (Apr 02 2020 at 13:54):
Looking now...
Josh Mandel (Apr 02 2020 at 13:57):
Also the reporting organization appears to be a hospital system, but presumably the location represents a single facility within that system. I believe at least that the CDC NHSN reporting system is based on facilities. So it might be good to just update the display name for the location being reported on to indicate that it is one facility rather than the entire system.
Michael Donnelly (Apr 02 2020 at 13:58):
Oh, good catch Josh. I was going off the set of Epic metrics, but we really need the CDC ones.
Michael Donnelly (Apr 02 2020 at 13:58):
I need to change a couple of things....
Michael Donnelly (Apr 02 2020 at 14:01):
{ "resourceType": "MeasureReport", "id": "exIpgIZ2KRCpuIrsZ1v5mpBdAwVWrJ77AAAV3tpfplf5YQVcuwKy9h1D5C4QM1hAxywBT99ikIvHeLM9IlMMAEQ3", "status": "complete", "type": "summary", "measure": "http://cdc.gov/Measure/numVent", "subject": { "reference": "Location/eay3aH0PD8WDkN.dRKzOlAA3", "display": "IPQA HOSPITAL" }, "date": "2020-04-02", "reporter": { "reference": "Organization/e9OtaUAOSwwwfGDaKD43WbA3", "display": "River Hills Hospital System" }, "period": { "start": "2020-03-18", "end": "2020-03-18" }, "group": [ { "population": [ { "code": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/measure-population", "code": "measure-population", "display": "Measure Population" } ] }, "count": 1 } ], "measureScore": { "value": 33 } } ] }
Michael Donnelly (Apr 02 2020 at 14:01):
Kind of goofy name for the hospital since this is our dev system.
Michael Donnelly (Apr 02 2020 at 14:01):
So don't put this one as is into the IG, Keith.
Michael Donnelly (Apr 02 2020 at 14:04):
Josh, note the lower MeasureReport.group.measureScore.value
since this is just for one hospital.
Keith Boone (Apr 02 2020 at 14:35):
Michael Donnelly said:
So don't put this one as is into the IG, Keith.
You should be contributing resources to the IG!
Michael Donnelly (Apr 02 2020 at 14:44):
I will when one is good enough. :) I want to get a canonical URL I didn't make up.
Gino Canessa (Apr 02 2020 at 15:37):
Think I'm mostly caught up - question though. The Measure definition now has two populations (a measure-population
and a measure-observation
), but the MeasureReport only has one (measure-population
). Is this correct?
Bryn Rhodes (Apr 02 2020 at 15:52):
Yes, and this is something that isn't stated clearly in the documentation, a measure-observation population definition is required (to say what is being counted), but it is redundant with the score for a continuous-variable measure and so doesn't need to be in the output. I'm submitting a tracker to state that exception to the rule that every population definition in a Measure has a corresponding population in the MeasureReport.
Last updated: Apr 12 2022 at 19:14 UTC