FHIR Chat · Publishing Feeds · tooling

Stream: tooling

Topic: Publishing Feeds


view this post on Zulip Grahame Grieve (Aug 18 2021 at 05:55):

@Ward Weistra @Ewout Kramer I would like to split the feed information out from https://github.com/FHIR/ig-registry/blob/master/fhir-ig-list.json to https://github.com/FHIR/ig-registry/blob/master/ig-feeds.json, and update the crawlers to use this instead. Is this OK? when it is, I will remove the feed information from where it is currently.

view this post on Zulip Grahame Grieve (Aug 18 2021 at 05:56):

(no change in format in the file, just change the URL you access it from)

view this post on Zulip Ewout Kramer (Aug 18 2021 at 08:27):

I've forwarded this message to @Martijn Harthoorn who probably knows more about it than I do. To be continued....

view this post on Zulip Martijn Harthoorn (Aug 30 2021 at 09:02):

In case my answer didn't get to you in another fashion: I have no problem with updating the name. Although, I would like to iterate that these are in my view package feeds, and not ig feeds. So I would prefer:
https://github.com/FHIR/ig-registry/blob/master/package-feeds.json

view this post on Zulip Grahame Grieve (Sep 01 2021 at 00:31):

@Martijn Harthoorn renamed

view this post on Zulip Grahame Grieve (Sep 03 2021 at 18:36):

@Martijn Harthoorn why does packages.fhir.org not have the last version of hl7.fhir.pubpack (has 0.0.8, 0.0.9 was released back in June - no wonder people are broken)

view this post on Zulip Martijn Harthoorn (Sep 07 2021 at 14:34):

I'll check the logs.

view this post on Zulip Martijn Harthoorn (Sep 07 2021 at 14:35):

Skipping hl7.fhir.pubpack-0.0.9. The Fhir version was not recognized: 4.0.

view this post on Zulip Grahame Grieve (Sep 07 2021 at 19:00):

it probably should recognise that, but I'm not sure why it's 4.0

view this post on Zulip Martijn Harthoorn (Sep 07 2021 at 20:24):

If it was a semver package version, yes it should recognize that.

view this post on Zulip Martijn Harthoorn (Sep 07 2021 at 20:26):

But this is about the FHIR specification version, where we just follow this list as literal as religion.

view this post on Zulip Martijn Harthoorn (Sep 07 2021 at 20:26):

http://hl7.org/fhir/directory.html

view this post on Zulip Martijn Harthoorn (Sep 07 2021 at 21:03):

hl7.fhir.pubpac succeeded.

Here is latest log:

Downloading package: hl7.fhir.us.immds-0.2.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- Package version '0.2.0' already exists for package 'hl7.fhir.uv.immds'
Skipping hl7.fhir.us.phcp-0.1.0. The Fhir version was not recognized: 3.1.0.
Skipping hl7.fhir.us.phcp-0.2.0. The Fhir version was not recognized: 3.1.0.

Downloading package: hl7.fhir.us.vrdr-1.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- Package version '1.2.0' already exists for package 'hl7.fhir.us.vrdr'
Processing: Common HL7 Terminology: http://terminology.hl7.org/package-feed.xml
Processing: FHIR Foundation Guides: http://fhir.org/guides/package-feed.xml
Skipping fhir.argonaut.pd-0.1.0. The Fhir version was not recognized: 1.9.0.
Skipping fhir.hspc.core-0.1.0. The Fhir version was not recognized: 1.9.0.
Processing: FHIR Foundation Support Packages: http://fhir.org/packages/package-feed.xml
Skipping fhir.tx.support.r3-0.10.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r3-0.11.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r3-0.12.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r3-0.13.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r3-0.14.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r4-0.10.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r4-0.11.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r4-0.12.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r4-0.13.0. The Fhir version was not recognized: current.
Skipping fhir.tx.support.r4-0.14.0. The Fhir version was not recognized: current.

Downloading package: hl7.fhir.pubpack-0.0.9
Publishing to: https://packages.simplifier.net
200 OK
Processing: FHIR Foundation Publishing Templates: http://fhir.org/templates/package-feed.xml
fhir.base.template#0.2.2 misses a fhirVersion
ihe.fhir.template#0.4.0 misses a fhirVersion
hl7.cda.template#0.2.2 misses a fhirVersion
hl7.utg.template#0.1.0 misses a fhirVersion
hl7.base.template#0.3.2 misses a fhirVersion
hl7.au.fhir.template#0.2.2 misses a fhirVersion
hl7.au.base.template#0.2.2 misses a fhirVersion
hl7.fhir.template#0.3.3 misses a fhirVersion
hl7.fhir.template#0.3.2 misses a fhirVersion
fhir.base.template#0.2.1 misses a fhirVersion
ihe.fhir.template#0.3.1 misses a fhirVersion
hl7.cda.template#0.2.1 misses a fhirVersion
hl7.base.template#0.3.1 misses a fhirVersion
hl7.au.fhir.template#0.2.1 misses a fhirVersion
hl7.au.base.template#0.2.1 misses a fhirVersion
hl7.fhir.template#0.3.1 misses a fhirVersion
fhir.base.template#0.2.0 misses a fhirVersion
ihe.fhir.template#0.3.0 misses a fhirVersion
hl7.cda.template#0.2.0 misses a fhirVersion
hl7.base.template#0.3.0 misses a fhirVersion
hl7.au.fhir.template#0.2.0 misses a fhirVersion
hl7.au.base.template#0.2.0 misses a fhirVersion
hl7.fhir.template#0.3.0 misses a fhirVersion
fhir.base.template#0.1.1 misses a fhirVersion
ihe.fhir.template#0.2.0 misses a fhirVersion
hl7.cda.template#0.1.2 misses a fhirVersion
hl7.base.template#0.2.1 misses a fhirVersion
hl7.au.fhir.template#0.1.2 misses a fhirVersion
hl7.au.base.template#0.1.2 misses a fhirVersion
hl7.fhir.template#0.2.1 misses a fhirVersion
ihe.fhir.template#0.1.0 misses a fhirVersion
fhir.base.template#0.1.0 misses a fhirVersion
hl7.cda.template#0.1.0 misses a fhirVersion
hl7.base.template#0.1.0 misses a fhirVersion
hl7.fhir.template#0.1.0 misses a fhirVersion
hl7.fhir.template#0.0.5 misses a fhirVersion
hl7.base.template#0.0.1 misses a fhirVersion
fhir.base.template#0.0.2 misses a fhirVersion

Processing: HL7 Australia: http://hl7.org.au/fhir/package-feed.xml
Processing: HL7 Switzerland: http://fhir.ch/package-feed.xml
Processing: mednet.swiss: https://mednet.swiss/fhir/package-feed.xml
Processing: David Hay packages (Interim name): http://igs.clinfhir.com/packages/package-feed.xml
Processing: IHE International: https://profiles.ihe.net/fhir/package-feed.xml

Downloading package: ihe.mhd.fhir-4.0.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- Package version '4.0.0-comment' already exists for package 'ihe.mhd.fhir'

Downloading package: ihe.pdqm.fhir-2.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- Package version '2.2.1' already exists for package 'IHE.ITI.PDQm'

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 07:45):

As you can see there is a lot of packages missing a fhirVersion. And upon digging, i found that somehow this line was added to the package spec:
fhirVersions - an optional list of FHIR versions that this package depends on. This is only used in the case where there is no dependency on a core package. Note: this usually happens when the package is based on a transient unpublished version of FHIR, which was allowed in the past but will no longer be allowed. So this should only be seen in old balloted packages

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 07:46):

I don't know how that got in there.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 07:47):

But that's like a refereree disqualifying all formula one drivers on a track, because he determined this was a horse race based on the fact that he saw a horse on the track.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 07:54):

I think that fhirVersion is (very) necessary, for people when they search for packages.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 07:54):

I am fine if it is only one version (a value instead of an array)

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 07:56):

I just wouldn't know how to index a package without it.

view this post on Zulip Grahame Grieve (Sep 08 2021 at 08:30):

well, there's two things going on there

view this post on Zulip Grahame Grieve (Sep 08 2021 at 08:31):

Some IGs will depend on more than one version. The IG publisher doesn't produce them yet but this is on the todo list. So we couldn't haev a single version. And we chose not to break the existing package spec by turning fhirVersion into an array, so we added fhirVersions. I thought you were on the call when we decided that, but someone from firely was.

view this post on Zulip Grahame Grieve (Sep 08 2021 at 08:31):

I think I'm still populating fhirVersion for now, but I mightn't always do that

view this post on Zulip Grahame Grieve (Sep 08 2021 at 08:32):

then there's a list of packages there that don't contain any resources, and don't have a dependency on fhir at all, and don't have a specific fhir version either. So they don't have a fhir version. And you can't index the resources in the package, because there isn't any

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:33):

ah, good that you mention this.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:34):

It's something that's been on my mind.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:34):

To me the only reason to design the package spec, was so that we could distribute resources. But I see there is more use.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:34):

So...

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:35):

What if we could make that explicit. We define a sub category of packages that explicitly don't contain resources.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:35):

I am not sure if it would cover it, but let's say all *.ig.tgz

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:36):

Or that we define with a property in the package.json that this is about something else.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:39):

Maybe something like:
"package-kind" :

  • resources (just a bunch of them)
  • spec (a full coherent spec)
  • ig (containing pages, but does not have resources, but probably should reference another package)
    ...

view this post on Zulip Grahame Grieve (Sep 08 2021 at 08:41):

that'd be 'kind' which all the packages I produce have always had

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:42):

Currently we don't specify the possible values of the property though, right?

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 08:42):

But if we make that explicit and say that for some kinds we need a fhir version, and some we don't, I would be a happy (mentally consistent) man.

view this post on Zulip Grahame Grieve (Sep 08 2021 at 09:04):

well, the values I use will be one of Core | IG | IG-Template | Tool | GenPack | Group | Examples

view this post on Zulip Grahame Grieve (Sep 08 2021 at 09:04):

I don't know why those values aren't in the page.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:04):

Do you have descriptions for what each of those mean?

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:06):

(and whether they require a fhirVersion or other requirements)

view this post on Zulip Grahame Grieve (Sep 08 2021 at 09:09):

Values for kind:

  • Core - contains the conformance related resources for the main FHIR specification
  • IG - a FHIR implementation guide
  • IG-Template - an IG template for use by IG publishing tools (won't contain FHIR resources or specify a version)
  • Tool - A package that contains tool specific files to support specific tools (won't contain FHIR resources or specify a version)
  • Group - a package that only includes other packages (won't contain FHIR resources directly)
  • Examples  - contains the example resources for the main FHIR specification

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:11):

We might have to work a bit on the computability of that. Not all are orthogonal.

view this post on Zulip Grahame Grieve (Sep 08 2021 at 09:11):

for instance?

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:12):

a group can be examples

view this post on Zulip Grahame Grieve (Sep 08 2021 at 09:12):

group is used for the wrapping FHIR package that includes the other main spec packages, so it will, in practice, a nd will also include core

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:13):

Shall make an analysis if our tools can work with this?

view this post on Zulip Grahame Grieve (Sep 08 2021 at 09:13):

sure

view this post on Zulip Grahame Grieve (Sep 08 2021 at 09:14):

I updated the page for this

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:47):

My first impression is that we might need a clearer separation between those values that have a meaning for the user/consumer of the package. And values that have a technical meaning.
For example, and IG is meant to be consumed by the ig-build tool. So that has technical specifications... like that it must contain an IG-resource.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:48):

I also think that what I miss is the category for which it was originally designed: a conformance specification

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:48):

For which IG is presumably a superset.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:49):

So,
Core : understood and agreed. Should contain a FHIR version, should have core base types etc.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:50):

IG: Should contain a FHIR implementation guide resource, what other rules should it have. Probably mentioned partly in the last paragraphs of the current package specs.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:50):

Tool: in the end, a tool wants to know if a package is suited. so we might need to be more specific for each tool. of course we also want a "remaining cases" option. So this might be it.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:50):

Group: not sure what to do with this. what signal does it give and to what or whom? Technically, it is no different from any other package with dependencies.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:51):

Examples: agreed. But might need a broader category. "Just resources", from a technical perspective. Will require a FHIR version.

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 09:58):

So in the current values, I see three different use cases, which I would like to separate as much as possible.

  • its purpose
  • it's contents
  • it's technical requirements

view this post on Zulip Grahame Grieve (Sep 08 2021 at 11:09):

well, we have hundreds of packages we can't update that have this field in them

view this post on Zulip Grahame Grieve (Sep 08 2021 at 11:09):

and I don't see what new things you'd avtually introduce

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 11:12):

So, how do -you- use this property other than fill it?

view this post on Zulip Grahame Grieve (Sep 08 2021 at 11:24):

I use it as a filter for searching packages

view this post on Zulip Grahame Grieve (Sep 08 2021 at 11:25):

I don't use it as a filter for processing - I figure out the version, and then process any resources I find per the stated version, if I understand it. Otherwise I ignore the resources and just index the package itself

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 11:36):

So, this discussion started with me wanting to find out if a package requires a fhir-version, and that we could use a "package-kind" or "kind" value for that. Do you still see that as an option?

view this post on Zulip Grahame Grieve (Sep 08 2021 at 11:37):

well, I documented which packages don't need to specify the fhir-version(s) by kind

view this post on Zulip Grahame Grieve (Sep 08 2021 at 11:38):

(or won't - same thing. Either must, or must not)

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 12:03):

Where?

view this post on Zulip Grahame Grieve (Sep 08 2021 at 13:28):

above

view this post on Zulip Martijn Harthoorn (Sep 08 2021 at 14:00):

Ok.
Btw, you forgot GenPack.

view this post on Zulip Grahame Grieve (Sep 08 2021 at 19:21):

I can't find that it's ever used, and I don't know what it means, and so I didn't mention it. Have you found a package with that value?

view this post on Zulip Martijn Harthoorn (Sep 09 2021 at 07:01):

I have no idea, but you mentioned that it was one of the values.

view this post on Zulip Martijn Harthoorn (Sep 09 2021 at 07:02):

Grahame Grieve said:

well, the values I use will be one of Core | IG | IG-Template | Tool | GenPack | Group | Examples

view this post on Zulip Martijn Harthoorn (Sep 09 2021 at 07:03):

Maybe someone snuck it into the tool :)

view this post on Zulip Martijn Harthoorn (Sep 09 2021 at 07:22):

Before we make this part of the spec (propose this to FHIR-I) I would like to make sure that we only force this on people if it is either useful to them or necessary. With the current set of values, it is not valueable to our tooling, other than a complex way of figuring out if a fhirVersion is necessary. And we miss a value for "normal " packages (the ones that people build without the ig-build-tool).

Regarding the argument that it already exists in hundreds of packages: it's in none of the packages made by Simplifier or Firely Terminal and others. And so, we have to fix something either way. And we have to at least define what a missing value means.

So I see three possible paths forward:

    1. we drop "kind" in the spec - i will make packages.fhir.org treat missing a fhirVersions value as a special type of fhir version "unknown" or "not applicable".
    1. we amend and curate the list going forward + define what a missing value means
    1. we add a new property (preferably more computable).

I don't like option 1, because I think people tend leave it out by accident.

view this post on Zulip Grahame Grieve (Sep 10 2021 at 06:18):

you still haven't explained what would be more computable

view this post on Zulip Grahame Grieve (Sep 10 2021 at 06:18):

I prefer #2 but it seems that we disagree about what we're trying to achieve.

view this post on Zulip Grahame Grieve (Sep 10 2021 at 06:18):

And we miss a value for "normal " packages (the ones that people build without the ig-build-tool).

What are those?

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 09:18):

In this case, I see computable as: a list values that can help any tool understand and decide unambiguously what contents it will find inside of the package. So, only values, that have an exact specification, so that any one in the community is able to build a tool that can produce a package for one of these values.

To me "IG" means: whatever the IG-build tool from HL7 itself needs in order to work. But for other tools, that is just an ever changing list of undefined requirements.

And the normal / original definition for which we created the packages: a package containing just a set of conformance resources, is not in the list. So, there is no computable way of getting those from this list.

view this post on Zulip Grahame Grieve (Sep 20 2021 at 10:45):

IG means: a package that represents an Implementation Guide, and has an ImplementationGuide resource. It's not relevant what a particular tool needs - we should - and mostly have - standardised the content

view this post on Zulip Grahame Grieve (Sep 20 2021 at 10:46):

I've also been using IG for packages like that, but I shouldn't, given the definition I just gave. So we should define 'collection' for arbitrary collections of resources published in a package?

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 10:51):

I think it would help greatly yes.
Maybe the term "conformance" or "conformance-collection" is more precise.

view this post on Zulip Grahame Grieve (Sep 20 2021 at 10:53):

must it be conformance? what's the definition of conformance?

view this post on Zulip Grahame Grieve (Sep 20 2021 at 10:53):

what If I published a package of examples?

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 10:53):

"Examples" was already in your list.

view this post on Zulip Grahame Grieve (Sep 20 2021 at 10:54):

oh so it was

view this post on Zulip Grahame Grieve (Sep 20 2021 at 10:55):

ok. So 'Conformance', where Conformance is defined as a collection of resources that have canonical URLs?

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 10:55):

Yes. That would definitely work.

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 10:56):

I can imagine that your tool would like to express both.
kind: ["Conformance", "IG"]

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 10:56):

Or is that not an issue?

view this post on Zulip Grahame Grieve (Sep 20 2021 at 10:59):

no. because an IG contains examples as well. in \examples, as we previously discussed. So it's not usually a 'Conformance' package

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 11:01):

I have noticed that some package contain a field "type" with a similar meaning

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 11:02):

hl7.fhir.r4.core > "type": "fhir.core",

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 11:02):

hl7.fhir.us.core > "type": "fhir.ig",

view this post on Zulip Grahame Grieve (Sep 20 2021 at 11:02):

core spec is special - won't find fhir.core anywhere else

view this post on Zulip Grahame Grieve (Sep 20 2021 at 11:02):

a special kind of Conformance, I guess

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 11:05):

Agree. Core should be reserved to HL7.

view this post on Zulip Grahame Grieve (Sep 20 2021 at 11:05):

yes.

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 11:08):

Is this "type" field deprecated over "kind"?

view this post on Zulip Grahame Grieve (Sep 20 2021 at 11:08):

say what?

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 11:08):

We have been discussing a field named "kind".
And I see in existing packages a field named "type",

view this post on Zulip Grahame Grieve (Sep 20 2021 at 11:09):

ah let me check

view this post on Zulip Martijn Harthoorn (Sep 20 2021 at 11:09):

and the values are "fhir.core" and "fhir.ig" which are similar in meaning, but not the same as in the list.

view this post on Zulip Lloyd McKenzie (Sep 20 2021 at 13:21):

Grahame Grieve said:

ok. So 'Conformance', where Conformance is defined as a collection of resources that have canonical URLs?

Examples typically don't have canonical URLs?

view this post on Zulip Martijn Harthoorn (Nov 02 2021 at 08:31):

@Grahame Grieve , any updates on this?

view this post on Zulip Martijn Harthoorn (Nov 02 2021 at 08:31):

Grahame Grieve said:

ah let me check

view this post on Zulip Grahame Grieve (Nov 03 2021 at 19:38):

@Martijn Harthoorn thanks for the reminder. So this is what I see:

view this post on Zulip Grahame Grieve (Nov 03 2021 at 19:38):

Error acessing ufp.core#0.2.0: Error parsing package/package.json: null
Error acessing ufp.core#0.3.0: Error parsing package/package.json: null
Error acessing MySimplifierProject.core#0.0.1: Error parsing package/package.json: null
Error acessing MySimplifierProject.core#0.0.2-beta: Error parsing package/package.json: null
Error acessing MySimplifier.Project#0.0.1: Error parsing package/package.json: null
Error acessing irrs.pkg#1.0.0: Error parsing package/package.json: null
Error acessing cihi.irrs.pkg#1.0.0: Error parsing package/package.json: null
Error acessing cihi.irrs#1.0.0: Error parsing package/package.json: null
Error acessing private.package.test#1.0.0: Error parsing package/package.json: null

view this post on Zulip Grahame Grieve (Nov 03 2021 at 19:39):

those packages should be removed. but if they can't be removed, they should at least have package.json files

view this post on Zulip Grahame Grieve (Nov 03 2021 at 19:54):

I was going to scan all packages, but https://packages.fhir.org/catalog only lists the first 20 - how would I get a list of all the packages?

view this post on Zulip Grahame Grieve (Nov 03 2021 at 22:05):

anyway, here's all the packages I could find:

view this post on Zulip Grahame Grieve (Nov 03 2021 at 22:05):

packages.xlsx

view this post on Zulip Grahame Grieve (Nov 03 2021 at 22:06):

so: no, I don't see 'kind' in any package.

view this post on Zulip Grahame Grieve (Nov 03 2021 at 22:06):

and I see 'type' with the following values:

view this post on Zulip Grahame Grieve (Nov 03 2021 at 22:08):

fhir.core
fhir.elements (now deprecated - won't be using that any more)
fhir.examples
fhir.expansions
fhir.ig
fhir.tool
fhir.template

view this post on Zulip Grahame Grieve (Nov 03 2021 at 22:09):

a package containing just a set of conformance resources, is not in the list.

agree we need a type for that.

view this post on Zulip Martijn Harthoorn (Nov 05 2021 at 15:20):

In the fhir spec
https://confluence.hl7.org/display/FHIR/NPM+Package+Specification
you added:

Values for kind:

    Core - contains the conformance related resources for the main FHIR specification
    IG - a FHIR implementation guide
    IG-Template - an IG template for use by IG publishing tools (won't contain FHIR resources or specify a version)
    Tool - A package that contains tool specific files to support specific tools (won't contain FHIR resources or specify a version)
    Group - a package that only includes other packages (won't contain FHIR resources directly)
    Examples  - contains the example resources for the main FHIR specification

Note that this is below index.json. I am assuming you meant that to go under package.json
But, so the spec now proposes a field "kind" with the values above. Which are out of sync, but overlapping with the existing set of values, already existing under "type".

view this post on Zulip Grahame Grieve (Nov 05 2021 at 21:09):

ok. I updated the documentation. I see that the confusion around kind/type started from the start of the discussion. Yes, I've been using 'type' in practice, but you asked about 'kind' and we just went with that. Since the list of values is pretty much compatible, lets stick with type, and that's what I documented

view this post on Zulip Martijn Harthoorn (Feb 02 2022 at 13:12):

@Grahame Grieve , I am busy updating the feed burner with the new type values, but there are a lot of packages that do not have a valid type.

Processing: HL7.org Publications: http://hl7.org/fhir/package-feed.xml

Downloading package: hl7.fhir.us.immds version: 0.2.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Downloading package: hl7.fhir.us.sdoh-clinicalcare version: 1.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Processing: HL7 Switzerland: http://fhir.ch/package-feed.xml

Downloading package: ch.fhir.ig.ch-epr-term version: 2.0.7
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Processing: IHE International: https://profiles.ihe.net/fhir/package-feed.xml

Downloading package: ihe.mhd.fhir version: 4.0.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Downloading package: ihe.pdqm.fhir version: 2.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

view this post on Zulip John Moehrke (Feb 02 2022 at 13:13):

what do you consider a valid type? I don't know of a valueSet for that

view this post on Zulip John Moehrke (Feb 02 2022 at 13:14):

Ill gladly switch IHE to valid types if I knew there were valid and invalid.

view this post on Zulip John Moehrke (Feb 02 2022 at 13:18):

what element are you looking at that you are calling the fhir.ig type?

view this post on Zulip Martijn Harthoorn (Feb 02 2022 at 13:25):

I think it's generated by the IG build tool, because i've seen it in other packages too.
It's the "type" key of package.json.
The list of values is here:
https://confluence.hl7.org/display/FHIR/NPM+Package+Specification

view this post on Zulip John Moehrke (Feb 02 2022 at 13:27):

well, yes the entries are created by the IG build tool, when doing a final publication flow. Those fragments get manually assembled by the publisher (me for IHE)

view this post on Zulip John Moehrke (Feb 02 2022 at 13:32):

where do you see a type key defined for package.json?

view this post on Zulip John Moehrke (Feb 02 2022 at 13:33):

okay, I had not known the linkage to that specification

view this post on Zulip John Moehrke (Feb 02 2022 at 13:34):

type is missing, as I never knew the element existed.

view this post on Zulip John Moehrke (Feb 02 2022 at 13:34):

and since the instructions don't mention it... it clearly can't be manditory.

view this post on Zulip John Moehrke (Feb 02 2022 at 13:34):

so, IHE doesn't have invalid types... it just doesn't have types

view this post on Zulip John Moehrke (Feb 02 2022 at 13:37):

I have been following this confluence page -- https://confluence.hl7.org/display/FHIR/FHIR+IG+PackageList+doco

view this post on Zulip John Moehrke (Feb 02 2022 at 13:41):

Given that this confluence page is specifically talking about the package-list.json; and is not mentioning NPM package specification... I am unclear the relationship, especially if there is any hard relationship.

view this post on Zulip John Moehrke (Feb 02 2022 at 13:42):

this does have a "category", but it is just a string, not a valueSet... and in the hl7 (old) registry, any string will create a new category.

view this post on Zulip Martijn Harthoorn (Feb 02 2022 at 14:55):

type Is not a mandatory field.

view this post on Zulip Martijn Harthoorn (Feb 02 2022 at 14:58):

To be honest, I am starting to think we should have separate ig packages with "ig" in the moniker. Because now, on the one hand, all these other tools get a boatload of irrelevant files. And on the other hand the IG build tool cannot even deal with proper packages that follow the minimal set of requirements.

view this post on Zulip Martijn Harthoorn (Feb 02 2022 at 14:59):

Something like

  • hl7.fhir.r4.core <- Just the conformance resources
  • hl7.fhir.r4.core.ig <- Whatever the tool requires.

view this post on Zulip Grahame Grieve (Feb 03 2022 at 00:10):

there are a lot of packages that do not have a valid type

those are old packages. I don't believe that we said we'd fix those packages up, only that we'd use the new values going forward

view this post on Zulip Grahame Grieve (Feb 03 2022 at 00:12):

@John Moehrke the type field is nothing to do with you, and nothing to do with package-list.json

view this post on Zulip Grahame Grieve (Feb 03 2022 at 00:12):

Because now, on the one hand, all these other tools get a boatload of irrelevant files.

what files? They might be irrelevant to you, but they're not irrelevant to other people

And on the other hand the IG build tool cannot even deal with proper packages that follow the minimal set of requirements.

Umm what? why do you say that?

view this post on Zulip Martijn Harthoorn (Feb 08 2022 at 10:51):

Sorry. Sounded more negative than I meant it:
Regarding the extra files: Not irrelevant to me :), I meant for other tools than the ig-build tool. But I overstated it. I've taken a closer look. It's not that bad. There is a whole bunch of image files in (at least in hl7.fhir.r4.core), but not much more.

The minimal set: without an Implementation Guide resource. People who build packages without an IG resource, they cannot be consumed by the IG build tool.

view this post on Zulip Grahame Grieve (Feb 08 2022 at 11:07):

umm they can, and routinely are. The only problem is that I have to guess where to send html links, since without an IG, I've got nothing to go on

view this post on Zulip Grahame Grieve (Feb 08 2022 at 11:08):

so that's a work in progress.

view this post on Zulip Grahame Grieve (Feb 08 2022 at 11:08):

if you know of any specific problems, let me know

view this post on Zulip Martijn Harthoorn (Feb 10 2022 at 14:04):

The latest logs from the feed burner... (Still looking for a place to publish these)

view this post on Zulip Martijn Harthoorn (Feb 10 2022 at 14:23):

Processing: HL7.org Publications: http://hl7.org/fhir/package-feed.xml
. . .

Downloading package: hl7.fhir.us.immds version: 0.1.0
Publishing to: https://packages.simplifier.net
500 InternalServerError

Downloading package: hl7.fhir.us.immds version: 0.2.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Downloading package: hl7.fhir.us.phcp version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Downloading package: hl7.fhir.us.sdoh-clinicalcare version: 1.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type
Skipping hl7.fhir.uv.fhir-for-fair-0.1.0. The Fhir version is not yet supported: 4.1.0.
Processing: Common HL7 Terminology: http://terminology.hl7.org/package-feed.xml
Processing: FHIR Foundation Guides: http://fhir.org/guides/package-feed.xml

Downloading package: fhir.argonaut.pd version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Downloading package: fhir.hspc.core version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type
Processing: FHIR Foundation Support Packages: http://fhir.org/packages/package-feed.xml
Processing: FHIR Foundation Publishing Templates: http://fhir.org/templates/package-feed.xml

Downloading package: cqf.fhir.template version: 0.0.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: fhir.base.template version: 0.0.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: fhir.base.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: fhir.base.template version: 0.1.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: fhir.base.template version: 0.2.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: fhir.base.template version: 0.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: fhir.base.template version: 0.2.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: fhir.ca.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.base.template version: 0.1.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.base.template version: 0.2.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.base.template version: 0.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.base.template version: 0.2.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.fhir.template version: 0.1.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.fhir.template version: 0.2.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.fhir.template version: 0.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.au.fhir.template version: 0.2.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.base.template version: 0.0.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.base.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.base.template version: 0.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.base.template version: 0.3.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.base.template version: 0.3.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.base.template version: 0.3.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.cda.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.cda.template version: 0.1.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.cda.template version: 0.2.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.cda.template version: 0.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.cda.template version: 0.2.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.davinci.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.dk.fhir.template version: 0.0.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.fhir.template version: 0.0.5
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.fhir.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.fhir.template version: 0.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.fhir.template version: 0.3.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.fhir.template version: 0.3.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.fhir.template version: 0.3.2
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.fhir.template version: 0.3.3
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: hl7.utg.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

Downloading package: ihe.fhir.template version: 0.1.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.template is not a valid value for type

. . .

Downloading package: ch.fhir.ig.ch-epr-term version: 2.0.7
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type
Processing: HL7 Denmark: https://hl7.dk/fhir/package-feed.xml
Processing: mednet.swiss: https://mednet.swiss/fhir/package-feed.xml
Processing: David Hay packages (Interim name): http://igs.clinfhir.com/packages/package-feed.xml
Processing: IHE International: https://profiles.ihe.net/fhir/package-feed.xml

Downloading package: ihe.mhd.fhir version: 4.0.0
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

Downloading package: ihe.pdqm.fhir version: 2.2.1
Publishing to: https://packages.simplifier.net
400 BadRequest -- fhir.ig is not a valid value for type

view this post on Zulip John Moehrke (Feb 10 2022 at 16:32):

I was just directed to this... I am unclear on what "IHE" mentions in the error report are worth me tracking down.

  • mhd -- current version is 4.0.2, and seems to be not indicated in the error... so I must have fixed something?
  • pdqm -- current version is 2.3.0, and seems to not be indicated in the error... so I must have fixed something?
  • ihe template - I am not sure what the issue is or what might need to be done. is this a problem?

view this post on Zulip Ward Weistra (Feb 10 2022 at 17:08):

@John Moehrke The value in package.json for type is for all these three package versions not in the allowed values according to the spec: https://confluence.hl7.org/display/FHIR/NPM+Package+Specification#NPMPackageSpecification-Packagemanifest
Without a valid version these package versions will not be accepted into the Registry.

@Oliver Egger is seeing the same: https://chat.fhir.org/#narrow/stream/179239-tooling/topic/registry.2Efhir.2Eorg.20missing.20update.20of.20.20ch-epr-term.202.2E0.2E7/near/271454507

view this post on Zulip John Moehrke (Feb 10 2022 at 17:10):

so the error is about old stuff... it seems my new publications are okay? I can't change the past.

view this post on Zulip John Moehrke (Feb 10 2022 at 17:11):

where does this value come from during the publication process? @Grahame Grieve @Lloyd McKenzie ?

view this post on Zulip Grahame Grieve (Feb 10 2022 at 20:31):

@Ward Weistra @Martijn Harthoorn these are packages already previously published and widely distributed before we reconciled on type and agreed what it would be.

view this post on Zulip Grahame Grieve (Feb 10 2022 at 20:31):

it's not possible to just 'fix' them

view this post on Zulip Grahame Grieve (Feb 10 2022 at 20:34):

Can you just translate them?

  • fhir.ig --> IG
  • fhir.template --> IG-Template

view this post on Zulip Grahame Grieve (Feb 10 2022 at 20:46):

the values will be correct in the future

view this post on Zulip Oliver Egger (Feb 10 2022 at 22:17):

https://github.com/hapifhir/org.hl7.fhir.core/pull/738

@Grahame Grieve if you tell me to what fhir.subset maps i can add that to.

view this post on Zulip Grahame Grieve (Feb 10 2022 at 22:34):

there's no subset maps that I know of. but I added translation code - needed it in the java tooling

view this post on Zulip Grahame Grieve (Feb 10 2022 at 22:37):

https://github.com/hapifhir/org.hl7.fhir.core/pull/739

view this post on Zulip Oliver Egger (Feb 10 2022 at 22:44):

the ig publisher needs to be adapted too, checks for the "old" template string in TemplateManager.java

view this post on Zulip Grahame Grieve (Feb 11 2022 at 00:04):

yep that'll get fixed

view this post on Zulip Martijn Harthoorn (Feb 17 2022 at 08:04):

@Grahame Grieve , we've added a mapping for the old values in Simplifier and go live with that soon. Then they will be picked up.

view this post on Zulip Grahame Grieve (Feb 17 2022 at 11:55):

thanks


Last updated: Apr 12 2022 at 19:14 UTC