Stream: conformance
Topic: Inferno/Simplifier issue
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 (?)
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
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"
Rob Hausam (Feb 15 2022 at 05:22):
@Elliot Silver You might want to also post this on the inferno stream?
Elliot Silver (Feb 15 2022 at 05:26):
Sure, I didn't know we had one.
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 ?
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.
Grahame Grieve (Feb 17 2022 at 23:08):
I don't follow. what is it you can't do?
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.
Grahame Grieve (Feb 17 2022 at 23:28):
and it's from simplifier?
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
Grahame Grieve (Feb 17 2022 at 23:29):
a bit messy, but it'll work
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."
Grahame Grieve (Feb 17 2022 at 23:54):
well, call it package.tgz then. That's a name you choose
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.
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