Skip to content

3.3.0 for R4B (release 20210602)

Compare
Choose a tag to compare
@ewoutkramer ewoutkramer released this 02 Jun 10:12

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 of TerminologyServiceException.
    • 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 a FhirOperationException (422) when encountered
  • ValueSetValidateCode will check if either a ValueSet of context is present in the input parameters and throw a FhirOperationException (422) if neither is present.

FallBackTerminologyService:

  • Catch FhirOperationException instead of TerminologyServiceException

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 of TerminologyServiceException

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.