FHIR Chat · Trying very simple PlanDefinition working with cqf-ruler · cql

Stream: cql

Topic: Trying very simple PlanDefinition working with cqf-ruler


view this post on Zulip Rich Boyce (Aug 13 2019 at 19:19):

Hi @Bryn Rhodes and others working on the cqf-ruler. I am trying get our tooling updated for work on the PDDI CDS IG. I am starting with a very simple custom PlanDefinition and Library using the latest cqf-ruler project. Unfortunately, I can't get a simple $apply to work.

Would you please help me to know what I am doing wrong? I appreciate any help....

Here is what I am doing:

1) clean build of the cqf-ruler project from https://github.com/DBCG/cqf-ruler . The server starts fine on custom port 2020 and I am able to load STU3 resources to http://localhost:2020/cqf-ruler/baseDstu3/

2) very simple CQL that I converted to ELM+XML using a fresh install of cql-to-elm:

library Test_Warfarin_CQL version '1.0'

using FHIR version '3.0.1'

codesystem "RXNORM": 'http://www.nlm.nih.gov/research/umls/rxnorm'

context Patient

define AlwaysTrue:
  true

3) The Library and PlanDefinition resources at these links - the PlanDefinition has a simple action that calls the boolean expression 'AlwaysTrue' in the CQL library:

4) After uploading these with tag-uploader, I try to run http://localhost:2020/cqf-ruler/baseDstu3/PlanDefinition/test-cql-1/$apply

Errors:

Failed to call access method: java.lang.IllegalArgumentException: [unknown[1:115, 1:115]extraneous input '-' expecting {<EOF>, 'include', 'public', 'private', 'parameter', 'codesystem', 'valueset', 'code', 'concept', 'define', 'context'}, unknown[1:115, 1:115]extraneous input '-' expecting {<EOF>, 'include', 'public', 'private', 'parameter', 'codesystem', 'valueset', 'code', 'concept', 'define', 'context'},

LocalLibrary[1:104, 1:115]Could not load source for library test, version null.,

LocalLibrary[1:228, 1:237]Could not resolve identifier AlwaysTrue in the current library.]

It looks like the LIbrary is not being loaded or referenced. I can see it in the cqf-ruler FHIR server (http://localhost:2020/cqf-ruler/baseDstu3/Library/test-1) - so I don't know what I am doing wrong.

thanks,
-R

view this post on Zulip Bryn Rhodes (Aug 13 2019 at 20:37):

Hi @Rich Boyce , the ruler repository has several branches that we're working to get consolidated, but until that work completes, the most stable STU3 platform is the connectathon21-enableannotations branch. Note that library resolution has evolved, so the Library resource needs to have name and version elements that match the name and version of the CQL library content.

view this post on Zulip Rich Boyce (Aug 14 2019 at 00:04):

Hi @Bryn Rhodes , thanks for the quick reply. I checked out the branch connectathon-21-enableannotations and did a clean install. Ran again, reloading the LIbrary and PlanDefinition after changing the Library name to match the CQL library name. I also had to load FHIRHelpers which I did after creating a Library bundle with the from the FHIR Model Definition and FHIR Helpers content on http://hl7.org/fhir/STU3/library-examples.html. All resources are here:
https://drive.google.com/drive/u/0/folders/1hi3hWmRnP5dOfRkie_yYUG_lNCP-um35

Now it shows that $apply is ran and the 'test' Library is found. However, there is a vague null pointer exception. Any thoughts?

2019-08-13 19:56:50.368 [qtp2128310218-46] INFO  o.o.c.p.FHIRPlanDefinitionResourceProvider [FHIRPlanDefinitionResourceProvider.java:96] Performing $apply operation on PlanDefinition/PlanDefinition/test-cql-1
2019-08-13 19:56:50.372 [qtp2128310218-46] INFO  o.o.c.p.FHIRPlanDefinitionResourceProvider [FHIRPlanDefinitionResourceProvider.java:234] Evaluating action condition expression AlwaysTrue
2019-08-13 19:56:50.940 [qtp2128310218-46] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:547] Proceeding, as we have 1 results
2019-08-13 19:56:50.963 [search_coord_1] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:687] Completed search for [Library?name:exact=FHIRHelpers] and found 1 resources in 91ms
2019-08-13 19:56:51.173 [qtp2128310218-46] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:547] Proceeding, as we have 1 results
2019-08-13 19:56:51.179 [search_coord_1] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:687] Completed search for [Library?name:exact=test] and found 1 resources in 14ms
2019-08-13 19:56:52.495 [qtp2128310218-46] ERROR c.u.f.r.s.i.ExceptionHandlingInterceptor [ExceptionHandlingInterceptor.java:134] Failure during REST processing
ca.uhn.fhir.rest.server.exceptions.InternalErrorException: Failed to call access method: java.lang.NullPointerException
    at ca.uhn.fhir.rest.server.method.BaseMethodBinding.invokeServerMethod(BaseMethodBinding.java:265)
    at ca.uhn.fhir.rest.server.method.OperationMethodBinding.invokeServer(OperationMethodBinding.java:288)
    at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.doInvokeServer(BaseResourceReturningMethodBinding.java:228)
    at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.invokeServer(BaseResourceReturningMethodBinding.java:362)
    at ca.uhn.fhir.rest.server.method.OperationMethodBinding.invokeServer(OperationMethodBinding.java:263)
    at ca.uhn.fhir.rest.server.RestfulServer.handleRequest(RestfulServer.java:973)
    at ca.uhn.fhir.rest.server.RestfulServer.doGet(RestfulServer.java:328)
    at ca.uhn.fhir.rest.server.RestfulServer.service(RestfulServer.java:1536)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:867)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
    at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:502)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at ca.uhn.fhir.rest.server.method.BaseMethodBinding.invokeServerMethod(BaseMethodBinding.java:260)
    ... 46 common frames omitted
Caused by: java.lang.NullPointerException: null
    at org.opencds.cqf.providers.FHIRPlanDefinitionResourceProvider.meetsConditions(FHIRPlanDefinitionResourceProvider.java:239)
    at org.opencds.cqf.providers.FHIRPlanDefinitionResourceProvider.resolveActions(FHIRPlanDefinitionResourceProvider.java:120)
    at org.opencds.cqf.providers.FHIRPlanDefinitionResourceProvider.applyPlanDefinition(FHIRPlanDefinitionResourceProvider.java:114)
    ... 51 common frames omitted

view this post on Zulip Bryn Rhodes (Aug 14 2019 at 20:38):

Nothing jumps out, we will take a look and see why this isn't working.

view this post on Zulip Bryn Rhodes (Aug 21 2019 at 17:38):

Apologies for the delay here, I can't access those resource files. I've requested access.

view this post on Zulip Rich Boyce (Aug 21 2019 at 20:59):

@Bryn Rhodes - no problem. I just granted you user access. Sorry for the delay and for not doing that before. Btw, I was able to run the same super simple CQL in the AHRQ cql testing environment. So curious as to what I am doing wrong in cqf ruler....

view this post on Zulip Bryn Rhodes (Aug 22 2019 at 00:22):

That turned out to be a combination of several different issues, including some that result from changes in how we're loading libraries in the ruler. I've committed a PR to address the issues in the ruler, but the library resource will need to have text/cql content, rather than just application/elm+xml. We turned off some of the caching because it forces server restart when debugging, so we load from the cql content.

view this post on Zulip Rich Boyce (Aug 22 2019 at 12:26):

Bryn, thanks for the update. Unfortunately, still can't run it even after adding text/cql to the Library resource. I checked out the plandefinition-apply-fixes branch . Got a different error this time (see below). I also tried in connectathon-21-enableannotations

plandefinition-a

2019-08-22 08:15:53.541 [qtp2128310218-25] INFO  ca.uhn.fhir.context.FhirContext [FhirContext.java:171] Creating new FHIR context for FHIR version [DSTU3]
2019-08-22 08:15:58.016 [qtp2128310218-21] INFO  o.o.c.p.FHIRPlanDefinitionResourceProvider [FHIRPlanDefinitionResourceProvider.java:96] Performing $apply operation on PlanDefinition/PlanDefinition/test-cql-1
2019-08-22 08:15:58.018 [qtp2128310218-21] INFO  o.o.c.p.FHIRPlanDefinitionResourceProvider [FHIRPlanDefinitionResourceProvider.java:234] Evaluating action condition expression AlwaysTrue()
2019-08-22 08:15:58.103 [qtp2128310218-21] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:547] Proceeding, as we have 1 results
2019-08-22 08:15:58.128 [search_coord_1] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:687] Completed search for [Library?name:exact=test] and found 1 resources in 88ms
2019-08-22 08:15:58.607 [qtp2128310218-21] ERROR c.u.f.r.s.i.ExceptionHandlingInterceptor [ExceptionHandlingInterceptor.java:134] Failure during REST processing
ca.uhn.fhir.rest.server.exceptions.InternalErrorException: Failed to call access method: java.lang.IllegalArgumentException: [Test-1.0[3:1, 3:26]Conversion from FHIR.AccountStatus to System.String is already defined.]
    at ca.uhn.fhir.rest.server.method.BaseMethodBinding.invokeServerMethod(BaseMethodBinding.java:265)
    at ca.uhn.fhir.rest.server.method.OperationMethodBinding.invokeServer(OperationMethodBinding.java:288)
    at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.doInvokeServer(BaseResourceReturningMethodBinding.java:228)
    at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.invokeServer(BaseResourceReturningMethodBinding.java:362)
    at ca.uhn.fhir.rest.server.method.OperationMethodBinding.invokeServer(OperationMethodBinding.java:263)
    at ca.uhn.fhir.rest.server.RestfulServer.handleRequest(RestfulServer.java:973)
    at ca.uhn.fhir.rest.server.RestfulServer.doGet(RestfulServer.java:328)
    at ca.uhn.fhir.rest.server.RestfulServer.service(RestfulServer.java:1536)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:867)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
    at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:502)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at ca.uhn.fhir.rest.server.method.BaseMethodBinding.invokeServerMethod(BaseMethodBinding.java:260)
    ... 46 common frames omitted
Caused by: java.lang.IllegalArgumentException: [Test-1.0[3:1, 3:26]Conversion from FHIR.AccountStatus to System.String is already defined.]
    at org.opencds.cqf.config.STU3LibraryLoader.loadLibrary(STU3LibraryLoader.java:92)
    at org.opencds.cqf.config.STU3LibraryLoader.resolveLibrary(STU3LibraryLoader.java:68)
    at org.opencds.cqf.config.STU3LibraryLoader.load(STU3LibraryLoader.java:114)
    at org.opencds.cqf.helpers.LibraryHelper.resolveLibraryById(LibraryHelper.java:156)
    at org.opencds.cqf.helpers.LibraryHelper.resolvePrimaryLibrary(LibraryHelper.java:191)
    at org.opencds.cqf.providers.CqlExecutionProvider.evaluateInContext(CqlExecutionProvider.java:177)
    at org.opencds.cqf.providers.FHIRPlanDefinitionResourceProvider.meetsConditions(FHIRPlanDefinitionResourceProvider.java:236)
    at org.opencds.cqf.providers.FHIRPlanDefinitionResourceProvider.resolveActions(FHIRPlanDefinitionResourceProvider.java:120)
    at org.opencds.cqf.providers.FHIRPlanDefinitionResourceProvider.applyPlanDefinition(FHIRPlanDefinitionResourceProvider.java:114)
    ... 51 common frames omitted

connectathon-21-enablea

2019-08-22 08:24:17.593 [qtp2128310218-44] INFO  o.o.c.p.FHIRPlanDefinitionResourceProvider [FHIRPlanDefinitionResourceProvider.java:96] Performing $apply operation on PlanDefinition/PlanDefinition/test-cql-1
2019-08-22 08:24:17.594 [qtp2128310218-44] INFO  o.o.c.p.FHIRPlanDefinitionResourceProvider [FHIRPlanDefinitionResourceProvider.java:234] Evaluating action condition expression AlwaysTrue()
2019-08-22 08:24:17.689 [qtp2128310218-44] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:547] Proceeding, as we have 1 results
2019-08-22 08:24:17.695 [search_coord_2] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:687] Completed search for [Library?name:exact=FHIRHelpers] and found 1 resources in 15ms
2019-08-22 08:24:17.759 [qtp2128310218-44] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:547] Proceeding, as we have 1 results
2019-08-22 08:24:17.764 [search_coord_2] INFO  c.u.f.j.s.SearchCoordinatorSvcImpl [SearchCoordinatorSvcImpl.java:687] Completed search for [Library?name:exact=test] and found 1 resources in 10ms
2019-08-22 08:24:17.835 [qtp2128310218-44] ERROR c.u.f.r.s.i.ExceptionHandlingInterceptor [ExceptionHandlingInterceptor.java:134] Failure during REST processing
ca.uhn.fhir.rest.server.exceptions.InternalErrorException: Failed to call access method: java.lang.NullPointerException
    at ca.uhn.fhir.rest.server.method.BaseMethodBinding.invokeServerMethod(BaseMethodBinding.java:265)
    at ca.uhn.fhir.rest.server.method.OperationMethodBinding.invokeServer(OperationMethodBinding.java:288)
    at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.doInvokeServer(BaseResourceReturningMethodBinding.java:228)
    at ca.uhn.fhir.rest.server.method.BaseResourceReturningMethodBinding.invokeServer(BaseResourceReturningMethodBinding.java:362)
    at ca.uhn.fhir.rest.server.method.OperationMethodBinding.invokeServer(OperationMethodBinding.java:263)
    at ca.uhn.fhir.rest.server.RestfulServer.handleRequest(RestfulServer.java:973)
    at ca.uhn.fhir.rest.server.RestfulServer.doGet(RestfulServer.java:328)
    at ca.uhn.fhir.rest.server.RestfulServer.service(RestfulServer.java:1536)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:867)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:214)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
    at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:311)
    at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:265)
    ```

view this post on Zulip Rich Boyce (Aug 23 2019 at 16:57):

@Bryn Rhodes No rush on figuring this out. I have moved on to working with the last stable tag release v0.1.2 - I checked this out and branched to v0.1.2-PDDI-CDS. I am now adding order-select and order-sign hooks so we can demonstrate them for the PDDI CDS IG.


Last updated: Apr 12 2022 at 19:14 UTC