Stream: cql
Topic: Library data-requirements operation
Corey Sanders (Jun 25 2021 at 20:18):
I'm starting to work on implementing the data-related operations in the clinical reasoning framework. For the https://www.hl7.org/fhir/library-operation-data-requirements.html operation in SYSTEM context, there is a parameter target specified. The operation definition is not clear on what the contents of target should be. It is defined as a string and described as "The target of the data requirements operation". IMO, that could be a Library or a Measure. It could be a resource ID (e.g. 123 assumed to be Library), a resource reference (e.g. Library/123) or a canonical URL (e.g. http://test.com/fhir/Library/Test).
I tried looking in cqf-ruler to see how it was treated there. Unless I'm missing something the Library data-requirements operation isn't even supported there. LibraryOperationsProvider uses DataRequirementsProvider, but doesn't actually expose an operation for it. @Bryn Rhodes @JP either of you want to comment on the importance of this operation and how to treat the target? Should I just leave it out of my implementation as well? If not, what content should I expect in that parameter?
Bryn Rhodes (Jun 27 2021 at 19:20):
The target
parameter there was intended as the id
of the Library to be processed, so you could invoke it type-level by passing the ID. Since that was defined there have been several other patterns for this type of operation. Based on this and other testing, the operation has been improved in the QM IG: http://hl7.org/fhir/us/cqfmeasures/2021May/OperationDefinition-Library-data-requirements.html
Bryn Rhodes (Jun 27 2021 at 19:23):
And there is active implementation effort on that in the tooling here: https://github.com/cqframework/cqf-tooling/blob/master/src/main/java/org/opencds/cqf/tooling/processor/DataRequirementsProcessor.java
Corey Sanders (Jun 28 2021 at 13:50):
Thanks. I'll have a look. I've been struggling a bit to find the sweet spot in terms of which IGs I should support for an initial baseline. I know that changes are underway in several IGs, but my thought was that if I implemented the core specification, I could then build on it for IG support. This is great example of how that might not be the best plan. Another example, I hit is the $care-gaps operation which has been improved in DEQM. I'll maybe spend some time noodling on that again. Appreciate the input.
Last updated: Apr 12 2022 at 19:14 UTC