Stream: IG creation
Topic: Schematron build error
Cheng Liu (Apr 24 2020 at 15:00):
We got schematron build errors in our IG. We discussed with Lloyd that this should be the template issue.
The link 'StructureDefinition-SDOHCC-Observation-FoodInsecurity-1.sch' for "Schematron" cannot be resolved
Please help. Thank you. @Lloyd McKenzie
Lloyd McKenzie (Apr 24 2020 at 17:26):
On my list to chase
Elliot Silver (Aug 20 2020 at 06:52):
Has this issue been addressed? I think I'm seeing the same problem with my IG.
Jose Costa Teixeira (Aug 20 2020 at 10:27):
whst is the issue that you're having, @Elliot Silver ?
Jose Costa Teixeira (Aug 20 2020 at 10:27):
your IG builds ok and has the links to the schematrons for profiles
Elliot Silver (Aug 20 2020 at 15:25):
I just checked in the latest (https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build/near/207534718). The report I was getting looks similar to the automated build report.
Grahame Grieve (Aug 21 2020 at 05:43):
so looking at this, you shouldn't use fhir.base.template as your template - it's abstract. You need to make a new template that inherits from that and does a few things. I don't know if @Lloyd McKenzie or @Jose Costa Teixeira has documentation about this
Jose Costa Teixeira (Aug 21 2020 at 05:46):
documentation about making a new template?
Jose Costa Teixeira (Aug 21 2020 at 05:47):
or is there an issue that logical models don't have schematrons but should have?
Jose Costa Teixeira (Aug 21 2020 at 05:48):
for making a template, old documentation was started here:
http://build.fhir.org/ig/FHIR/ig-guidance/template.html
(yep, we need to improve this a lot)
Jose Costa Teixeira (Aug 21 2020 at 05:49):
the IHE template does the basics - changing colors, adding logos, changing the footer a bit
Elliot Silver (Aug 21 2020 at 05:58):
Ah, thanks.
Customizing the template is on my todo-list, but I didn't expect to need to deal with that for a bit. I'll take a look at the documentation. It would be nice if there was a warning generated when you tried to use an abstract template.
Grahame Grieve (Aug 21 2020 at 06:22):
I agree that an abstract template should make a warning about that
Jean Duteau (Aug 21 2020 at 06:33):
umm, how do we know that fhir.base.template is abstract? The documentation says "Base IG template managed by HL7 but usable by anyone (no logos)." I don't see it saying that it is abstract anywhere.
Jose Costa Teixeira (Aug 21 2020 at 06:34):
i don't know what is an abstract template
Grahame Grieve (Aug 21 2020 at 06:34):
Lloyd said so. Hassle him to make the documentation better
Jose Costa Teixeira (Aug 21 2020 at 06:34):
if needed we can put a big warning label
Jose Costa Teixeira (Aug 21 2020 at 06:34):
or we can make it a warning in the build process.
Jean Duteau (Aug 21 2020 at 06:35):
so there is no template that IG authors who are not creating HL7 guides can use then
Jose Costa Teixeira (Aug 21 2020 at 06:35):
I can add a message in the console like "Warning: you are using the base template which is abstract..."
Jose Costa Teixeira (Aug 21 2020 at 06:35):
(but do people look at warnings in the console?)
Grahame Grieve (Aug 21 2020 at 06:36):
organizations can make their own that derive from the base fhir template. I don't know how Lloyd designed it to work for some random person who doesn't have an organizational affiliation
Jose Costa Teixeira (Aug 21 2020 at 06:37):
I think the local template is the (only) answer for that, right?
Jose Costa Teixeira (Aug 21 2020 at 06:37):
We can make the base template say in each page "if you can see this, you must change the template".
Grahame Grieve (Aug 21 2020 at 06:38):
I think we want a better answer than a local template
Jean Duteau (Aug 21 2020 at 06:40):
okay, back to the error - I just switched the template to use hl7.fhir.template and I still get the same schematron error
Jean Duteau (Aug 21 2020 at 06:41):
it seems that a schematron file is not created for logical models, no matter what the template is
Jean Duteau (Aug 21 2020 at 06:43):
Yes, i can confirm that any of the three available templates produce the same error:
The link 'StructureDefinition-LabelerLogicalModel.sch' for "Schematron" cannot be resolved
Jose Costa Teixeira (Aug 21 2020 at 06:44):
yes. should a logical model generate a schematron?
Jean Duteau (Aug 21 2020 at 06:46):
There was an earlier conversation about this where Grahame implied that some logical models could have instances and thus should have schematron: https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Logical.20Model.20page.20layout
Elliot Silver (Aug 21 2020 at 06:50):
Jean Duteau said:
so there is no template that IG authors who are not creating HL7 guides can use then
I'm noticing this about several aspects of IG authoring. Many things are based on the assumption that you are writing an HL7 IG.
Jean Duteau (Aug 21 2020 at 06:51):
Elliot Silver said:
Jean Duteau said:
so there is no template that IG authors who are not creating HL7 guides can use then
I'm noticing this about several aspects of IG authoring. Many things are based on the assumption that you are writing an HL7 IG.
Well, I'm not entirely sure I believe Grahame's assertion. I have used the fhir.base.template for a number of my IGuides and had zero problems. And the issue that we have having - logical models not generating schematrons - doesn't seem to have anything to do with the template.
Jose Costa Teixeira (Aug 21 2020 at 06:52):
all templates have the same issue
Jose Costa Teixeira (Aug 21 2020 at 06:53):
(unless one of the templates adds the feature, which you just tested, i think)
Jose Costa Teixeira (Aug 21 2020 at 06:54):
Jean Duteau said:
There was an earlier conversation about this where Grahame implied that some logical models could have instances and thus should have schematron: https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Logical.20Model.20page.20layout
Yes, i'm interested in instances. But did we have a conclusion on what an instance would look like?
Jose Costa Teixeira (Aug 21 2020 at 06:55):
I can chase why the LMs don't produce schematrons, but I want to make sure it is supported.
Jose Costa Teixeira (Aug 21 2020 at 06:56):
Grahame was pointing out the use of the base template, but I don't think that remark was related to the schematron issue
Elliot Silver (Aug 21 2020 at 07:07):
My interpretation was Grahame's comment was related to the schematron issue. I was also unaware of the concept of abstract templates.
But regardless of whether the schematron issue is related to use of a particular template, my position still stands: too much about IG creation makes the assumption that you are writing an HL7 IG. In an attempt to create a non-abstract template, I just started looking at what I needed to do, and ran smack into several steps requiring the FHIR Product Director's blessing, which should only be necessary if I want to publish my template through HL7.
It is also on my to-do list to figure out how to do an IG auto-build that goes somewhere other than build.fhir.org.
Jose Costa Teixeira (Aug 21 2020 at 07:16):
I don't think that assumption is there. IHE for example makes use of the base template.
Jose Costa Teixeira (Aug 21 2020 at 07:17):
Elliot Silver said:
I just started looking at what I needed to do, and ran smack into several steps requiring the FHIR Product Director's blessing, which should only be necessary if I want to publish my template through HL7.
you mean publish your template thtough HL7? Or publish your IG through HL7?
Jose Costa Teixeira (Aug 21 2020 at 07:18):
Elliot Silver said:
It is also on my to-do list to figure out how to do an IG auto-build that goes somewhere other than build.fhir.org.
I also expressed that wish, but note that an ig build is not a publication build. For example if we want to publish on ihe.net, this is not the same as having the ci build publishing to ihe.net. There are a few steps in between
Elliot Silver (Aug 21 2020 at 07:19):
For what you quote, I meant publish the template through HL7. However, in the end, I'm interested in publishing the IG outside the HL7 ecosystem.
Grahame Grieve (Aug 21 2020 at 07:21):
you can publish it where ever you want.
Grahame Grieve (Aug 21 2020 at 07:22):
In an attempt to create a non-abstract template, I just started looking at what I needed to do, and ran smack into several steps requiring the FHIR Product Director's blessing
you only need my involvement for a template if you want active content. And that's for security reasons.
You also need to talk to me about package names - that's to ensure uniqueness.
I'm not aware of any other reason, or any other restrictions
Elliot Silver (Aug 21 2020 at 07:25):
Package names, and becoming a trusted source are the two I saw.
Grahame Grieve (Aug 21 2020 at 07:26):
right, those 2 things.
Grahame Grieve (Aug 21 2020 at 07:26):
people are also free to maintain their own ci-build infrastructure too
Grahame Grieve (Aug 21 2020 at 07:27):
but I wouldn't. build.fhir.org is not publishing. Lots of IGs are published on non hl7.org websites
Grahame Grieve (Aug 21 2020 at 07:27):
back to the schematron issue - I will have to investigate generating schematrons for logical models, but man there's challenges there
Elliot Silver (Aug 21 2020 at 07:28):
OK, argree build.fhir.org isn't publishing. But does HL7 have any issue hosting the build infrastructure for non-HL7 IGs?
Jean Duteau (Aug 21 2020 at 07:29):
Grahame Grieve said:
back to the schematron issue - I will have to investigate generating schematrons for logical models, but man there's challenges there
I agree and I don't think that we have a use case for a schematron from a logical model. The easier solution might be to remove the schematron link from the base template.
Jose Costa Teixeira (Aug 21 2020 at 07:47):
what about data types and extensions?
Jose Costa Teixeira (Aug 21 2020 at 07:47):
do they get schematrons?
Jose Costa Teixeira (Aug 21 2020 at 07:48):
Elliot Silver said:
OK, argree build.fhir.org isn't publishing. But does HL7 have any issue hosting the build infrastructure for non-HL7 IGs?
No, it's hosting many other non-hl7 igs
Grahame Grieve (Aug 21 2020 at 07:59):
right. Deliberate policy to allow that
Grahame Grieve (Aug 21 2020 at 08:00):
I'm happy if the template stops producing a link for a file that I don't k now how to produce ;-)
Jose Costa Teixeira (Aug 21 2020 at 08:01):
I'm already doing it. I just have the question: for extensions, do we keep schematron? and for data types?
Jose Costa Teixeira (Aug 21 2020 at 08:01):
I presume yes, but want to be sure
Grahame Grieve (Aug 21 2020 at 08:01):
do we generate schematrons now?
Jose Costa Teixeira (Aug 21 2020 at 08:02):
i never cared about them, but something was being generated
Jose Costa Teixeira (Aug 21 2020 at 08:03):
http://build.fhir.org/ig/FHIR/sample-ig/StructureDefinition-myObservation.html
Lloyd McKenzie (Aug 23 2020 at 20:42):
fhir.base.template is not abstract. It can be used directly by any non-HL7 IGs. All HL7 IGs should use an appropriate specialized template.
Grahame Grieve (Aug 23 2020 at 21:12):
I thought that implementers need to use something else for colors and images?
Lloyd McKenzie (Aug 23 2020 at 21:34):
The base colors are not HL7 colors
Lloyd McKenzie (Aug 23 2020 at 21:35):
They're also not terribly pretty...
Lloyd McKenzie (Aug 23 2020 at 21:35):
(not suggesting that HL7's colors are pretty :) )
Jean Duteau (Dec 04 2020 at 18:17):
I'm resurrecting this topic because I still have the errors in my guide:
The link 'StructureDefinition-EstablishmentRegistrationLogicalModel.sch' for "Schematron" cannot be resolved
It seemed like there might have been a fix referenced earlier in this thread, but it doesn't seem to have been pushed out in the template?
Elliot Silver (Dec 04 2020 at 18:37):
@Jean Duteau , thanks for brining this up -- I was wondering about it earlier today too.
Jean Duteau (Dec 04 2020 at 18:38):
it's the last three errors in my iGuide, so I'd love to have them fixed. :)
Lloyd McKenzie (Dec 04 2020 at 19:35):
I don't understand why you're getting that in your IGs, but I'm not getting it in mine?
Elliot Silver (Dec 04 2020 at 20:10):
Do you have logical models in your IGs?
Lloyd McKenzie (Dec 05 2020 at 00:46):
That would be why...
Jean Duteau (Jan 04 2021 at 18:41):
New year and I thought I'd raise this topic again so that we can get a fix. Can someone tell me what needs to be fixed and I can pitch in and do it? I'm assuming that we don't want schematrons produced for logical models (doesn't seem to make sense for how they appear to be used), so can we get the logical model HTML to not have a link to them?
Jose Costa Teixeira (Jan 04 2021 at 18:44):
I think I saw a PR for this
Jose Costa Teixeira (Jan 04 2021 at 18:44):
wrong. I saw two :)
Jose Costa Teixeira (Jan 04 2021 at 18:49):
@Elliot Silver 'your PR is more recent than mine, is it still working correctly?
Mine has also status tables which I don't remember if they were already added elsewhere
Elliot Silver (Jan 04 2021 at 18:57):
I thought I had separate PR, but guess not. The first (december 7) commit is only the change needed to skip schematron for LMs. The second set of commits is to generate references to contained resources from containing resources and vice-versa.
Elliot Silver (Jan 04 2021 at 19:34):
OK, cleaned up the PR so that it only has the skip schematron change. @Lloyd McKenzie , is there anything that needs to happen for this to go in?
Jose Costa Teixeira (Jan 04 2021 at 20:05):
https://github.com/HL7/ig-template-base/pull/134
seems ok to merge
Lloyd McKenzie (Jan 04 2021 at 22:25):
Merged
Elliot Silver (Jan 04 2021 at 22:26):
Thank you.
Lloyd McKenzie (Jan 04 2021 at 22:28):
Sorry this took so long.
Elliot Silver (Jan 04 2021 at 22:35):
No problem.
Last updated: Apr 12 2022 at 19:14 UTC