inferno-framework / uds-plus-test-kit

Apache License 2.0
2 stars 2 forks source link

Inferno suite throwing 500 #29

Open Asuthoshe opened 1 week ago

Asuthoshe commented 1 week ago

Got the below error while trying to test a Patient FHIR using "Test Individual Resource" option. Validator Response:

Error 500 java.lang.Error: Unable to resolve profile http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/de-identified-uds-plus-patient|1.0.1

HTTP ERROR 500 java.lang.Error: Unable to resolve profile http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/de-identified-uds-plus-patient|1.0.1

URI:/validate
STATUS:500
MESSAGE:java.lang.Error: Unable to resolve profile http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/de-identified-uds-plus-patient|1.0.1
SERVLET:-
CAUSED BY:java.lang.Error: Unable to resolve profile http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/de-identified-uds-plus-patient|1.0.1

Caused by:

java.lang.Error: Unable to resolve profile http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/de-identified-uds-plus-patient|1.0.1 at org.hl7.fhir.validation.ValidationEngine.asSdList(ValidationEngine.java:563) at org.hl7.fhir.validation.ValidationEngine.validate(ValidationEngine.java:553) at org.mitre.inferno.Validator.validate(Validator.java:173) at org.mitre.inferno.rest.ValidatorEndpoint.validateResource(ValidatorEndpoint.java:85) at org.mitre.inferno.rest.ValidatorEndpoint.lambda$createRoutes$0(ValidatorEndpoint.java:45) at spark.RouteImpl$1.handle(RouteImpl.java:72) at spark.http.matching.Routes.execute(Routes.java:61) at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:134) at spark.embeddedserver.jetty.JettyHandler.doHandle(JettyHandler.java:50) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1598) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) at java.base/java.lang.Thread.run(Thread.java:829) 

Powered by Jetty:// 9.4.48.v20220622
dehall commented 1 week ago

Hi, thanks for reporting this. The UDS+ IG wasn't loaded correctly on our hosted instance which caused this issue, but it should be fixed now. Let us know if you continue to see errors.

nathanloyer commented 6 days ago

@dehall could you share how you fixed this? we're seeing the same issue on our private deployment of inferno and would like to fix it there as well.

dehall commented 6 days ago

@nathanloyer I'm assuming you're running the most recent gem release (1.0.7 from January) and not the latest from the main branch here right? If that's the case you'll need to make sure the 2 IG package.tgz files from the lib/uds_plus_test_kit/igs folder are included in the inferno-validator-services's IGs folder. In the case of the standalone test kit we do that with a docker-compose volume mapping of lib/uds_plus_test_kit/igs to /home/igs in the validator container. If you have a multi-test-kit deployment (like at https://inferno.healthit.gov/ ) then you may have a separate folder with the relevant IGs in it. Not sure how familiar you are with these details so let me know if this isn't clear

nathanloyer commented 5 days ago

Yes we are using 1.0.7. Our deployment is indeed hosting many test kits and not just uds plus. Looks like our tgz for uds+ is from October 2023, so seems like we just need to grab the lastest ig bundles from that directory and upload to our repo/deployment.

Thanks!