:::tip Pronunciation ODE is pronounced like “code”, without the “C.” :::
Open Data Ensemble (ODE) is a platform designed to simplify mobile data collection and management. It provides tools and infrastructure for creating forms, collecting data in the field, and synchronizing information across devices and servers.
ODE addresses the challenges of data collection in environments where connectivity is unreliable or intermittent. The platform is built with an offline-first architecture, ensuring that data collection continues regardless of network availability.
Traditional data collection solutions often require constant internet connectivity, making them unsuitable for field work in remote areas. ODE solves this by:
All data is stored locally on the device using WatermelonDB, a reactive database optimized for React Native. This ensures that data collection continues even when the device is offline.
Forms are defined using JSON schema, following the JSON Forms specification. This allows for complex validation rules, conditional logic, and custom question types.
The synchronization protocol handles conflicts, ensures data integrity, and supports incremental updates to minimize bandwidth usage.
ODE applications run on Android and iOS devices, with a web-based form player for preview and testing.
The platform supports custom applications and renderers, allowing organizations to tailor the user experience to their specific needs.
ODE is suitable for various data collection scenarios:
| Use Case | Description |
|---|---|
| Health Surveys | Collect patient data, medical records, and health indicators |
| Research Studies | Gather research data in field conditions |
| Monitoring & Evaluation | Track program outcomes and indicators |
| Asset Management | Inventory and track assets in the field |
| Quality Assurance | Conduct inspections and quality checks |
ODE follows a client-server architecture:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Formulus │◄───────►│ Synkronus │◄───────►│ Formulus │
│ (Mobile) │ Sync │ (Server) │ Sync │ (Mobile) │
└─────────────┘ └──────────────┘ └─────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Formplayer │ │ Database │ │ Formplayer │
│ (WebView) │ │ (PostgreSQL) │ │ (WebView) │
└─────────────┘ └──────────────┘ └─────────────┘
The mobile application (Formulus) communicates with the server (Synkronus) to synchronize data. Forms are rendered using the Formplayer component, which can be embedded in custom applications.
ODE is built using modern, open-source technologies: