FHIR Chat · Connectathon Conditional Reference Stream · implementers

Stream: implementers

Topic: Connectathon Conditional Reference Stream


view this post on Zulip Grahame Grieve (May 08 2016 at 11:12):

from the example:

<Bundle xmlns="http://hl7.org/fhir">
   <id value="20160113160203" />
   <type value="transaction" />
   <entry>
     <fullUrl value="urn:uuid:c72aa430-2ddc-456e-7a09-dea8264671d8" />
     <resource>
       <Observation>
         <subject>
            <reference value="Patient?identifier=12345"/>
         </subject>
         <--! rest of resource omitted -->
       </Observation>
     </resource>
     <request>
       <method value="CREATE" />
     </request>
   </entry>
 <Bundle>

view this post on Zulip Grahame Grieve (May 08 2016 at 11:12):

the method is wrong - it should be POST in this case

view this post on Zulip Richard Ettema (May 08 2016 at 11:49):

The deployed fixtures in Touchstone all have POST as the method. So this is just a correction needed on the proposal page.

view this post on Zulip Richard Ettema (May 08 2016 at 12:15):

@James Agnew and @Simone Heckmann, I have redeployed the conditional reference test definitions to Touchstone for nomatch and multimatch to error out on a 404 and 412 respectively.

view this post on Zulip James Agnew (May 08 2016 at 13:03):

@Simone Heckmann I've now redeployed our server too with the correct codes. Do you mind to try testing again?

view this post on Zulip Simone Heckmann (May 08 2016 at 13:19):

Interesting. How did this ever work!? :D I fixed the Wiki.

view this post on Zulip Simone Heckmann (May 08 2016 at 13:19):

@James Agnew : I get a 404 on the multimatch. Other than that, HAPI passes all tests.

view this post on Zulip Richard Ettema (May 08 2016 at 13:21):

When I built the TestScripts and fixtures I fixed the transaction Bundles... and then I forgot to tell you.

view this post on Zulip Simone Heckmann (May 08 2016 at 13:23):

Ah. That explains it :)
I already suspected James to have some kind of "do what i mean"-algorithm implemented :D :D :D

view this post on Zulip Simone Heckmann (May 08 2016 at 13:44):

@Grahame Grieve : Grahame's server passed as well, however in his case I get a 202 if the transaction was successful, James returns 200 (and thats also what the test script expects). Which is correct? Should the Test script accept both?

view this post on Zulip James Agnew (May 08 2016 at 13:56):

In that case, the test script should accept both I would say.

view this post on Zulip James Agnew (May 08 2016 at 13:59):

2xx codes all indicate success, so 202 and 200 would both be fine

view this post on Zulip James Agnew (May 08 2016 at 13:59):

However, I can't replicate the 404 for multimatch... I'm seeing 412 when I do it. That's strange!

view this post on Zulip Simone Heckmann (May 08 2016 at 14:00):

Except, the spec says:
"For a transaction, servers SHALL either accept all actions and return a 200 OK, along with a response bundle (see below), or reject all resources and return an HTTP 400 or 500 type response."

view this post on Zulip Simone Heckmann (May 08 2016 at 14:01):

@James Agnew : give me a second, I'll run the scipt again...

view this post on Zulip James Agnew (May 08 2016 at 14:02):

Heh, that's true. Spec should probably be less strict about that....

view this post on Zulip James Agnew (May 08 2016 at 14:02):

ps, just restarting my server, it will be down for a second

view this post on Zulip Simone Heckmann (May 08 2016 at 14:06):

Yes. It's not a mix up of the return codes with the 404, it's a problem with our conditional URL:
"diagnostics":"Invalid match URL \"Patient?family=van%20de%20Heuvelcx85ioqWJbI%38given=Pietercx85ioqWJbI\" - No resources match this search"

view this post on Zulip Simone Heckmann (May 08 2016 at 14:06):

This URL really matches 0 patients, even though the fixtures habe been created successfully

view this post on Zulip Simone Heckmann (May 08 2016 at 14:07):

The URL /Patient?given=Pietercx85ioqWJbI returns 2 results

view this post on Zulip Simone Heckmann (May 08 2016 at 14:08):

It's actually %38-Character! If I replace it with "&" the URL is ok.

view this post on Zulip James Agnew (May 08 2016 at 14:09):

Ah yeah, that makes sense... That & shoudn't be escaped

view this post on Zulip Simone Heckmann (May 08 2016 at 14:17):

Oh. So this is an issue. XML doesn't allow unescaped & character. It will have to be &amp; in the URL string

view this post on Zulip Simone Heckmann (May 08 2016 at 14:19):

With HAPI, the JSON version passes now, but the XML Version gives:
"diagnostics":"Failed to parse match URL[Patient?family=van%20de%20Heuvelcx85ioqWJbI&amp;given=Pietercx85ioqWJbI] - Resource type Patient does not have a parameter with name: amp;given"

view this post on Zulip Simone Heckmann (May 08 2016 at 14:21):

...and Grahame's Server just doesn't care. It works, whatever we put in that URL :D

view this post on Zulip Grahame Grieve (May 08 2016 at 15:07):

I don't think we should allow 202 accepted until we have a purpose. I've fixed my server

view this post on Zulip Grahame Grieve (May 08 2016 at 15:08):

and, huh, I've spent ages getting URL decoding correctly. There's such a lot to get right there

view this post on Zulip James Agnew (May 08 2016 at 15:27):

Interestingly I can't recreate the XML failure.. It's working for me.

Was this with your code Simone, or with Touchstone? I'm just wondering if you can do it again and I'll check the logs on my end.

view this post on Zulip Simone Heckmann (May 08 2016 at 15:33):

@James Agnew : running it now...

view this post on Zulip Simone Heckmann (May 08 2016 at 15:34):

...running...

view this post on Zulip Simone Heckmann (May 08 2016 at 15:35):

still failing

view this post on Zulip Simone Heckmann (May 08 2016 at 15:35):

request.txt

view this post on Zulip James Agnew (May 08 2016 at 15:36):

Wait, is it failing for JSON or XML? Or both? That's a json request...

view this post on Zulip Simone Heckmann (May 08 2016 at 15:36):

response.txt

view this post on Zulip James Agnew (May 08 2016 at 15:37):

ah interesting

view this post on Zulip Simone Heckmann (May 08 2016 at 15:37):

Uhm. wait. yes.

view this post on Zulip Simone Heckmann (May 08 2016 at 15:37):

JSON is failing, not XML. Sorry. My bad

view this post on Zulip James Agnew (May 08 2016 at 15:37):

Hehehe... the problem there is that the & shouldn't be escaped now. It's still the test that's wrong. :)

In JSON you don't put &amp; for an ampersand, just &

view this post on Zulip Simone Heckmann (May 08 2016 at 15:38):

@Richard Ettema : ...are you listening? :)

view this post on Zulip Richard Ettema (May 08 2016 at 15:46):

I am now. Wireless issues. :(

view this post on Zulip Richard Ettema (May 08 2016 at 15:49):

Ok. The JSON fixture has been updated with just & and uploaded to Touchstone. Please try again. :)

view this post on Zulip Simone Heckmann (May 08 2016 at 16:02):

100% successful :)

view this post on Zulip Simone Heckmann (May 08 2016 at 16:04):

@Grahame Grieve: I still get 202 on the Transaction!

view this post on Zulip Simone Heckmann (May 11 2016 at 20:20):

...so what are the next steps now...? Should I create a Tracker Item and request the addition of conditional references to the standard?

view this post on Zulip James Agnew (May 11 2016 at 20:59):

Apparently we're very very close to issue 10000. You should try to be it!

view this post on Zulip Simone Heckmann (May 11 2016 at 21:06):

Damn.
http://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=9998


Last updated: Apr 12 2022 at 19:14 UTC