bubblenet wrote on Wednesday, September 04, 2013:
Please help me refine the feature set / architecture:
Development environment: Appcelerator. Please see: http://www.appcelerator.com/plans-pricing/
First screen: Login
2nd screen: Like the 1st screen of medstar with many tabs for separate applications. Please see: http://www.mi-squared.com/store/mobility-solutions/medmaster-mobility/
The 1st tab will be patients.
Architecture will allow for more tabs can be added when the app is updated.
When a user clicks on patients:
- Search box for patients
- On search the patient file opens.
- Aggressive caching. As soon as the patient data is fetched save it to local device sqllite.
- User Disconnected from internet -> even then the user can edit and save changes.
How is the sync maintained between server and mobile device?
- Maintain audit log this is a text file describing the edits done.
- On reconnection to internet the audit log is sent to server and then the data is synced.
How to prevent conflicts?
- Look at last edited on field for the data on the server. If the mobile device fetched the data after the last edited on field on the server only then the changes made by the mobile device are allowed to be synced.
- If the mobile device fetched the data before the last edited on field on the server. Then ask the user of the mobile devices to reconcile the edit.
How to communicate with the server?
Use the soap system as used by the patient portal.
See: http://www.zhservices.com/configuring-patient-portal
Open questions:
- SOAP vs REST: Should I be using the REST API given that its more efficient ? What do you think?
- Licensing (Open source … paying bills): Some options are A. After selling x copies then make it open source B. Use something like zhhealthcare patient portal. C. Code is closed source but x% of revenye is pledged to open-emr … What do you think?