Stream: Da Vinci/plan-net-connectathon
Topic: IBM FHIR Server / MITRE RI Client Issues
Saul Kravitz (Sep 10 2020 at 22:24):
@Lee Surprenant
This query runs well:
https://davinci-plan-net-ri.logicahealth.org/fhir/Location?_has:OrganizationAffiliation:location:network=Organization/plannet-network-HPID030000&_has:OrganizationAffiliation:location:role=pharmacy&_profile=http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Location&_revinclude=OrganizationAffiliation:location
The same query returns an error code when run against the IBM Server. Not sure about the error. Can you say whether it is justified?
https://cluster1-573846-250babbbe4c3000e15508cd07c1d282b-0000.us-east.containers.appdomain.cloud/open/Location?_has:OrganizationAffiliation:location:network=Organization/plannet-network-HPID030000&_has:OrganizationAffiliation:location:role=pharmacy&_profile=http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Location&_revinclude=OrganizationAffiliation:location
returns:
{
"resourceType": "OperationOutcome",
"id": "ac-11-3d-8a-2eaf5074-2bf2-4e63-a3e6-b5623bc58e41",
"issue": [
{
"severity": "fatal",
"code": "invalid",
"details": {
"text": "Search parameter '_has' for resource type 'Location' was not found."
},
"expression": [
"<empty>"
]
}
]
}
Lee Surprenant (Sep 10 2020 at 22:24):
yeah, the query is fine. we just don't support _has
yet
Saul Kravitz (Sep 11 2020 at 11:54):
let me see if can rework the query with forward chaining only
Lee Surprenant (Sep 11 2020 at 12:26):
i havn't even checked in the capabilitystatement yet about whether reverse chaining (_has) is required to support or not. we do plan to add it sometime soon (but sadly its a bigger lift than i could accomplish during connectathon)
Lee Surprenant (Sep 11 2020 at 12:50):
do CapabilityStatements + SearchParameter definitions even have the ability to capture which reverse chaining parameters are required?!
Lee Surprenant (Sep 11 2020 at 12:50):
I see https://www.hl7.org/fhir/searchparameter-definitions.html#SearchParameter.chain but nothing about reverse chaining
Saul Kravitz (Sep 11 2020 at 13:53):
I was wondering the same thing. I've consulted my CapStmt experts, and one of them tells me that it can be stated. Will be looking into it.
Saul Kravitz (Sep 11 2020 at 15:48):
Queries can't easily be rewritten with forward chaining. Queries need to use Location as focal resource in order to have server do filtering by location. If I rewrite the queries with OrganizationAffiliation as focal resource, and constrain to those having a location that is geographically appropriate, and include location, the query returns all of the locations associated with the organizationAffiliation. That will impose a burden on both server and client.
Lee Surprenant (Sep 11 2020 at 15:59):
I was wondering the same thing. I've consulted my CapStmt experts, and one of them tells me that it can be stated. Will be looking into it.
Well i looked for a while and couldn't find it, so do share if you find it :-)
Saul Kravitz (Sep 11 2020 at 16:01):
Actually, my expert was confused, and recanted. Only way to state it appears to be in the narrative.
Lee Surprenant (Sep 11 2020 at 16:34):
Should we open a JIRA to have them add it somewhere?
Lee Surprenant (Sep 11 2020 at 18:56):
@Saul Kravitz can you include this one in the track report-out?
Lee Surprenant (Sep 11 2020 at 18:57):
and let me know if you'd like me to open a ticket for it
Saul Kravitz (Sep 14 2020 at 16:26):
I'll add some narrative in the CapStmt. Can't recall whether it made it into the report out, but my todo list are the issues in zulip.
Lee Surprenant (Sep 14 2020 at 16:41):
To me, the issue would be for fhir core, so that (maybe for R5?) there is a machine-readable way to:
- specify whether servers are required to support reverse chaining or not (via CapabilityStatement shipped in the IG); and
- specify whether a given implement supports reverse chaining or not
In either case, a "first cut" could be whether it supports it in general (e.g. by listing "_has" as a search parameter), but in the end I'd expect it to be more like SearchParameter.chain which specifies chained fields support chaining and which do not. Maybe it is even implied that anywhere forward chaining is supported, the corresponding reverse chain should be supported as well?
Lee Surprenant (Sep 14 2020 at 17:14):
I went ahead and opened FHIR#28534 for that part of it (independent from updating the narrative in the plannet IG I think)
Last updated: Apr 12 2022 at 19:14 UTC