FHIR Chat · Table "Must have rows" error · IG creation

Stream: IG creation

Topic: Table "Must have rows" error


view this post on Zulip Rob Hausam (Mar 26 2018 at 11:00):

Can anyone shed some light on this one and how to fix it?

Publishing Content Failed: Error generating table for profile http://hl7.org/fhir/ips/StructureDefinition/coding-uv-ips: Must have rows (21.0366sec)

view this post on Zulip Grahame Grieve (Mar 26 2018 at 11:06):

what's the stack?

view this post on Zulip Rob Hausam (Mar 26 2018 at 11:07):

Stack Dump (for debugging): (21.0366sec)
org.hl7.fhir.exceptions.FHIRException: Error generating table for profile http://hl7.org/fhir/ips/StructureDefinition/coding-uv-ips: Must have rows
at org.hl7.fhir.r4.conformance.ProfileUtilities.generateTable(ProfileUtilities.java:2035)
at org.hl7.fhir.r4.utils.NarrativeGenerator.generate(NarrativeGenerator.java:3915)
at org.hl7.fhir.r4.utils.NarrativeGenerator.generate(NarrativeGenerator.java:315)
at org.hl7.fhir.r4.utils.NarrativeGenerator.generate(NarrativeGenerator.java:293)
at org.hl7.fhir.igtools.publisher.Publisher.generateNarratives(Publisher.java:486)
at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:419)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:387)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:4247)
Caused by: org.hl7.fhir.exceptions.FHIRException: Must have rows
at org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.check(HierarchicalTableGenerator.java:666)
at org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.checkModel(HierarchicalTableGenerator.java:560)
at org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.generate(HierarchicalTableGenerator.java:378)
at org.hl7.fhir.r4.conformance.ProfileUtilities.generateTable(ProfileUtilities.java:2033)
... 7 more
Exception in thread "main" java.lang.NullPointerException
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:4257)

view this post on Zulip Rob Hausam (Mar 26 2018 at 11:10):

I need to add an extension - not sure if that is the cause.

view this post on Zulip Grahame Grieve (Mar 26 2018 at 11:13):

not sure. I think I'll have to debug that one in detail

view this post on Zulip Rob Hausam (Mar 26 2018 at 11:14):

OK. Let me try this first before you spend any time on it. I'll let you know one way or the other.

view this post on Zulip Grahame Grieve (Mar 26 2018 at 11:15):

ok

view this post on Zulip Rob Hausam (Mar 26 2018 at 11:47):

Looks like it is going to need some debugging. Adding the translation extension dependency (which itself builds OK) didn't change anything - still get the error. What do you need?

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 14:26):

That one's typically triggered by a differential that doesn't include the root node for the StructureDefinition. In the IG Publication tool, differentials must include the ancestor nodes of all listed nodes, including the root.

view this post on Zulip Rob Hausam (Mar 26 2018 at 14:50):

OK, thanks. I'll take a look at that.

view this post on Zulip Rob Hausam (Mar 26 2018 at 15:34):

I fixed some URL inconsistencies, but the same error is still persisting. I'm not seeing a problem with the differential or anything else in particular. All of the references go to the root node. But maybe you can spot something.
coding-uv-ips.structuredefinition.xml translation.xml

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 15:58):

Your differential starts wtih <element id="Coding.display.extension">

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 15:58):

It needs to start with id="Coding"

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 15:59):

(And you'll need to have a node for "Coding.display" too)

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 15:59):

Parent branches need to be present for every node in the tree

view this post on Zulip Rob Hausam (Mar 26 2018 at 15:59):

Of course. I get it and that makes sense - now.

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 16:00):

That's not actually a rule in the methodology, but it's a current limitation of the publishing tool

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 16:00):

You don't have to actually say anything about the intervening nodes - they just need to be there.

view this post on Zulip Rob Hausam (Mar 26 2018 at 16:01):

I didn't create that one, but it was generated by Forge. I'll correct it.

view this post on Zulip Michel Rutten (Mar 26 2018 at 16:26):

Correct, Forge generates sparse differentials (allowed by the FHIR spec). However the IG builder currently does not handle sparse diff trees (yet), so you have to manually fix the diff (recursively add any missing parent nodes). Hopefully a future version of the IG builder learns how to handle this.

view this post on Zulip Grahame Grieve (Mar 26 2018 at 18:59):

I'll try and address that today. It used to work, and I don't know what happened

view this post on Zulip Lloyd McKenzie (Mar 26 2018 at 22:08):

It fails when producing the tree view for the differential - couldn't see any evidence that it would ever have worked and hard to break by accident...


Last updated: Apr 12 2022 at 19:14 UTC