Stream: IG creation
Topic: Catching up
Grahame Grieve (Mar 03 2019 at 21:34):
I'm home this week, trying to catch up on IG publisher issues. I've fallen a long way behind after nearly 4 weeks on the road.. can people let me know what a blocking issues for HL7 publications coming up - thanks
Eric Haas (Mar 04 2019 at 00:02):
Here are mine for Argo Questionnaire:
(Not a priority - Creating a task): https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/no.20trailing.20'.2F'.20for.20.7B.7Bsite.2Edata.2Efhir.2E.5Bdependency.5D.7D.7D/near/159454308
Grahame Grieve (Mar 04 2019 at 01:15):
@Eric Haas I am closing GF#18331 - it doesn't have enough information for me to know what to do with it. You can bring it back to life if you can provide more information
Grahame Grieve (Mar 04 2019 at 01:28):
I can't figure out whether GF#17684 is a problem still or not. (actually, whether it was really a problem)
Grahame Grieve (Mar 04 2019 at 01:30):
and I think that GF#17282 is not a problem
Grahame Grieve (Mar 04 2019 at 01:42):
@Richard Townley-O'Neill - which IG is GF#14091 about?
Eric Haas (Mar 04 2019 at 01:46):
@Brian Postlethwaite has done a deep dive into GF#18331 and may be able to shed more light onto it.
i am reluctant to recreate the issue until am sure i know how to recover
Eric Haas (Mar 04 2019 at 01:49):
I agree that GF#17684 may not be a separate problem from GF#18331. So I would close it and can revisit if crops up after figure out the other issues.
Grahame Grieve (Mar 04 2019 at 01:50):
well, please close it. You can withdraw it but I get in trouble from the Lloyd police if I do
Eric Haas (Mar 04 2019 at 01:53):
GF#17684 wtihdrawn. I don't think GF#17282 is an issue either although I'm not totally clear what Rob is asking.
Richard Townley-O'Neill (Mar 04 2019 at 03:47):
@Grahame Grieve GF#14091 was from a local IG that we used for learning, until we abandoned it last year.
The problem seems to have gone in the last year. :tada:
Nothing to do but close the issue.
Grahame Grieve (Mar 04 2019 at 03:53):
ok thx
Grahame Grieve (Mar 04 2019 at 05:48):
@Eric Haas do you have a test case for GF#20017 ?
Eric Haas (Mar 04 2019 at 06:03):
US Core Procedure
http://hl7.org/fhir/us/core/StructureDefinition-us-core-procedure.html
Eric Haas (Mar 04 2019 at 06:04):
also same for US Core R4
Eric Haas (Mar 04 2019 at 06:04):
Procedure.code
Eric Haas (Mar 04 2019 at 06:31):
almost forgot the most pressing issue is lack of narrative pages for examples in r4 igs.
1. the files referenced by {% include {{[type]}}-{{[name]}}.xhtml %}
are all empty so the narrative is not showing up (for example here.) The text is present in the resources though as can be seen here.
Grahame Grieve (Mar 04 2019 at 06:35):
working on that now
Grahame Grieve (Mar 04 2019 at 06:53):
I don't understand this:
The codes SHALL be taken from US Core Procedure Codes; other codes may be used where these codes are not suitable
Max Binding: US Core Procedure Codes
Grahame Grieve (Mar 04 2019 at 06:53):
Max Binding means nothing if you have a required binding
Grahame Grieve (Mar 04 2019 at 06:54):
max and min bindings will render now.
Grahame Grieve (Mar 04 2019 at 07:04):
the files referenced by {% include {{[type]}}-{{[name]}}.xhtml %} are all empty
Now that I'm actually at it, how do you reproduce this?
Grahame Grieve (Mar 04 2019 at 07:05):
I'm not finding empty files anywhere.
Grahame Grieve (Mar 04 2019 at 11:27):
@Eric Haas next release of IG publisher will include the capability to specify a liquid template
- add path "liquid" (in the "paths" object) which points to a folder (in ig.json)
- contains [x].liquid where x is a resource type (case insensitive)
- any narrative generated for a resource of the type will use the liquid template
I'll document it once it settles down
Eric Haas (Mar 04 2019 at 14:29):
What It means is you can have text only for essentially a required binding. The min max binding is pretty obscure stuff by the way, (especially since is an extension off of elementdefinition) I don't think more than a 1/2 dozen people could explain it and that is a problem. Discussd with @Rob Hausam and i think should get more exposure on the terminology page.
Eric Haas (Mar 04 2019 at 14:32):
great on liquid i'll check it out.
Grahame Grieve (Mar 04 2019 at 19:25):
What It means is you can have text only for essentially a required binding
I didn't follow this. You're saying that you were trying to make this allowed? or disallowed?
Rob Hausam (Mar 04 2019 at 21:25):
What I believe that Eric is saying (as I recall our discussion) is that with a required binding on a CodeableConcept element you must have at least one Coding - using CodeableConcept.text alone in the data type instance isn't allowed. But by using min and max value sets you can essentially get the behavior of a required binding in regard to the codes while still allowing CodeableConcept.text alone as a valid instance of the data type. I can see why you might want to do that (whether it's absolutely necessary or desirable to have it or not, I'm not entirely sure) - but if we think we need to support this it would certainly be good to figure out a more straightforward way to be able to specify it.
Grahame Grieve (Mar 04 2019 at 21:27):
but what I was drawing attention to was a required binding with a max value set... which doesn't make sense as a combination
Rob Hausam (Mar 04 2019 at 21:28):
Yes, I can't see how that makes sense.
Grahame Grieve (Mar 04 2019 at 21:59):
ok Liquid stuff is released
Grahame Grieve (Mar 04 2019 at 22:13):
@Eric Haas I haven't reproduced GF#19744 ?
Eric Haas (Mar 04 2019 at 22:38):
Ok I'll take another look at my igs.
Eric Haas (Mar 04 2019 at 22:39):
Ok I'll take another look at my end
Grahame Grieve (Mar 04 2019 at 23:12):
@Rob Hausam GF#20369 can be closed now?
Grahame Grieve (Mar 04 2019 at 23:13):
@Richard Townley-O'Neill can you check GF#20333 with the latest iG publisher, thanks
Grahame Grieve (Mar 04 2019 at 23:15):
GF#19297 - the implementation guide ig should be the NPM package name + version, and the publisher should impose this, yes? @Rick Geimer @Lloyd McKenzie @Eric Haas
Rob Hausam (Mar 04 2019 at 23:22):
Yes - GF#20369 can be closed.
Eric Haas (Mar 04 2019 at 23:22):
re @Eric Haas I haven't reproduced GF#19744 ?
Can you take a look at US Core R4. https://build.fhir.org/ig/HL7/US-Core-R4/all-examples.html
Most of these example don't have narratives pages but Bundles do and its not coming from the source file.
if you look at the xml and json you see the narratives in there but the hmtl file is empty. I can not figure out why. In ig json, I configured ex.html template just for example files. I am not sure where to look?
Eric Haas (Mar 04 2019 at 23:25):
GF#19297 - yes fine by me
Grahame Grieve (Mar 05 2019 at 00:28):
I sampled about half the resources in all-examples, and didn't find any without narrative pages ?
Grahame Grieve (Mar 05 2019 at 00:31):
oh interesting. it builds diferently in the ci server than for me
Grahame Grieve (Mar 05 2019 at 00:32):
@Josh Mandel is there any way I can see the contents of the temp folder on the build process server?
Lloyd McKenzie (Mar 05 2019 at 00:38):
19297 - that makes for sort of an ugly id, but ok I guess. How do we separate the packagename and version?
Lloyd McKenzie (Mar 05 2019 at 00:38):
Also, I'm not sure we should impose that on non-HL7 IGs.
Grahame Grieve (Mar 05 2019 at 00:38):
dash. I guess. doesn't really matter. other choice is dot
Lloyd McKenzie (Mar 05 2019 at 00:39):
We're using dots within NPM and version, so I guess dash is best
Grahame Grieve (Mar 05 2019 at 00:58):
@Eric Haas - got any example for GF#18112? I can't reproduce the problem?
Josh Mandel (Mar 05 2019 at 01:18):
Josh Mandel is there any way I can see the contents of the temp folder on the build process server?
Does this refer to the systemwide temp directory, or something java manages?
Josh Mandel (Mar 05 2019 at 01:18):
I can give you access to ssh into the build server if it helps!
Grahame Grieve (Mar 05 2019 at 01:19):
yes I think I need that this time. but does the build process clear out the build once it's finished?
Josh Mandel (Mar 05 2019 at 01:19):
Oh wait, for IG builds: this all occurs in docker.
Josh Mandel (Mar 05 2019 at 01:19):
You should be able to reproduce the whole thing locally
Grahame Grieve (Mar 05 2019 at 01:20):
oh? how?
Josh Mandel (Mar 05 2019 at 01:21):
https://github.com/hl7-fhir/auto-ig-builder/tree/master/images/ig-build has a Dockerfile that's the same configuration we use in our cluster
Josh Mandel (Mar 05 2019 at 01:21):
Let's see...
Josh Mandel (Mar 05 2019 at 01:22):
Do you have docker working locally?
Grahame Grieve (Mar 05 2019 at 01:29):
I did once.
Grahame Grieve (Mar 05 2019 at 01:29):
I'll have a go shortly
Eric Haas (Mar 05 2019 at 01:34):
re: GF#18112
https://healthedata1.github.io/IG-Template2/#variables
{{site.data.fhir.path}}
is OK because now has the '/' appended to it.
{{site.data.fhir.uscore}
is http://hl7.org/fhir/us/core-r4 but the home page is https://build.fhir.org/ig/HL7/US-Core-R4/index.html missing package list?
{{site.data.fhir.canonical}}
I'm not sure why I wanted this anymore so can ignore that.
Josh Mandel (Mar 05 2019 at 01:35):
Okay. Building that with docker build -t igdebug .
and then running with docker run -e IG_ORG=mygithuborg -e IG_REPO=mygithubrepo igdebug
Josh Mandel (Mar 05 2019 at 01:36):
... should build locally just as we do in the cluster
Josh Mandel (Mar 05 2019 at 01:37):
(igdebug is an arbitrary name that you can change based on what you want to type/remember; and the GitHub variables should be whatever repo you want to build)
Grahame Grieve (Mar 05 2019 at 03:42):
@Richard Townley-O'Neill have you get an example for GF#17401?
Grahame Grieve (Mar 05 2019 at 04:04):
@Josh Mandel now that I have docker running (battle with windows about the system path), when I run the build command I get:
Grahame Grieve (Mar 05 2019 at 04:05):
The command '/bin/sh -c gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB && curl -L get.rvm.io | bash -s stable && rvm install 2.5.1 && gem install jekyll jekyll-asciidoc' returned a non-zero code: 2
Josh Mandel (Mar 05 2019 at 04:09):
The dollar sign was representing the prompt -- skip that character.
Grahame Grieve (Mar 05 2019 at 04:13):
I don't know if this is relevant - immediately before hand:
Grahame Grieve (Mar 05 2019 at 04:13):
gpgkeys: key 409B6B1796C275462A1703113804BB82D39DC0E3 can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
gpgkeys: key 7D2BAF1CF37B13E2069D6956105BD0E739499BDB can't be retrieved
Josh Mandel (Mar 05 2019 at 04:15):
Yeah, I see the same -- testing a fix.
Josh Mandel (Mar 05 2019 at 04:16):
(need to point to a new server to fetch that public key for the rvm install)
Josh Mandel (Mar 05 2019 at 04:26):
Okay, you can git pull
and run the build command again -- should work now. I'll share some better commands for debugging your ig publisher run too, once it builds.
Josh Mandel (Mar 05 2019 at 04:28):
Hmm, I see the way we're cleaning up is going to make it harder for you to poke around at the temp files after the process fails.
Josh Mandel (Mar 05 2019 at 04:29):
for the moment, before building can you comment out images/ig-build/builder/builder.py#L81
(i.e., the line that saysshutil.rmtree(temp_dir)
) ?
Josh Mandel (Mar 05 2019 at 04:29):
Then you can enter into a shell via
docker run --rm -it --entrypoint bash igdebug
Josh Mandel (Mar 05 2019 at 04:30):
and from there you can do a build like
IG_ORG=test-igs IG_REPO=simple python -m builder.builder
Josh Mandel (Mar 05 2019 at 04:33):
Then you can explore the temporary files at /scratch
(e.g. find /scratch
within the running container, after the publish fails).
Josh Mandel (Mar 05 2019 at 04:35):
(Note: when the builder runs, you should expect to see the python process fail with a message about not being able to get zulip credentials; that's fine, since we don't want this exploration to result in automated zulip messages anyway.)
Josh Mandel (Mar 05 2019 at 04:39):
(Also: a nice feature for me to add would be a debugging flag/mode to this image's builder script, to disable cleanup, zulip messages, and the push to build.fhir.org. This is the first time we've needed to do this kind of debugging, and it brings a lot of clarity ;-))
Grahame Grieve (Mar 05 2019 at 04:41):
bash: $: command not found
Grahame Grieve (Mar 05 2019 at 04:41):
running $ IG_ORG=test-igs IG_REPO=simple python -m builder.builder
Josh Mandel (Mar 05 2019 at 04:45):
Skip the dollar sign (just me representing the prompt)
Grahame Grieve (Mar 05 2019 at 04:46):
ok thx
Grahame Grieve (Mar 05 2019 at 05:12):
scratch is empty
Richard Townley-O'Neill (Mar 05 2019 at 05:19):
Re: GF#17401
How about http://hl7.org/fhir/STU3/document-example-dischargesummary.html
Richard Townley-O'Neill (Mar 05 2019 at 05:20):
or http://hl7.org/fhir/R4/document-example-dischargesummary.html
Richard Townley-O'Neill (Mar 05 2019 at 05:23):
Previously posted in the wrong conversation.
GF#20333 can be closed.
Josh Mandel (Mar 05 2019 at 05:23):
Did the build process generate any output to the terminal? And can you confirm that you commented out the cleanup step before doin docker build?
Grahame Grieve (Mar 05 2019 at 05:27):
I commented out the clean up. with #, yes?
Grahame Grieve (Mar 05 2019 at 05:27):
it prodused expected output including 2 error messages for upload and zulip
Josh Mandel (Mar 05 2019 at 15:10):
Commented out cleanup with #
and then ran docker build -t igdebug .
after that, yes? And still seeing empty scratch? What repo and org did you pass? Maybe show me the full command you entered?
Grahame Grieve (Mar 05 2019 at 18:05):
True 0 Build succeeded Copying logfile publishing Publish HL7/US-Core-R4 to CI build from /scratch/ig-build-temp-82NOJE/repo/output ssh: Could not resolve hostname ci-build-service.fhir.svc.cluster.local: Name or service not known tar: -: Wrote only 4096 of 10240 bytes tar: Error is not recoverable: exiting now published root@7cdea77535ef:/app# cd /scratch root@7cdea77535ef:/scratch# ls ig-build-temp-82NOJE root@7cdea77535ef:/scratch#
Josh Mandel (Mar 05 2019 at 18:26):
OK -- looks like there's a directory there in scratch (/scratch/ig-build-temp-82NOJE
). What does it contain?
Grahame Grieve (Mar 05 2019 at 18:27):
build.log publisher.jar repo
Grahame Grieve (Mar 05 2019 at 18:42):
and repo has everything I need - thanks
Grahame Grieve (Mar 05 2019 at 19:15):
@Eric Haas I can't reproduce the problem anywhere
Eric Haas (Mar 05 2019 at 20:03):
which one?
Grahame Grieve (Mar 05 2019 at 20:08):
missing narrative
Eric Haas (Mar 05 2019 at 20:25):
did you run US Core R4? if so can I see it?
Grahame Grieve (Mar 05 2019 at 20:26):
sure check current build
Eric Haas (Mar 05 2019 at 20:42):
??? is a mystery then....I'll try on a different platform
Eric Haas (Mar 05 2019 at 20:44):
thanks for looking at it
Grahame Grieve (Mar 05 2019 at 20:53):
oh it was real, but whatever it was seems to have gone away
Eric Haas (Mar 05 2019 at 21:03):
:tada:
Eric Haas (Mar 05 2019 at 21:04):
btw Argo-Questionnaire and Clinical Notes on the docket very soon.
Brian Reinhold (Mar 06 2019 at 13:20):
My turn to add (second write of this ... I hate Zulip sometimes - click wrong and you lose it)
I get this warning slicing on a binding
This element does not match any known slice for the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdDevice
Structure def is fine
I also get this error (very old) slicing on an effective[x]:
Profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation, Element matches more than one slice - , wallClockTime
Jens Villadsen (Mar 06 2019 at 13:32):
Any chance that some of the build info, eg:
#Created by build system. Do not modify #Mon Mar 04 15:33:25 AEDT 2019 orgfhir.buildnumber=88c145a00cf9f2d265fb0817ba302260bd0b6f0f name=org.hl7.fhir.utilities orgfhir.timestamp=2019-03-04T15\:33\:25.178+11\:00 orgfhir.version=3.7.9-SNAPSHOT
could end up in the manifest - or could the igpub be published to maven so that there's a chance to figure out the version?
Grahame Grieve (Mar 06 2019 at 19:14):
what manifest?
Jens Villadsen (Mar 06 2019 at 21:53):
The manifest in the jar
Jens Villadsen (Mar 06 2019 at 21:56):
https://en.m.wikipedia.org/wiki/JAR_(file_format)#manifest
Grahame Grieve (Mar 06 2019 at 23:35):
I'm planning to move the igpublisher through maven but after ballot opens, so there's no pressure on the publication system
Brian Reinhold (Mar 09 2019 at 00:10):
@Lloyd McKenzie Any idea on how to solve these issues?
slice on value set binding:
This element does not match any known slice for the profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdDevice
slice on effective[x]:
Profile http://hl7.org/fhir/uv/phd/StructureDefinition/PhdCoincidentTimeStampObservation, Element matches more than one slice - , wallClockTime
Last updated: Apr 12 2022 at 19:14 UTC