Stream: tooling
Topic: Publishing Feeds
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.
Grahame Grieve (Aug 18 2021 at 05:56):
(no change in format in the file, just change the URL you access it from)
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....
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
Grahame Grieve (Sep 01 2021 at 00:31):
@Martijn Harthoorn renamed
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)
Martijn Harthoorn (Sep 07 2021 at 14:34):
I'll check the logs.
Martijn Harthoorn (Sep 07 2021 at 14:35):
Skipping hl7.fhir.pubpack-0.0.9. The Fhir version was not recognized: 4.0.
Grahame Grieve (Sep 07 2021 at 19:00):
it probably should recognise that, but I'm not sure why it's 4.0
Martijn Harthoorn (Sep 07 2021 at 20:24):
If it was a semver package version, yes it should recognize that.
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.
Martijn Harthoorn (Sep 07 2021 at 20:26):
http://hl7.org/fhir/directory.html
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'
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
Martijn Harthoorn (Sep 08 2021 at 07:46):
I don't know how that got in there.
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.
Martijn Harthoorn (Sep 08 2021 at 07:54):
I think that fhirVersion is (very) necessary, for people when they search for packages.
Martijn Harthoorn (Sep 08 2021 at 07:54):
I am fine if it is only one version (a value instead of an array)
Martijn Harthoorn (Sep 08 2021 at 07:56):
I just wouldn't know how to index a package without it.
Grahame Grieve (Sep 08 2021 at 08:30):
well, there's two things going on there
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.
Grahame Grieve (Sep 08 2021 at 08:31):
I think I'm still populating fhirVersion for now, but I mightn't always do that
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
Martijn Harthoorn (Sep 08 2021 at 08:33):
ah, good that you mention this.
Martijn Harthoorn (Sep 08 2021 at 08:34):
It's something that's been on my mind.
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.
Martijn Harthoorn (Sep 08 2021 at 08:34):
So...
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.
Martijn Harthoorn (Sep 08 2021 at 08:35):
I am not sure if it would cover it, but let's say all *.ig.tgz
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.
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)
...
Grahame Grieve (Sep 08 2021 at 08:41):
that'd be 'kind' which all the packages I produce have always had
Martijn Harthoorn (Sep 08 2021 at 08:42):
Currently we don't specify the possible values of the property though, right?
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.
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
Grahame Grieve (Sep 08 2021 at 09:04):
I don't know why those values aren't in the page.
Martijn Harthoorn (Sep 08 2021 at 09:04):
Do you have descriptions for what each of those mean?
Martijn Harthoorn (Sep 08 2021 at 09:06):
(and whether they require a fhirVersion or other requirements)
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
Martijn Harthoorn (Sep 08 2021 at 09:11):
We might have to work a bit on the computability of that. Not all are orthogonal.
Grahame Grieve (Sep 08 2021 at 09:11):
for instance?
Martijn Harthoorn (Sep 08 2021 at 09:12):
a group can be examples
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
Martijn Harthoorn (Sep 08 2021 at 09:13):
Shall make an analysis if our tools can work with this?
Grahame Grieve (Sep 08 2021 at 09:13):
sure
Grahame Grieve (Sep 08 2021 at 09:14):
I updated the page for this
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.
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
Martijn Harthoorn (Sep 08 2021 at 09:48):
For which IG is presumably a superset.
Martijn Harthoorn (Sep 08 2021 at 09:49):
So,
Core : understood and agreed. Should contain a FHIR version, should have core base types etc.
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.
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.
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.
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.
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
Grahame Grieve (Sep 08 2021 at 11:09):
well, we have hundreds of packages we can't update that have this field in them
Grahame Grieve (Sep 08 2021 at 11:09):
and I don't see what new things you'd avtually introduce
Martijn Harthoorn (Sep 08 2021 at 11:12):
So, how do -you- use this property other than fill it?
Grahame Grieve (Sep 08 2021 at 11:24):
I use it as a filter for searching packages
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
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?
Grahame Grieve (Sep 08 2021 at 11:37):
well, I documented which packages don't need to specify the fhir-version(s) by kind
Grahame Grieve (Sep 08 2021 at 11:38):
(or won't - same thing. Either must, or must not)
Martijn Harthoorn (Sep 08 2021 at 12:03):
Where?
Grahame Grieve (Sep 08 2021 at 13:28):
above
Martijn Harthoorn (Sep 08 2021 at 14:00):
Ok.
Btw, you forgot GenPack.
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?
Martijn Harthoorn (Sep 09 2021 at 07:01):
I have no idea, but you mentioned that it was one of the values.
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
Martijn Harthoorn (Sep 09 2021 at 07:03):
Maybe someone snuck it into the tool :)
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:
-
- 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".
-
- we amend and curate the list going forward + define what a missing value means
-
- we add a new property (preferably more computable).
I don't like option 1, because I think people tend leave it out by accident.
Grahame Grieve (Sep 10 2021 at 06:18):
you still haven't explained what would be more computable
Grahame Grieve (Sep 10 2021 at 06:18):
I prefer #2 but it seems that we disagree about what we're trying to achieve.
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?
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.
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
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?
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.
Grahame Grieve (Sep 20 2021 at 10:53):
must it be conformance? what's the definition of conformance?
Grahame Grieve (Sep 20 2021 at 10:53):
what If I published a package of examples?
Martijn Harthoorn (Sep 20 2021 at 10:53):
"Examples" was already in your list.
Grahame Grieve (Sep 20 2021 at 10:54):
oh so it was
Grahame Grieve (Sep 20 2021 at 10:55):
ok. So 'Conformance', where Conformance is defined as a collection of resources that have canonical URLs?
Martijn Harthoorn (Sep 20 2021 at 10:55):
Yes. That would definitely work.
Martijn Harthoorn (Sep 20 2021 at 10:56):
I can imagine that your tool would like to express both.
kind: ["Conformance", "IG"]
Martijn Harthoorn (Sep 20 2021 at 10:56):
Or is that not an issue?
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
Martijn Harthoorn (Sep 20 2021 at 11:01):
I have noticed that some package contain a field "type" with a similar meaning
Martijn Harthoorn (Sep 20 2021 at 11:02):
hl7.fhir.r4.core > "type": "fhir.core",
Martijn Harthoorn (Sep 20 2021 at 11:02):
hl7.fhir.us.core > "type": "fhir.ig",
Grahame Grieve (Sep 20 2021 at 11:02):
core spec is special - won't find fhir.core anywhere else
Grahame Grieve (Sep 20 2021 at 11:02):
a special kind of Conformance, I guess
Martijn Harthoorn (Sep 20 2021 at 11:05):
Agree. Core should be reserved to HL7.
Grahame Grieve (Sep 20 2021 at 11:05):
yes.
Martijn Harthoorn (Sep 20 2021 at 11:08):
Is this "type" field deprecated over "kind"?
Grahame Grieve (Sep 20 2021 at 11:08):
say what?
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",
Grahame Grieve (Sep 20 2021 at 11:09):
ah let me check
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.
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?
Martijn Harthoorn (Nov 02 2021 at 08:31):
@Grahame Grieve , any updates on this?
Martijn Harthoorn (Nov 02 2021 at 08:31):
Grahame Grieve said:
ah let me check
Grahame Grieve (Nov 03 2021 at 19:38):
@Martijn Harthoorn thanks for the reminder. So this is what I see:
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
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
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?
Grahame Grieve (Nov 03 2021 at 22:05):
anyway, here's all the packages I could find:
Grahame Grieve (Nov 03 2021 at 22:05):
Grahame Grieve (Nov 03 2021 at 22:06):
so: no, I don't see 'kind' in any package.
Grahame Grieve (Nov 03 2021 at 22:06):
and I see 'type' with the following values:
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
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.
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".
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
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
John Moehrke (Feb 02 2022 at 13:13):
what do you consider a valid type? I don't know of a valueSet for that
John Moehrke (Feb 02 2022 at 13:14):
Ill gladly switch IHE to valid types if I knew there were valid and invalid.
John Moehrke (Feb 02 2022 at 13:18):
what element are you looking at that you are calling the fhir.ig type?
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
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)
John Moehrke (Feb 02 2022 at 13:32):
where do you see a type key defined for package.json?
John Moehrke (Feb 02 2022 at 13:33):
okay, I had not known the linkage to that specification
John Moehrke (Feb 02 2022 at 13:34):
type is missing, as I never knew the element existed.
John Moehrke (Feb 02 2022 at 13:34):
and since the instructions don't mention it... it clearly can't be manditory.
John Moehrke (Feb 02 2022 at 13:34):
so, IHE doesn't have invalid types... it just doesn't have types
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
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.
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.
Martijn Harthoorn (Feb 02 2022 at 14:55):
type Is not a mandatory field.
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.
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.
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
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
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?
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.
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
Grahame Grieve (Feb 08 2022 at 11:08):
so that's a work in progress.
Grahame Grieve (Feb 08 2022 at 11:08):
if you know of any specific problems, let me know
Martijn Harthoorn (Feb 10 2022 at 14:04):
The latest logs from the feed burner... (Still looking for a place to publish these)
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
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?
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
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.
John Moehrke (Feb 10 2022 at 17:11):
where does this value come from during the publication process? @Grahame Grieve @Lloyd McKenzie ?
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.
Grahame Grieve (Feb 10 2022 at 20:31):
it's not possible to just 'fix' them
Grahame Grieve (Feb 10 2022 at 20:34):
Can you just translate them?
- fhir.ig --> IG
- fhir.template --> IG-Template
Grahame Grieve (Feb 10 2022 at 20:46):
the values will be correct in the future
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.
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
Grahame Grieve (Feb 10 2022 at 22:37):
https://github.com/hapifhir/org.hl7.fhir.core/pull/739
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
Grahame Grieve (Feb 11 2022 at 00:04):
yep that'll get fixed
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.
Grahame Grieve (Feb 17 2022 at 11:55):
thanks
Last updated: Apr 12 2022 at 19:14 UTC