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.
* Add test util for diff
* Start moving pathprocessor params into dedicated object
* Move diff to Params
* Move base and diff Limits to params
* Rename to newBaseCursor and newBaseLimit
* More renames
* Move url and webUrl to params
* Move profileName to params
* Add contextPathSource to params, adjust indent for processPaths calls
* Move contextPathTarget to params
* Code cleanup, unused variables + move trimDifferential to params
* Create PathSlicingParams
* Shuffle param order
* Move redirector to params
* Move sourceStructureDefinition to params
* Move derived to params
* Move debug statements to dedicated methods
* split processSimplePath
* split processPathWithSlicedBase
* Start splitting ProfilePathProcessor
* Move all params into ProfilePathProcessor
* Move all profile utility related classes to own package
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## 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***
* Refactor 1 rename and starter comments
* Refactor 2 more renaming make method for match
* Make final what can be final
* Wrap root call to processPaths
* WIP Create ProfilePathProcessor
* Redo method scoop, move internal classes
* Use profileUtilities instance
* Finish scoop. Tests pass.
* Finish scoop for real this time.
* Encapsulate cursors
* Delete unused params
* Split path processing into two branches
Co-authored-by: dotasek <david.otasek@smilecdr.com>
## 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***