Skip to content

Releases: hapifhir/org.hl7.fhir.core

6.7.0

01 Oct 03:04
Compare
Choose a tag to compare

Validator Changes

  • Major upgrade to terminology functionality:
    • Rework handling of version references between value sets and codesystem based on extensive tests in tx-ecosystem test suite
    • Handle versions in ValueSet.compose.include.version and expansion parameters properly
    • Remove Version Parameter in expansions (long deprecated)
    • Handle wildcard version dependencies
    • Deprecated codes are not inactive
    • Improved warning messages when value set concepts are not validated
    • Improve Error Message about missing value set binding
  • Add support for scoring profiles
  • Validation changes to support Additional Resources (resourceDefinition property)
  • Fix issue where extensions can have either value or sub-extensions but this was not allowed by the validator
  • No unknown url errors for CapabilityStatement.implementation.url
  • Prevent duplicate messages from validator (still happened in a few circumstances)
  • Suppress irrelevant binaries from the comparison folders (bye bye donald duck)
  • Fix bug where version wildcards cause errors processing some already published packages
  • Update sql-on-fhir package name

Other code changes

  • refactor IWorkerContext (no new functionality, but code moved to IWorkerContextManager, so bump minor version)
  • Fix Concurrency issue in CanonicalResourceManager (#2166)
  • More work on cross-version extensions (not released yet)
  • Rendering and definition improvements to support Additional Resources
  • Update OWASP check for OSS Index Usage (#2188)
  • Improved rendering of bindings and constraints
  • Clean up inherited element representation for Additional Resources
  • Fix bug not resetting type manager properly
  • Fix up internal handling of expansion parameters: no duplicates, route to internal terminology server
  • Give all SCT codes value set a web path
  • fix rendering issue in CS rendering where versions shown wrongly
  • Invest in better xhtml -> markdown work to support AI publication of IGs
  • Add support for converting VersionAlgorithm on CodeSystems
  • Ongoing internal refactoring of the validation command line parameters to support client/server mode
  • Refactor for faster ValidationServiceTests
  • Fix problems in generated Excel spreadsheets for profiles
  • Updated NLM launcher to use URL and parameters that actually work when rendering questionnaires
  • Fix handling of multi-language narrative so that hand-coded narrative doesnt get overridden
  • Fix up missing post-validation info (wasnt consistently populated)
  • Add support for xhtml to markdown in IG publisher - track generated html better
  • fix use of wrong element name in CDA IGs for extensions when rendering CDA content
  • dont map EXT_CS_PROFILE when converting r4 back to dstu3
  • SonarQube: Add at least one assertion to various test cases

6.6.7

09 Sep 06:23
Compare
Choose a tag to compare

Validator Changes

  • Internal changes for supporting new cross-version packages - not yet released (WIP)
  • Support for new cross-version packages - pin versions explicitly in old core packages (R3-R4B)
  • Fix issues handling deprecated concepts and designations in code systems and value sets - make consistent across all contexts and code systems
  • Fix bug checking versions with wildcards
  • Ensure that wildcard dependencies are always to the latest version when loading wildcard dependencies
  • No double errors on unknown cross version extensions
  • Dont use batch validation when no tx server
  • Add missing SIDs to validator definitions
  • Fix misleading error for case mismatch on files
  • Fix error trying to validate against a broken profile (no snapshot)
  • Fix threading / mishandling issues around expansion parameters
  • Warn for usage of old debug param on the command line
  • Fix for invalid package versions in package listing JSON (#2152)
  • Fix ips:au param
  • Fix validation of max decimal places in Questionnaire
  • Fix erroneous use of alternate tx servers to validate value set codes in batch mode

Other code changes

  • Add SCT tests when testing for tx.fhir.org
  • Fix web source for LOINC attachments value set
  • Render modifier explicitly on extensions
  • Fix double $$ rendering operations
  • Add rendering support for additional SCT editions
  • Fix error generating cross-version definitions for canonical resources

6.6.6

27 Aug 13:40
1db7143
Compare
Choose a tag to compare

Validator Changes

  • Snapshot changes:
    • Cater for entering type slicing without defining slicing
    • Allow profiles to constrain common element properties on multiple types
  • Changes to tx-tester:
    • rename -txTests parameter to txTests
    • rename -version parameter to -test-version
    • move test case output from dest to dest\actual and also populate dest\expected for ease of comparison
  • Fix bug doing compares on differentials with incomplete slicing information
  • Test cases for updating eco-system to LOINC 2.81
  • Use correct version when loading packages (FHIR version, not package version)
  • Fix error loading THO R3
  • Correct version of IPS used with -ips parameter

Other code changes

  • Rendering:
    • make rendering cross-resource views in the IG publisher more robust
    • fix problem with type casting while generating comparisons
  • Various minor cleanups of R3 <-> R4 conversion code
  • Fix bug where XHTML was not always processed correctly in CDA transformations

6.6.5

24 Aug 08:48
Compare
Choose a tag to compare

Validator Changes

  • Improve error message when checking Bundle links
  • Fix problems with large xhtml validation

Other code changes

  • Fix null pointer exception rendering CapabilityStatement
  • Fix problems with rendering code systems with lots of properties

6.6.4

22 Aug 16:10
Compare
Choose a tag to compare

Validator Changes

  • Rewrite version handling
    Note: this is a significant change that has the potential to introduce bugs, and break existing
    workflows. We found a significant bug in the version comparison routines, and then used AI
    to write more test cases, and then we had a lot more bugs to fix. Fixing those resulted in tighter
    validation of the inputs to the version logic. We have tested this extensively, and fixed everything
    we can find but no doubt theres more. Please be proactive in reporting issues. Other than outright
    failure due to increased validation of version strings, the most likely issue of consequence is
    that wildcards of the form 1.0.x no longer allow pre-release versions, but wildcards were really
    not supported except in corner cases, so this might not an issue for anyone.
    For those who use wildcards, see the documentation here: https://github.com/hapifhir/org.hl7.fhir.core/blob/427b8d6669893323a9e3121b017bc9f36cf5f25f/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/VersionUtilities.java#L873.
    We will be extending wildcard support in the future.
  • Check for fixed version in manifest when validating canonical references
  • Correct wrong code in error response validating codes
  • Make sure messages from terminology validation have a message id
  • Fix CDA Round-tripping problem in narrative
  • Validate that resources from internal use packages are not being used innappropriately
  • Fix some untranslated messages in the validator
  • VCL Parser Update, primarily for use of {} as bracketing

Other code changes

  • Fix bug in snapshot generation tests around cache-poisoning
  • Fix mapping rendering not seperating comments out
  • Fix MedicationStatement R4/R5 conversion problem with status codes
  • Fix for undefined code system for use = display
  • fix missing details from error message for markdown link
  • Fix NPE rendering additional bindings
  • Allow marking resources from packages when loading with special tags
  • Improved CapabilityStatement rendering - dont show headings when theres no content, expose shall/should/may/should not in the summary tables, show system level operations and search parameters.
  • Add tx-runner documentation
  • fix several test cases (Make main() tests actual JUnit tests)
  • Dependencies: Add Unicode-3.0, Bump icu4j to 77.1

6.6.3

07 Aug 02:57
Compare
Choose a tag to compare

Validator Changes

  • Fix to handle CodeSystems with content=not-present when validating ValueSets
  • Remove maxLength from prohibited properties for elements in specializations
  • Improve extension error messages
  • Better handling of xsi:type errors in CDA
  • improve error message for invariants when running inside Publisher
  • Improve error message when code system is unknown
  • Fix bug where displayLanguage overriding resource language when validating
  • Fix HTML validation: Allow for col in colgroup
  • Improve hash mismatch error
  • Fix NPE in FHIRPath
  • Fix bug in R5 client - wrong URL
  • Add .debug(name) to FHIRPath engine for user convenience
  • Fix problem with using wrong language code validating terminology (en-* didnt equate to null)
  • Fix bug checking for extension contexts on the wrong structure
  • Fix snapshot processing - missing inner elements in some circumstances
  • Ignore binding missing for types that arent bindable when checking profile CompliesWith extension
  • Only report missing localization messages the first time (#2121)

Other code changes

  • Support for type operations rendering
  • Add R4B support to validation tests
  • Fix errors in CDA narrative handling
  • Allow fetching the last milestone release
  • Stop using deprecated CodeSystem comments extension
  • Make closing elements hyperlinks too in marked up xml view
  • Profile Version Transformation:
    • Fix error where ExtensionContext of CanonicalResource is not preserved when adapting extensions for past versions
    • fix bug setting status on extensions for previous versions
  • clean up language handling in tests and rebuild txcache
  • Change R3 client to use JSON work around weird IO error
  • fix encoding bug for ElementDefinition.examples
  • fix experimental extension warning
  • Update DicomPackageBuilder for package generation changes
  • Make XIG link translatable
  • fix bug mishandling sqlite index not being generated
  • fix kindling extension handling
  • fix rendering issue for main build
  • updates to TXtester for reworking mode functionality with icd-11 tests coming
  • better handling for missing description in derived IGs when generating snapshots
  • Update rendering-phrases-fr.po
  • Internal changes to cli parameter handling (phase #1): Fix double loading of compare ValidationEngine + move time tracking

6.6.2

27 Jul 19:47
Compare
Choose a tag to compare

Validator Changes

  • Fix passing wrong location to advisor in terminology messages
  • Fix NPE when system is provided with no code validating CodeableConcept
  • Fix FHIRPath context of evaluation for parameters
  • Fix bug validating CodeSystem property value sets
  • Allow iterating code systems (for OIDs - to be reviewed)
  • Properly generate snapshots in logical models when converting to R4

Other code changes

  • Move build to Java 17; older versions no longer supported
  • Conversion fixes
    • R4 - R5: ChargeItemDefinition
    • R3 - R4: Task, Coverage, DiagnosticReport, CommunicationRequest, Medication, MedicationStatement
  • Fix issue when rendering a CDSHookRequest (<<code>/>)
  • Bump sqlite to 3.50.3.0

6.6.1

23 Jul 06:18
Compare
Choose a tag to compare

Validator Changes

  • fix NPE in FHIRPath services for the validator
  • Allow full URL in extension context in logical models
  • snapshot-source extension type fixes

Other code changes

  • Common FHIRPath interface across all versions (extend breaking change to all versions)
  • fix PackageVisitor to include examples
  • fix issue with wrong us core 311 web reference
  • Split dstu3 package contents to prevent duplicate packages (#2105)
  • add ElementVisitor to older FHIR versions
  • Bump gson to 2.13.1 #2104

6.6.0

21 Jul 13:17
Compare
Choose a tag to compare

Validator Changes

  • remove pt_BR translations - just have Portuguese
  • produce hint about deprecation when description uses the word deprecated
  • Change an unknown property in a CodeSystem to a warning not an error
  • Produce a better error message for referencing a value set by its OID
  • Rework extension context validation for cross-version issues
  • Fix problem parsing named elements for extensions in json (CDS-Hooks support)
  • Add support for terminology operations in FHIRPath
  • Fix error validating conditional references in Bundles
  • Improvements handling Qunatity Datatype in FHIRPath expressions
  • Remove IG load endpoint from server mode
  • Warn about watch params when in server mode
  • Suppress progress logging in server mode
  • Add support for Implicit CodeSystems from StructureDefinitions

Breaking Changes in the HAPI Core

This release features several breaking changes in the HAPI Core interfaces that users of the HAPI core might need to deal with:

  • Changing the way Host Applications register functionality with the FHIRPath Engine in R5
  • Reorganising Extension Support
  • Reorganising the R3 code base
    Note that weve only incremented the minor version this time because this is the first of a series of changes over the next
    couple of releases that complete the pattern. Well do a major release at the end of the process.

FHIRPathEngine Changes R5

There as two general issues with the IEvaluationContext in previous releases:

  • the % the prefixes constant references was inconsistently removed prior to invoking IEvaluationContext.resolveConstant{Type}()
  • The context in which the constant was being resolved wasnt available to the Host Application, and it sometimes matters
    As a result, IEvaluationContext has been renamed to IHostApplicationServices, and the interfaces for
    resolveConstant() and resolveConstantType() have been changed, and the documentation in the interfaces
    have been improved. % is no longer passed through when invoking either of them.
    In addition, theres a new parameter checkWithHostServicesBeforeHand on the FHIRPathEngine. If that
    parameter is false, the engine will not call the HostApplicationServices before trying to evaluate a
    property locally (only when it fails). if its true, the HostApplicationServices will be consulted
    beforehand. Doing so is useful and dangerous, because you can override the meaning of a name.
    When you write code for the new interface, pay careful attention to the name behaviour and the new mode parameter.
    Thorough testing is called for. Note that theres a new base class for IHostApplicationServices that might
    be useful, called BaseHostServices.
    This change is only in R5, but we are considering introducing it in R4/R4B/R3.

Reorganising Extension Support

The new Extensions Pack being balloted moves several Extension from the Tools IG to the Extensions Pack,
and in so doing, changes their URL. This is supported in the tools by cloning the URL to have a _NEW and and _OLD
variant, and checking for the presence of both (but only writing the new one, when the extension is written somewhere).
Testing this made clear that having both org.fhir.hl7.r5.extensions.* and org.fhir.hl7.r5.utils.ToolingExtensions
was causing problems, and also that ToolingExtensions was a misnomer. The content of all 3 have been merged
to tww new classes: org.fhir.hl7.r5.extensions.ExtensionDefinitions and org.fhir.hl7.r5.extensions.ExtensionUtilities.
This change is only in R5, but we are considering introducing it in R4/R4B. (R3, see below)

Reorganising the R3 code base

We have reorganised the R3 code base to split it into two parts: org.hl7.fhir.dstu3 and org.hl7.fhir.dstu3.support.
These changes are being introduced to reduce the surface area/code size/dependencies for people who just want
to use the model classes. What remains in the base package is:

  • the generated model code
  • the format classes to read and write to json, xml, and turtle
  • The FHIRPath engine
  • Some useful utility classes for working with the model classes
    Everything else has gone to the support package. Thats not much code for DSTU3, and not may people are using it,
    so this is low impact. Note that we havent invested in stripping the maven dependencies yet, but we will.
    But you should look anyway, because were planning on making the same changes in R4, R4B and R5.
    Comments are welcome.

Other code changes

  • Add processing of logical models when converting versions
  • Add explicit break statements missing from conversion routines
  • Improve rendering of UsageContext in Additional Bindings
  • increase timeout on lookup
  • Performance Improvements for the IG Publisher - careful loading terminology resources (allowedToIterateTerminologyResources)
  • support styles and js in Xhtml fluent interface
  • rework .index.db to generate it by injection
  • Bump com.nimbusds:nimbus-jose-jwt from 9.37.3 to 10.0.2 (#2088)
  • Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 (#2089)
  • Fix NPE in language translation processing

6.5.28

11 Jul 20:43
Compare
Choose a tag to compare

Validator Changes

  • New Feature: HTTP server mode for pipeline/dedicated server support
  • FHIRPath improvements - see #2080
  • Dont require vitals signs profile for BMI code: 59574-4
  • Fix error in tx error processing where some errors were being lost when validating codes
  • Matchetype validation improvements
  • More work on signature validation
  • Fix NPE validating concept maps
  • Fixed issue with Parameter/Profile alignment validation when validating OperationDefinitions
  • Dont check URL in Coding.system when checking defined URLs - its already fixed
  • Add urn:ietf:bcp:13 to known definitions
  • Update Narrative validation for FHIR-I changes to language control extension
  • Fix bugs with implicit value set handling
  • Fix bugs validating extension context: nested elements and profiles
  • Use batch validation when validating ValueSets and ConceptMaps but only if the server supports it
  • Allow new target types when specializing in logical models
  • Add warnings for unexpected all codes bindings on LOINC, SNOMED CT, and CPT
  • Improve value set validation for ValueSet.compose.include.filter.value
  • Fix wrong return value for attachment validation (wrongly causing profile validation to fail)

Other code changes

  • HAPI Significant fix: parsing issue associated with extensions on Reference.reference (was ignoring Reference.reference.extension if only extensions present)
  • Add VCLParser
  • Remove Deprecated code (round 1)
  • Fix up invalid XHTML generation in renderers
  • Add testing support for batch code validation
  • Improve suppressedMappings set consistency in ContextUtilities
  • Fix rendering for some multi-line strings
  • Fix supplement rendering for value sets
  • update tests for not sorting messages