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

Our terminology client does not work with ontoserver anymore #2854

Closed
ewoutkramer opened this issue Sep 10, 2024 · 5 comments
Closed

Our terminology client does not work with ontoserver anymore #2854

ewoutkramer opened this issue Sep 10, 2024 · 5 comments
Assignees

Comments

@ewoutkramer
Copy link
Member

While using our Validator Demo, I tuned the settings so I forced it to use the suggested ontoserver terminology service. (Change..., select ontoserver, unmark try built-in terminology service first). I then got an error:

[WARNING] Terminology service failed while validating code 'document': Operation was unsuccessful because of a client error (BadRequest). OperationOutcome: Overall result: FAILURE (1 errors and 0 warnings)
[ERROR] [0fae8088-1d94-4c30-941e-13ac57ca8a14]: $validate-code must not specify more than one of the valueSet, the context, and the url parameters.(further diagnostics: [0fae8088-1d94-4c30-941e-13ac57ca8a14]: $validate-code must not specify more than one of the valueSet, the context, and the url parameters.)
[INFORMATION] (no details)(further diagnostics: X-Request-Id: 7a0a10b0-16cd-4050-b4dd-533a84541aa2)
. (at Bundle.type[0], element Bundle(http://example.org/StructureDefinition/DocumentBundle).type)

It seems we're providing too many parameters to the $validate-code call (while our internal terminology service accepts it). We should make sure we send legal calls to ontoserver (since I believe they have a great implementation) that is also sufficient for our built-in TS.

@ewoutkramer
Copy link
Member Author

BTW, switching to tx.fhir.org gives a null reference exception ;-(

@mmsmits mmsmits removed the bug label Oct 10, 2024
@mmsmits
Copy link
Member

mmsmits commented Nov 13, 2024

Apparently we send requests like this:

<Parameters xmlns="http://hl7.org/fhir">
<parameter>
    <name value="url" />
    <valueUri value="http://hl7.org/fhir/ValueSet/name-use|4.0.1" />
</parameter>
<parameter>
  <name value="context" />
  <valueUri value="http://hl7.org/fhir/StructureDefinition/HumanName#HumanName.use" />
</parameter>
<parameter>
   <name value="code" />
   <valueCode value="official" />
</parameter>
<parameter>
   <name value="abstract" />
   <valueBoolean value="true" />
</parameter>
</Parameters>

The error mentions we must send one of the following: valueSet, the context, or the url parameters.
We send both context and url. So I think we can skip sending context here.

@mmsmits
Copy link
Member

mmsmits commented Nov 13, 2024

Hmmm in the FHIR Spec it says:

The code that is to be validated. If a code is provided, a system or a context must be provided

So in this case, we must send the context too.

I'll just ask the CSIRO people..

@mmsmits
Copy link
Member

mmsmits commented Nov 18, 2024

This tickets requires multiple changes:

SDK:

  • Has to support a new parameter called: inferSystem
  • Change the error of "either a system or a context must be provider" to "either a url or a context must be provided"

Validator:

  • Don't send context anymore when validating just a code,
  • Send inferSystem instead
  • Make sure the split a versioned Url into the url param and the valueSetSystem parameter

@mmsmits mmsmits closed this as completed Nov 26, 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
2 participants