FHIR Chat · CQF-Ruler VSAC Support · cql

Stream: cql

Topic: CQF-Ruler VSAC Support


view this post on Zulip Rich Boyce (Apr 12 2021 at 20:33):

Currently with the CQF-Ruler whenever I import a ValueSet the service is able to properly execute CQL rules, however when I try to utilize https://cts.nlm.nih.gov/fhir/ the request fails: Could not resolve value set https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1213.3. Is there currently or are there plans to support VSAC?

view this post on Zulip JP (Apr 12 2021 at 20:58):

Hi Rich,

Could you elaborate on what you mean when you say utilize the https://cts.nlm.nih.gov/fhir/ url? You're specifying CQL that looks like:

valueset "Test": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1213.3'

And it works when you post the ValueSet to the cqf-ruler and it doesn't when you don't?

view this post on Zulip Rich Boyce (Apr 13 2021 at 15:51):

Yes I believe that is exactly what is happening

view this post on Zulip JP (Apr 13 2021 at 17:38):

The URL portion of the ValueSet is actually "just" an identifier, and not necessarily a resolvable url. Here's the relevant portion of the spec:

CQL does not interpret the external id, it only specifies that the external identifier be a string that can be used to uniquely identify the valueset within the implementation environment.

For example, urn:oid:2.3.4.5.6 is a valid identifier, but there's no way to determine where on the internet to look for that ValueSet from only that uri. This is further complicated when you have a mix of oid and uris for ValueSet identifiers, or a set of VSAC and non-VSAC ValueSets being referenced in the same CQL file:

valueset "Test": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1213.3'
valueset "Test2": 'urn:oid:2.3.4.5.6'
valueset "Test3" : 'http://hl7.org/fhir/ValueSet/allergy-intolerance-category'

The cqf-ruler doesn't know how to resolve some of those locally, some remotely, some remotely on secondary FHIR server, or which ones of those would require some authentication mechanism. Instead, it relies on all the ValueSets being pre-loaded onto a single server.

That's all a round-about explanation to say that there are no current plans to directly integrate with the VSAC server. :smile:

view this post on Zulip Robert McClure (Apr 20 2021 at 23:24):

@JP We do have two valueset extensions that we could perhaps incorporate in the (currently rare) situation that we have known sources for the FHIR representation. authoritativeSource is close but does not guarantee a FHIR endpoint, and trusted-expansion that is expected to be a FHIR endpoint that can provide the expansion. I'd like to explore how we can use these.

view this post on Zulip JP (Apr 21 2021 at 02:58):

Those extensions appear to be on the ValueSet resource itself to describe where the authoritative source is or where a trusted expansion could be obtained from. IOW, you'd already need an instance of the ValueSet in question pre-loaded in order to read those extensions (and then if the ValueSet were not expanded you could use the extension to get the expansion). They don't directly address the issue Rich is facing, which is where do you get the instance of the ValueSet in the first place.

The CPG IG addresses this by specifying a terminologyEndpoint for the LIbrary $evaluate operation. Such a parameter could potentially be introduced to Measure $evaluate-measure as well.

http://build.fhir.org/ig/HL7/cqf-recommendations/OperationDefinition-cpg-library-evaluate.html


Last updated: Apr 12 2022 at 19:14 UTC