cqframework / clinical-reasoning

CQF Clinical Reasoning on FHIR for Java
https://www.cqframework.org/clinical-reasoning/
Apache License 2.0
34 stars 24 forks source link

Practitoner parameter setting bug #366

Closed Capt-Mac closed 8 months ago

Capt-Mac commented 8 months ago

When running r4 evaluate-measure operation while specifying "practitioner" parameter with an individual practitioner.id reference, evaluate measure is incorrectly updating resource type in front of the passed parameter, which causes getSubject logic to set it as a patient resource instead of practitioner.

This needs to be fixed here: https://github.com/cqframework/clinical-reasoning/blob/b23535668314f1349ca99bd0881fe770b72f62c9/cqf-fhir-cr/src/main/java/org/opencds/cqf/fhir/cr/measure/r4/R4MeasureService.java#L72

Steps:

  1. post measure with patient dataset where referencing practitioner
  2. run evaluate-measure like this : http://localhost:8000/Measure/ImmunizationStatus/$evaluate-measure?periodStart=2019-01-01&periodEnd=2019-12-31&reportType=population&practitioner=ImmunizationStatus-practitioner-1
  3. This will throw an error saying can't find patient resource "Patient/ImmunizationStatus-practitioner-1"

Solution: replace subject setting with practitioner, where "Practitioner/" gets concatenated