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

Ambiguous call to operator error with QiCore function overload #1435

Open
c-schuler opened this issue Nov 5, 2024 · 0 comments
Open

Ambiguous call to operator error with QiCore function overload #1435

c-schuler opened this issue Nov 5, 2024 · 0 comments
Assignees

Comments

@c-schuler
Copy link
Contributor

The following CQL results in an Ambiguous call to operator 'isCommunity(org.hl7.fhir.r4.model.MedicationRequest)' error at runtime:

define fluent function isCommunity(medicationRequest MedicationRequest):
  exists (medicationRequest.category C
    where C ~ Community
  )

define fluent function isCommunity(medicationRequest MedicationNotRequested):
  exists (medicationRequest.category C
    where C ~ Community
  )

This code worked in v3.15.0. The following update appears to have introduced this issue.

I’ve already tried setting the signature level to Overloads using:
evaluationSettings.getCqlOptions().getCqlCompilerOptions().setSignatureLevel(LibraryBuilder.SignatureLevel.Overloads);
but this didn’t resolve the issue.

The apparent challenge here is that these are legitimately different signatures in CQL, but not in ELM. The ELM shows the same resultType for the medicationRequest operand, being {http://hl7.org/fhir}MedicationRequest.

@c-schuler c-schuler self-assigned this Nov 5, 2024
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

No branches or pull requests

1 participant