* Fix split logic of canonical into url and version in several places
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
The logic of these methods is wrong, the functionality of extracting
the version and the system URL have been swapped.
Therefore, all usages of aforementioned methods were replaced by the
use of org.hl7.fhir.utilities.CanonicalPair. This not only fixes the
problem, but also reduces duplicated functionality.
* Remove dead code from merge
* Fix spacing issues in rendering
* Empty commit, make-pipeline-go
---------
Co-authored-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
## 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>