Offline database design
Database | Data | Index |
---|---|---|
Sqllite | disk | mem (loaded when accessed) |
Indexeddb | mem | mem |
Lovefield with indexeddb | mem | mem |
Encryption Strategy
The android sqlite database is encrypted using sqlcipher. A secure random 256 bit aes encryption key is generated on the device on startup of the app and stored in the app private space.
The indexedDb on the chrome app is currently not encrypted. There is no way to securely generate or store encryption keys in javascript so for secure usage of the chrome app the hard disk of the user must be encrypted.
Tables
Patient
Patient Address
Patient attribute
AddressHierarchyLevel
AddressHierarchyEntry
Concept
EventLogMarker
PatientAttributeType
Configs
LoginLocations
Visit
Encounter
Observation
ErrorLog
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)