-
Notifications
You must be signed in to change notification settings - Fork 345
Terminology Service changes version 3.3.0.
Marten Smits edited this page May 11, 2021
·
3 revisions
We changed the behavior of our terminology services slightly to align error handling between the local and external terminology services. This behavior isn't well documented in the FHIR specification so we took a look at the a few of the bigger terminology servers to see how they react to different scenario's. This resulted in the following changes:
LocalTerminologyService:
- When encountering error we now throw
FhirOperationException
(404, 422 or 500) instead of a flavor ofTerminologyServiceException
.- 404: When a value set can't be found by the LocalTerminologyServices
- 422: For incorrect input parameters, or asked for a too complex expansion.
- 500: For unexpected errors caused by our code, that aren't the users fault.
-
ValueSetValidateCode
will check for duplicate input parameters and throw aFhirOperationException
(422) when encountered -
ValueSetValidateCode
will check if either a ValueSet of context is present in the input parameters and throw aFhirOperationException
(422) if neither is present.
FallBackTerminologyService:
- Catch
FhirOperationException
instead ofTerminologyServiceException
ExternalTerminologyService:
- Don't check for errors in the input parameters, let the external terminology services handle that.
Validator:
- Always provide the context of a coded element as input parameter when asking a terminology service for validation.
- Catch
FhirOperationException
instead ofTerminologyServiceException
For a detailed view of all changes see: https://github.com/FirelyTeam/firely-net-sdk/pull/1670/