Final Code changes for R5 release
## Validator Changes
* Fix NPE validating maps
## Other code changes
* Refactor Loader for easier loading of earlier versions
* Fix various NPEs from version conversion testing
* First draft of Code generation for Extensions
* Improve summary message for map conversion outcome
* Move web path out of userData into resource field
* Fix FTP problem on windows (remote seperator)
* Update tests to use R5 package from test case repo everywhere
* Finish removing population type
* Rebuild .index.json if it's empty when installing a package
***NO_CI***
## Validator Changes
* Fix up stated path in CodeSystemValidator
* Validate example URLs in value sets correctly
* Fix problem with composition library reference in R4
## Other code changes
* More work to sort out mappings
* Fix broken links in FMM & standards status levels
* Fix type of IG-parameter extension
* FTP: Stop re-initializing file type and mode with each upload (#1178) …
* Fix snaphot generation warning when when profile-element is used
* fix path failure in tests
* Inline help16.png when generating narrative
* Suppress img.src=data content when rendering narrative
* Suppress value set expansion for core value sets that tx.fhir.org is getting wrong
* Fix NPE in profile comparison
***NO_CI***
## Validator Changes
* Fix problems validating variables
* No longer ignore hl7.org/fhir/tools when validating
## Other code changes
* Fixed bug with incorrect parameter type when POSTing a $validate-code request to a remote terminology server
* Fix OS issue with zipslip protection
* Fix for where profile_element extension was being ignored when checking types after snapshot generation
* Fix generated name for FML rules to be a valid name
* Allow loaders to decide which resources to load into the context
***NO_CI***
## Validator Changes
* Don't validate codes in value sets if terminology vlidation is turned… …
* Fix nPE validating bundles
## Other code changes
* Add file: to URL scheme list when checking for absolute URLs
* Adjust mappings handling code generating snapshots
* More improvements to r4/r5 transform testing
* Better error messages setting properties when transforming
* Better error messages converting types
* FHIRPath tests on element model
* Refactor FTPClient to perform fewer directory creates (#1159) …
* Document how to build validator_cli locally (#1171)
***NO_CI***
## Validator Changes
* Add format codes ```md``` and ```url``` to FHIRPath escape() and unescape()
* Add second parameter ```s_last``` to FHIRPath join() to use a different separator for the last time (e.g. ```.join(', ', 'and')```)
## Other code changes
* Parse status when parsing FML metadata
* Fix NPE in FHIRPath resolve() for contained resources ([discussion](https://chat.fhir.org/#narrow/stream/179167-hapi/topic/fix.20to.20FHIRPathEngine))
***NO_CI***
## Validator Changes
* no changes
## Other code changes
* Tdy up extensions for R5 release
* Hack R5 observation for fix after QA
* Improve StructureMap rendering again
* Clarify Error messages converting between versions
***NO_CI***
## Validator Changes
* Add support for new ColorRGB code system (special case)
## Other code changes
* Add support for special case code systems internally
***NO_CI***
## Validator Changes
* More validation of StructureMaps
## Other code changes
* Add new R5 version to R4 version enumeration
* Fix for NPE generating profile comparison
* Add FML renderer for StructureMaps + various parsing fixes
***NO_CI***
## Validator Changes
* Fix up issues validating whitespace
* Multiple fixes to StructureMap and ConceptMap validation
## Other code changes
* rename ig-r4.json to ig-r4.jsonx in IGs
* move R5 package to test cases
***NO_CI***
## Validator Changes
* Add ConceptMap validation
* Add StructureMap validation
* Validate using type regex (had been omitted to now, mostly affects decimal validation)
* Add new -output-style values compact and compact-split
* Fix bug validating CDA choice elements without [x] in their names
## Other code changes
* Various fixes and utilities to support StructureMap & ConceptMap validation
* Fix Observation.value conversion between R5 and other versions
* Recognise R4B and R5 core packages
* Improvements to specification diffference engine for R5 publication
* More efficient XHTML AST model
***NO_CI***
## Major change:
* New R5 release - rebuild R5 implementation, update a lot of related code
## Validator Changes
* Load separate R5 extensions package
* Load FML directly, and validate mapping as much as possible
## Other code changes
* Fix bugs in Java R5 code generator
* Add more control at the code level over how to handle unknown profiles when generating snapshots
* Rework ConceptMap for major R5 changes
* Fix bug in CommaGeneratedStringBuilder (calling toString() multiple times duplicated content)
* handle case [reference].where(resolve() is X) when analysing types+elements in FHIRPath statements
***NO_CI***
## Validator Changes
* Fix validation for query references with empty parameter values
* Fix validation for conditional references
## Other code changes
* Fix resource rendering for conditional references
* Fix bug caused by changing DiagnosticReport.conclusion to markdown
* Track target types on references in FHIRPath
* Minor type checking fixes for FHIRPath
* Fix bugs in FHIRPath type checking discovered during R5 preparation
* Add standardsStatus support to core model
* Update okhttp library
* Allow HTTPS for terminology server URL
* Update table generator to suppress external links in base row and column
***NO_CI***
## Validator Changes
* Fix bug checking canonical URLs in bundles with dashes in them
* Fix extension messages (modifier and normal messages reversed)
* Change how error location paths are reported in bundles for easier resolution (no counting!)
* fix bugs checking whether binding is allowed in corner cases
## Other code changes
* Rendering Improvements: Additional Bindings, Search Parameters, Operation Definitions
* FHIRPath implementations for comparable(), highBoundary(), lowBoundary()
* Fix list of canonical resources from VersionUtilities
* Fix bug parsing html entities in XHTML parser
* Rename extension to http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile
***NO_CI***
## Validator Changes
* Fix for NPE rendering resources
* Consider CanonicalResource to be a CanonicalResource when validating profile references
* Work around error in R5 sdf-29 invariant
## Other code changes
* XHTML processing: Cater for "." in XML element and attribute names
* Handle R3 encoding of primitive values when validating profiles
* Improve error messaging when validating StructureDefinition
* Temporary Support for MedicationStatement in R5
* Work around for Identifier.use = ? in THO R5 package (old error)
* Rework Package API to allow for authentication on package servers
* Structure mapping now finds source Structure Definition by URI and sets ParserBase logical property appropriately.
* DOn't convert ig-r4 when converting package versions
***NO_CI***
## Validator Changes
* update FHIRPath implementation for corrections to 'as' (R5 only in validator)
* Critical Security fix: enforce correct paths when unpacking archives (SecurityAdvisory-1082, CVE TBA)
## Other code changes
* Update to latest FHIRPath for older versions
* Add new ElementModel based parser for StructureMaps
* go-publish related changes
* FTP Client upload and logging improvements
* Refactor base64 handling for Android compatibility
## Security Note
The validator unzips archive files to the local file system when
it is scanning zip files it has been asked to validate, and when it is
installing packages. These processes are now resistant to the zip-slip
vulnerability.
***NO_CI***
## Validator Changes
* Better tracking and reporting of snapshot generation issues
* Update FHIRPath implementation to R4 with all corrections and extensions from R5 implemnetation
## Other code changes
* Inclusion of SAXON dependency for processing XSLT
* Error message spacing correction
* Basic FTPClient implementation
* test NPE in markdown processing
* go-publish support
* Start implementing loading structure maps with validation
***NO_CI***
* Start with tests against fake FTP
* Dummy test file
* Switch to our FTPClient, make tests break
* Implement FTPClient
* Rely on end caller to set path delimiters
* User port 8021 for tests (not protected in azure pipelines)
* Let mocks use Windows filesystem
* Gentle refactor
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## Validator Changes
* Add support for fhir_comments in R2/R2B
* Add validator checking around versions in extension URLs
* Fix bug generating cross-version extensions
## Other code changes
* Fix minor NPEs running IG publisher
* Add new PE module (PEDefinition/PEInstance)
* Add support for liquid filters (resolve FHIRPath conflict)
* Fix up round-tripping of XPath constraints R4/R5
* Refactor R5 ProfileUtilities (and move rendering to rendering package)
* Fix appending text when generating snapshots
***NO_CI***
## Validator Changes
* Remove use of .fhir/package-client cache (only use the main .fhir/package now)
## Other code changes
* Hack work around for broken template input for R5 OperationOutcome
* Fix up problems with test case consistency in R5 test cases
* Add R5-snapshot3 version enum to R4 version list
***NO_CI***
## Validator Changes
* Change Java minimum version from 8 to 11
* Fix Error message missing parameter (very minor fix)
## Other code changes
* Refactoring package-list.json handling
* Upgrade code to latest R5 release (Snapshot 3)
* Fix bug with version patching loading package for the first time + fix bug determining spec reference
* Add Ids to profile spreadsheets
***NO_CI***
## Validator Changes
* Change rules around Document and Link Message validation (see [Jira](https://jira.hl7.org/browse/FHIR-39502) and [Zulip](https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Entry.20isn't.20reachable.20by.20traversing.20from.20first.20Bundle.20entry) for details)
* Allow https://example in questionnaire example links
## Other code changes
* Rendering Improvements for deprecated codes Including deprecation reason
* Add Accept header fetching JSON
* Fix version comparison bug
* Fixes for producing profile summary in IGs
* Add contents to .index.json and bump to v2
* Fix stated package & version in alternate versions packages
* Refactor ProfileUtilities.generateSnapshot
* Fix bug in XHTML generation around empty tags
* Fix NPE appending slashes
* Fix rendering timing to not use a specific verb
* Fix R2 - RX ValueSet convertor for Code Systems
***NO_CI***
## Validator Changes
* Perform canonical resolution using package dependencies even for version specific references (workaround for VSAC bad behaviour)
## Other code changes
* Fix conversion between R3 andR4/R5 for Immunization.notGiven
* Fix parameter handling for tx server responses
* Add cast support for more types in FML implementation
* Fixes to GQL Schema generation
***NO_CI***
## Validator Changes
* Improved Loading speed (20% reduction)
* Fix issue handling path on content references on deeply nested content
## Other code changes
* Fix rendering issue when reference.reference missing
* Add rule date to validation messages so new rules can be highlighted
***NO_CI***
## Validator Changes
* Validate HTML entities in XHTML in resources
## Other code changes
* Stop producing XHTML entities in resources when rendering
***NO_CI***
## Validator Changes
* Minor fix to jurisdiction output (+ handle case where JVM has no locale)
* Add support for extensions parameter
* Make all error messages include version of underlying resource if available
* Accept display for code from ValueSet CLD if no code system available
* Various minor improvements to error messages
## Other code changes
* Minor clean up in test cases
* Fix up i18n support to handle pluralization properly
* Refactor resource narrative generation rules (GenerationRules.X)
* Display resource type in generated narrative
* Add support for generating R4 and R4B packages
* Add support for generating XVer packages
***NO_CI***
## Validator Changes
* Add support for R4B to validator (parts were missing)
* Fix bugs in Logical Model snapshot generation and validation (both instances and logical models themselves)
* Check min/max value for decimal values
## Other code changes
* Fix broken links rendering questionnaires
* Fix issue with converting ActivityDefinition.kind between R5 and R4/R4B/R3 (+ update R5 code)
* Fixes to terminology cache management for test cases
* Process relative links in markdown in code descriptions when rendering value sets
* Fix issue with contained resource not always rendering consistently
* Fix bug where Element Model paths are not populated after preforming a transform
* Fix NPE rendering invalid bundles
* refactor Paramters.getParameter helper methods
* Rendering improvements for logical models
***NO_CI***
## Validator Changes
* Fix problem determining implicit code system when code system only known to tx.fhir.org
## Other code changes
* Fix bugs generating CDSHooks snapshots
* Fix for NPE rendering Patient Photo
* Fix problem generating snapshots for specializations where inherited types have properties
* Work on i18n framework
***NO_CI***
## Validator Changes
* Improve error message for extensions without values
## Other code changes
* Add support for Requirements Resource (rendering + caching)
* Tidy up support for ActorDefinition
* Generate better summary for references
* Clean up bug checking data types in ContextUtilities
* Remove Validator dependency on GSON
* Upgrade validator to produce PSVI for tools to make use of
***NO_CI***
## Validator Changes
* Further support for validating CDSHooks content
## Other code changes
* Render period on Identifiers
* Render Tooling IG extensions in Profile table
* Fix NPE building CCDA IG
***NO_CI***
## Validator Changes
* Improved Errors for bad resource ids
* R5 ballot: Hack around discovered issues in the ballot
* Enforce value set & code system versioning when validating codes
* Enable bulk -snapshot and -convert on multiple/wildcard -source
* Fix bug revalidating profiled abstract types
## Other code changes
* Rework validator test cases to not have inter-test dependencies (+ fix up to allow contexts to be cloned)
* add First draft of xliff production
* Add ActorDefinition conversions R5 -> R4, R4B, R3
* Add support for validating logical model json files (not surfaced in CLI yet)
* Updates for changes to extension URLs in Tools IG
* Fix map rendering in value sets
* Fix broken link in R4 DeviceUseStatement
***NO_CI***
## Validator Changes
* Fix typos in error messages
## Other code changes
* Fix NPE in xig generation
* Fix bug in validator test framework (packages not being loaded properly)
* Remove references to terminology files no longer found in source specification
* Package generation enhancements for R4/R4B
* Support for CDS Hooks validation (not surfaced outside test cases yet)
***NO_CI***