Stream: IG creation
Topic: Canonical URL doesn't resolve
Saul Kravitz (Jun 12 2019 at 15:53):
We have submitted our draft IG via github to https://github.com/HL7/davinci-pdex-formulary
and it successfully builds at http://build.fhir.org/ig/HL7/davinci-pdex-formulary/
However, based on @Grahame Grieve guidance, we adjusted the canonical URL to http://hl7.org/fhir/us/Davinci-drug-formulary.
We have myriad IG publisher errors because http://hl7.org/fhir/us/Davinci-drug-formulary "does not resolve".
What needs to happen so that the canonical URL will resolve?
Or is this an "excused error" in the IG build process for now?
Thx,
Saul
Grahame Grieve (Jun 13 2019 at 11:54):
where did you adjust it?
Chris Moesel (Jun 13 2019 at 12:55):
@Grahame Grieve - Based on the qa.html it looks like the resolution errors happen when validating definitions where one of the identifier
s uses http://hl7.org/fhir/us/Davinci-drug-formulary
as the system
of the identifier. Is identifier.system
expected to resolve? Isn't it just a logical identifier for the identifier system that maybe should resolve but is not required to resolve?
Saul Kravitz (Jun 13 2019 at 15:07):
Adjusted = set it in the ig.json (in https://github.com/HL7/davinci-pdex-formulary/blob/master/ig.json)
@Chris Moesel is asking whether http://hl7.org/fhir/us/Davinci-drug-formulary needs to resolve.
At this point in time, should http://hl7.org/fhir/us/Davinci-drug-formulary resolve?
Grahame Grieve (Jun 14 2019 at 01:53):
i don't know. what do you think it points to?
Grahame Grieve (Jun 14 2019 at 01:53):
I can't see why you think it should resolve
Grahame Grieve (Jun 14 2019 at 01:54):
and what's with the broken & in index.html?
Saul Kravitz (Jun 14 2019 at 14:14):
This is fairly urgent, since the DrugFormularyIG needs to be finalized by 6/17/19.
Regarding resolution:
In general, it appears that the canonical-URL for an IG in ballot doesn't resolve. That's fine.
Almost all of the errors in this IG relate to extensions that reference locally defined codesystems (e.g. https://build.fhir.org/ig/HL7/davinci-pdex-formulary/branches/master/CodeSystem-usdf-PharmacyTypeCS.json.html ) that use the canonical-URL. So for example:
{
"resourceType" : "CodeSystem",
"id" : "usdf-PharmacyTypeCS",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<p><b>PharmacyTypeCS CodeSystem</b></p>\n<p>Types of Pharmacies. Each payer will have its own controlled vocabulary.</p>\n</div>"
},
"url" : "http://hl7.org/fhir/us/Davinci-drug-formulary/CodeSystem/usdf-PharmacyTypeCS",
"identifier" : [
{
"system" : "http://hl7.org/fhir/us/Davinci-drug-formulary",
"value" : "usdf.PharmacyTypeCS"
}
],
"version" : "0.3",
"name" : "PharmacyTypeCS",
"title" : "PharmacyTypeCS",
"status" : "draft",
There shouldn't be any expectation/need for this URL to resolve TODAY.
So, I think flagging these as errors is incorrect. At the point in time when the canonicalURL resolves, this codesystem reference will also resolve.
Saul Kravitz (Jun 14 2019 at 14:16):
and what's with the broken & in index.html?
Fixed...
Grahame Grieve (Jun 15 2019 at 18:10):
The error:
URL value 'http://hl7.org/fhir/us/Davinci-drug-formulary' does not resolve
To resolve, it would find a CodeSystem with a canonical URL of http://hl7.org/fhir/us/Davinci-drug-formulary. I do not see any such code system in the IG. Nor do I see any such code system in US-Core, where the canonical URL implies that it come from, but you don't have the authority to create resources in the US Core namespace anyway.
The fragment you have above implies that you think that using some URL in an identifier has some meaning but that is not the case.
Grahame Grieve (Jun 15 2019 at 18:11):
the correct system value to refer to the code system you have there is http://hl7.org/fhir/us/Davinci-drug-formulary/CodeSystem/usdf-PharmacyTypeCS
Chris Moesel (Jun 15 2019 at 18:25):
@Grahame Grieve -- this URL is in the identifier
-- it is the identifier.system
. I think the idea is that the IG declares business identifiers for each profile/codesystem/valueset -- for which the business identifier's system
is actually the canonical URL of the IG. Is that not valid?
Grahame Grieve (Jun 15 2019 at 18:31):
oh. I see. What makes it ok to just pretend that the canonical URL of the IG is also the URL of an identifier system?
Grahame Grieve (Jun 15 2019 at 18:33):
I'm not sure I follow the value of business identifiers like that anyway. What do they achieve?
Chris Moesel (Jun 17 2019 at 03:55):
@Grahame Grieve -- I don't see any specific rules around identifier.system
that would prohibit such a thing. It just says it should be a URL that ensures the identifiers are unique. That said, the whole thing does seem kind of redundant, doesn't it? I think our CIMPL tooling is generating out those identifiers like that. I'll take a look to see if it's really necessary. We might be relying on it somewhere; I don't remember.
Grahame Grieve (Jun 17 2019 at 03:55):
if they're CIMPL identifiers, fine... but they should be in some other space, identified by a naming system.
Grahame Grieve (Jun 17 2019 at 03:56):
I guess you're right that we don't have a specific rule saying that you can't use an IG canonical URL as a identifier system space. But we do generally have a rule that you don't repurpose URLs (if for no other reason that they blow up OWL)
Chris Moesel (Jun 17 2019 at 03:58):
OK. I think US Drug Formularies is trying to nail down a build tomorrow. Is this a thing that would/will cause it to fail QA? Just trying to prioritize the issues to ensure we fix the right ones.
Grahame Grieve (Jun 17 2019 at 04:01):
probably not. I'd rather it was fixed, but I guess I wouldn't stop ballot over it
Last updated: Apr 12 2022 at 19:14 UTC