## 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***
## Validator Changes
* Fix significant bug where validator gets internal child lists incorrect and doesn't do complete validation when switching between validating profiles and resources directly
* Performance improvement for validator parsing - thanks Brian Postlethwaite
* Fix Crash on slicing a sliced element #862
* Fix ig loading from direct URL (#1559)
* Fix bug copying constraints into Bundle.entry.resource profiles
* Fix bug loading R5 extensions with imported value sets
* Replace dom-3 with custom java code, and check xhtml references to contained content
* Improve concept map code validation
* Update observation validator for committee decision not to enforce Blood Pressure profile for Mean Blood Pressure
* Validate value set internal codeSystem references
* Split value set validation into 10k batches for very large extensional value sets
* Hack fix for opd-3
* Fix bug where using ontoserver when not appropriate
* Fix issues with inferSystem
* Don't require HL7 committee for contained resources in HL7 namespace
* Fix where validator was ignoring minimum cardinality for XML attributes (especially in CDA)
* Improved ConceptMap validation
* Updated IG versions used for -cda and -ccda CLI validation options.
* Change validator so that it marks value properties in primitive data types as illegal
## Other code changes
* Fix code system rendering for uri properties
* Fix broken links Bundle and Profile rendering
* Take copy of code when doing local validation
* WIP: major refactor of cross version analysis
* Add support for subsumes in tx client
* Don't generate snapshots when scanning structure definitions for resource names
* Work on ConceptMap infrastructure for cross-version analysis
* Fix bug where not rendering ConceptMap relationships
* Fix wrong URLs rendering Profiles and Questionnaires
* Fix bug using wrong version constant for R3
* Updates for R5 StructureMap syntax
* Support for case sensitive Code system tests
* Add TurtleGeneratorTests for R5
* Introduce new validator cliContext option disableDefaultResourceFetcher (#1526)
* Render contained resources when rendering Patient resources
* Fix bug in FML Parser
***NO_CI***
## Validator Changes
* Fix bug in deciding whether a ValueSet is supported by the server
* Rework server decision making when multiple code systems being used
* Fix file type inference in ValidationService for unknown file types
## Other code changes
* Kindling related fixes for terminology stability
* Fix parameter type for system-version
* Fix mini-terminology server bugs around unknown systems
* Improvements to Identifier rendering
***NO_CI***
## Validator Changes
* Handle terminology server errors better
## Other code changes
* Fix expansion related bugs and adjust tests accordingly
* Update test framework for changes to expansion functionality
* Update presentation of fixed and pattern values in profile views
* Handle toString for XhtmlNode when nodeType == null
***NO_CI***
## Validator Changes
* Fix issues with multiple terminology servers (should be live soon)
* Rework terminology system & cache to support new terminology server ecosystem
* Handle value set with exclusion filters when expanding
* Fix to consistent error messages when value sets can't be resolved
## Other code changes
* Fix bug processing empty structure maps
* Performance improvements to common IO routines, with test cases - see https://blog.qligier.ch/posts/2024-improving-perf-ig-publisher-io/ (thanks to Quentin Ligier)
***NO_CI***
## Validator Changes
* Major rework of tx and validation test cases associated with reworking terminology / validator interface and ongoing testing + reconciliation with Ontoserver
major upgrade to validation - use terminology server to perform more logic, and standardise interface based on agreements with Vocab & Ontoserver
* Improve slicing error message
* Add warning to user when referencing an extension that doesn't exist in FHIRPath
* Fix bugs in FHIRPath implementation of split() and join()
* Fix bug handling null objects in JSON (R5)
* Fix for missing search parameter definition in R4
* fix bug handling XML name extension
* Fix FHIRPath validation errors around use of %resource and %rootResource
* Correct validator enforcement of minValue for decimal and integer (#1538)
## Other code changes
* Properly populate property definitions in expansions
* Add CVX Importer
* R6 release support
* IPS tool development
* Improved errors publishing IGs
* Refactor Context to support multiple terminology services
* change type of error when value set circularity found
* Track generated side files when rendering resources
* Support for extended Unicode characters in XHTML / XML / JSON / Turtle
***NO_CI***
## Validator Changes
* Fix up validation of fragment and example value sets
* Improve handling of terminology messages + handling of example and fragment code systems
* Add support for logical_container extension (for CDA constraint validation)
* Clean up handling of xml_name
* Check for xver extension canonical urls when validating uri elements
* Upgrade xver to latest R5 definitions
## Other code changes
* Fix string index error in xver manager
* Fix rendering of type for previous versions
***NO_CI***
## Validator Changes
* Fix bug where validator doesn't actually validate web sourced input
* Fix narrative link validation and add id/idref validation
* Remove fhir-test-cases from Validator CLI JAR (#1497) (reduce size)
* Fix to CDA xsi:type validation per SD decision
* Apply regex pattern to literal format if defined
* Improvements to vital signs related messages
* Fix R4 con-3 FHIRPath expression
* Fix bug loading packages with partially specified version that doesn't exist
* Fix for occasional missing warnings around bundle link validation
* Fix using wrong resource type when validating constraints in data type definitions during R6 build
* Fix NPE in validator processing CCDA examples
* Fix problem with version dependencies when loading npm packages directly as files
* Fix for SearchParameter validation using custom resource types
## Other code changes
* Bump commonmark version
* fix Utilities display of time periods (fixed width hour:min)
* Fix stated path for error when code not in value set
* Fix rendering of trigger definition using tables inside paragraphs
* Update VSAC importer to fix timeout issues
* Refactor FHIRPath java package
* Fix problem with profiled resources being called examples in IG publisher
* Remove dependencies for unused UI experiment (#1465)
* Remove AU connectathon
* Include hamcrest dependency
* Fix breaking ValidationEngineTests
* Give kinder error message for missing param
* Fix commonmark group and bump version (#1500)
* Remove dep used for local testing
* Bump jackson & logback versions
* Fix StringType element properties not being copied in various Address, HumanName convertors
* Handle all initial value types when rendering Questionnaires
* Ensure Address.line[] element data is copied over
* Write locking on FilesystemPackageCacheManager
* Fix problems setting owning committee consistently
* Utility classes for fule system package cache pre-loading
***NO_CI***
## Validator Changes
* Fix validator not allowing canonical resource extensions in canonical resources in bundles
* Fix bundle validation error on intneral link checking
* Check parameter type for FHIRPath where() and all()
* Validate that composite search parameters have components
## Other code changes
* Refactor timeout control on client
* Support IPS in validation tests
* Remove orphan R4B test
* Improve expansion error messages
* Fix expansion language - don't set for displayName parameter
* Adjust value set rendering for fragment code systems
* Fix NPE rendering some resources
* Fix rendering of TriggerDefinition
* Support parsing ad-hoc json data type fragments
* More memory work for IG Publisher
* Move ILoggingService & VersionUtil
* Fix timeout issue in vsac
* Introduce ips builder + Infrastructure changes for IPS builder
* Move json and xml extensions from extensions pack to tooling ig
* Add support for rendering union and intersections of profiles in profile comparison
* FHIRPath iif() test case fixes
* Add support for IPS validation in test cases
* Fix for broken markdown re-processing
* Improve identifier rendering
* Fix committee URLs
***NO_CI***
## Validator Changes
* Add support for NZ IPS
* Don't fail on erroneously repeating elements, and more bundle link validation
* Rework bundle references validation
* Fix problem creating CDA type discriminators
* Fix bundle resolution rules to conform to the specification in version R4+
## Other code changes
* Fix issue where markdown with multiple characters was being cut off sometimes
* Fix bundle resolution rules to conform to the specification in version R4+
* More work on versioned API
* Fix up VSAC import for large value sets
* Fix FHIRPath cda tests for empty package cache
* Fix problem with R3 expansion
* Add support for CCDA .hasTemplateIdOf(canonical)
* Fix issue where markdown with multiple characters was being cut off sometimes
***NO_CI***
## Validator Changes
* Remove wrong LOINC code for circumference % from vital signs scan
* Remove spurious error when profile discriminators have no value
* Fix as() and ofType() in FHIRPath engine to support type namespaces properly
* Fix problem with FHIRPath engine wrongly checking types in context of CDA
* Fix date validation error in CDA validation
* Update error handling to preserve message ids properly
## Other code changes
* Add rendering of II.system
* Fix extension handling when generating snapshots - which are ignored, overwrite, or add
* Delete some empty java files
* Remove unnecessary snapshot tests
***NO_CI***
## Validator Changes
* Validate Vital signs Profiles when validating observations
* Hack around problem with vs-1 constraint in R4
* Check for retired status when multiple OID matches exist
* Fix for validating extensions on R5 resources in R4 (R4 special case)
* Minor fixes for standalone ViewDefinition validator
## Other code changes
* Revised Capability Statement rendering (Thanks Vassil Peytchev)
* Fix bug rendering primitive types with an extension that provides a value alternative
* Add links to references when rendering json and xml instances in IG publisher
* Fix bug generating profile spreadsheets
* Support suppress examples when generating snapshots
* VSAC Import improvements
***NO_CI***
## Validator Changes
* Validate contextInvariant in extension definitions
* fix Typo in TI WG name
* Handle unknown constants properly in FHIRPath
* Fix handling of type ancestors at the root of FHIRPath expressions
* CDA templates with no extension value use urn:oid: not urn:hl7ii:
* Allow URL as a type of string in FHIRPath type checking
* Fix semver validation
* Fix problem resolving context in CDA invariants
## Other code changes
* Finish SQL in FHIR Implementation, but disable sql on fhir tests until package is packaged properly by next release of IG publisher
* Fixes to Search Parameter rendering per FHIR-I decision
* Fix broken links in extension references done by [[[]]]
* Fix broken links in code system rendering of parents
* Support using names in [[[markdown]]] when rendering
* Remove "profile" from tx operations
* Include checkIPSCodes and bundleValidationRules in json
***NO_CI***
## Validator Changes
* Validation by templateId for CDA
* Fix NPE validating concept maps
* Update ViewDefinition validator for change (alias -> name)
* Fix for NPE validating sql-on-fhir ViewDefinition
* Fix for index out of bounds error when extension uses itself
* Fix issue where .resolve() in FHIRPath didn't work with URL values (and fix typo in i18n system)
* Implement FHIRPath slice() function in validator
* Fix bug where Snapshot generation can run off the end of the differential
## Other code changes
* Breaking API Change: Revise FHIRPath API so hosts can evaluate expressions in custom functions
* Add package use tracking to FHIR cache for validator.fhir.org
* Support for instance-name and instance-description in IG publisher
* Element.removeExtension (support for instance-name and instance-description extensions in IG publisher)
* Split terminology service tests
* Hack for wrong URLs in subscriptions backport
* Remove dependencies for unused UI experiment
* More improvements to profile code generation
***NO_CI***
* Revise FHIRPath API so hosts can evaluate expressions in custom functions
* Implement slice() function in validator
* more improvements to profile generation
* Fix issue where .resolve() in FHIRPath didn't work with URL values (and fix typo in i18n system)
* release notes
* Fix test ignore/exclude issues, bump test cases
---------
Co-authored-by: Grahame Grieve <grahameg@gmail.ccom>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## Validator Changes
* Fix bug processing value sets containing URLs
## Other code changes
* Add initial support for http://hl7.org/fhir/tools/StructureDefinition/type-profile-style
* More work on sql-on-fhir implementation
* Allow for type parameter to custom functions in FHIRPath
* Fix bugs in processing current packages for XIG
***NO_CI***