Core Concepts

Evidence Assertions

An EvidenceAssertion is the atomic unit of OpenBio. Every fact about a subject — a lab result, a diagnosis, a genomic variant, a behavioral observation — is an assertion with a type, a value, a temporal context, and a trust layer.

Example assertion — Lab Result
9.2g/dL

Hemoglobin · James, 58

Source FactConfidence: 0.99
SourceQuest DiagnosticsProtocolHL7v2 ORUCollected2025-03-15 · 08:42 UTC

The assertion shape

typescript
interface EvidenceAssertion {
  id: string;
  subjectId: string;
  assertionType: 'lab_result' | 'diagnosis' | 'variant_call' | 'imaging_finding'
    | 'medication' | 'procedure' | 'vital_sign' | 'note_extract' | 'observation'
    | 'treatment' | 'exposure' | 'behavioral' | 'growth_condition'
    | 'resistance_profile' | 'passage_event' | 'specimen_collection';
  value: unknown;               // typed per assertionType
  unit?: string;
  trustLayer: 'source_fact' | 'normalized_fact' | 'extracted_annotation'
    | 'derived_feature' | 'model_output' | 'hypothesis';
  confidence: number;           // 0–1
  temporalContext: {
    type: 'instant' | 'period' | 'episode' | 'relative' | 'unknown';
    effectiveAt?: string;       // ISO 8601
    startAt?: string;
    endAt?: string;
  };
  provenance: {
    sourceSystemId: string;
    sourceRecordId: string;
    protocol: string;
    collectedAt?: string;
    receivedAt: string;
    transformationChain: string[];
  };
  createdAt: string;
}