Stream: IG creation
Topic: Validating against updated vocabularies
Elliot Silver (Aug 21 2020 at 23:28):
In my IG, I have a couple of code elements set to the LOINC 95418-0. This appears to cause the IG build to fail because it isn't in the release of LOINC known to tx.fhir.org. Is there a way to change the release an IG is validated against?
The code "95420-6" is not valid in the system http://loinc.org; The code provided (http://loinc.org#95420-6) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4) for 'http://loinc.org#95420-6' (see Tx log)
Grahame Grieve (Aug 21 2020 at 23:29):
no. it's a matter of asking @Rob Hausam to update the version of LOINC known to the server
Rob Hausam (Aug 22 2020 at 13:01):
I'll do it today.
Elliot Silver (Aug 22 2020 at 19:10):
@Rob Hausam I have a couple of terms that are failing. Do you need a list, or are you just going to grab the latest?
Rob Hausam (Aug 22 2020 at 19:15):
It will be upgraded to 2.68 (2020-06-17).
Rob Hausam (Aug 22 2020 at 19:19):
We may want to consider whether we can or should find a way to include the pre-release terms - but that's another discussion and I think would be a separate step.
Rob Hausam (Aug 22 2020 at 20:04):
@Elliot Silver OK. I should have done some further checking before I responded earlier. The tx.fhir.org server upgrade to LOINC 2.68 was done last month. I verified (by spot check) that new concepts that were added in that release are being validated by the server as expected. So yes, if you can share the terms that are failing we can try to figure out what is going on - but it should be working for anything that is included in LOINC 2.68.
Rob Hausam (Aug 22 2020 at 20:11):
Codes 95418-0
and 95420-6
are not valid LOINC codes. The LOINC search site also doesn't find them (see queries for 95418-0 and 95420-6).
Elliot Silver (Aug 22 2020 at 20:15):
https://loinc.org/95418-0/ seems to work.
Elliot Silver (Aug 22 2020 at 20:15):
As does https://loinc.org/95420-6/
Rob Hausam (Aug 22 2020 at 20:19):
Yes, they "work" in one sense - in that they resolve on a Web page. But it's the issue that I described, as they are both pre-release codes - meaning that they haven't been included in any officially published LOINC version yet. We've had some recent discussions with Regenstrief about how they will represent that, and that leads to some considerations about how we might handle that - but that is definitely not concluded yet.
Elliot Silver (Aug 22 2020 at 20:22):
hmm. OK, I guess I need to look at how to suppress the error for now then.
Rob Hausam (Aug 22 2020 at 20:23):
These codes, as pre-release, aren't even guaranteed to ever show up in an official LOINC release (although I expect that these will be in the next 2.69 release). And yes, if you need to use them now, which you can, you probably will need to suppress the warning messages (they shouldn't cause an actual error - if they do, we should investigate that).
Rob Hausam (Aug 22 2020 at 20:30):
You also should keep in mind that anyone receiving your data may have no idea what these codes are - and if they validate the data they might legitimately flag them as in error. If they are included explicitly in your IG (assuming that's what you are doing), then that should be clear and likely wouldn't be a significant problem.
Elliot Silver (Aug 22 2020 at 20:38):
Rob Hausam said:
(they shouldn't cause an actual error - if they do, we should investigate that).
It appears to be causing actual error:
The code "95420-6" is not valid in the system http://loinc.org; The code provided (http://loinc.org#95420-6) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4) for 'http://loinc.org#95420-6' (see Tx log)
Rob Hausam (Aug 22 2020 at 20:42):
Yes, it is an "error" from the terminology server perspective (the source of that message - in the build and the Tx log). But it shouldn't cause an error in the IG build itself (I think it should be a warning). Does that make sense?
Elliot Silver (Aug 22 2020 at 20:45):
It shows up as an error for the resource in the QA file, and in the error count at the end of the IG publisher run.
Rob Hausam (Aug 22 2020 at 20:47):
Can you post a link to (or copy of) the qa file?
Rob Hausam (Aug 22 2020 at 20:48):
One reason for asking is that I don't believe (unless it's changed) it's possible to suppress actual build error messages.
Elliot Silver (Aug 22 2020 at 20:48):
Let me check it in -- hold on.
Grahame Grieve (Aug 22 2020 at 20:52):
it should be an error in the qa file but it shouldn't stop the IG from building ok
Elliot Silver (Aug 22 2020 at 20:55):
If by "shouldn't stop the IG from building OK" you mean "doesn't cause the publisher to crash", then, correct, it doesn't stop the IG from building OK.
Elliot Silver (Aug 22 2020 at 20:56):
OK, QA file:
Details: build logs | published | qa: broken links = 2, errors = 6, warn = 24, info = 0
Rob Hausam (Aug 22 2020 at 20:56):
The "code xxxxx not valid in the system" messages that I've seen (in IPS and elsewhere) show up as Severity = warning.
Rob Hausam (Aug 22 2020 at 20:59):
Yes, yours are indeed showing up as errors. I haven't yet rebuild IPS with the latest publisher, so ours might be that way now, too. I think that having them as warnings is more appropriate (unless I'm missing something).
Grahame Grieve (Aug 22 2020 at 21:00):
it's an error if you use a code that isn't a valid code. You might choose to publish anyway, but I won't be changing the validator to make that a warning
Rob Hausam (Aug 22 2020 at 21:01):
So, does that presume that it was previously a warning (as I said) and that you changed it to be an error?
Grahame Grieve (Aug 22 2020 at 21:02):
I'm pretty sure that it's always been an error. There are other circumstances where you might get a warning - unknown code system, for instance
Rob Hausam (Aug 22 2020 at 21:06):
I'm pretty sure that I've never seen "code xxxxx not valid in the system" show up as an error before, in working with several different IGs (of course nowhere near all of them), and a large number of publisher versions. Here's an IPS example (from Publisher 1.1.2):
/scratch/ig-build-temp-LP1SY2/repo/input/vocabulary/valueset-snomed-intl-gps.xml
Path Severity Message
ValueSet/snomed-intl-gps: ValueSet Process Info Validate resource against profile http://hl7.org/fhir/StructureDefinition/ValueSet
ValueSet/snomed-intl-gps: ValueSet.compose[0].include[0].concept[10440] warning The code 133797003 is not valid in the system http://snomed.info/sct version http://snomed.info/sct/900000000000207008/version/20190731
ValueSet/snomed-intl-gps: ValueSet.compose[0].include[0].concept[18458] warning The code 426417003 is not valid in the system http://snomed.info/sct version http://snomed.info/sct/900000000000207008/version/20190731
ValueSet/snomed-intl-gps: ValueSet Process Info Validate resource against profile http://hl7.org/fhir/StructureDefinition/shareablevalueset - listed in meta
Grahame Grieve (Aug 22 2020 at 21:07):
yes it's a warning on value set compose, rather than when you use it in a Coding.
Elliot Silver (Aug 22 2020 at 21:13):
Now that I know it is supposed to be an error, I can work with that.
On a related issue, I get an intermittent warning that about validating various jurisdiction elements using http://unstats.un.org/unsd/methods/m49/m49.htm#001. I don't have the warning handy right now, but I don't think the value set can be expanded.
Rob Hausam (Aug 22 2020 at 21:13):
Yes, that's a difference. I don't have anything that I recall with this situation with Coding. Elliot's examples show how this is potentially problematic (unless ignorable as you suggested) with the LOINC pre-release codes. But it also may presume things about terminology server versus data instance code system version differences that could also be problematic.
Rob Hausam (Aug 22 2020 at 21:24):
@Grahame Grieve If an IG needs to use an officially released version of a code system that the build terminology server doesn't (yet) support, then a request should be made for updating the server to support that version of the code system. Correct?
Grahame Grieve (Aug 22 2020 at 21:37):
yes
Rob Hausam (Aug 22 2020 at 22:04):
I still suspect we will need to figure out a better general solution (other than ignoring build errors) for dealing with the LOINC pre-release codes. The conclusion from the latest discussion (that I'm aware of) with Regenstrief on the May 29 LIVD call is that they will use [NextVersion]-pre
as the version for these codes. So, since the current released LOINC version is 2.68
, the (currently 120) codes listed on the pre-release page would have the version 2.69-pre
. It doesn't appear to me that they have implemented this on their FHIR endpoint yet, as the codes that Elliot referenced (e.g., 95420-6) aren't found.
Elliot Silver (Aug 22 2020 at 23:09):
@Grahame Grieve, am I correct that you can't actually suppress errors with ignoreWarnings.txt?
Grahame Grieve (Aug 22 2020 at 23:55):
yes
Last updated: Apr 12 2022 at 19:14 UTC