Stream: Vulcan/ePI
Topic: Jan 2022 Connectathon
Craig Anderson (Jan 02 2022 at 22:37):
@Jens Villadsen, @Francesco Cremonesi Happy new year!
All FSH errors have been cleared but we have one publishing error left: Publishing Content Failed: Process exited with an error: 1 (Exit value: 1). Looks like it wasn't able to download the 5.0.0-snapshot1. Any thoughts on how to fix?
Sushi: error Failed to load hl7.fhir.r5.core#5.0.0-snapshot1: The package hl7.fhir.r5.core#5.0.0-snapshot1 could not be loaded locally or from the FHIR package registry. (00:01.0573)
38
Sushi: error Valid StructureDefinition resource not found. The FHIR package in your local cache may be corrupt. Local FHIR cache can be found at <home-directory>/.fhir/packages. For more information, see https://wiki.hl7.org/FHIR_Package_Cache#Location. (00:01.0637)
39
Sushi couldn't be run. Complete output from running Sushi :
Francesco Cremonesi (Jan 03 2022 at 10:00):
Craig Anderson said:
Jens Villadsen, Francesco Cremonesi Happy new year!
All FSH errors have been cleared but we have one publishing error left: Publishing Content Failed: Process exited with an error: 1 (Exit value: 1). Looks like it wasn't able to download the 5.0.0-snapshot1. Any thoughts on how to fix?
Sushi: error Failed to load hl7.fhir.r5.core#5.0.0-snapshot1: The package hl7.fhir.r5.core#5.0.0-snapshot1 could not be loaded locally or from the FHIR package registry. (00:01.0573)
38
Sushi: error Valid StructureDefinition resource not found. The FHIR package in your local cache may be corrupt. Local FHIR cache can be found at <home-directory>/.fhir/packages. For more information, see https://wiki.hl7.org/FHIR_Package_Cache#Location. (00:01.0637)
39
Sushi couldn't be run. Complete output from running Sushi :
Hi @Craig Anderson , @Jens Villadsen ,
there seems to be a problem with the FHIR registry itself. If I go to http://hl7.org/fhir/directory.html and try to manually download the r5.0.0-shapshot1 package I get a 404 error. However, I am able to download the "stable" release 4.0.1.
I don't know who we should contact to resolve this... Any suggestions?
Jens Villadsen (Jan 03 2022 at 10:06):
@Grahame Grieve - would that be you?
Jens Villadsen (Jan 03 2022 at 19:04):
@Francesco Cremonesi follow the lead here: https://chat.fhir.org/#narrow/stream/215610-shorthand/topic/R5.20support
Jens Villadsen (Jan 03 2022 at 19:05):
that will get you through momentarily - the SSL certificate has expired but there's a guide to get pass that
Jens Villadsen (Jan 03 2022 at 19:05):
So @Craig Anderson and @Francesco Cremonesi it is not entirely done yet:
error Cannot assign string value: . Value does not match element type: dateTime
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/03-regulatedauthorization/authorization-02-ma002-100-50-5pens.fsh
Line: 27
error Cannot assign string value: . Value does not match element type: dateTime
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/03-regulatedauthorization/authorization-03-ma003-100-33-3pens.fsh
Line: 27
error Cannot find definition for Instance: Reference(). Skipping rule.
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/06-administrableproductdefinition/administrableproduct-01-100-33.fsh
Line: 11
error Cannot find definition for Instance: Reference(). Skipping rule.
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/06-administrableproductdefinition/administrableproduct-01-100-33.fsh
Line: 18 - 19
error Element AdministrableProductDefinition.status has minimum cardinality 1 but occurs 0 time(s).
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/06-administrableproductdefinition/administrableproduct-02-100-50.fsh
Line: 1 - 11
error Element AdministrableProductDefinition.routeOfAdministration has minimum cardinality 1 but occurs 0 time(s).
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/06-administrableproductdefinition/administrableproduct-02-100-50.fsh
Line: 1 - 11
error Cannot assign string value: current. Value does not match element type: code
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 5 - 6
error Cannot assign string value: video/mp4. Value does not match element type: code
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 8
error Cannot assign string value: no. Value does not match element type: code
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 9
error Maximum call stack size exceeded
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 10
error Element DocumentReference.status has minimum cardinality 1 but occurs 0 time(s).
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 1 - 15
Craig Anderson (Jan 03 2022 at 19:15):
@Jens Villadsen , @Francesco Cremonesi
ok, I'm on it. Working through these now
Jens Villadsen (Jan 03 2022 at 19:42):
@Craig Anderson and @Francesco Cremonesi you also need to rename all ClinicalUseIssue (the name in 4.6.0 http://hl7.org/fhir/2021May/clinicaluseissue.html) to ClinicalUseDefinition which is the name in 5.0.0-snapshot1 (http://hl7.org/fhir/5.0.0-snapshot1/clinicalusedefinition.html) - structure looks like it is more or less the same
Craig Anderson (Jan 03 2022 at 19:44):
@Jens Villadsen , how are you seeing these errors? I just pushed a fix to Github and these errors are not showing up
Jens Villadsen (Jan 03 2022 at 19:44):
that is because I went around the previous errors
Jens Villadsen (Jan 03 2022 at 19:44):
andd built it locally
Craig Anderson (Jan 03 2022 at 19:48):
Using Sushi?
Jens Villadsen (Jan 03 2022 at 19:48):
and the IG publisher
Craig Anderson (Jan 03 2022 at 19:50):
Do you have time to show me how to set up sushi again? I think I have fixed my install issue. Don't recall the next step though
Jens Villadsen (Jan 03 2022 at 19:56):
npm install -g fsh-sushi@2.2.5
Jens Villadsen (Jan 03 2022 at 20:04):
then call sushi .
when in the directory that you've cloned from github
Jens Villadsen (Jan 03 2022 at 20:12):
We'll also need to remove the video as embedded data at https://github.com/hl7-eu/gravitate-health/blob/master/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh - as the file size causes sushi to crash
Craig Anderson (Jan 03 2022 at 20:22):
ok, think I have sushi running but need to download the 5.0.0-snapshot1
error Failed to load hl7.fhir.r5.core#5.0.0-snapshot1: The package hl7.fhir.r5.core#5.0.0-snapshot1 could not be loaded locally or from the FHIR package registry.
error Valid StructureDefinition resource not found. The FHIR package in your local cache may be corrupt. Local FHIR cache can be found at <home-directory>/.fhir/packages. For more information, see https://wiki.hl7.org/FHIR_Package_Cache#Location.
Jens Villadsen (Jan 03 2022 at 23:21):
yes, if you cannot wait, then follow the steps as desribed on https://chat.fhir.org/#narrow/stream/215610-shorthand/topic/R5.20support
Jens Villadsen (Jan 03 2022 at 23:24):
The following errors are the inital one's left:
error Cannot assign string value: current. Value does not match element type: code
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 5 - 6
error Cannot assign string value: video/mp4. Value does not match element type: code
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 8
error Cannot assign string value: no. Value does not match element type: code
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 9
error Maximum call stack size exceeded
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 10
error Element DocumentReference.status has minimum cardinality 1 but occurs 0 time(s).
File: /Users/jvi/gravitate-health/input/fsh/Suliqua-instances-en/11-documentreference/suliqua-mp4.fsh
Line: 1 - 15
Jens Villadsen (Jan 03 2022 at 23:25):
@Craig Anderson :point_up:
Francesco Cremonesi (Jan 04 2022 at 14:21):
Thank you @Jens Villadsen , I can confirm that the workaround works :D
Sorry I haven't been super-responsive but I'm a bit sick. I can take a look at those suliqua errors right now and see if I can fix them. Thank you again for your help!
Francesco Cremonesi (Jan 04 2022 at 14:21):
If I may ask, how did you know it was the SSL certificate?
Jens Villadsen (Jan 04 2022 at 14:23):
@Francesco Cremonesi If you go to the registry at https://packages.fhir.org/catalog - the browser gives you a hint
Jens Villadsen (Jan 04 2022 at 14:24):
Francesco Cremonesi (Jan 04 2022 at 15:08):
that's genius!! I should have noticed that!! I will pay more attention next time, thank you @Jens Villadsen !
Francesco Cremonesi (Jan 04 2022 at 15:17):
@Jens Villadsen @Craig Anderson I've worked on a solution to the maximum call stack exceeded, using BinaryAdjunctFiles as suggested here:
https://chat.fhir.org/#narrow/stream/215610-shorthand/topic/Binary.20Adjunct/near/240180681
I was actually following a thread that you opened this morning, so thank you again: https://chat.fhir.org/#narrow/stream/215610-shorthand/topic/.22Big.20data.22
You can find it on my github for the moment https://github.com/hl7-eu/gravitate-health/compare/master...sharkovsky:fix/video-attachment-stack-size-error
It relies on including the video as an mp4 file in a separate folder, and using this BinaryAdjunctFiles feature from the publisher.
I didn't submit a pull request to the official hl7 repo yet because it's not clean to push video files to github, so I wanted to ask you what your preferred solution was? Maybe we could just make sure that everyone has the file locally and manually puts it in the correct folder? Or maybe you don't care because it's not a huge file anyway (<10MB I think)
Jens Villadsen (Jan 04 2022 at 15:35):
Its just 10 mb's so pushing it is fine with me
Francesco Cremonesi (Jan 04 2022 at 15:43):
never mind, Adam pushed a different fix relying on an external public URL.
Francesco Cremonesi (Jan 04 2022 at 15:44):
I think that's valid too, so I can just forget my approach ;) Although I'm happy that I've learned to use a new feature, if we ever need it again :D
Jens Villadsen (Jan 04 2022 at 15:45):
Do you guys have any local errors when you build it now?
Francesco Cremonesi (Jan 04 2022 at 15:46):
re-building now, it got past the stage where it threw the errors before, so it's encouraging
Francesco Cremonesi (Jan 04 2022 at 15:47):
I got some errors before about malformed xhtml, I will update you if they appear again (quite possible I'm afraid)
Francesco Cremonesi (Jan 04 2022 at 15:49):
Yep, they appeared again. The issue is the following:
1) according to xhtml, we cannot use open <br> tags but we should use closed ones <br />
2) Indeed, this satisfies sushi's checks who does not complain anymore about malformed xhtml in the phase of compilation fsh->json
3) However, somehow these tags get compiled as open <br> tags in the json
4) thus when it's time to publish the resources, the publisher complains about malformed xhtml
Francesco Cremonesi (Jan 04 2022 at 15:49):
this is the exact error
Publishing Content Failed: Unable to determine type for /home/publisher/ig/fsh-generated/resources/Composition-cfsb1316794754115: Malformed XHTML: Found "</div>" expecting "</br>" at line 1 column 1576 (03:28.0994)
Francesco Cremonesi (Jan 04 2022 at 15:53):
So if I open the generated resource in json format (for example, the file identified in the error message) I can confirm that in the json those tags appear as <br>, while in the original fsh file they appear as <br />
Francesco Cremonesi (Jan 04 2022 at 15:54):
Do you have any suggestion on how to deal with this?
A quick workaround would be to remove the line breaks, or replace them with something like <p></p> maybe?
But the correct thing to do would be to understand why sushi is not "translating" those tags correctly... Do you know who we could ask?
Jens Villadsen (Jan 04 2022 at 15:59):
Francesco Cremonesi said:
So if I open the generated resource in json format (for example, the file identified in the error message) I can confirm that in the json those tags appear as <br>, while in the original fsh file they appear as <br />
@Chris Moesel ain't that a bit fishy (I couldn't resist)
Jens Villadsen (Jan 04 2022 at 16:00):
@Francesco Cremonesi also, you need to rename all the ClinicalUseIssue
to ClinicalUseDefinition
Jens Villadsen (Jan 04 2022 at 16:01):
or you'll see the
Parsing FHIR content returned multiple elements in a context where only one element is allowed loading /Users/jvi/gravitate-health/fsh-generated/resources/ClinicalUseIssue-cfsb1639240914083.json (00:31.0739)
org.hl7.fhir.exceptions.FHIRException: Parsing FHIR content returned multiple elements in a context where only one element is allowed
at org.hl7.fhir.r5.elementmodel.ParserBase.parseSingle(ParserBase.java:112)
at org.hl7.fhir.igtools.publisher.SimpleFetcher.scan(SimpleFetcher.java:328)
at org.hl7.fhir.igtools.publisher.Publisher.loadResources(Publisher.java:3880)
at org.hl7.fhir.igtools.publisher.Publisher.load(Publisher.java:3374)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:939)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:795)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8975)
Jens Villadsen (Jan 04 2022 at 16:01):
when running ./_genonce.sh
Francesco Cremonesi (Jan 04 2022 at 16:02):
of course, I forgot about ClinicalUseIssue
Francesco Cremonesi (Jan 04 2022 at 16:04):
unfortunately, even if I get rid of all the br tags, there seems to be another issue with the xhtml having to do with a colgroup tag being automagically inserted by sushi (I assume).
I'm not the author of this xhtml so maybe I'll ask Adam to take a look at it.
Chris Moesel (Jan 04 2022 at 16:36):
Hmmm... Can one of you point me to the repo and/or branch where I can reproduce the XHTML <br> tag issue?
Jens Villadsen (Jan 04 2022 at 16:50):
@Francesco Cremonesi :point_up:
Francesco Cremonesi (Jan 04 2022 at 16:58):
Thank you @Chris Moesel , this is the repo we are working on
https://github.com/hl7-eu/gravitate-health
Francesco Cremonesi (Jan 04 2022 at 16:59):
(you won't see the errors in the github actions because it fails before due to the expired certificate issue, so you have to run it manually and export NODE_TLS_REJECT_UNAUTHORIZED=0
)
Chris Moesel (Jan 04 2022 at 21:25):
I found the bug in SUSHI. We run the XHTML through a minifier to reduce a lot of the whitespace and clean up the JSON representation. Unfortunately that minifier was stripping the self-closing tag. Fortunately, however, there was an option to change that behavior. I'm now doing some testing and will try to get it reviewed and maybe released tomorrow. Sorry about the trouble!
Jens Villadsen (Jan 05 2022 at 09:10):
@Chris Moesel we're just grateful for the tools that guys have provided and the support you do.
Francesco Cremonesi (Jan 05 2022 at 10:15):
That's amazing @Chris Moesel , and so fast! I also would like to join Jens in expressing my gratitude for the great tools and support you are providing.
Chris Moesel (Jan 06 2022 at 00:49):
@Jens Villadsen and @Francesco Cremonesi -- thanks for the support! We're glad to have the opportunity to help move health interoperability forward! Thank you for your part in that as well!
The issue with XHTML has been fixed in SUSHI 2.2.6. You'll find that all your <br/>
are left intact now!
Craig Anderson (Jan 07 2022 at 01:44):
Jens Villadsen said:
Chris Moesel we're just grateful for the tools that guys have provided and the support you do.
I really second that! Especially for someone like me who is not a developer. FSH has been particularly helpful. Has definitely helped us accelerate these projects.
Craig Anderson (Jan 07 2022 at 02:29):
@Jens Villadsen , @Francesco Cremonesi , @Evinn Drusys,
Thanks for the starting point Jens. Got the full bundle working locally with Sushi and now uploaded to Github. Love the feature that autogenerates the JSON files.
Jens Villadsen (Jan 07 2022 at 12:13):
We're currently waiting for the fix at https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/R5/near/267107643 to be available in some form. Once it is available we should be able to produce our IG and sample data
Jens Villadsen (Jan 10 2022 at 14:45):
The IG can now be seen at https://hl7-eu.github.io/gravitate-health/
Last updated: Apr 12 2022 at 19:14 UTC