Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#543: $risk-adjustment operation POC #550

Merged
merged 13 commits into from
Jul 13, 2022
Merged

#543: $risk-adjustment operation POC #550

merged 13 commits into from
Jul 13, 2022

Conversation

c-schuler
Copy link
Contributor

First pass at operation. Still needs a bit of cleanup and some better error reporting. Issuing PR now for feedback and to ensure my grasp of the operation is sound.

Not currently explicitly checking the numerator score to determine gaps. Using the following:

Historic Gap Closed = Measure Score 1, Historic Stratifier true
Historic Gap Open = Measure Score 0, Historic Stratifier true
Net New = Measure Score 1, Net-New Stratifier true
Suspected Gap Closed = Measure Score 1, Suspected Stratifier true
Suspected Gap Open = Measure Score 0, Suspected Stratifier true

Can add explicit checking as needed.

The test...MeasureReport.json files have the returned MeasureReport resources from the tests. Currently only changing the MeasureReport.group element. Please advise if other elements need to be excluded/changed/updated. I added "suspected" population logic even though it is not covered in the POC just to have it there. Can comment-out/remove/throw or whatever is preferred.

Copy link

@rob-reynolds rob-reynolds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding tests, there is no state: hist-netnew.

Historic, net-new, and suspected are disjoint. We should probably error if more than one results in true.

Also, Net-new implies Closed (i.e. net-new and open is not a valid state). We should probably error if net-new and Measure Score = 0.

@rob-reynolds rob-reynolds self-requested a review July 12, 2022 20:48
Copy link

@rob-reynolds rob-reynolds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It wasn't included in the original reqs, but we also need to add the following extension:

{
                    "url": "http://hl7.org/fhir/us/davinci-ra/StructureDefinition/ra-evidenceStatusDate",
                    "valueDate": "2020-12-15"
                }

This will require an update to the Measure so it's currently blocked. Will provide a link when the Measure has been updated.

@rob-reynolds
Copy link

Also, using Measure Score instead of Numerator is fine. No need to change that.

@rob-reynolds
Copy link

One last thing, I'm not sure what the Measure Report should look like in the case of a Denominator Exclusion. Will need to get feedback on that. Maybe nothing changes; maybe there's something we need to do. Probably out of scope for the POC. Just FYI.

…tions and open net-new... stubbed out function to resolve evidence status date ... cleanup
@rob-reynolds
Copy link

SDE "Evidence Status Date" has been added to the Measure in order to add the ra-evidenceStatusDate extension. New Measure and Library resources can be found here: https://github.com/HL7/davinci-ra/tree/master/bundles/measure/ConditionCategoryPOC/ConditionCategoryPOC-files.

@rob-reynolds rob-reynolds self-requested a review July 12, 2022 21:54
Copy link

@rob-reynolds rob-reynolds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"risk assessment" => "risk adjustment"

@rob-reynolds
Copy link

Change "reportType" to "type" and run this report if the type is "report" and throw a "not implemented exception"/OperationOutcome if the type is "response".

@rob-reynolds
Copy link

No need to make it a Composition or include Detected Issue at this point.

…o operate on existing MeasureReport ... additional error reporting using OperationOutcome ... resolving evidence status date extension ... updated tests
@c-schuler
Copy link
Contributor Author

Applied most of those changes. Still need to package as a Risk Adjustment Coding Gap Report Bundle. Updated the operation to work on existing MeasureReport referencing subject.

@rob-reynolds rob-reynolds self-requested a review July 13, 2022 16:07
@Operation(name = "$risk-adjustment", idempotent = true, type = MeasureReport.class)
public Parameters riskAdjustment(
@OperationParam(name = "type", min = 1) String type,
@OperationParam(name = "periodStart", min = 1) String periodStart,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These min parameters don't actually do what you would expect.

Care Gaps has an example of enforcing parameter requirements: https://github.com/DBCG/cqf-ruler/blob/de723e8c9504e1311579f2c1bcaaf07fdbafde71/plugin/cr/src/main/java/org/opencds/cqf/ruler/cr/r4/provider/CareGapsProvider.java#L279.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That only works on GET requests... Perfectly valid to call this operation with a POST.

return error;
}

private void bundleReport() {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed? Appears to have been moved to the helper class.

return null;
}

private static OperationOutcome generateIssue(String issue) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be useful to move to the parent.


private String visited;

@Operation(name = "$risk-adjustment", idempotent = true, type = MeasureReport.class)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be off the Measure class (like $evaluate-measure and $care-gaps).

@c-schuler c-schuler changed the title #543: $risk-assessment operation POC #543: $risk-adjustment operation POC Jul 13, 2022
@rob-reynolds rob-reynolds self-requested a review July 13, 2022 20:15
Copy link

@rob-reynolds rob-reynolds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builds locally.

Passes all tests.

Passes manual testing.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants