Stream: implementers
Topic: ReST Metadata and Hypermedia
Peter Heisig (Apr 19 2018 at 09:35):
Has anyone thought about the concepts of hypermedia with FHIR?
Grahame Grieve (Apr 19 2018 at 09:52):
sure. Often been discussed, and there's a few use cases for it. But generally, we haven't found much use for it. The defined link types are... not very specific. Though you'll find them echoed where possible in Bundle.link, and those have matching use in the header. but generally, we end up defining our own semantics, and then hypermedia seems not so useful
Grahame Grieve (Apr 19 2018 at 09:53):
if you hit test.fhir.org, you'll see some use of hypermedia in places (edit links)
Peter Heisig (Apr 19 2018 at 09:58):
Hi Grahame, I agree in terms of domain specific use cases. The only use case I found was pagination, which is just API. But with hypermedia you could transfer most of the business logic from client to server. Since changes in business logic would trigger adaption server side only, we can be more flexible.
Grahame Grieve (Apr 19 2018 at 09:59):
well, you could explain how you imagine that happening... because I don't follow.
Peter Heisig (Apr 19 2018 at 09:59):
OK, give me a sec.
Peter Heisig (Apr 19 2018 at 10:00):
Screenshot_2018-04-19-11-56-59.png
Peter Heisig (Apr 19 2018 at 10:00):
Source: http://olivergierke.de/2016/04/benefits-of-hypermedia/
Grahame Grieve (Apr 19 2018 at 10:00):
sure. but what's a specific example....
Peter Heisig (Apr 19 2018 at 10:09):
If you change a workflow, you may modify client and server. E.g. Patient check-out. If the patient's state has reached the possibility of the checkout you would show a button within an app for reminding the patient to sign some document. Without hypermedia the clients checks specific properties like treatmentDone, doctorInformed or more complex, implicit business logic. If you use a hypermedia link, the client just checks for presence or absence, never doing any complex conditional checks. You don't need to alter the client if this process changes. It only checks for the corresponding "action-link" within the hypermedia metadata. Sorry, if this sounds a bit fuzzy, I am an IT-guy starting to research digital health.
Grahame Grieve (Apr 19 2018 at 10:13):
so this kind of thinking is kind of useful when you haven't really encountered a sophisticated EIS. Once you have, it starts to get pretty tiresome. Still, it has it's place for a client/server that are tied together. We're actually writing a general interoperability spec, rather than an application protocol. So we haven't explored this much
Grahame Grieve (Apr 19 2018 at 10:53):
The main form of discussion we've had on this is here:
Grahame Grieve (Apr 19 2018 at 10:56):
Peter Heisig (Apr 20 2018 at 16:07):
Thanks for your replies. I'll investigate those links.
Last updated: Apr 12 2022 at 19:14 UTC