Stream: IG creation
Topic: conditional reference not supported
Cheng Liu (Apr 28 2020 at 15:14):
@Lloyd McKenzie We got an error in our example: Relative URLs must be of the format [ResourceName]/[id]. Encountered Patient?given=Alice&family=Newman&birthdate=1970-05-01&address-postalcode=97006. As we discussed that the IG validation may add the function to support conditional reference. Please help. Thank you
Lloyd McKenzie (Apr 28 2020 at 16:53):
@Grahame Grieve
Lloyd McKenzie (Apr 28 2020 at 16:54):
The issue is that conditional references in a transaction or batch are failing validation because they're not strict references, but rather queries
Grahame Grieve (Apr 28 2020 at 19:33):
do we have an example? Because the validator already allows this. So it's not clear to me why this is a problem
Lloyd McKenzie (Apr 28 2020 at 19:55):
@Cheng Liu - where is this in Git?
Cheng Liu (Apr 28 2020 at 20:09):
@Lloyd McKenzie @Grahame Grieve - Please check the error here: http://build.fhir.org/ig/HL7/sdoh-cc/branches/development/qa.html#_scratch_ig-build-temp-M28NWK_repo_input_resources_bundle_10432
Grahame Grieve (Apr 29 2020 at 01:14):
so the validator says that conditional references are only allowed in transactions.
Lloyd McKenzie (Apr 29 2020 at 04:05):
I missed that, sorry. Agree. Conditional matches aren't permitted in messages - because messages aren't presumed to be interacting with systems that expose RESTful interfaces.
Cheng Liu (Apr 29 2020 at 16:04):
Get it. I will report to the team. Thanks a lot
Brian Kaney (Dec 30 2020 at 19:44):
I am having a problem when there is a pipe |
in a conditional reference.
In a Bundle transaction example in my IG, I have an Observation with a reference to a Patient using a conditional query with an identifier
that specifies both a system and value. IG Publisher (v1.1.56) produces the following pairs of errors:
The URL is not valid because '(URL contains Invalid Characters ([|]))': Patient?identifier=urn:oid:<oid>|<value>
Unable to resolve resource Patient?identifier=urn:oid:<oid>|<value>
There is an existing example Patient resource in the IG that has a matching identifier. When I try to transact for real with a locally running Smile/HAPI, the transaction works fine.
Lloyd McKenzie (Jan 04 2021 at 17:12):
Did you try escaping the |?
Brian Kaney (Jan 07 2021 at 16:24):
Yes with %7C
, still fails.
Brian Kaney (Jan 07 2021 at 16:31):
To clarify, the failure about the invalid characters no longer appears. However the "unable to resolve" error is still there.
Brian Kaney (Jan 07 2021 at 16:33):
Should the IG publisher support the un-escaped |
? The FHIR spec seems to show it acceptable in this form (https://www.hl7.org/fhir/search.html#token)
Grahame Grieve (Jan 07 2021 at 19:59):
where is it saying it can't be resolved?
Brian Kaney (Jan 07 2021 at 20:01):
in qa.html
Grahame Grieve (Jan 07 2021 at 20:02):
right but where is the reference?
Brian Kaney (Jan 07 2021 at 20:04):
There is a transaction Bundle. One of the entries is an Observation. The reference in question is that Observation's subject (conditional reference to a patient using an identifier).
Grahame Grieve (Jan 07 2021 at 20:19):
how do I reproduce this?
Last updated: Apr 12 2022 at 19:14 UTC