docs

What is ODE?

:::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.

Overview

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.

Problem Statement

Traditional data collection solutions often require constant internet connectivity, making them unsuitable for field work in remote areas. ODE solves this by:

Key Features

Offline-First Design

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.

Flexible Form System

Forms are defined using JSON schema, following the JSON Forms specification. This allows for complex validation rules, conditional logic, and custom question types.

Reliable Synchronization

The synchronization protocol handles conflicts, ensures data integrity, and supports incremental updates to minimize bandwidth usage.

Cross-Platform Support

ODE applications run on Android and iOS devices, with a web-based form player for preview and testing.

Extensible Architecture

The platform supports custom applications and renderers, allowing organizations to tailor the user experience to their specific needs.

Use Cases

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

Architecture Overview

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.

Technology Stack

ODE is built using modern, open-source technologies:

Next Steps