FHIR Chat · Laboratory Resulting · implementers

Stream: implementers

Topic: Laboratory Resulting


view this post on Zulip Joe Etten (Jun 26 2018 at 21:12):

We are working with a partner laboratory to retrieve results from their FHIR endpoint. In theory, it should work fine. However, we're running into a lot of issues.

I'm not sure if the problem is the way FHIR is designed to work, the way they have implemented it or the way we are trying to work with it.

Traditionally, one places an order and the resulting system sends you a result. If the result is corrected, they send you a corrected result.

The way this system seems to work is I have to poll periodically to retrieve a list of orders during a specific date range, then I have to determine which of those have been resulted, then I have to determine which of those I already have results for. Then I have to determine which are corrected, not performed, etc. Then I have to poll again, to find anything that has been corrected that wasn't in my original date range and handle those.

It feels like the process is overly complicated for both parties. Any thoughts/comments?

view this post on Zulip Lloyd McKenzie (Jun 26 2018 at 21:14):

So the system doesn't allow querying Observations directly? And it's not setting the Observation status to "corrected" if it is in fact corrected?

view this post on Zulip Joe Etten (Jun 26 2018 at 21:21):

I can query the observation directly, if I knew their order ID. But since the orders are submitted via paper (I know), we don't have them. Even if I did have them, I'd have to poll to check to see if they had been resulted.

I take issue with the whole polling thing. In the traditional HL7 methodology, the filer system tells me when the results are ready. But now the onus is on the placer system to be like the kid in the back seat saying "is it done yet?" every 15 minutes or so. It seems like a waste of resources on both sides. CPU, bandwidth, etc.

Unfortunately, there is no observation status of corrected. Only completed and a new date.

view this post on Zulip Lloyd McKenzie (Jun 26 2018 at 21:27):

I see corrected in the status list: http://build.fhir.org/valueset-observation-status.html

There are lots of potential workflows. The system could use messaging to push the results to you. You could subscribe to results based on your order id, patients you track, etc. and receive a notification when there's something new to Query. You could have a shared Task resource that the lab would update when there were new results or amended results.

view this post on Zulip Joe Etten (Jun 26 2018 at 21:37):

Apparently that status isn't exposed for us. They only expose draft, active, suspended, cancelled, completed, enteredInError and unknown.

view this post on Zulip Grahame Grieve (Jun 27 2018 at 04:09):

those are not observation status codes?

view this post on Zulip Grahame Grieve (Jun 27 2018 at 04:10):

it sounds like they have not exposed any synchronization features - there are a several different approaches to this in the API - history, subscription, push - but if they have not implemented them, you'll have to poll.

view this post on Zulip Lloyd McKenzie (Jun 27 2018 at 05:16):

Those sound like order statuses, not Observation statuses


Last updated: Apr 12 2022 at 19:14 UTC