FHIR Chat · Problems with ignoreWarnings.txt · IG creation

Stream: IG creation

Topic: Problems with ignoreWarnings.txt


view this post on Zulip Brian Reinhold (Feb 08 2021 at 14:21):

I am trying to figure out exactly what to copy into the ignoreWarnings.txt file. All I have been able to gather is that the text to ignore has to be an exact copy. But it is not clear from the documentation exactly what part to copy. For example, in the qa.txt file I have this error I would like to suppress:

INFORMATION: StructureDefinition/PhdBaseObservation: StructureDefinition: Validate resource against profile http://hl7.org/fhir/StructureDefinition/StructureDefinition
ERROR: StructureDefinition/PhdBaseObservation: StructureDefinition.snapshot.element[86].fixed.ofType(uri): URL value 'http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status' does not resolve
ERROR: StructureDefinition/PhdBaseObservation: StructureDefinition.differential.element[28].fixed.ofType(uri): URL value 'http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status' does not resolve

I want to suppress the measurement-status does not resolve error. Exactly WHAT should I copy from the qa.txt file to suppress that error?

THanks!

view this post on Zulip Rob Hausam (Feb 08 2021 at 14:49):

You need to include the entire line in qa.txt for the particular error. That should work.

view this post on Zulip Brian Reinhold (Feb 08 2021 at 14:56):

Rob Hausam
That includes the 'ERROR:' correct? Do I need to include the second line as well even though it is the same value set that is causing the error?

view this post on Zulip Rob Hausam (Feb 08 2021 at 15:00):

I'm not sure what you mean by the "second line". I'm pretty sure that each error is on its own single line (but they can be pretty long). If you don't think that's true in your case, then maybe you can post an example.

view this post on Zulip Rob Hausam (Feb 08 2021 at 15:01):

And yes, it does include the 'ERROR:'.

view this post on Zulip Brian Reinhold (Feb 08 2021 at 15:12):

Rob Hausam said:

I'm not sure what you mean by the "second line". I'm pretty sure that each error is on its own single line (but they can be pretty long). If you don't think that's true in your case, then maybe you can post an example.

Sorry, I wasn't clear. I mean that if I want to suppress both of the errors, do I have to include both lines? The error is caused by the same value set but it is used in more than one StructureDefinition. In fact, it is used in several more, so this error is repeated several times, though they are all due to the
'http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status' value set reference.

view this post on Zulip Lloyd McKenzie (Feb 08 2021 at 16:34):

You have to suppress every message you want suppressed. The process has zero clue over cause. It's just filtering messages. You can (and should) group suppression that are related to the same cause and provide a shared comment for all of them that explains why they're being suppressed.

view this post on Zulip Lloyd McKenzie (Feb 08 2021 at 16:36):

If you have the same message that's appearing multiple places and you know that everywhere that message appears (now and in the future) is safe to ignore, you can copy the text following the path and skip the location. E.g.
URL value 'http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status' does not resolve

Note that what you're flagging for suppression here seems odd. Why don't those URLs resolve?

view this post on Zulip Brian Reinhold (Feb 08 2021 at 16:43):

Lloyd McKenzie

Note that what you're flagging for suppression here seems odd.  Why don't those URLs resolve?

In this case that code system is defined by another IG (PoCD - Point of Care Devices) which is still a work in progress. PoCDs are much more complicated than PHDs so it's a lot more work. PHD and PoCD are working together to try and harmonize as much as possible so where we can share things, we do.

I tried skipping the location and it did not work. I have the following:

# The following code system is not yet supported by the terminology server. This oid identifies the Nomenclature (MDC)
# code system defined in IEEE 11073 10101 and used by both PoCD and PHD devices. There are several value sets and code
# systens defined in the PHD and PcOCD implementation guides which are based upon this same MDC code system which causes
# problems when referencing them.
Error from server: Unable to provide support for code system urn:iso:std:iso:11073:10101
Code System URI "urn:iso:std:iso:11073:10101" is unknown so the code cannot be validated

# This value set is defined by an as-of-yet published PoCD Implementation Guide. The PHD and PoCD implementation
# guides have attempted to harmonize as much as possible.
URL value 'http://hl7.org/fhir/uv/pocd/CodeSystem/measurement-status' does not resolve

# This profile is not something that can be implemented. It represents only those elements that are common to all PHD Observational profiles.
The Implementation Guide contains no examples for this profile

I have some other odd behaviors I have had when editing this file. Is there any thing that it cached such that changes in my file are ignored (the local build)?

view this post on Zulip Lloyd McKenzie (Feb 08 2021 at 16:50):

You should still have a dependency on the IG and the dependency will be locked to a specific version, which means the URL links should be stable in your own build

view this post on Zulip Lloyd McKenzie (Feb 08 2021 at 16:51):

You should never suppress "no examples for this profile" on a general basis - that's something you need to evaluate on a profile by profile basis and document where the examples exist for each one in your comment.

view this post on Zulip Lloyd McKenzie (Feb 08 2021 at 16:51):

Are you copying from qa.txt? (Copying from qa.html sometimes has problems)

view this post on Zulip Brian Reinhold (Feb 08 2021 at 17:10):

Lloyd McKenzie said:

You should never suppress "no examples for this profile" on a general basis - that's something you need to evaluate on a profile by profile basis and document where the examples exist for each one in your comment.

In this case I cannot make examples for that profile as one cannot instantiate it. All it has are elements common to all Observation profiles. By itself it has no values! I used that approach to avoid having to write the same xml over and over again in each of the profiles. It also avoids the problems associated with a change being made in that 'base' and having to repeat it N times in all N profiles that use it.

view this post on Zulip Brian Reinhold (Feb 08 2021 at 17:13):

Lloyd McKenzie said:

You should still have a dependency on the IG and the dependency will be locked to a specific version, which means the URL links should be stable in your own build

The value set is designated as 'sharable' so anyone can use it. Is the only way to resolve the problem is that I make my own copy?

view this post on Zulip Lloyd McKenzie (Feb 08 2021 at 18:30):

If it's an ancestor, that's fine. But you suppress the message for that specific profile, not for all profiles
If you want to use a value set from another IG, you must declare a dependency on that IG. You should not copy the valueset.

view this post on Zulip Brian Reinhold (Feb 10 2021 at 10:13):

Lloyd McKenzie
Is there something wrong with the ignoreWarnings.txt file I show above? It does not work. The errors and warnings still remain.

view this post on Zulip Lloyd McKenzie (Feb 10 2021 at 15:08):

Did you copy from qa.txt? And the FMG won't let you suppress "The Implementation Guide contains no examples for this profile" - you'll have to do it profile by profile.

view this post on Zulip Lloyd McKenzie (Feb 10 2021 at 15:09):

Did you copy from qa.txt? And the FMG won't let you suppress "The Implementation Guide contains no examples for this profile" - you'll have to do it profile by profile.

view this post on Zulip Richard Townley-O'Neill (Feb 11 2021 at 01:15):

My file is identified in ig.json and is called suppressed-warnings.txt

view this post on Zulip Nathan Davis (Dec 16 2021 at 18:08):

I'm having this same issue right now. I've updated the ignorWarnings.txt file to the new format, tried the old format, and even several combinations of the two. No matter what I do I can't get warnings to be suppressed. The repository is at https://github.com/HL7/cimi-vital-signs and the CI build is https://build.fhir.org/ig/HL7/cimi-vital-signs/branches/master/index.html. Please help.

view this post on Zulip John Moehrke (Dec 16 2021 at 18:14):

the ignoreWarnings.txt would be in the same folder as your IG xml... but your folder layout is so radically different than recommended layout that I can't be sure.

view this post on Zulip Nathan Davis (Dec 16 2021 at 18:18):

The ig.json file point to cimi-vital-signs/source/resources/supressedWarnings/ignoreWarnings.txt as the location for the ignoreWarnings.txt file. I'll move it to the top level folder where the ig.json file is and change the reference to see what happens.

view this post on Zulip Elliot Silver (Dec 16 2021 at 18:19):

Nathan Davis said:

I've updated the ignorWarnings.txt file to the new format, tried the old format, and even several combinations of the two.

Wait, what? There's a new format?

view this post on Zulip John Moehrke (Dec 16 2021 at 18:45):

I presumed this was the "new" format that uses markdown (esk) header to explain a group of warniings to ignore

view this post on Zulip Nathan Davis (Dec 16 2021 at 18:46):

@John Moehrke Yes.

view this post on Zulip Nathan Davis (Dec 16 2021 at 19:09):

Made the changes and still no joy.

view this post on Zulip Vassil Peytchev (Dec 16 2021 at 19:11):

It looks like you have only few warning and a lot of errors - AFAIK, you cannot suppress errors

view this post on Zulip Lloyd McKenzie (Dec 16 2021 at 19:20):

When suppressing, make sure you're copying the messages from qa.txt, not qa.html. Vassil is correct - errors can't be suppressed. (And if you're going to suppress warnings, you need to provide a reason that's convincing to the FMG.)

view this post on Zulip Lloyd McKenzie (Dec 16 2021 at 19:21):

Also, you will need to move to the template-based publication mechanism before you can go to ballot

view this post on Zulip Nathan Davis (Dec 16 2021 at 20:55):

Not trying to suppress errors. I am copying the messages from qa.txt.

view this post on Zulip Lloyd McKenzie (Dec 17 2021 at 01:32):

Can you migrate your IG to the standard HL7 FHIR template? That'll likely fix your problem. And if not, it'll certainly make diagnosing easier.

view this post on Zulip Nathan Davis (Jan 06 2022 at 14:50):

@Lloyd McKenzie Is there any documentation about how to perform the migration to the template? I've tried replacing the old framework folder with the HL7 template folder (with all necessary files) but I get an error stating "cannot find framework" when I try to publish.

view this post on Zulip Lloyd McKenzie (Jan 06 2022 at 16:53):

You won't have a framework folder. The template folder will be automatically created for you. All you need is an ig.ini that points to the proper template. There's documentation here: http://build.fhir.org/ig/FHIR/ig-guidance/using-templates.html. You might also look at the https://github.com/fhir/sample-ig as a model.


Last updated: Apr 12 2022 at 19:14 UTC