Stream: implementers
Topic: Mobile client
Somnath (Apr 13 2017 at 09:50):
HI I am developing a mobile app for patient/doctors. against a FHIR server. please suggest some design architecture for this. my concern is mainly for shall I put a wrapper service before FHIR server do reduce the network latency and reduce the multiple call. let say on mobile screen I have to show some appointments. now for this I need to do multiple call to FHIR server. what I am planning is I will send single call to middle service which in turn will call fhir server multiple time and return the info to mobile app.
Michel Rutten (Apr 13 2017 at 11:06):
Maybe you could also implement your own custom operations on the FHIR server to perform a set of operations and return multiple results in a Bundle resource. That way you wouldn't need to implement extra middleware.
Muhammad Abubakar Ikram (Apr 13 2017 at 11:14):
I would recommend using these FHIR client libraries for Android and IOS. It can make your interaction with FHIR server easy. Application features are up to you, what do you want to do your application with FHIR server. FHIR is agnostic to architecture you can go for most used design architectures for Android and IOS, you can use that suits your needs.
Somnath (Apr 13 2017 at 12:12):
thanks for the answer what is the general practice for this.
Muhammad Abubakar Ikram (Apr 13 2017 at 12:41):
@Somnath general practice for what?
Somnath (Apr 17 2017 at 04:41):
I mean let I don't control FHIR server. I want develop the mobile client what is the best practice? any deployment diagram will be help full ?
John Moehrke (Apr 17 2017 at 11:59):
@Somnath are you looking for a security model to support secure management of mobile client applications, and users? If so, then I would recommend you look at SMART. It is a great start. This space is also expanding as groups focus. I have pointers to many initiatives that are each taking a unique use-case persona focus, while using existing security frameworks such as OAuth -- https://healthcaresecprivacy.blogspot.com/2017/04/fhir-security-model-is-enterprise.html
Somnath (Apr 18 2017 at 04:28):
@John Moehrke HI I am not looking for Security. I am looking for best practice for write mobile client against FHIR server. and be verify specific do we need a layer between FHIR and mobile client do reduce the network latency. let say I need to show appointments on screen in that case I need to make multiple call from Mobile client to FHIR server. my question shall I deploy a service layper besides FHIR server which will return all the resources in single call to mobile client by calling FHIR multiple time.
John Moehrke (Apr 18 2017 at 11:44):
That is very dependent on your application, mobile client capability, network capability, and user expectations. All things well beyond the FHIR standard. It is possible it would work without an additional layer.
Jayashree Surnar (Apr 21 2017 at 05:08):
hello everyone, in fhir resource, one resorce is refering to another for example in Immunization immunization-reactn.PNG
Jayashree Surnar (Apr 21 2017 at 05:08):
.
Jayashree Surnar (Apr 21 2017 at 05:26):
reaction.details we have observation reference right, so how to implement this client side?
Lloyd McKenzie (Apr 21 2017 at 06:25):
The immunization instance will contain a URL pointing to the Observation instance on some server (possibly the same one you're posting the immunization to, possibly a different one).
John Moehrke (Apr 21 2017 at 13:09):
in http REST interaction model.. you just take the value in reaction.detail and do an http GET .. yes, client side
Brian Postlethwaite (Apr 26 2017 at 05:25):
If you're building with Xamarin, you can also use the dotnet fhir client (available as a NuGet package) which is build with c#.
There are also many queries that can be done that cross resource boundaries with _include and _revInclude (careful with this one) which will reduce the number of calls that you make from your client, and also the _summary parameter which can reduce the volume of data (if that works for you).
(and some servers also support compression, which reduces data bandwidth over mobile: Accept-Encoding: gzip)
Jayashree Surnar (Apr 26 2017 at 05:35):
@John Moehrke what value should i take in reaction.detail? i thnik we have to provide the reference or id right?
Jayashree Surnar (Apr 26 2017 at 05:35):
@Brain Postlethwaite. our appln is based on java
Brian Postlethwaite (Apr 26 2017 at 06:00):
Then as Muhammed suggested, the HAPI client is probably your best bet.
I think it's up to you if you want to introduce another server layer in your solution. Just wanted to ensure that you saw that there are techniques to reduce the perceived "chattiness" of fhir where a single call can be used to do several things.
John Moehrke (Apr 26 2017 at 12:03):
@Jayashree Surnar new in STU3 is that the Reference could be a URL, or it could be an Identifier. This does make the client a bit more difficult. The reference URL is what I was referring to. If you are not given the URL, but an Identifier; then you need to either process this as a failure, or try to search for somewhere a Resouce might be with that identifier. This searching is not easy, and likely to not find it. I say that because if it was findable, then the URL would have been given. I don't like this new datatype, it seems very problematic; it seems very counter to FHIR principles.
Lloyd McKenzie (Apr 26 2017 at 13:15):
There's no expectation for resolution of Reference.identifier when doing an _include or _revinclude. It's solely for business-level linkage. It's certainly a violation of REST principles to use it. However, FHIR principles are about practicality - and from a practical perspective, there are lots of places where resolvable URLs are not going to be manageable, at least in the near-term. FHIR needs to support those environments too.
Last updated: Apr 12 2022 at 19:14 UTC