FHIR Chat · New IG Publisher Feature · IG creation

Stream: IG creation

Topic: New IG Publisher Feature


view this post on Zulip Grahame Grieve (May 24 2019 at 13:16):

I'm just releasing an IG publisher that has a new feature. For any list in your IG, the publisher will produce a set of fragments that are renderings of the list - this allows you to create lists of the resources for specific purposes, and render them into the IG. I'm adding this for UTG Implementation Guide, but it might be useful in other IGs to gather arbitrary groups of resources together for one purpose or another

view this post on Zulip Giorgio Cangioli (May 31 2019 at 06:55):

really interested in this feature: how does it work ? (what I'm interested in is to be able to distinguish logical models that represents datatypes and actual info models)

view this post on Zulip Grahame Grieve (May 31 2019 at 07:01):

well, they are already differentiated.

view this post on Zulip Grahame Grieve (May 31 2019 at 07:01):

but how it works is simple: add a list resource, reference the resources you want in the list, and presto, your list html fragments will be created

view this post on Zulip Giorgio Cangioli (May 31 2019 at 07:16):

well, they are already differentiated.

how ? (for the time being I have them all as 'logical' derived from 'Element').

view this post on Zulip Giorgio Cangioli (May 31 2019 at 07:21):

[Q] the grouping of elements in the ig.xml (using the groupingId) has any effect in the current publication process ? (e.g. creating specific fragments)

view this post on Zulip Grahame Grieve (May 31 2019 at 10:07):

No out only affects the toc in the forthcoming template

view this post on Zulip Grahame Grieve (May 31 2019 at 10:07):

The generator generates fragments for all structure definitions, but it also generates profiles, extension and logical model lists spearately as well

view this post on Zulip Giorgio Cangioli (Jun 01 2019 at 07:52):

Thanks Grahame

view this post on Zulip Giorgio Cangioli (Jun 01 2019 at 07:53):

The IG builder guide reports the following :
"for each list in the IG, the publisher can produce the following fragments:
list-list - a list with descriptions
list-list-simple: a list with no descriptions <.....> "

view this post on Zulip Giorgio Cangioli (Jun 01 2019 at 07:53):

But if i look at the generated fragments I see
List-[myList]-html => empty
List-[myList]-name => list of id + name + link
List-[myList]-name-simple => list of id (or name ?) + link (in my case ids and names are the same so i don't know what is actually shown...)
and others fragments...

view this post on Zulip Giorgio Cangioli (Jun 01 2019 at 07:53):

is there a fragment including the descriptions ?

view this post on Zulip Grahame Grieve (Jun 01 2019 at 08:50):

what resource types are you using? the descriptions are automatically populated for any profiles value sets etc, but Im not sure what to put there for resources without a 'description' element

view this post on Zulip Giorgio Cangioli (Jun 01 2019 at 08:54):

They are StructureDefinition with non empty descriptions

view this post on Zulip Grahame Grieve (Jun 01 2019 at 22:33):

in IPS?

view this post on Zulip Giorgio Cangioli (Jun 02 2019 at 14:15):

This is not the IPS IG that will be balloted in sept.
It is a separate IG with the logical models of the IPS, for the time being it is in a branch of the IPS project.

view this post on Zulip Grahame Grieve (Jun 03 2019 at 07:40):

what branch, and i'll have a look

view this post on Zulip Giorgio Cangioli (Jun 03 2019 at 08:26):

fhir-logical-models (https://github.com/HL7/fhir-ips/tree/fhir-logical-models)

view this post on Zulip Grahame Grieve (Jun 04 2019 at 04:13):

so I built this - what should I look for?

view this post on Zulip Giorgio Cangioli (Jun 04 2019 at 07:03):

My question in this thread was if there is a fragment for the lists that includes also the descriptions ...

view this post on Zulip Giorgio Cangioli (Jun 04 2019 at 07:06):

for example this is the kind of info that i see in List-[myList]-id.xhtml
<li><a href="StructureDefinition-AdvanceDirective.html">AdvanceDirective</a> AdvanceDirective</li>
<li><a href="StructureDefinition-AllergyIntolerance.html">AllergyIntolerance</a> AllergyIntolerance</li>

this in List-[myList]-name.xhtml
<li><a href="StructureDefinition-AdvanceDirective.html">AdvanceDirective</a> AdvanceDirective</li>
<li><a href="StructureDefinition-AllergyIntolerance.html">AllergyIntolerance</a> AllergyIntolerance</li>
<li><a href="StructureDefinition-Device.html">Device</a> Device</li>

view this post on Zulip Grahame Grieve (Jun 04 2019 at 07:10):

oh - mistake in my code. I'll release a fix

view this post on Zulip Giorgio Cangioli (Jun 04 2019 at 07:10):

...if you have compiled that IG do you also see the warning that I mentioned in this thread https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Warning.20on.20element.20names ?

view this post on Zulip Grahame Grieve (Apr 29 2020 at 00:23):

As of the next IG publisher release, the IG publisher will be able to present a history for any resource, like this:

view this post on Zulip Grahame Grieve (Apr 29 2020 at 00:24):

image.png

view this post on Zulip Grahame Grieve (Apr 29 2020 at 00:27):

to make this happen, you need to do 2 things:

  1. add the history fragment to your layout. This will be automatic if you're using the current version of a standard termplate. Otherwise, see the bottom of this: https://github.com/HL7/ig-template-base/blob/ADD_HISTORY/layouts/layout-instance-base.html

  2. Add a bunch of AuditEvent resources in your IG somewhere (a bundle, loaded as an example, for instance). Any auditEvent resources will automatically be picked up and added to the history list. See https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation#IGPublisherDocumentation-HistoryEntries for a template

view this post on Zulip Lloyd McKenzie (Apr 29 2020 at 04:18):

Did you think about the possibility of being able to read out 'contained' AuditEvents from individual conformance resources? For some IGs, having all of the history in one place might make sense, but in other environments, different individuals maintain different resources and keeping the changes in one shared file may be challenging - and potentially also easier to forget to do.

view this post on Zulip Grahame Grieve (Apr 29 2020 at 04:21):

I didn't consider that

view this post on Zulip Grahame Grieve (Apr 29 2020 at 04:22):

and I think it's a bad idea too

view this post on Zulip Lloyd McKenzie (Apr 29 2020 at 04:25):

Care to explain why?

view this post on Zulip Lloyd McKenzie (Apr 29 2020 at 04:25):

You think it's better to track changes outside the resource that's being modified?

view this post on Zulip Grahame Grieve (Apr 29 2020 at 04:26):

yeah, I don't think that we want to fill up the conformance resources with 1000s of lines of audit trail

view this post on Zulip John Moehrke (Apr 29 2020 at 12:30):

is there a specific type of AuditEvent? As I have examples in my IG that are really examples of security events that are to be recorded... Security Considerations

view this post on Zulip John Moehrke (Apr 29 2020 at 12:33):

make something up like 'IGhistory', .type is extensible

view this post on Zulip Jose Costa Teixeira (Apr 29 2020 at 12:41):

if we have teams working in different parts of the IG (terminology, logical models, profiles in different groups...), i think there should be a way that they can send their changes. Perhaps not contained , but a bundle (the bundle feature is now working)..

view this post on Zulip Jose Costa Teixeira (Apr 29 2020 at 12:45):

and seems safe to mark those resources (or the bundle) as "this is history stuff" - unless this is determined by the entity.what...

view this post on Zulip Jose Costa Teixeira (Apr 29 2020 at 13:02):

but this is really awesome for management of the IGs

view this post on Zulip Grahame Grieve (Apr 29 2020 at 19:19):

is there a specific type of AuditEvent?

No. what will make the history entry happen is if it refers to another resource in the IG. I suppose you're saying that you might do this in an example and not really be making a history entry?

view this post on Zulip John Moehrke (Apr 29 2020 at 19:26):

I didn't see the wisdom of your design

view this post on Zulip John Moehrke (Apr 29 2020 at 19:27):

Would rather see Provenance used.

view this post on Zulip John Moehrke (Apr 29 2020 at 19:29):

so, for a CodeSystem, ValueSet, StructureDefinition, CapabilityStatement.... the IG publisher looks for a Provenance with .target of those... You would then have the history of them.

view this post on Zulip Grahame Grieve (Apr 29 2020 at 19:29):

Actually, @Ted Klein and I started with Provenance, but AuditEvent was closer in nature to what we have - a record of things being changed

view this post on Zulip John Moehrke (Apr 29 2020 at 19:29):

I talked to him this morning

view this post on Zulip John Moehrke (Apr 29 2020 at 19:29):

:grinning:

view this post on Zulip Jose Costa Teixeira (Apr 29 2020 at 19:37):

I suppose you're saying that you might do this in an example and not really be making a history entry?

is that really unlikely?

view this post on Zulip David Hay (Apr 29 2020 at 22:00):

I've started getting jekyll errors:

Jekyll has failed. Complete output from running Jekyll: Liquid Exception: Could not locate the included file 'CapabilityStatement-NhiCapabilityStatement-history.xhtml' in any of ["/Users/davidhay/IG/NHI/shorthand/build/temp/pages/_includes"]. Ensure it exists in one of those directories and, if it is a s (00:35.0644)
Note: Check that Jekyll is installed correctly (00:35.0644)

on all my IG's. Just happened today - was working fine yesterday. I'm using sushi to generate the artifacts. Is this error related ?

view this post on Zulip David Hay (Apr 29 2020 at 22:03):

and the template based publisher, so I'm wondering if the template was updated, causing this issue...

view this post on Zulip Grahame Grieve (Apr 29 2020 at 22:05):

you need to update your IG publisher

view this post on Zulip David Hay (Apr 29 2020 at 22:06):

I did think I tried that - but will check...

view this post on Zulip Grahame Grieve (Apr 29 2020 at 22:07):

needs to be version 1.0.84

view this post on Zulip David Hay (Apr 29 2020 at 22:12):

is 1.0.85-SNAPSHOT (I downloaded from the new link that Jose described earlier - https://storage.googleapis.com/ig-build/org.hl7.fhir.publisher.jar). This version seems to hang checking for supported code systems for http://loinc.org)...

view this post on Zulip David Hay (Apr 29 2020 at 22:14):

(the previous jeykll error was using an older version)

view this post on Zulip Grahame Grieve (Apr 29 2020 at 22:22):

I didn't make relevant changes at that point that I can think of

view this post on Zulip David Hay (Apr 29 2020 at 22:23):

That is the correct address to get the publisher?

view this post on Zulip Grahame Grieve (Apr 29 2020 at 22:23):

yes

view this post on Zulip David Hay (Apr 29 2020 at 22:23):

OK. will see if I can figure out what's happening...

view this post on Zulip David Hay (Apr 29 2020 at 23:41):

So if I run disabling terminology services (java -jar input-cache/org.hl7.fhir.publisher.jar -ig ig.ini -tx n/a ) all works fine (apart from all my errors of course). Enabling services causes the publisher to halt at 'Terminology server: Check for supported code systems for http://loinc.org '. There's network activity happening, but nothing on the output...

view this post on Zulip Grahame Grieve (Apr 29 2020 at 23:52):

which IG is this

view this post on Zulip David Hay (Apr 29 2020 at 23:56):

https://github.com/davidhay25/aepc (it's not in the build env.)

view this post on Zulip David Hay (Apr 29 2020 at 23:59):

IG is here : http://igs.clinfhir.com/auPrimaryCare/index.html. ( a couple of days out of date TBH) - I can update if needed...

view this post on Zulip Grahame Grieve (Apr 30 2020 at 03:37):

this builds fine for me. is it still a problem for you?

view this post on Zulip David Hay (Apr 30 2020 at 05:03):

Yep - afraid so. Fine if I disable terminology support it works fine - otherwise hangs checking for loinc codes. Using this version of the builder:
FHIR IG Publisher Version 1.0.85-SNAPSHOT (Git# 4b68445bd315). Built 2020-04-29T21:50:34.389+10:00 (16 hours old)

view this post on Zulip David Hay (Apr 30 2020 at 05:08):

There's continual network activity (as reported by nettop) - though I don't know enough to understand what it means!

view this post on Zulip Grahame Grieve (Apr 30 2020 at 05:13):

can you turn on all logging in your ig parameters

view this post on Zulip Grahame Grieve (Apr 30 2020 at 05:13):

that will give you much more information

view this post on Zulip David Hay (Apr 30 2020 at 05:32):

sure - what parameters should I use?

view this post on Zulip Jose Costa Teixeira (Apr 30 2020 at 05:42):

https://confluence.hl7.org/display/FHIR/Implementation+Guide+Parameters

view this post on Zulip David Hay (Apr 30 2020 at 05:43):

Thanks Jose - the docs pointed to the ini file...

view this post on Zulip Jose Costa Teixeira (Apr 30 2020 at 05:44):

    <parameter>
      <code value="logging"/>
      <value value="tx"/>
    </parameter>
    <parameter>
      <code value="logging"/>
      <value value="init"/>
    </parameter>
    <parameter>
      <code value="logging"/>
      <value value="html"/>
    </parameter>
    <parameter>
      <code value="logging"/>
      <value value="progress"/>
    </parameter>
    <parameter>
      <code value="logging"/>
      <value value="generate"/>
    </parameter>

...and so on

view this post on Zulip Jose Costa Teixeira (Apr 30 2020 at 05:45):

I hope that is what Grahame means and I'm not misleading you

view this post on Zulip David Hay (Apr 30 2020 at 05:46):

Here we go:
Terminology server: Check for supported code systems for http://loinc.org (00:17.0256)
$validate http://snomed.info/sct#201222006: "null" for null (00:21.0150)
$validate http://snomed.info/sct#33737001: "null" for null (00:22.0017)
$validate http://snomed.info/sct#447888006: "null" for null (00:22.0919)
$validate http://snomed.info/sct#204920009: "null" for null (00:23.0534)
$validate http://snomed.info/sct#41291007: "null" for null (00:24.0141)
$validate http://snomed.info/sct#409791009: "null" for null (00:24.0751)

view this post on Zulip Michael Lawley (Apr 30 2020 at 05:47):

is there a specific type of A uditEvent?

No. what will make the history entry happen is if it refers to another resource in the IG.

It would be really nice to have a profile or just more detail on the template - what parts are mandatory, and what are optional

view this post on Zulip Grahame Grieve (Apr 30 2020 at 05:48):

https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation#IGPublisherDocumentation-HistoryEntries

view this post on Zulip David Hay (Apr 30 2020 at 05:49):

I just turned on tx logging...

view this post on Zulip Jim Steel (Apr 30 2020 at 05:49):

Is this pattern of documenting reasons for changes only intended for IG publication, or is it more general? If it's more general, what does the interaction look like? Does the client submit a batch Bundle with the PUT resource alongside an AuditEvent, or is the server expected to generate the AuditEvent, and if the latter, how should the client submit the reason for/description of the update (assuming the identify of the author can be pulled out of the authorisation)?

view this post on Zulip Michael Lawley (Apr 30 2020 at 05:51):

Are all the fields in the template mandatory?

view this post on Zulip Grahame Grieve (Apr 30 2020 at 05:51):

clients submit Provenance statements. There's a short cut for that - see http://hl7.org/fhir/provenance.html#header

view this post on Zulip Grahame Grieve (Apr 30 2020 at 05:52):

only what is mandatory in AuditEvent is mandatory

view this post on Zulip David Hay (Apr 30 2020 at 05:52):

Then I went nuts (just because I can):

narrative for /Users/davidhay/IG/auPrimaryCare/shorthand/build/input/vocabulary/valueset-expecteddateofdeliverytypes : expecteddateofdeliverytypes (00:21.0626)
narrative for /Users/davidhay/IG/auPrimaryCare/shorthand/build/input/vocabulary/valueset-geneticfamilymember : geneticfamilymember (00:21.0628)
narrative for /Users/davidhay/IG/auPrimaryCare/shorthand/build/input/vocabulary/valueset-reaction-manifestation : reaction-manifestation (00:21.0629)
$validate http://snomed.info/sct#194965002: "null" for null                      (00:21.0695)
$validate http://snomed.info/sct#243978007: "null" for null                      (00:22.0499)

view this post on Zulip David Hay (Apr 30 2020 at 05:54):

Here's the VS

ValueSet: Reaction_manifestation_ValueSet
Id: reaction-manifestation
Title: "Reaction manifestation ValueSet"
Description: "The types of reaction to an allergic reaction or intolerance"
* ^url = "http://aehrc.com/valueset/reaction-manifestation"
* codes from system http://snomed.info/sct where constraint = "^32570581000036105"
* http://snomed.info/sct#415822001
* http://snomed.info/sct#234048005
* http://snomed.info/sct#57219006
...

view this post on Zulip Grahame Grieve (Apr 30 2020 at 05:55):

so I think you are building something that is not checked in, and that has a very large snomed enumerated value set in it, and I think that it's going to take a long time to build the first time while it caches it up

view this post on Zulip Jean Duteau (Apr 30 2020 at 06:04):

@David Hay I had this exact problem. And caching isn't going to help. The publisher takes a very long time to look up every SNOMED code to render it for html. I followed Rob Hausam's hint and added this:

  • ^text.status = #additional
  • ^text.div = "<div xmlns='http://www.w3.org/1999/xhtml'><div id='cld'><p>This value set has a large enumerated (extensional) definition. See 'Definition' in the table above for the definition description. The full definition is available in the resource instance (see links in 'Source Resource' in the table above).</p></div></div>"
  • ^description = "All ISBT codes for Plasma, Cryoprecipitate, Granulocytes, Immune Plasma, Leukocytes, T-Cells, Lymphocytes, Platelets, and Red Blood Cells"

Obviously change the description to match your value set. :)

view this post on Zulip Jean Duteau (Apr 30 2020 at 06:05):

This changed the processing from 15 minutes to 1 minute for me. Before this change, it was taking 6.5 minutes twice (once at the tx server level and then later on in the renderer) to process every SNOMED code.

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:06):

I fixed that since then. The problem was that the look up wasn't being cached

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:07):

so caching will help now

view this post on Zulip Jean Duteau (Apr 30 2020 at 06:07):

ah, cool

view this post on Zulip David Hay (Apr 30 2020 at 06:10):

Thanks @Jean Duteau - the weird thing is that I didn't change the terminology at all and it worked just fine yesterday. Guess I just need to let it run for as long as it takes (and the VS is - unfortunately - quite large). Thanks for your help!

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:11):

hmm. that's not right then. are you sure you are running with what's committed? because I run it as is, and I don't get any snomed lookups

view this post on Zulip Rob Hausam (Apr 30 2020 at 06:11):

At least for us in IPS, there's still an issue with listing potentially several thousand concepts in an extensional value set definition on the value set page. Even if caching takes care of the speed issue, it makes the page essentially unreadable and is mostly or entirely redundant with the the up to 1000 concepts in the expansion (which is truncated at 1000 concepts for good reason). I think the "special" cld text makes a much better page rendering.

view this post on Zulip David Hay (Apr 30 2020 at 06:12):

I have just updated the github - but the VS hasn't changed in the mean time...

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:13):

I hope someone will re-organize this repo to run FSH etc so it can be on the ci-build

view this post on Zulip David Hay (Apr 30 2020 at 06:14):

Guess that needs to be me - are there instructions somewhere?

view this post on Zulip David Hay (Apr 30 2020 at 06:15):

(In my defense, it always was intended to be a temporary repo !)

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:15):

not really. put all the short hand stuff in /fsh, and generate to ../, and then ci-build will run sushi profile to building (as will the IGPublisher when you run locally)

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:16):

The saner IG can serve as your example

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:16):

I can't build it now: Unable to find the source file for Bundle/aupc-compositionAllergy: not specified, so tried Bundle-aupc-compositionAllergy.xml, aupc-compositionAllergy.Bundle.xml, Bundle-aupc-compositionAllergy.json, Bundle/aupc-compositionAllergy.xml, Bundle/aupc-compositionAllergy.json, aupc-compositionAllergy.xml, and aupc-compositionAllergy.json (and lowercase resource name variants) in dirs [C:\work\org.hl7.fhir.igs\aepc\shorthand\build\input, C:\work\org.hl7.fhir.igs\aepc\shorthand\build\input\examples, C:\work\org.hl7.fhir.igs\aepc\shorthand\build\input\extensions, C:\work\org.hl7.fhir.igs\aepc\shorthand\build\input\profiles, C:\work\org.hl7.fhir.igs\aepc\shorthand\build\input\vocabulary]

view this post on Zulip David Hay (Apr 30 2020 at 06:20):

oops - sorry, was hacking around with the IG trying to figure out what was happening. I'm gonna let it run to build up the cache so will get it tidied up tomorrow... Thanks for looking into this...

view this post on Zulip Grahame Grieve (Apr 30 2020 at 06:21):

ok. but that might not be the problem... not sure all the symptoms match? it is clicking through the snomed calls?

view this post on Zulip Grahame Grieve (May 01 2020 at 02:55):

hmm. for those who care... I was persuaded to change from AuditEvent to Provenance for making history entries. So I updated the documentation accordingly - see https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation#IGPublisherDocumentation-HistoryEntries

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:00):

Is this expected to work with the Lists thing in the beginning of this thread?
I.e. if I have a profile on Patient, and I add a list of Provenances with history events for that Patient profile, will that show the history for the patient?

view this post on Zulip Grahame Grieve (May 01 2020 at 13:02):

what's List got to do with it?

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:04):

nevermind

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:04):

it already uses a Bundle

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:04):

I'll play with it.

view this post on Zulip Grahame Grieve (May 01 2020 at 13:05):

so the rest of your question... are you asking about a Patient or a Patient profile? But the answer is: it's purely driven by type/id - it doesn't matter what the type is

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:05):

StructureDef.

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:07):

My idea - and I think this makes it work - is that we can distribute work for an IG, and each contributor will bring:

  1. The conformance resources, respective examples etc
  2. The accompanying Bundle with the Provenances for those resources.

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:08):

the List : I will see if #1 above can be identified by a List, so that the IG only needs to point at the list.

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:08):

I will play with this

view this post on Zulip Grahame Grieve (May 01 2020 at 13:09):

I'm not sure what problem you are trying to solve. List is not relevant here

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:09):

Grahame Grieve said:

I'm just releasing an IG publisher that has a new feature. For any list in your IG, the publisher will produce a set of fragments that are renderings of the list - this allows you to create lists of the resources for specific purposes, and render them into the IG. I'm adding this for UTG Implementation Guide, but it might be useful in other IGs to gather arbitrary groups of resources together for one purpose or another

This was my trigger

view this post on Zulip Grahame Grieve (May 01 2020 at 13:10):

well, ok, that's a rendering thing, not a loading thing

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:11):

oh so I still need to go to my IG and identify each of the resources in the list, right?

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 13:13):

anyway I will play with this over the next few hours.

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:19):

I added the Provenance resources individually, and it works fine.
When I add a Bundle, I get this:

org.hl7.fhir.exceptions.FHIRException: No fullUrl on entry #1 in Bundle h1
        at org.hl7.fhir.igtools.publisher.ValidationServices.fetch(ValidationServices.java:113)
        at org.hl7.fhir.validation.instance.InstanceValidator.checkReference(InstanceValidator.java:2174)
        at org.hl7.fhir.validation.instance.InstanceValidator.checkChild(InstanceValidator.java:4141)
        at org.hl7.fhir.validation.instance.InstanceValidator.validateElement(InstanceValidator.java:3998)
        at org.hl7.fhir.validation.instance.InstanceValidator.startInner(InstanceValidator.java:3458)
        at org.hl7.fhir.validation.instance.InstanceValidator.start(InstanceValidator.java:3370)
        at org.hl7.fhir.validation.instance.InstanceValidator.validateResource(InstanceValidator.java:4690)
        at org.hl7.fhir.validation.instance.InstanceValidator.validateContains(InstanceValidator.java:3861)
        at org.hl7.fhir.validation.instance.InstanceValidator.checkChild(InstanceValidator.java:4155)
        at org.hl7.fhir.validation.instance.InstanceValidator.validateElement(InstanceValidator.java:3998)
        at org.hl7.fhir.validation.instance.InstanceValidator.checkChild(InstanceValidator.java:4172)
        at org.hl7.fhir.validation.instance.InstanceValidator.validateElement(InstanceValidator.java:3998)
        at org.hl7.fhir.validation.instance.InstanceValidator.startInner(InstanceValidator.java:3458)
        at org.hl7.fhir.validation.instance.InstanceValidator.start(InstanceValidator.java:3370)
        at org.hl7.fhir.validation.instance.InstanceValidator.validateResource(InstanceValidator.java:4690)
        at org.hl7.fhir.validation.instance.InstanceValidator.validate(InstanceValidator.java:699)
        at org.hl7.fhir.validation.instance.InstanceValidator.validate(InstanceValidator.java:675)
        at org.hl7.fhir.igtools.publisher.Publisher.validate(Publisher.java:4546)
        at org.hl7.fhir.igtools.publisher.Publisher.validate(Publisher.java:4417)
        at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:831)
        at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:688)
        at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:7310)

view this post on Zulip Lloyd McKenzie (May 01 2020 at 21:24):

And does the Bundle have a fullUrl on the fist entry?

view this post on Zulip Lloyd McKenzie (May 01 2020 at 21:24):

(and all the other entries)

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:33):

It doesn't. The bundle is for the history, does it need to have a full url?

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:35):

(From the documentation it didn't seem necessary)

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:35):

https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation#IGPublisherDocumentation-HistoryEntries

view this post on Zulip Grahame Grieve (May 01 2020 at 21:37):

the documentation only related to the provenance resource. You'll need fullUrls

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:50):

yes. It works well now

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:50):

Would be nice to mark the bundles somehow so that the template can ignore them:

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:50):

image.png

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:51):

i used 2 bundles here:
test-ig-bnd - to load some resources
h1 - to load histort

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:51):

so I don't need them to show up as "other"

view this post on Zulip Jose Costa Teixeira (May 01 2020 at 21:53):

(and this is really cool - I can provide history for the conformance resources that I load as a Bundle)

view this post on Zulip Lloyd McKenzie (May 01 2020 at 23:05):

We need to tweak the transform to 'yank' all of the 'other' Bundles

view this post on Zulip Jose Costa Teixeira (May 02 2020 at 06:12):

Can we find a more delicate way?

view this post on Zulip Jose Costa Teixeira (May 02 2020 at 06:14):

"other bundles" seems a good criteria for exclusion - any bundles that are not in the other groups are removed - that is safe for now

view this post on Zulip Jose Costa Teixeira (May 02 2020 at 06:15):

but if we want to load Lists besides Bundles (that would be nice) or if we change the way we define the groups, we'd need to change again

view this post on Zulip Chris Moesel (May 04 2020 at 16:14):

@David Hay said:

Guess that needs to be me - are there instructions somewhere?

See: https://build.fhir.org/ig/HL7/fhir-shorthand/sushi.html#new-ig-publisher-integration-autobuild-configuration

Also note that SUSHI 0.12 simplified the command for when you're in this configuration. Release notes have details: https://github.com/FHIR/sushi/releases/tag/v0.12.0

view this post on Zulip Jose Costa Teixeira (May 04 2020 at 16:47):

I have questions on sushi integration, will create another topic

view this post on Zulip David Hay (May 04 2020 at 18:18):

Ah - thanks @Chris Moesel - I saw this in the docs but didn't pay enough attention! Will check it out...

view this post on Zulip Etienne Cantineau (May 07 2020 at 07:27):

Hello, i noticed in my IG that new history part and i have a problem of link not resolved in the author. I have a provenance with the "who" as organization1 with correct link Organization-organization1.html. http://build.fhir.org/ig/ec-ehealth/Build-source/branches/master/Provenance-provenance1.html
My target is Practitioner1. In the practitioner page, the link in "Author" points to Organization/organization1 instead of Organization-organization1.html. http://build.fhir.org/ig/ec-ehealth/Build-source/branches/master/Practitioner-practitioner1.html

view this post on Zulip Etienne Cantineau (May 12 2020 at 07:34):

I want to use that feature to maintain my code systems versioning but i don't want to overload my IG instances with many Provenance resources. I'm actually thinking of a big Bundle instance "Table versions" containing all the Provenance. Is it the optimal way?

view this post on Zulip Grahame Grieve (May 12 2020 at 10:14):

yes that's how we did the terminology IG - a few big bundles.

view this post on Zulip John Moehrke (Jul 02 2020 at 19:31):

I tried to add Provenance of my IHE FormatCode codesystem. I don't get a build error, but also don't see evidence of the Provenance.
IG http://build.fhir.org/ig/IHE/FormatCode/branches/master/index.html

view this post on Zulip John Moehrke (Jul 02 2020 at 19:34):

what more might I need to do?

view this post on Zulip Grahame Grieve (Jul 02 2020 at 19:40):

@Jose Costa Teixeira does the IHE template insert the generated history?

view this post on Zulip John Moehrke (Jul 02 2020 at 19:43):

I just tried what I think is the hl7 template

onLoad.updateIg:
[xslt] Processing C:\Users\john.moehrke\Git\FormatCode\template\onLoad-ig-working.xml to C:\Users\john.moehrke\Git\FormatCode\template\onLoad-ig-updated.xml
[xslt] Loading stylesheet C:\Users\john.moehrke\Git\FormatCode\template\scripts\onLoad.xslt
ImplementationGuide.version must be specified
[xslt] C:\Users\john.moehrke\Git\FormatCode\template\scripts\onLoad.xslt:18: Fatal Error! Processing terminated by xsl:message at line 18 in onLoad.xslt
[xslt] Failed to process C:\Users\john.moehrke\Git\FormatCode\template\onLoad-ig-working.xml
Publishing Content Failed: Fatal error during transformation using C:\Users\john.moehrke\Git\FormatCode\template\scripts\onLoad.xslt: Processing terminated by xsl:message at line 18 in onLoad.xslt; SystemID: file:/C:/Users/john.moehrke/Git/FormatCode/template/scripts/onLoad.xslt; Line#: 18; Column#: -1 (00:19.0219)
(00:19.0227)
This error was created by the template (00:19.0229)
Press any key to continue . . .

view this post on Zulip Grahame Grieve (Jul 02 2020 at 19:43):

don't know what that message about is about but you won't be able to use the hl7 template

view this post on Zulip John Moehrke (Jul 02 2020 at 19:44):

ill try base

view this post on Zulip Grahame Grieve (Jul 02 2020 at 19:44):

but I just looked and it does get a generated history fragment, so I think it's a template issue

view this post on Zulip John Moehrke (Jul 02 2020 at 19:45):

ok. Ill wait for Jose

view this post on Zulip Jose Costa Teixeira (Jul 02 2020 at 19:50):

IHE template does not insert the history yet

view this post on Zulip Jose Costa Teixeira (Jul 02 2020 at 19:51):

It still clones much of the base template, instead of just using it.

view this post on Zulip Jose Costa Teixeira (Jul 02 2020 at 19:54):

there's an issue to fix that, I just didn't get to it yet (because I want to change the way colors are defined etc).

view this post on Zulip Jose Costa Teixeira (Jul 02 2020 at 19:54):

@John Moehrke is this urgent or very urgent?

view this post on Zulip John Moehrke (Jul 02 2020 at 19:58):

not urgent. Just tried something out and wondered if I was doing it right not not. We are likely to approve this for production use next month... if we can... but nothing critical

view this post on Zulip Jose Costa Teixeira (Jul 02 2020 at 20:03):

if you test it with base template, and if it works, that will do it. I hope next week I can fix the template, and the IHE template will then show it as the base template

view this post on Zulip John Moehrke (Jul 02 2020 at 20:05):

base template didn't work. Not sure why not (see above error)

view this post on Zulip Lloyd McKenzie (Jul 02 2020 at 20:36):

What message appears in the stack prior to that error?

view this post on Zulip Jose Costa Teixeira (Jul 05 2020 at 08:48):

About history: the template already supports it, but until today you needed to add the history folder to the IG asa parameter.
I just made the template do it automatically so we don't have to bother. PR submitted

view this post on Zulip Jose Costa Teixeira (Jul 06 2020 at 20:03):

@John Moehrke even without the updates to the IHE template, the history should now be working (we changed the base template)

view this post on Zulip John Moehrke (Jul 07 2020 at 13:56):

which version of the ihe template should I ask for in the ig.ini? I have been specifying 0.0.2

view this post on Zulip Jose Costa Teixeira (Jul 07 2020 at 14:06):

#current is usually better

view this post on Zulip Jose Costa Teixeira (Jul 07 2020 at 14:06):

or leave version out, and it defaults to current

view this post on Zulip John Moehrke (Jul 07 2020 at 14:10):

hmm, I thought that we now needed to specify one. will try that

view this post on Zulip John Moehrke (Jul 07 2020 at 14:12):

that failed

view this post on Zulip John Moehrke (Jul 07 2020 at 14:12):

Load Template from ihe.fhir.template#current (00:01.0133)
Installing ihe.fhir.template#current to the package cache
Fetching:
Installing: done.
Load Template from fhir.base.template#current (00:03.0927)
Installing fhir.base.template#current to the package cache
Fetching:.
Installing: . done.

onLoad.findSpreadsheets:

onLoad.updateIg:
[xslt] Processing C:\Users\john.moehrke\Git\FormatCode\template\onLoad-ig-working.xml to C:\Users\john.moehrke\Git\FormatCode\template\onLoad-ig-updated.xml
[xslt] Loading stylesheet C:\Users\john.moehrke\Git\FormatCode\template\scripts\onLoad.xslt
ImplementationGuide.version must be specified
[xslt] C:\Users\john.moehrke\Git\FormatCode\template\scripts\onLoad.xslt:18: Fatal Error! Processing terminated by xsl:message at line 18 in onLoad.xslt
[xslt] Failed to process C:\Users\john.moehrke\Git\FormatCode\template\onLoad-ig-working.xml
Publishing Content Failed: Fatal error during transformation using C:\Users\john.moehrke\Git\FormatCode\template\scripts\onLoad.xslt: Processing terminated by xsl:message at line 18 in onLoad.xslt; SystemID: file:/C:/Users/john.moehrke/Git/FormatCode/template/scripts/onLoad.xslt; Line#: 18; Column#: -1 (00:11.0747)
(00:11.0752)
This error was created by the template (00:11.0754)

view this post on Zulip John Moehrke (Jul 07 2020 at 14:15):

I get the same error with hl7.fhir.template

view this post on Zulip John Moehrke (Jul 07 2020 at 14:15):

something must have changed in the expectations of an IG that I missed

view this post on Zulip John Moehrke (Jul 07 2020 at 14:18):

still builds fine with ihe template 0.0.2...

view this post on Zulip John Moehrke (Jul 07 2020 at 14:19):

ah, duh... john, read the error... working on it.

view this post on Zulip Jose Costa Teixeira (Jul 07 2020 at 14:20):

ImplementationGuide.version must be specified :grinning_face_with_smiling_eyes:

view this post on Zulip John Moehrke (Jul 07 2020 at 14:40):

got thru those new requirements. It is working better. history is still only showing one itteration.

view this post on Zulip Jose Costa Teixeira (Nov 17 2020 at 22:56):

image.png
This - Adding a Bundle and let the IG get the resources out of it - is no longer working. I wanted to add a Bundle of resources using the Bundle extension but the IG complains about duplicate resources.
Is the igpublisher-bundlestill supported?


Last updated: Apr 12 2022 at 19:14 UTC