clinical-reasoning icon indicating copy to clipboard operation
clinical-reasoning copied to clipboard

MeasureReport missing id

Open rob-reynolds opened this issue 6 months ago • 3 comments

IS: MeasureReport does not have an id.

SHOULD BE: MeasureReport should include an id. In addition to other considerations, you cannot PUT a MeasureReport without one, and adding an MR to a Bundle using the CQFTooling gets messed up.

REPRO: Run $evaluate-measure (all types). See comments for an example and/or files to repro (although a simpler repro is any MR).

NOTE: Oddly, the MR in a $care-gaps result has an id. See comments for an example and/or files to repro (although a simpler repro is any Care Gap Report).

rob-reynolds avatar Dec 28 '23 23:12 rob-reynolds

Example of MR generated without an id:

example measure report.json

The example can be repro'd by:

POST [cc-cds-examples-bundle.json](https://github.com/alphora/demo-content-r4/blob/cpg-format/bundles/cc-cds-examples-bundle.json)

POST [cc-cds-patient-data-bundle.json](https://github.com/alphora/demo-content-r4/blob/cpg-format/bundles/cc-cds-patient-data-bundle.json)

POST [cc-cds-resources-bundle.json](https://github.com/alphora/demo-content-r4/blob/cpg-format/bundles/cc-cds-resources-bundle.json)

GET http://localhost:8000/Measure/ColorectalCancerScreeningsFHIR/$evaluate-measure?subject=Patient/nocoverageconcern-sedconcern-nosigcomp&periodStart=2024-01-01&periodEnd=2024-06-01&type=individual

rob-reynolds avatar Dec 29 '23 12:12 rob-reynolds

Example of Care Gap Report generated with an id:

example care gaps report.json

The example can be repro'd by: (the first three POSTS are the same as the repro for the MR example, so if you've already run them you can just run the GET)

POST [cc-cds-examples-bundle.json](https://github.com/alphora/demo-content-r4/blob/cpg-format/bundles/cc-cds-examples-bundle.json)

POST [cc-cds-patient-data-bundle.json](https://github.com/alphora/demo-content-r4/blob/cpg-format/bundles/cc-cds-patient-data-bundle.json)

POST [cc-cds-resources-bundle.json](https://github.com/alphora/demo-content-r4/blob/cpg-format/bundles/cc-cds-resources-bundle.json)

GET http://localhost:8000/Measure/$care-gaps?subject=Patient/nocoverageconcern-sedconcern-sigcomp&periodStart=2024-01-01&periodEnd=2024-06-01&status=open-gap&measureId=ColorectalCancerScreeningsFHIR

rob-reynolds avatar Dec 29 '23 12:12 rob-reynolds

Id is an internal system identifier, the requirements for which vary from system to system. We have no way to know the specific requirements for Ids on any given system, so any arbitrary Id generation strategy we come up with will be wrong for someone. So, I disagree that we ought to generate an Id. Rather, we should explain how to save a MeasureReport without an Id. Which is to use POST rather than PUT. Alternatively, the integrators of this library are able to modify the returned MeasureReport and add an id that's appropriate for their platform if needed.

JPercival avatar Jan 12 '24 19:01 JPercival