## Validator Changes
* Security Fix: Move all instantiation of transformerFactory to XMLUtils and set ACCESS_EXTERNAL flags automatically (slightly improvement to output message, but closes possible attack vector)
* Handle 308 redirects when fetching packages
* Fix NPE in ValueSetValidator
* Fix for NPE in IGLoader
* fix version conversion problem for ConceptMap (4<->5): relationship comment getting lost for noMap entries
* Add check for multiple WG extensions (HL7 context)
## Other code changes
* Suppress spurious logging statement
* Add Australian CDA name prefix & uri to mapping transform code
* Add new messages for tx.fhir.org
* Remove narrative from snapshot tests
* Improve complex extension rendering when rendering by profile
* Rewrite processing of map statements when generating snapshots to fix known bugs
* Updates to Capability Statement rendering (and minor Operation Definition rendering improvement)
* Fix wrong reference to CDA classes for unscoped class names
* fix rendering issue for R4 relationship codes in ConceptMap
* rework decimal lowBoundary() and highBoundary() after discussion on Zulip, and add extensive testing
* Fix existing test case for fixed up boundary handling in FHIRPath
* Add CodeSystem fetching for selected code systems for VSAC import
* Drop to saxon 11.6 for now
* fix issue with json unicode whitespace enscaping
* get Java generator running again (though no code regenerated)
* don't escape unicode whitespace in json files
* Fix NPE in questionnaire renderer
* Hack workaround for R4 issue with ProcessPriority
* Rewrite concurrency management for file system package cache
***NO_CI***
## Validator Changes
* Improved handling of display validation for various languages
* fix xml:space message after discussion on Zulip
## Other code changes
* ValueSet rendering improvements
* Add isUnknownLocalReferencesNotLinks to RenderingContext
* Fix up conceptMap rendering (remove spurious summary table)
* Add R6 ballot 2 to FHIRVersion enum in R5
* rendering fixes for implementers
* improve rendering of bindings with no value sets
***NO_CI***
## Validator Changes
* Improve performance of supplement processing
* Add support for validating xml:space
* Fix NPE validating maps
* Fix duplicate removal code that caused missed WARNING messages (#1698)
* Fix interaction between terminology cache and validation location (#1700)
* Better concept map validation
* Improved base64 parsing error
* Add support for unknown code system version validating concept maps
* Fix bug using wrong profile when profiling recursive properties
## Other code changes
* Return null for all toCode enum params that are null
* fix bugs adding publishing WG in element mode
* Fix equality method that caused missed WARNING messages
* fix rendering issues
* rendering fixes for R6 build
* don't throw error for wrong rendering mode
* Document rendering fixes - subject and section
* more work on forcing valid html generation
* more hyperlink validation improvements
* further fixes to link validation
* fix list inside paragraph
* fix actor capabilities in wrong place
* Support missing datatypes
* Fill out missing anchors
* Fix wrong handling of contained resources)
* #1678 - add div to children when exploring Narrative
***NO_CI***
## Validator Changes
* No Changes
## Other code changes
* Naming System fix for THO
* Fix issue with rendering OperationOutcomes that don't have 'detail'
* Fix problem with value set anchor generation when rendering
***NO_CI***
## Validator Changes
* work around THO 6.0.0 problem (hack, to be reversed later)
* Improve MeasureReport validation for checking subject count
* Fix for R2B Resource.id cardinality problem
* Fix for validator using wrong property for list determination when parsing json
## Other code changes
* no changes
***NO_CI***
* Fix for validator using wrong property for list determination when parsing json
* Fix for R2B Resource.id cardinality problem
* Improve MeasureReport validation for checking subject count
* work around THO 6.0.0 problem (hack, to be reversed later)
* release notes
---------
Co-authored-by: Grahame Grieve <grahameg@gmail.ccom>
## Validator Changes
* Add clearer message for errors around unable to validate because unknown code system
* Fix problem with fhirVersion cardinality validating IG resources
## WHO I18n Project
* Remove Questionnaire.item.linkId from translatable content
## Other code changes
* Further revisions to rendering framework for id uniqueness, main spec rendering, and various reported issues
* Improve doco for R4/R4B renderers
* Introduce backwards compatible constructor in ValidationEngineBuilder and fix useEcosystem
* Use v2 of PublishCodeCoverageResults (#1665)
* #1583 do not serialize choice group + add testcase
***NO_CI***
* Use v2 of PublishCodeCoverageResults
* Bump jacoco
* Try including source path for code coverage
* Aggregate sources for code coverage results
* Bump version for passing test
* Try individual source directories
* Parameterize source directories, include parameter for verbose coverage
* Fix syntax
## 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***
## 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***
## 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***
## Validator Changes
* fix NPE loading resources
* Don't enforce ids on elements when processing CDA
* Send supplements to tx server
* fix bug processing code bindings when value sets are complex (multiple filters)
* fix spelling of heirarchy
* Look up CodeSystem from terminology server
* Don't use tx-registry when manual terminology server is set
## Other code changes
* More work on WHO language support ($1592)
* allow validation message to have count
* render versions in profile links when necessary
* rework OID handling for better OID -> CodeSystem resolution
* fix up vsac importer for changes to client
* don't send xhtml for tx operations
* FHIRPath: Backport the defineVariable code to the R4 and R4B fhirpath implementations
* FHIRPath: Remove the alias/aliasAs custom functions (use standard defineVariable now)
* Bump lombok (#1603)
***NO_CI***
## Validator Changes
* Fix up path management in the validator for resolving references in Bundles
* Add support for defineVariable in FHIRPath
* Fix problem with CDA element having multiple types
* Fix problem with 'is' not working in FHIRPath for CDA types
* Fix issue processing CDA generic type names
* Fix for NPE processing tx server response
* Add support for code system supplements when communicating with tx server
## Other code changes
* OSGI: make sure JUnit 4 and 5 dependencies are optional (#1596) (Also removed duplicate managed versions of JUnit 4.13.2 and mockwebserver 4.11.0)
* Render CapabilityStatement.imports (and instantiates)
* Terminology Service Tests - minor improvements for running in HAPI, add $lookup & $translate support, create R4 clone
* Add support for $translate to terminology client
* More i18n work in rendering context (WHO project)
* Add isServerSide for seeing if code systems are only supported on the server
* Fix R4B loading issue that lead to wrong web paths for R4B resources
* Fix problems rendering Binary files in IGs
* Add support for rendering logical URIs
* Remove path.toFile()
## Security
* Finish moving all local file access to go through ManagedFileAccess
## WHO Internationalization work
* More work on date rendering
***NO_CI***
## Validator Changes
* Validate fixed/pattern values are not changed in derived profiles
* Fix NPE validating some profiles
* FHIRPath validation: consider sub-extensions when checking extension($) use
* Fix validation of concept maps containing SCT
* Preserve message id from terminology service so editors can use it to remove hints and warnings
## Other code changes
* Fix ConceptMap.group.target conversion from R3 to R5
* Fix NPE in list renderer
* fix bug showing 'required' instead of 'current' rendering additional bindings
* Fix bad references generating narratives in bundles
* Fix bug showing extension binding twice
* Various improvements to structure map validation to support cross-version mappings
* Add rendering for UsageContext and ContactDetail
* Fix broken link in xver IG for R2
* Fix bug rendering resources in Parameters resource
* Not-pretty xhtml gets line breaks before block tags to keep line length down (work around a jekyll issue)
* Improved ConceptMap rendering for cross-version IG
* Handle xhtml:div type for old FHIR version
* FML: strip '-' from rules names when parsing
* Update FML parsers to accept R5 metadata in R4 FML format
* Break out helper classes for Terminology Service Tester
## Security
* Add start of security notes
* Start moving file access to all go through ManagedFileAccess
## WHO Internationalization work:
* Add library to parse IETF Language definitions
* Move message translations to .po files as the master source & write convertor
* Much work making rendering i18n-able
* i18n for Patient renderer
* Refactor language handling in R5 renderers
***NO_CI***
## Validator Changes
* Fix grammar in validation messages
* Fix NPE in validator for SIDs
* Duplicate designations in a code system is a warning, not an error
* Fix value set validation to validate codes in example code systems
## Other code changes
* Improved multi-language support for IG development (LanguageUtils)
***NO_CI***
## Validator Changes
* CodeSystem property validation improvements
* More valueset validation improvements after real world testing
* Fix processing of NotSelectable filters using in | not-in
* Fix wrong collection type checking FHIRPath subsetOf parameter type
## Other code changes
* Fix rendering of contained resources in Kindling
* Put jurisdiction in NPM package file
* Rendering improvements for xver IG
* More xver support for concept maps
* Fix NPE in ContextUtilities (kindling)
* Add OID Assigner utility
***NO_CI***
## Validator Changes
* Add validation for CodeSystem Properties and ValueSet filters
* More validation for Code Systems: contained code systems, supplement cross checks
* Add more validation around ValueSet.compose.include.system - must be a proper URL, and not a direct reference to a supplement
* HL7: Don't require HL7 publishing status on contained resources
* Don't walk into nested bundles when validating links in bundles
* fix up implementation of notSelectable in value set filters
* Add check for multiple version matches for a versionless canonical reference
## Other code changes
* Fix narrative generator generating duplicate anchors (prefix 'hc')
* exclude .DS_Store from generated zip files
* Add cross-version support extension
* Add ConceptMap utilities in support of cross-version module
***NO_CI***