Stream: IG creation
Topic: New IG Publisher Feature
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
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)
Grahame Grieve (May 31 2019 at 07:01):
well, they are already differentiated.
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
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').
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)
Grahame Grieve (May 31 2019 at 10:07):
No out only affects the toc in the forthcoming template
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
Giorgio Cangioli (Jun 01 2019 at 07:52):
Thanks Grahame
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 <.....> "
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...
Giorgio Cangioli (Jun 01 2019 at 07:53):
is there a fragment including the descriptions ?
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
Giorgio Cangioli (Jun 01 2019 at 08:54):
They are StructureDefinition with non empty descriptions
Grahame Grieve (Jun 01 2019 at 22:33):
in IPS?
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.
Grahame Grieve (Jun 03 2019 at 07:40):
what branch, and i'll have a look
Giorgio Cangioli (Jun 03 2019 at 08:26):
fhir-logical-models (https://github.com/HL7/fhir-ips/tree/fhir-logical-models)
Grahame Grieve (Jun 04 2019 at 04:13):
so I built this - what should I look for?
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 ...
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>
Grahame Grieve (Jun 04 2019 at 07:10):
oh - mistake in my code. I'll release a fix
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 ?
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:
Grahame Grieve (Apr 29 2020 at 00:24):
Grahame Grieve (Apr 29 2020 at 00:27):
to make this happen, you need to do 2 things:
-
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
-
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
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.
Grahame Grieve (Apr 29 2020 at 04:21):
I didn't consider that
Grahame Grieve (Apr 29 2020 at 04:22):
and I think it's a bad idea too
Lloyd McKenzie (Apr 29 2020 at 04:25):
Care to explain why?
Lloyd McKenzie (Apr 29 2020 at 04:25):
You think it's better to track changes outside the resource that's being modified?
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
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
John Moehrke (Apr 29 2020 at 12:33):
make something up like 'IGhistory', .type is extensible
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)..
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...
Jose Costa Teixeira (Apr 29 2020 at 13:02):
but this is really awesome for management of the IGs
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?
John Moehrke (Apr 29 2020 at 19:26):
I didn't see the wisdom of your design
John Moehrke (Apr 29 2020 at 19:27):
Would rather see Provenance used.
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.
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
John Moehrke (Apr 29 2020 at 19:29):
I talked to him this morning
John Moehrke (Apr 29 2020 at 19:29):
:grinning:
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?
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 ?
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...
Grahame Grieve (Apr 29 2020 at 22:05):
you need to update your IG publisher
David Hay (Apr 29 2020 at 22:06):
I did think I tried that - but will check...
Grahame Grieve (Apr 29 2020 at 22:07):
needs to be version 1.0.84
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)...
David Hay (Apr 29 2020 at 22:14):
(the previous jeykll error was using an older version)
Grahame Grieve (Apr 29 2020 at 22:22):
I didn't make relevant changes at that point that I can think of
David Hay (Apr 29 2020 at 22:23):
That is the correct address to get the publisher?
Grahame Grieve (Apr 29 2020 at 22:23):
yes
David Hay (Apr 29 2020 at 22:23):
OK. will see if I can figure out what's happening...
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...
Grahame Grieve (Apr 29 2020 at 23:52):
which IG is this
David Hay (Apr 29 2020 at 23:56):
https://github.com/davidhay25/aepc (it's not in the build env.)
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...
Grahame Grieve (Apr 30 2020 at 03:37):
this builds fine for me. is it still a problem for you?
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)
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!
Grahame Grieve (Apr 30 2020 at 05:13):
can you turn on all logging in your ig parameters
Grahame Grieve (Apr 30 2020 at 05:13):
that will give you much more information
David Hay (Apr 30 2020 at 05:32):
sure - what parameters should I use?
Jose Costa Teixeira (Apr 30 2020 at 05:42):
https://confluence.hl7.org/display/FHIR/Implementation+Guide+Parameters
David Hay (Apr 30 2020 at 05:43):
Thanks Jose - the docs pointed to the ini file...
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
Jose Costa Teixeira (Apr 30 2020 at 05:45):
I hope that is what Grahame means and I'm not misleading you
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)
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
Grahame Grieve (Apr 30 2020 at 05:48):
David Hay (Apr 30 2020 at 05:49):
I just turned on tx logging...
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)?
Michael Lawley (Apr 30 2020 at 05:51):
Are all the fields in the template mandatory?
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
Grahame Grieve (Apr 30 2020 at 05:52):
only what is mandatory in AuditEvent is mandatory
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)
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
...
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
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. :)
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.
Grahame Grieve (Apr 30 2020 at 06:06):
I fixed that since then. The problem was that the look up wasn't being cached
Grahame Grieve (Apr 30 2020 at 06:07):
so caching will help now
Jean Duteau (Apr 30 2020 at 06:07):
ah, cool
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!
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
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.
David Hay (Apr 30 2020 at 06:12):
I have just updated the github - but the VS hasn't changed in the mean time...
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
David Hay (Apr 30 2020 at 06:14):
Guess that needs to be me - are there instructions somewhere?
David Hay (Apr 30 2020 at 06:15):
(In my defense, it always was intended to be a temporary repo !)
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)
Grahame Grieve (Apr 30 2020 at 06:16):
The saner IG can serve as your example
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]
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...
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?
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
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?
Grahame Grieve (May 01 2020 at 13:02):
what's List got to do with it?
Jose Costa Teixeira (May 01 2020 at 13:04):
nevermind
Jose Costa Teixeira (May 01 2020 at 13:04):
it already uses a Bundle
Jose Costa Teixeira (May 01 2020 at 13:04):
I'll play with it.
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
Jose Costa Teixeira (May 01 2020 at 13:05):
StructureDef.
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:
- The conformance resources, respective examples etc
- The accompanying Bundle with the Provenances for those resources.
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.
Jose Costa Teixeira (May 01 2020 at 13:08):
I will play with this
Grahame Grieve (May 01 2020 at 13:09):
I'm not sure what problem you are trying to solve. List is not relevant here
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
Grahame Grieve (May 01 2020 at 13:10):
well, ok, that's a rendering thing, not a loading thing
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?
Jose Costa Teixeira (May 01 2020 at 13:13):
anyway I will play with this over the next few hours.
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)
Lloyd McKenzie (May 01 2020 at 21:24):
And does the Bundle have a fullUrl on the fist entry?
Lloyd McKenzie (May 01 2020 at 21:24):
(and all the other entries)
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?
Jose Costa Teixeira (May 01 2020 at 21:35):
(From the documentation it didn't seem necessary)
Jose Costa Teixeira (May 01 2020 at 21:35):
Grahame Grieve (May 01 2020 at 21:37):
the documentation only related to the provenance resource. You'll need fullUrls
Jose Costa Teixeira (May 01 2020 at 21:50):
yes. It works well now
Jose Costa Teixeira (May 01 2020 at 21:50):
Would be nice to mark the bundles somehow so that the template can ignore them:
Jose Costa Teixeira (May 01 2020 at 21:50):
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
Jose Costa Teixeira (May 01 2020 at 21:51):
so I don't need them to show up as "other"
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)
Lloyd McKenzie (May 01 2020 at 23:05):
We need to tweak the transform to 'yank' all of the 'other' Bundles
Jose Costa Teixeira (May 02 2020 at 06:12):
Can we find a more delicate way?
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
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
Chris Moesel (May 04 2020 at 16:14):
@David Hay said:
Guess that needs to be me - are there instructions somewhere?
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
Jose Costa Teixeira (May 04 2020 at 16:47):
I have questions on sushi integration, will create another topic
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...
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
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?
Grahame Grieve (May 12 2020 at 10:14):
yes that's how we did the terminology IG - a few big bundles.
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
John Moehrke (Jul 02 2020 at 19:34):
what more might I need to do?
Grahame Grieve (Jul 02 2020 at 19:40):
@Jose Costa Teixeira does the IHE template insert the generated history?
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 . . .
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
John Moehrke (Jul 02 2020 at 19:44):
ill try base
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
John Moehrke (Jul 02 2020 at 19:45):
ok. Ill wait for Jose
Jose Costa Teixeira (Jul 02 2020 at 19:50):
IHE template does not insert the history yet
Jose Costa Teixeira (Jul 02 2020 at 19:51):
It still clones much of the base template, instead of just using it.
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).
Jose Costa Teixeira (Jul 02 2020 at 19:54):
@John Moehrke is this urgent or very urgent?
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
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
John Moehrke (Jul 02 2020 at 20:05):
base template didn't work. Not sure why not (see above error)
Lloyd McKenzie (Jul 02 2020 at 20:36):
What message appears in the stack prior to that error?
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
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)
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
Jose Costa Teixeira (Jul 07 2020 at 14:06):
#current is usually better
Jose Costa Teixeira (Jul 07 2020 at 14:06):
or leave version out, and it defaults to current
John Moehrke (Jul 07 2020 at 14:10):
hmm, I thought that we now needed to specify one. will try that
John Moehrke (Jul 07 2020 at 14:12):
that failed
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)
John Moehrke (Jul 07 2020 at 14:15):
I get the same error with hl7.fhir.template
John Moehrke (Jul 07 2020 at 14:15):
something must have changed in the expectations of an IG that I missed
John Moehrke (Jul 07 2020 at 14:18):
still builds fine with ihe template 0.0.2...
John Moehrke (Jul 07 2020 at 14:19):
ah, duh... john, read the error... working on it.
Jose Costa Teixeira (Jul 07 2020 at 14:20):
ImplementationGuide.version must be specified :grinning_face_with_smiling_eyes:
John Moehrke (Jul 07 2020 at 14:40):
got thru those new requirements. It is working better. history is still only showing one itteration.
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-bundle
still supported?
Last updated: Apr 12 2022 at 19:14 UTC