Stream: IG creation
Topic: Auto-populating dependency information
Rick Geimer (May 22 2020 at 19:43):
We are trying to add new functionality in Trifolia on FHIR to allow users to search dependencies using the FHIR IG Registry definitions:
https://raw.githubusercontent.com/FHIR/ig-registry/master/fhir-ig-list.json
However, ImplementationGuide.dependsOn.uri needs to contain the cannonical URI of the target IGs ImplementationGuide resource (for US Core this is "http://hl7.org/fhir/us/core/ImplementationGuide/hl7.fhir.us.core"), and that URI is not in the fhir-ig-list.json file. @Grahame Grieve is this something that could be added? If not, how do you recommend programatically discovering the cannonical URI of the ImplementationGuide resource for a specific version of a given IG?
Adding @Arvind Jagannathan and @Sean McIlvenna for awareness.
Grahame Grieve (May 22 2020 at 22:13):
the dependsOn.uri is [canonical]/ImplementationGuide/[package] not including the version
Rick Geimer (May 26 2020 at 14:50):
We can certainly work with that, but is it actually true, especially for historical IGs?
The type for dependsOn.uri is canonical(ImplementationGuide), which I would assume equates to ImplementationGuide.url for the ImplementationGuide resource in that IG.
http://build.fhir.org/implementationguide.html
Have the ImplementationGuide resources for all historical IGs in the registry been updated to meet the convention you listed above, or does the IG Publisher just do it's own thing and ignore what is actually in ImplementationGuide.url (in which case we should update the spec to reflect what is actually going on)?
Chris Moesel (May 26 2020 at 15:44):
In SUSHI, we look up dependency IGs using their package ID and version -- then add them to the primary IG's ImplemenationGuide JSON using the URL specified in the dependency IGs' ImplementationGuide JSON files. So far that's worked for us, but there may be edge cases we have not hit yet.
Grahame Grieve (May 26 2020 at 22:38):
the IG publisher used to just use [base]. Lloyd helpfully pointed out that this was illegal, so I had to change to using [base]/ImplementationGuide/[package-id]. Some old packages might exist that don't conform to this, but the IG publisher is pretty forgiving on this
Rick Geimer (May 28 2020 at 16:36):
Ok, so the IG publisher uses [base]/ImplementationGuide/[package-id] which is good from our perspective as we can discover that info from the IG registry. However, seems that doesn't mean that an actual ImplementationGuide resource instance exists where ImplementationGuide.uri conforms to [base]/ImplementationGuide/[package-id], right? Not a problem for us, just an inconsistency to be aware of.
Grahame Grieve (May 28 2020 at 19:04):
it will be true going forward
Last updated: Apr 12 2022 at 19:14 UTC