Skip to content

RFID Patient Identification notes

Adam Kalachman edited this page Mar 23, 2015 · 2 revisions

RFID?

As well as an inductive charger, the Buendia tablet setup has a RFID reader built into the case that connects to the tablet over bluetooth serial. This RFID module could be used for an additional patient identification method, or for identifying and tracking packages, etc. for logistics purposes. Some example applications are given in the Test Application in the RFID client/service repo.

Integration

The steps involved in integrating the RFID scanner into the Buendia client app are:

  1. Link the hawkeye-android repo into the client app repo as a submodule
  2. Add the :rfidlib project as a gradle dependency to the client app
  3. Ensure the RFID Scanner Service app is installed on target devices
  4. Use the RfidScanner class and actually write the code 😉

Demo integration

There's a demo version implemented in the RFID Scanner Test App. See PatientScanActivity. The RFID scanning part is legit, but the patient records are just screenshots (shhh!).

Note that the API is intentionally pretty low-level - it doesn't do anything fancy like mark tags as "no longer available" when they haven't been seen for a while, or smooth out power values. The demo integration, however, provides some ideas on how to solve these problems.

UX Considerations

  • It's pretty critical to make sure that the client app isn't doing a round trip to the server every time it reads an RFID tag - I'd suggest syncing / caching the tags for all patients on the device if possible.
  • The power readings that come from the device aren't a true measure of proximity; they're influenced by many factors, including the specific model of tag in use and anything that could be obstructing the tag (a patient's arm, for example). As such, it's important to never assume that the tag with the strongest signal is the one the user was intending to scan. A UX consideration that follows on from this is that it's a good idea to show multiple identified tags at the same time, and then use signal level to provide some kind of visual hint as to proximity.
Clone this wiki locally