Company: Black Pear Software
Contact: David Jehring
Website: blackpear.com/applications/myhealthfile, blackpear.com/applications/iris
Products used: RemObjects SDK for .NET and Cocoa
Project: myHealthFile is a cloud-based clinical management solution, enabling clinicians and patients access to electronic health records via Windows, Mac OS X, iOS and Android devices. myHealthFile can be tailored to specific healthcare settings and has been adapted as iRIS, an ophthalmology information system for the treatment and follow-up of wet Age-related Macular Degeneration (AMD) in the community. In this pioneering setup, no matter where the mobile clinic is situated, iRIS can retrieve and update medical records, including scans, over the cloud to the server.
A central server powered by RemObjects SDK for .NET receives patient records from clinics around the United Kingdom. Patients and medical practitioners access their records via Windows, Mac OS X and iOS clients powered by the Cocoa and .NET editions of the RemObjects SDK.
RemObjects SDK is key to Black Pear’s goal of creating networked clients on multiple platforms. Thanks to the wire compatibility of RemObjects SDK, the Mac OS X and iOS clients developed with RemObjects SDK for Cocoa easily share data with servers and Windows clients developed with RemObjects SDK for .NET.
The .NET Edition of RemObjects SDK provides the server architecture for myHealthFile, as well as the Windows clients. Using the .NET Edition for server development provides a very flexible and powerful solution. It provides a choice of three different server deployments: The traditional standalone server over HTTP and HTTPS (with SSL encryption); HttpSys servers running on Microsoft’s HTTP kernel stack, able to share a port with Microsoft’s Internet Information Server; and the WebProcessor for publishing services over ASP.NET.
On the client side, the .NET Edition also provides maximum flexibility. It supports any type of .NET client development with native user interfaces, including Windows Presentation Foundation, Silverlight and the new Windows 8 Metro. Through the cross-platform Mono framework, the .NET Edition of RemObjects SDK can target Linux and other platforms.
The Cocoa edition of RemObjects SDK provides for client development on iOS and Mac OS X. It works with Xcode, Objective-C and Apple’s development tool chain. Developers have full access to the entire Cocoa and Cocoa Touch framework to build completely native applications on the Mac, iPhone and iPad.
The encryption provided by RemObjects SDK meets the IGSOC requirements for medical record protection. RemObjects SDK provides an integrated AES Encryption envelope and also provides the mechanism for custom encryption envelopes. This works over HTTP or SSL encrypted HTTPS communication.
In the RemObjects SDK architecture, a Message Envelope is a component that extends and influences the over-the-wire format of data on top of the existing RemObjects SDK message. Custom envelope is the ideal way to add encryption to RemObjects SDK communication. The AES Encryption Envelope (Rijndael) comes with RemObjects SDK, but other custom envelopes can be used as well.
Thanks to the extensible nature of RemObjects SDK, David added two-factor authentication using Open OTP. This greatly increased the security of myHealthFile.
Based on the RemObjects SDK's ability to handle large networks of data, RemObjects SDK was selected to provide the scalability needed for myHealthFile. It is expected to serve the entire patient base of over 40 clinics in the United Kingdom. To aid in future scalability requirements, RemObjects SDK includes the Olympia session server. When additional RemObjects SDK servers are added, the Olympia session server automatically shares the session state between them. This allows the number of servers to grow as much as necessary for future network growth.
David Jehring’s development experience was in Delphi and the Delphi edition of RemObjects SDK. In designing myHealthFile he knew he needed the flexibility and native client options offered by the Cocoa and .NET editions of RemObjects SDK. Switching to new programming languages and development frameworks is typically a hard and complex process. David found the consistent architecture of RemObjects SDK eased the transition between platforms, languages and development tools. While RemObjects SDK is implemented from the ground up natively for each platform it supports, it maintains consistent features and architecture along with its legendary wire compatibility on each platform. This allows developers to quickly add new clients to their architecture.
When patient records need to be accessed while the mobile device is offline, the mobile client uses an offline briefcase to persist the data. The data is downloaded while the device is online, and then stored in an encrypted briefcase. While the device is offline, the data can be accessed from the encrypted briefcase until the device is back online again.
RemObjects SDK provides a consistent architecture making it easier for developers to move to new platforms and development tools. David Jehring says “Switching to .NET & Xcode from Delphi was much easier with RemObjects SDK”. RemObjects’ legendary wire compatibility means all platforms communicate seamlessly. The scalability and cryptographic features of RemObjects SDK provides data security as networks grow.