Live from J1: Health Care Records in Java Card 3.0

This presentation is the first deployment of a Java Card 3.0 that gets describedd in JavaOne, and possibly the first one ever. This deployment is done in a French département, namely the Versailles area. Because of connectivity issues, this is actually not really live.

The specific project is here about making it possible to support home health support. The medical data therefore needs to be available at the patients’ home. This data is centralized in a server, but strong access control is required, actually under the control of the patient.

Patients are provide a personal server, which is synchronized with the central server through a “smart badge” provided to health workers. The personal server therefore does not need to be directly connected to Internet, as the connection is provided by the smart badge.

Data is classified by its security. Regular data is stored on the central server and replicated on the personal server. Confined data is shared between a reduced circle of trusted persons. It is stored encrypted on the central server, and the keys are stored in the smart badge or personal server. Secret data is stored only on the personal server, and accessible only through the patient.

Of course, the personal server is based on Java Card 3.0, to which a database has been added. This is not as easy as it seems, because the database is actually stored in secondary memory, which creates interesting issues.

The smart badge is also based on Java Card 3.0; it actually is a CPS (Health Worker Card) card reader. These readers are used today in France to declare health-related activities that are covered by the state health insurance. Here, this reader is not a dumb reader. It is fitted with the same kind of setup as the personal server: a Java Card 3.0 implementation with extra memory, which is used for the synchronization. This time, the Java Card 3.0 implementation is used as a Web client, which connects to one of the servers (central or personal).

One interesting thing is that the personal server and the central server provide the same user experience. This is quite impressive, because these servers are very different. Beyond that, it shows how Java Card 3.0 can be used as a link between the connected world and the unconnected world. This is important for applications like health worker support, which must also work in an old person’s home (with no ADSL), in remote areas that are not covered by wireless networks.

There is much more to say about this really nice experiment, so I will do it later in another post.

No Comments

Leave a Reply

Your email is never shared.Required fields are marked *