FHIR Chat · conditional reference not supported · IG creation

Stream: IG creation

Topic: conditional reference not supported


view this post on Zulip 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

view this post on Zulip Lloyd McKenzie (Apr 28 2020 at 16:53):

@Grahame Grieve

view this post on Zulip 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

view this post on Zulip 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

view this post on Zulip Lloyd McKenzie (Apr 28 2020 at 19:55):

@Cheng Liu - where is this in Git?

view this post on Zulip 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

view this post on Zulip Grahame Grieve (Apr 29 2020 at 01:14):

so the validator says that conditional references are only allowed in transactions.

view this post on Zulip 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.

view this post on Zulip Cheng Liu (Apr 29 2020 at 16:04):

Get it. I will report to the team. Thanks a lot

view this post on Zulip 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.

view this post on Zulip Lloyd McKenzie (Jan 04 2021 at 17:12):

Did you try escaping the |?

view this post on Zulip Brian Kaney (Jan 07 2021 at 16:24):

Yes with %7C, still fails.

view this post on Zulip 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.

view this post on Zulip 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)

view this post on Zulip Grahame Grieve (Jan 07 2021 at 19:59):

where is it saying it can't be resolved?

view this post on Zulip Brian Kaney (Jan 07 2021 at 20:01):

in qa.html

view this post on Zulip Grahame Grieve (Jan 07 2021 at 20:02):

right but where is the reference?

view this post on Zulip 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).

view this post on Zulip Grahame Grieve (Jan 07 2021 at 20:19):

how do I reproduce this?


Last updated: Apr 12 2022 at 19:14 UTC