HL7 / fhir-ig-publisher

Source code for the IG publisher
Apache License 2.0
68 stars 56 forks source link

ignoreWarnings.txt fails to suppress all messages #470

Closed atruskot closed 2 months ago

atruskot commented 2 years ago

Documentation found here and here states that ignoreWarnings.txt can be used to suppress errors, warnings, and information messages that don't provide value to the IG.

However, actually attempting to suppress errors does not appear to function as documented. For example, my IG is generating two types of errors, one because the publishing tool can't generate the OMB Race codes and another because the publisher has added validation beyond the uri regex for identifier.system.

# Examples with local namespace assigning authorities (ex: PID-3.4.1 "PatientId") instead of an absolute URI.
Identifier.system must be an absolute reference, not a local reference

# The publication tooling does not currently support generation of this Value Set expansion
Canonical URL 'http://hl7.org/fhir/us/core/ValueSet/omb-ethnicity-category' does not resolve

# Testing a warning
Unknown System specified, so Concepts and Filters can''t be checked

image

grahamegrieve commented 2 years ago

Errors cannot be suppressed. where in the documentation does its say they can?

atruskot commented 2 years ago

From the two documents I linked in the original post:

This file has the following format: == Suppressed Messages == # Your Reason Here error or warning message to be suppressed

Warnings and information messages, and some errors, can be silenced by including them in the input/ignoreWarnings.txt file.

== Suppressed Messages == # Errors to suppress # This is a known IG Publisher error ERROR: /Users/skravitz/git/davinci-pdex-plan-net/fsh/build/output/searchform.html#/html/body/div/div/a/img/div/div/nav/div/div/ul/li/a at Line 64, column 21: The link 'history.html' for "History" cannot be resolved

The documentation even calls out the fact that users may wish to suppress error messages that are the result of defects in the tooling itself. It really seems that there was once an intention to suppress the errors that are being generated in qa.html.

The implementation guide publisher generates many Warnings and information messages. They may arise from:

  • Errors in the design of the Implementation Guide
  • Bugs in the publication tooling
  • Necessary outcomes from the specification (not an issue at all)
atruskot commented 2 years ago

It really does seem that there are a lot of false positive errors coming out of the publisher's validation. The false positives really make it difficult for teams to rely on this validation tool.

As an example, today I experienced another terminology error while playing around with ICD codes. Example: Z00.01:

The code "Z00.01" is not valid in the system http://hl7.org/fhir/sid/icd-10; The code provided (http://hl7.org/fhir/sid/icd-10#Z00.01) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4) for 'http://hl7.org/fhir/sid/icd-10#Z00.01'

Same type of errors pop up for US Core value sets. example

Canonical URL 'http://hl7.org/fhir/us/core/ValueSet/omb-ethnicity-category' does not resolve

grahamegrieve commented 2 years ago

Raise general issues here: https://chat.fhir.org/#narrow/stream/179252-IG-creation

lmckenzi commented 2 months ago

It's possible to suppress errors related to broken links. Other errors cannot be suppressed. To the best of our knowledge, the validator does not produce false positive errors. If you find places where false positives are being produced, please submit them explicitly.