HL7 / fhir-ig-publisher

Source code for the IG publisher
Apache License 2.0
68 stars 56 forks source link

Use terminology server flag not working #324

Open rgeimer opened 2 years ago

rgeimer commented 2 years ago

If the terminology server is down, it used to be possible to set the use terminology server flag to false and continue building. That is no longer the case. If the terminology server is down and you set that flag, you still get the following error:

Publishing Content Failed: Attempt to use Terminology server when no Terminology server is available (00:19.0628) (00:19.0628) Use -? to get command line help (00:19.0628) (00:19.0629) Stack Dump (for debugging): (00:19.0629) org.hl7.fhir.exceptions.FHIRException: Attempt to use Terminology server when no Terminology server is available at org.hl7.fhir.r5.context.BaseWorkerContext.validateCodeBatch(BaseWorkerContext.java:824) at org.hl7.fhir.r5.renderers.ValueSetRenderer.getConceptsForCodes(ValueSetRenderer.java:1009) at org.hl7.fhir.r5.renderers.ValueSetRenderer.genInclude(ValueSetRenderer.java:825) at org.hl7.fhir.r5.renderers.ValueSetRenderer.generateComposition(ValueSetRenderer.java:754) at org.hl7.fhir.r5.renderers.ValueSetRenderer.render(ValueSetRenderer.java:84) at org.hl7.fhir.r5.renderers.ValueSetRenderer.render(ValueSetRenderer.java:73) at org.hl7.fhir.r5.renderers.ResourceRenderer.render(ResourceRenderer.java:74) at org.hl7.fhir.igtools.publisher.Publisher.generateNarratives(Publisher.java:1183) at org.hl7.fhir.igtools.publisher.Publisher.loadConformance(Publisher.java:3974) at org.hl7.fhir.igtools.publisher.Publisher.createIg(Publisher.java:907) at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:759) at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:8762)

rgeimer commented 2 years ago

I'm referring to the -tx command line parameter by the way. I do see that the documentation says the following:

Use -tx n/a to run without the terminology server (however, if your IG has vocabulary bindings, the tx server connection is required).

However, requiring a terminology server when the IG has bindings basically removes most of the value of this command line parameter.

lmckenzi commented 2 years ago

We agree that it should be possible to run the publisher without a terminology server (i.e. with the n/a value). We will fix the crash and also ensure that there's a big bold QA warning that the publisher was run without a terminology server. Also, some content may not render 'nicely'. Will adjust the verbiage in the documentation to reflect this capability (and its limitations).

lmckenzi commented 1 year ago

@rgeimer can you confirm if this is now fixed?