## Validator Changes
* Add support for ND-JSON. Note that the validator is not expected to perform well on large ND-JSON files (or any other file type)
* Significant change: the validator was not checking for the end of the input when parsing a JSON resource finished. It will now start giving errors when JSON continues once the object is complete
* Add support for the create object syntax in FML when validating FML
* Improved error message when supplement url used instead of code system URL
## WHO Translation Project
* Add complete dutch translations (Thanks Alexander Henket)
## Other code changes
* Fix various rendering problems leading to non-unique html anchors
* Fix for unrendered data types
***NO_CI***
## Validator Changes
* Change how count is calculated when expanding value sets
* Fix value set expansion bugs
* Fix for fhirpath issue on command line (#1650)
* Add IG dependency validator
* work around bad r4 extension definitions
* don't reload different sub-version of extensions pack
## Other code changes
* Rework rendering library from ground up
* Merge Fix: Fix split logic of canonical into url and version in several places (#1663)
* Suppress spurious message when code system is unknown
* don't raise needless and wrong exceptions about extension definitions when rendering
* fix duplicate link creation
* Stop recursive rendering crash
* Obligation rendering improvements
* Handle extra profiles on resources in an IG when converting between versions
* Fixed issue with actor title not rendering in obligations
* Test and adaption for dateOp #1655
* Use assertj instead of hamcrest (#1662)
* More transifex work
* Add support for local packages during testing
***NO_CI***
* Issue #1658: recognize that mimetype subtypes can contain dashes
* Simple refactor + test case
* Allow plus sign in mimetype subtype, expand tests
* Break out base64 test and url test methods to util classes
* Add additional negative tests for data: URLs
---------
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## Validator Changes
* Find value sets on tx server if not tx.fhir.org
* Do not send Content-Type header with GET requests for tx servers
* Fix npe validating code system
* Support discriminator by position
* Don't check type characteristics for unknown types
## WHO I18n Project
* Fix typos in phrases, and fix up handling of apostrophes in messages without parameters
* Test and fix for single quote escapes in I18n
* Create and test transifex configuration
## Rendering Changes
* Fix contact rendering to work properly
* Fix issue resolving contained resource rendering DiagnosticReports etc
* Handle case where Contact.value has extensions instead of a string value
* Render Parameterised types
* Fix bug with LOINC Code row showing wrongly in Profile Details view
* Partial implementation of type parameters
* Fixed rendering of actor-specific obligations, added elementIds to obligation narrative rendering
* Corrected ObligationsRenderer to handle multiple actors and multiple codes. Also got obligations with elements to render properly (which means knowing whether you're on a table page or definitions page, what tab you're on, and whether the element for the obligation is in-scope for that tab (so you know whether to hyperlink or not). Had to make links on the tables point to definitions because table anchors are not unique.
## Other code changes
* split out Base.canHavePrimitiveValue() from Base.hasPrimitiveValue()
* Refactor how observation profiles are registered in order to generalise management of extra profiles
* Use validation policy to implement Observation profile rules
* Rework validation policy management in standalone validator
* Try deploying javadoc with SNAPSHOT
* Add utility to unpack the spec.internals file
* v2 in FHIR tests
* Fix bug loading language pack NPMs
***NO_CI***
## Validator Changes
* Find value sets on tx server if not tx.fhir.org
* Do not send Content-Type header with GET requests for tx servers
* Fix npe validating code system
* Support discriminator by position
* Don't check type characteristics for unknown types
## WHO I18n Project
* Fix typos in phrases, and fix up handling of apostrophes in messages without parameters
* Test and fix for single quote escapes in I18n
* Create and test transifex configuration
## Rendering Changes
* Fix contact rendering to work properly
* Fix issue resolving contained resource rendering DiagnosticReports etc
* Handle case where Contact.value has extensions instead of a string value
* Render Parameterised types
* Fix bug with LOINC Code row showing wrongly in Profile Details view
* Partial implementation of type parameters
* Fixed rendering of actor-specific obligations, added elementIds to obligation narrative rendering
* Corrected ObligationsRenderer to handle multiple actors and multiple codes. Also got obligations with elements to render properly (which means knowing whether you're on a table page or definitions page, what tab you're on, and whether the element for the obligation is in-scope for that tab (so you know whether to hyperlink or not). Had to make links on the tables point to definitions because table anchors are not unique.
## Other code changes
* split out Base.canHavePrimitiveValue() from Base.hasPrimitiveValue()
* Refactor how observation profiles are registered in order to generalise management of extra profiles
* Use validation policy to implement Observation profile rules
* Rework validation policy management in standalone validator
* Try deploying javadoc with SNAPSHOT
* Add utility to unpack the spec.internals file
* v2 in FHIR tests
* Fix bug loading language pack NPMs
***NO_CI***
## Validator Changes
* Fix issue validating codes with + in them
* Fix (well, hack) R4 vital signs issue with component units
## WHO I18n Project
* QA on i18n constants - remove spurious entries, add anything missing
* Remove test case for i18n coverage
* Generate properties translation files without blank entries
* Add transifex configuration
* Fix up .po file generation so that POEdit is supported, and remove duplicate constants (#1592)
* Most strings translated to Dutch, unchecked.
* Add utility to infer locale from region code
## Other code changes
* Remove Accept-Charset header
* Fix typos around CODESYSTEM_CONTENT_COMPLETE
***NO_CI***
- don't yell about missing mustSupport if differential element is setting max to 0, is just declaring slicing, or has a fixed or pattern value
- make clear *what* element doesn't have a mustSupport element in a profile that should
## Validator Changes
* remove "LOINC 2711-0 Oxygen saturation in Venous blood" from the list in the validator that checks whether an observation is a vital sign
## WHO I18n Project
* fix value set summary line display
* update the source of truth translation files
## Other code changes
* Handle more than one expectation extensions in CapabilityStatement
* Fix NPEs in Liquid renderer
***NO_CI***
## Validator Changes
* Fix bug processing extension with explicit type slicing
* Fix wrong language code from java locale
* Don't accidently hit other terminology servers for code systems handled natively by tx.fhir.org
* Validate Additional Bindings (provisional - usage context is todo)
* Improved system specific checking of value set filters - particularly LOINC and SNOMED CT, and update LOINC validation to the latest understanding of LOINC filters
## WHO I18n Project
* Add importing translations to native resources
* Finish Migrating text phrases to i18n framework
* Fix bugs with loading translations (#1592)
## Security
* Move all network access to go through ManagedWebAccess
* More security documentation
## Other code changes
* Put jurisdiction in npm package.json
* Add testing ontoserver to test suite
* Fix NPE testing Ontoserver
* fix tx tester calling run ok when a filter is applied and tests fail
* Fix name of preferred when rendering AdditionalBindings
* Add AdditionalBinding version conversion in profiles
* Fix SNOWMED spelling
* Fix rendering of multiple imports in value sets
***NO_CI***
## Validator Changes
* Fix bug where some #refs are not resolved to the root of the resource in FHIRPath slicing evaluation
* Fix bug passing wrong type to tx server when using inferSystem
* Fix bug processing version of CodeSystem.supplements incorrectly
* Don't process wrong parent when processing snapshot of element with profiled type that is not reprofiled
* Fix typo in OID message
* Fix handling value set exclude filters
* Allow code system declared properties to be self-referential
## I18n changes
* More comprehensive internationalization phrase coverage reporting on project page
* Move many rendering phrases into i18n framework
## Rendering Changes
* Fix issue with unknown element rendering fixed value for Attachment
* Fix bug calculating value set expansion size for multiple imports
* Fix bug using wrong message for value sets that are too costly to expand
* Fix extension urls not being linked in tree view
* rendering improvements and remove static use of describeSystem
* Fix NPE rendering profile comparisons
* Fix bug where slicing and grouping gets mixed up rendering profile tree
## Other code changes
* Wrap general exception for IWorkerContext (Catch missed exception from HAPI)
* Shim interfaces and classes to support clinical reasoning project updates.
* Fix duplicate txServer getters and setters
* Use extension class on Exception to force try-catch blocks on checkCodeOnServer calls (#1609)
* rework OID handling for better consistency
* handle time outs doing vsac import (starlink obstructions)
***NO_CI***
Removed
- org.hl7.fhir.r4b.renderers.DataRenderer#versionFromCanonical
- org.hl7.fhir.r4b.renderers.DataRenderer#systemFromCanonical
- org.hl7.fhir.r5.renderers.DataRenderer#versionFromCanonical
- org.hl7.fhir.r5.renderers.DataRenderer#systemFromCanonical
- org.hl7.fhir.validation.BaseValidator#versionFromCanonical
- org.hl7.fhir.validation.BaseValidator#systemFromCanonical
Replaced all usages of aforementioned methods by the use of
org.hl7.fhir.utilities.CanonicalPair.
Improved CanonicalPair to avoid multiple lookup of the | character. And
added a few convenience methods to the class.
This fixes the issues of #1611 (not replacing all canonical splits in
other places of the code).