3.3.0 for R4B (release 20210602)
Terminology Services
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 encounteredValueSetValidateCode
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:
#1670
Other Changes:
- #1753: Update develop-r4b with develop-r4
- #1752: Update develop-r4 with develop-stu3
- #1751: Adding R4B at the end of the enum FhirRelease but maintain the ordening
- #1750: Devops: Publishing of Hl7.FhirPath.R4.Tests is now conditional
- #1745: Merge R4 changes into R4B
- #1749: Devops: fixing pipeline, because a whole testproject did not run
- #1744: Merge R3 changes into R4
- #1743: Make sure the FhirPathTests for R4 run correctly.
- #1724: Keep existing timezone by default in FhirDateTime.ToDateTimeOffset - STU3
- #1740: Add backward compatibility to parse datetime for date fields
See More
- #1727: Use improved regex for validating Markdown
- #1739: Add the "canonical" url to the FhirTypeAttribute (for R3)
- #1738: Make sure primitive elements declare their System primitives using [DeclaredType] (for R3)
- #1735: Small updates to ModelInspector
- #1728: Support serialization of types in Common
- #1726: Re-ran the codegen for 4B (Statistics and Citation)
- #1725: Tests: FhirPath 'as' can return FHIR primtives (for R4)
- #1714: Produce ResourceReference attributes for choice types [R4b]
- #1711: Scripts updated with release 4B
- #1715: Produce ResourceReference attributes for choice types [R4]
- #1716: Produce ResourceReference attributes for choice types [STU3]
- #1718: [R4] Always wrap FhirPath input in scopednode before evaluating
- #1717: [STU3] Always wrap FhirPath input in ScopedNode before evaluating
- #1670: Validate input parameters in terminology service
This list of changes was auto generated.