FHIR Chat · Inferno/Simplifier issue · conformance

Stream: conformance

Topic: Inferno/Simplifier issue


view this post on Zulip Elliot Silver (Feb 15 2022 at 01:36):

I have a package (https://registry.fhir.org/package/ca.infoway.io.psca|0.0.4) that doesn't include a .index.json file (Simplifier doesn't appear to create it/include it in their packages). As a result, the Inferno Validator fails to let me load it under their "advanced options", upload a package.tgz.

Is this a Simplifier issue or Inferno issue, or something I need to resolve? @Ward Weistra @Rob Hausam (?)

view this post on Zulip Grahame Grieve (Feb 15 2022 at 01:58):

it crertainly shouldn't matter - the .index.json file is supposed to be created on install if it doesn't already exist

view this post on Zulip Elliot Silver (Feb 15 2022 at 03:23):

validator_service_1   |   Load /tmp/package7310020127249781383.tgz - 45 resources (00:42.0684)
validator_service_1   | 2022-02-15 03:21:14 ERROR GeneralError:55 -
validator_service_1   | java.io.IOException: Unable to find the file package/.index.json in the package ca.infoway.io.psca
validator_service_1   |     at org.hl7.fhir.utilities.npm.NpmPackage.load(NpmPackage.java:668)
validator_service_1   |     at org.hl7.fhir.utilities.npm.NpmPackage.load(NpmPackage.java:650)
validator_service_1   |     at org.mitre.inferno.rest.IgResponse.fromPackage(IgResponse.java:42)
validator_service_1   |     at org.mitre.inferno.Validator.loadPackage(Validator.java:227)
validator_service_1   |     at org.mitre.inferno.rest.ValidatorEndpoint.lambda$createRoutes$6(ValidatorEndpoint.java:62)
validator_service_1   |     at spark.ResponseTransformerRouteImpl$1.handle(ResponseTransformerRouteImpl.java:47)
validator_service_1   |     at spark.http.matching.Routes.execute(Routes.java:61)
validator_service_1   |     at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:134)
validator_service_1   |     at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50)
validator_service_1   |     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1671)
validator_service_1   |     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
validator_service_1   |     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
validator_service_1   |     at org.eclipse.jetty.server.Server.handle(Server.java:505)
validator_service_1   |     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
validator_service_1   |     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
validator_service_1   |     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
validator_service_1   |     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
validator_service_1   |     at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
validator_service_1   |     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
validator_service_1   |     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
validator_service_1   |     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
validator_service_1   |     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
validator_service_1   |     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
validator_service_1   |     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:698)
validator_service_1   |     at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)
validator_service_1   |     at java.base/java.lang.Thread.run(Thread.java:829)
validator_service_1   | 2022-02-15 03:21:14 INFO  App:28 - 172.18.0.1 - - [15/Feb/2022:03:20:49 +0000] "POST /igs HTTP/1.1" 500 60 "http://localhost/validator/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15"

view this post on Zulip Rob Hausam (Feb 15 2022 at 05:22):

@Elliot Silver You might want to also post this on the inferno stream?

view this post on Zulip Elliot Silver (Feb 15 2022 at 05:26):

Sure, I didn't know we had one.

view this post on Zulip Ramandeep Dhanoa (Feb 17 2022 at 22:11):

Elliot Silver said:

I have a package (https://registry.fhir.org/package/ca.infoway.io.psca|0.0.4) that doesn't include a .index.json file (Simplifier doesn't appear to create it/include it in their packages). As a result, the Inferno Validator fails to let me load it under their "advanced options", upload a package.tgz.

Is this a Simplifier issue or Inferno issue, or something I need to resolve? Ward Weistra Rob Hausam (?)

I have the same issue - .index.json file is missing from the Simplifier package, did you manage to figure out this @Elliot Silver ?

view this post on Zulip Elliot Silver (Feb 17 2022 at 22:23):

Hi @Ramandeep Dhanoa, No, I don't have a solution. I raised it on #inferno, and it sounds like addressing it isn't a priority for the Inferno team.

I'm hopeful that Firely can do something on the Simplifier side to add the file to new packages; but, unless Inferno fixes their issue, or Simplifier somehow patches existing packages (which I'm pretty sure they won't do), anyone who is trying to validate against an IG built in Simplifier will need to look for another product.

view this post on Zulip Grahame Grieve (Feb 17 2022 at 23:08):

I don't follow. what is it you can't do?

view this post on Zulip Elliot Silver (Feb 17 2022 at 23:10):

@Grahame Grieve , is that to me? If so: Upload my package to the Inferno validator. This appears to be because my package doesn't have .index.json files.

view this post on Zulip Grahame Grieve (Feb 17 2022 at 23:28):

and it's from simplifier?

view this post on Zulip Grahame Grieve (Feb 17 2022 at 23:29):

right now, you can use the validator to install the package, or point the validator to the package once it's installed. Then the install package will have a .index.json file. Then just repackage the directory out of the cache as a .tgz file, and upload that

view this post on Zulip Grahame Grieve (Feb 17 2022 at 23:29):

a bit messy, but it'll work

view this post on Zulip Elliot Silver (Feb 17 2022 at 23:32):

Yes, it's from simplifier.

I did try that. If I recall correctly, I then learned that Inferno rejects the package if it isn't called "package.tgz."

view this post on Zulip Grahame Grieve (Feb 17 2022 at 23:54):

well, call it package.tgz then. That's a name you choose

view this post on Zulip Elliot Silver (Feb 18 2022 at 00:25):

So that works, with only a little mangling. I think I stopped pursuing that approach once I figured no only do I need to go through the process, but everyone else who validates against the our IG might have to also. But it does appear to work.

view this post on Zulip Ramandeep Dhanoa (Feb 18 2022 at 04:26):

Grahame Grieve said:

right now, you can use the validator to install the package, or point the validator to the package once it's installed. Then the install package will have a .index.json file. Then just repackage the directory out of the cache as a .tgz file, and upload that

That works. Thanks @Grahame Grieve !


Last updated: Apr 12 2022 at 19:14 UTC