Fingerprint Solutions
The decision concerns the task https://openhospital.atlassian.net/browse/OP-156
Aim of the task is to research and test new prototype of fingerprint readers, either with Java libraries or public API (via LAN) in order to improve patients recording and search. This page focuses on the research/analysis activities done, updated to January 2021.
Status | DONE |
---|---|
Impact | LOW (the solution will not be distributed) |
Driver | @Alessandro Domanico |
Approver | @Ilario Gavioli |
Stakeholders | @Riccardo Canta @Claudio Rosazza @miz |
Informed | @Ilario Gavioli |
Due date | Apr 30, 2020 |
Outcome | Option 1: |
Background
A fingerprint reader solution was already implemented in Open Hospital and it is already present in the following software branches:
https://sourceforge.net/p/openhospital/openhospital/ci/oh_fingerprint/tree/
https://sourceforge.net/p/openhospital/openhospital/ci/oh_fingerprint_linux/tree/
The solution adopted at that time was based on a biometric fingerprint reader, brand DigitalPersona - model 4500B (the reader that has superseeded the 4000B model) , which was bundled with free Java libraries. The libraries are not available for free anymore.
Relevant informations
In order to define the best solution, it has been considered a trade off between implementation costs (low-cost solution), ease of integration (SDK availability and facility of integration), stability (DYI vs stable product), scalability (number of patients that can be stored on the device) and portability (OS compatibility with Windows and Linux and on both 32 and 64bit architecture).
A good first document has been the research done by user mUzima: https://wiki.muzima.org/display/muzima/Open+Source+Fingerprint+SDK. It was updated until 2017 but from the information gathered by this analysis, things havent' change substantially.
Solution comparison
| Option 1: | Option 2: | Option 3: | Option 4: |
---|---|---|---|---|
Description | SDK for multiple devices that is easy integrable but it has a cost per license: further information | SDK provided with DigitalPersona device and it works only with that brand: further information | SDK for multiple devices that is easy integrable but it has a cost per license: further information | Setup a Do-It-Yourself wi-fi based fingerprint solution using esp8266 board and a fingerprint reader: further information |
Pros and cons | Low costs of integration and compatibility with many device Extensible, updated and well documented solution All platform supported SDK is paid per License. One for each computer that deploys it. | API for Linux and Windows SDK available Cost of Device and compatibility only with DigitalPersona devices | Low costs of integration and compatibility with many device Expensive solution, SDK is paid per License. One for each computer that deploys it. Poor documentation | Low cost of device and total freedom in API implementation (e.g. wifi/RESTful API) Complex, hard to mantain Stability of the system and limit in the reader storage ( max 250 fingerprints) |
Estimated cost/effort | MEDIUM - LARGE | MEDIUM | LARGE | LARGE |
References | Pricing [1] Supported Devices [2] | 1 Year License [3] |
|
|
Briefly, the available solutions have been analyzed and some of them have been discarded:
Option 1 - Neurotechnology SDK: This commercial solution seems well documented, expandable, supports a large list of hardware devices and is not too expensive. It looks like the best tradeoff at present
Option 2 - HID Global SDK / Digital Persona: it seems to be a balanced tradeoff between costs and ease of integration. To be kept in consideration the fact that the company that own Digital Persona, Crossmatch, has been acquired/is changed to HID Global. This has already caused changes in the support of devices and associated SDK which looks poor.
Option 3 - Bayometric SDK: Project/SDK with poor documentation. As for sourceAFIS, it seems focusing on the fingerprint image comparison algorithm rather than the integration of fingerprint device. No information about the API is available so effort could lead to no value for the project.
Option 4 - Open Source solution / Libfprint - sourceAFIS: the solution is based on dbus which can run only on Linux or Unix; from the gathered informations “SourceAFIS is an algorithm recognizing human fingerprints” so it is not focusing on integrating commercial solution that usually performs the image comparison on the hardware side.
Outcome
From the research outcome, no complete open source software solution for fingerprint reader handling has been found. This led to two options:
commercial end-user solutions that reduce costs of implementation and keeps the technology accessible.
ad-hoc solutions realized through an external pluggable module that has to manage also license costs
Commercial end-user solutions are usually meant for small to large number of records (like employees, private clubs, etc…) and could be suitable for the goal of recording and search a growing number of entities (like patients, customers, etc…).
Ad-hoc solutions need to be tested and optimized for hospitals/large environments and are more difficult to mantain and support.
Follow-up activities
If the Option 1 (or Option 2) is chosen then the next steps would be:
purchase the device
test the device
test the SDK
verify the possibility of developing / integrating the solution with the OH code
In any case the solution should not be included in the official OH distros; it has to be externally pluggable to the OH code base in order to avoid the need of distributing commercial software and manage license costs.
References
[1]https://www.neurotechnology.com/product-advisor.html
https://www.neurotechnology.com/prices-verifinger.html
[2] https://www.neurotechnology.com/cgi-bin/fingerprint-scanners.cgi?group=device&ref=vf
Add your comments directly to the page. Include links to any relevant research, data, or feedback.
Open Hospital powered by ISF
2005 - 2016 ISF © Informatici senza frontiere - ONLUS