release notes

This commit is contained in:
Grahame Grieve 2024-10-08 17:39:33 +08:00
parent 8fdad60b84
commit bfe4fdd572
4 changed files with 36 additions and 12 deletions

2
.gitignore vendored
View File

@ -311,3 +311,5 @@ org.hl7.fhir.r5/var/lib/.fhir/packages/
org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/DebugUtilities.java
org.hl7.fhir.utilities/src/main/resources copy/
package.tgz

View File

@ -1,7 +1,25 @@
## Validator Changes
* no changes
* Show message ids in validator (-show-message--ids)
* Fix bug where message id not showing for slicing messages
* Add advisor documentation (not yet functional)
* Fix issue checking package currency for #current packages
* Add warning when code system is marked complete but has no content
* Fix bug processing adding discriminators in derived profiles
* Break valueset concept validation into multiple smaller batches for performance reasons
## Other code changes
* no changes
* More work on translations in IGs
* Override inheritance of HAPI's old maven-compiler-plugin
* do not use loadPackageFromCacheOnly from outside cache manager
* Fix issues with rendering example scenario
* refactor sql view validation to fix NPE
* Fix misc warnings flagged by builds (#1772) + TRIVY typo
* Bump codeql actions to v3
* Bump checkout action to v4
* Bump commons.io to 2.14.0 (#1771)
* Workaround for ghcr rate limiting of trivy db downloads (#1770)
* Add VSACfinder (template for package analysis)
* Fix github urls
* Spelling fixes

View File

@ -6,6 +6,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.annotation.Nonnull;
import org.hl7.fhir.exceptions.FHIRException;
import org.hl7.fhir.r5.context.IWorkerContext;
import org.hl7.fhir.r5.fhirpath.ExpressionNode;
@ -65,7 +67,7 @@ public class Validator {
private String resourceName;
private String name;
public Validator(IWorkerContext context, FHIRPathEngine fpe, List<String> prohibitedNames, TrueFalseOrUnknown supportsArrays, TrueFalseOrUnknown supportsComplexTypes, TrueFalseOrUnknown supportsNeedsName) {
public Validator(IWorkerContext context, FHIRPathEngine fpe, List<String> prohibitedNames, @Nonnull TrueFalseOrUnknown supportsArrays, @Nonnull TrueFalseOrUnknown supportsComplexTypes, @Nonnull TrueFalseOrUnknown supportsNeedsName) {
super();
this.context = context;
this.fpe = fpe;

View File

@ -2,16 +2,16 @@
This document describes the use of the advisor format that advises the validator which rules to enforce.
By default the validator enforces the entire FHIR specification as described. Implementers simply wishing
to know whether a resource is valid or not should not be using this functionality.
to know whether a resource is valid or not should not be using the advisor functionality.
The advisor functionality exists to assist implementers who are using the validator in pipelines where
known issues are tolerated and suppressed. Usually this arises because additional rules were added in
later validator versions after design decision had been made, and the specific issues cannot be rectified,
though there are other reasons.
Warning: Implementers use this functionality to hide known issues with their resources.
Warning: Implementers use the advisor functionality to hide known issues with their resources.
use the command line parameter ```-rules {filename}``` to make a set of rules apply.
To use this functionality, use the command line parameter ```-rules {filename}``` to make a set of rules apply.
There are two ways to turn off validation rules:
@ -23,14 +23,16 @@ There are two ways to turn off validation rules:
This approach is conceptually simple: the entire validation is executed, and then
messages are filtered from the output based on their messageId.
The messageId is not usually shown; use the command line parameter ```-show-message-ids``` to show
the messageIds in the output.
The message ids are not usually shown in the validator output; use the command line parameter
```-show-message-ids``` to show the message ids in the output.
Messages can be suppressed by id, or by path and id (where path is the element the message is associated with).
Some notes on this approach:
* This turns off all uses of that message id - there's no way to be selective about what context they occur in
* This turns off all uses of that message id(+path) - there's no way to be selective about what context they occur in beyond the element path
* the messageId is directly tied to the format of the message. For some messages, there are multiple variants of the message, each with their own id, and these all need to be suppressed
* message ids are stable, but sometimes an existing message is improved in some contexts, and new message ids are introduced in later versions
* message ids are stable (including across languages), but sometimes an existing message is improved in some contexts, and new message ids are introduced in later versions
* the underlying validation still happens, even when the messages are suppressed
@ -159,7 +161,7 @@ For each rule, zero or more filters are provided, and a set of options (which ma
The file begins with zero or more suppression statements:
```
- VALIDATION_VAL_STATUS_INCONSISTENT_HINT
- VALIDATION_VAL_STATUS_INCONSISTENT_HINT@CodeSystem.valueSet
- MSG_DEPRECATED # comments are allowed
# comments are allowed here too
- This_element_does_not_match_any_known_slice_
@ -181,7 +183,7 @@ Comments can also be on empty lines e.g. lines with no rules:
```json
{
"suppress" : ["VALIDATION_VAL_STATUS_INCONSISTENT_HINT", "MSG_DEPRECATED", "This_element_does_not_match_any_known_slice_"],
"suppress" : ["VALIDATION_VAL_STATUS_INCONSISTENT_HINT@CodeSystem.valueSet", "MSG_DEPRECATED", "This_element_does_not_match_any_known_slice_"],
"rules" : [{
"type" : "element",
"filters" : [{