FHIR Chat · dependent packages - simplifier · conformance

Stream: conformance

Topic: dependent packages - simplifier


view this post on Zulip Kevin Mayfield (Aug 11 2020 at 11:06):

I have a package https://packages.simplifier.net/UK.DM.r4/-/UK.DM.r4-0.0.28-dev.tgz
within simplifier it depends on several other packages. How should I find these from the tgz file?

What I want to do is download the package plus the related packages and run the resources through a custom FHIR Validator.

view this post on Zulip Kevin Mayfield (Aug 11 2020 at 11:07):

(or IG Package validation)

view this post on Zulip Grahame Grieve (Aug 11 2020 at 12:28):

what's the ids of the other packages?

view this post on Zulip Ward Weistra (Aug 13 2020 at 08:42):

@Kevin Mayfield Unpack the package and find package.json in the package folder. That contains:

"dependencies": {
    "UK.Spine.r4": "0.0.6-dev",
    "UK.Core.r4": "1.2.0",
    "hl7.fhir.r4.core": "4.0.1"
  }

Which gives you the components to build up the download URLs for the other packages.

view this post on Zulip Kevin Mayfield (Aug 13 2020 at 08:56):

How did I miss that :) thanks

How would I know they were on simplifier. Using the IG Builder I would get the Uri for down within the ImplementationGuide resource e.g.

<dependsOn>
<uri value="https://project-wildfyre.github.io/uk-testcore-r4/ImplementationGuide/uk.testcore.r4" />
<packageId value="uk.testcore.r4"/>
<version value="dev"/>
</dependsOn>

view this post on Zulip Kevin Mayfield (Aug 13 2020 at 09:10):

Should the Simplifier IG resource have entries like:

<dependsOn>
<uri value="https://packages.simplifier.net/UK.Core.r4/-/UK.Core.r4-1.2.0.tgz" />
<packageId value="UK.Core.r4"/>
<version value="1.2.0"/>
</dependsOn>

view this post on Zulip Ward Weistra (Aug 13 2020 at 10:19):

@Kevin Mayfield I believe dependsOn.uri should have the canonical of the Implementation Guide (= canonical of the package), not the download URL of the package.

Every package that is published to the package registry (like official publications by HL7, FHIR Foundation and any package published on Simplifier) is available on the package registry (available under the package.simplifier.net or the identical packages.fhir.org url).

I understand the IG Publisher will look the package based on the packageId and version only:

  • If version is dev: It looks in only in your local cache
  • If version is current: It looks first in your local cache, if not current anymore or not available looks in https://build.fhir.org/ig/
  • If version is anything else: It looks first in your local cache, if not available looks in packages.fhir.org (==packages.simplifier.org)

view this post on Zulip Grahame Grieve (Aug 13 2020 at 11:29):

yes that's true, except that the package resolution can start with a canonical URL instead of a packageId

view this post on Zulip Ward Weistra (Aug 13 2020 at 11:47):

@Grahame Grieve The packages you're getting here (https://github.com/hapifhir/org.hl7.fhir.core/blob/master/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/cache/FilesystemPackageCacheManager.java#L89) from the secondary package server, are those tooling related packages that Simplifier has refused to import? Or for when Simplifier doesn't pick them up quickly enough?

view this post on Zulip Grahame Grieve (Aug 13 2020 at 11:48):

both.

view this post on Zulip Grahame Grieve (Aug 13 2020 at 11:49):

I don't know how quickly simplifier picks them up, but the back up scans every hour, or on demand.

view this post on Zulip Grahame Grieve (Aug 13 2020 at 11:49):

and then there's the packages that packages.fhir.org won't pick up - hl7.fhir.pubpack being the critical one, though there are others

view this post on Zulip Grahame Grieve (Aug 13 2020 at 11:50):

btw, simplifier still does not export it's own package feed

view this post on Zulip Kevin Mayfield (Aug 14 2020 at 12:08):

Cheers, I'll do some experimentation.

view this post on Zulip Kevin Mayfield (Aug 14 2020 at 12:50):

https://github.com/hapifhir/org.hl7.fhir.core/blob/master/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/cache/FilesystemPackageCacheManager.java

Doesn't pick up dependsOn packages does it. Presume IG Builder does this?

view this post on Zulip Ward Weistra (Aug 17 2020 at 13:11):

Yes, I think it happens around here: https://github.com/HL7/fhir-ig-publisher/blob/master/org.hl7.fhir.publisher.core/src/main/java/org/hl7/fhir/igtools/publisher/Publisher.java#L2643

view this post on Zulip Grahame Grieve (Aug 17 2020 at 19:19):

the version current means, for now, resolve on build.fhir.org build record. It's on my long term list to also mean getting the latest from simplifier, when simplifier users want that and we know how it would work


Last updated: Apr 12 2022 at 19:14 UTC