Open Glucose Telemetry

Runtime ecosystem

Open Glucose Telemetry (OGT) is the runtime layer: adapters, validation, normalization, and routing that turn vendor-specific glucose payloads into OGIS-compliant events. The homepage overview shows where OGT sits in the full OpenGlucose stack; this page goes inside the collector pipeline.

Collector pipeline

OGT pipeline: vendor sources through ingestion envelope, validation, adapter map, normalization, schema check, to canonical JSON or structured error.

Every reading enters as an ingestion envelope, passes adapter-specific validation and mapping, and exits as a canonical glucose.reading event or a structured pipeline error with a stable code.

OGT defines how glucose data moves. The Standards overview defines what canonical events mean once they leave the pipeline.

Adapter registry (shipped)

Adapters register by stable lowercase source ids on the ingestion envelope. The collector resolves adapters from a registry—no per-vendor branching in core pipeline code.

source Upstream Runtimes
healthkit Apple Health / HealthKit CGM samples TypeScript, Swift
dexcom Dexcom EGV-style cloud readings TypeScript, Swift
abbott.librelinkup LibreLinkUp graph readings (direct cloud) Swift (TypeScript parity planned)
manual In-app and watch manual entry Swift
mock Test fixtures and CI golden paths TypeScript, Swift

OGIS provenance.source_system values (for example com.apple.health, dexcom, abbott.librelinkup) are set during adapter mapping. See Provenance and Example JSON.

Pipeline stages

  1. Ingress — wire JSON becomes an ingestion envelope with source, payload, trace_id, and received_at.
  2. Envelope + payload validation — wrapper schema, then per-source payload JSON Schema.
  3. Adapter map — vendor fields map to pre-normalize canonical fields.
  4. Normalize — UTC timestamps, glucose values in mg/dL, bounded strings.
  5. Semantic rules — plausible range and clock-skew checks on observed_at.
  6. Dedupe (optional) — subject, observed time, and raw event id.
  7. OGIS schema check — pinned glucose.reading v0.1 before emit.

Failures return structured errors such as ADAPTER_UNKNOWN, MAPPING_FAILED, and CANONICAL_SCHEMA_INVALID—stable for logging, UI, and CI.

Reference runtimes

OGT ships as an embeddable library today—apps call the pipeline in-process. Hosted buses, query APIs, and export connectors are roadmap items, not current repo scope.

Downstream outputs

Consumer apps, AI pipelines, and research tools read the canonical JSON directly. For the specification side, see Standards overview.

Planned adapters

Additional adapters appear here and on Projects only when repositories ship—no dead-end links.

Public roadmap →

Repositories