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***
* fix type of issue source extension
* update extension extractor
* FHIRPath changes for as - case and singleton issues
* minor fixes for extension rendering
* Update test cases version
---------
Co-authored-by: Grahame Grieve <grahameg@gmail.ccom>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## 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***
* Update cache and comparison downloads to use https
* Zip Slip tests and fix
* Zip Slip tests 2 and fix
* Add missing tempDir child in ScannerTest
* Add win format zip test
* Add tests to r4b
* Add tests and fixes for slips in tgz processing
* Update fhir-test-cases version
## 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***
## 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***
If the base text was null, appending a text in the derived element (using "...") would show a "null" before the text. This commit adds the method Utilities.appendDerivedTextToBase() to implement to correct behavior.
## 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***