Data governance

Observational data infrastructure.

This page documents how structured observational data would be handled at BiomeLogic if it were ever collected under a separate, dedicated consent process. It describes a data model and a set of governance rules — not an active data collection.

Current status

No public research enrollment is open. BiomeLogic operates no cohort, no study, and no participant recruitment. What exists is a data model, a codebook, and governance rules for structured observational data that may be collected in future under a separate, dedicated consent process.

Structured records held
0
Enrollment open
No
Codebook version
codebook-v0.1
Schema version
research-schema-v0.1
01

Why structured data matters

Mechanistic reasoning about chronic illness is currently done one case at a time. Written case work is rich but unstructured: it cannot be counted, compared, or contradicted at scale. Structured data — the same variables, defined the same way, recorded with their provenance — is what makes a framework falsifiable rather than merely persuasive.

The failure mode is equally clear. Poorly governed self-selected data produces confident numbers that mean nothing, and health data collected loosely becomes a privacy liability. The point of building the governance before the data is that the rules cannot then be bent to suit a result.

02

What exists today

What exists is infrastructure: a data-zone architecture, a versioned codebook of 35 candidate variables across 21 domains, a provenance and missingness model, a dedicated consent object, inclusion criteria, quality control, aggregation privacy rules, and an audit model.

What does not exist: any collected structured dataset, any cohort, any participants, any enrollment route, any results, and any published aggregate. Nothing on this page should be read as a claim that data has been gathered or analysed.

03

Data zones

Every piece of data BiomeLogic holds sits in exactly one zone. Movement between zones is gated in code, and every gate defaults to refusal.

service_private
Service / client private

Data given in order to receive a service. Gate 1, long intake, uploaded labs, case notes, reports, messages, payment records. Never reused for research automatically, ever.

engagement_analytics
Engagement analytics

Consent-gated, enum-only behavioural events. Carries no health content, no free text, no identifiers.

public_tool_private
Public tool responses (private)

Responses to public self-assessment tools (Pattern Mapper / Host Capacity Score) and the de-identified Atlas signal rows. Separate consent semantics: educational pattern display only. NOT research data.

research_candidate
Research candidate (nominated only)

A record intentionally nominated by the owner for possible future research use, without approved consent. Private. Never analysed. Never public.

research_consented
Research consented (private)

A dedicated, prospective, standalone research-consent record exists and is approved. Still entirely private; not yet analysis-ready.

research_analysis_ready
Analysis-ready (private)

Consent valid, provenance complete, de-identification reviewed, quality checks passed, inclusion-criteria version recorded. Private structured analysis only.

public_aggregate
Public aggregate output

Aggregate cells that passed the minimum-count privacy threshold, suppression rules, provenance completeness, and owner review. Never raw rows.

05

Data dictionary / codebook

Each variable carries a stable id, allowed values, permitted provenance classes, a sensitivity class, whether it may ever appear in a public aggregate, and whether exact values must be binned. Free text is prohibited in every structured variable.

Demographics (broad, minimised)3
Chronology and trigger classes2
GI symptom domains3
Stool and motility pattern categories2
Autonomic symptom domains2
Exertional intolerance / PEM-like pattern flags2
Mast-cell / histamine-pattern domains2
Infection and post-infectious context1
Medication exposure categories1
Antibiotic and acid-suppression exposure2
Diet context categories1
Laboratory / test provenance1
Stool microbiome test categories2
Organic acids and metabolite categories2
Bile-acid categories1
Inflammatory and barrier markers2
Mitochondrial and metabolic markers1
Clinician-documented diagnoses (coded categories)1
Intervention exposure at class level1
Longitudinal observation timepoints2
Confidence and provenance grade1

Variable names encode provenance: reported_* is a self-reported pattern, recorded_* is transcribed from a source report, clinician_* requires clinician documentation. A reported pattern is never a diagnosis, and no marker listed is presented as a validated biomarker.

06

Provenance

Every datum declares where it came from:

  • Self-reported (structured field)
  • Clinician-documented
  • Transcribed from a lab report
  • Device / wearable export
  • Public dataset
  • Owner-coded from a consented source
  • Derived variable

Self-report is never merged with clinician-documented fact. Results from different test platforms are never pooled without an explicit harmonisation rule. Derived variables record their rule version and source variables.

07

Missingness

Absence always carries a reason code:

  • not_askedNot asked (instrument did not contain this variable)
  • not_availableAsked, but the source could not supply it
  • not_applicableStructurally not applicable to this record
  • declinedExplicitly declined by the person
  • unknownUnknown / uncertain
  • below_detectionBelow the assay's limit of detection
  • not_measuredMeasurement not performed
  • lost_to_followupLongitudinal timepoint not obtained

Unknown is never stored as zero or false. Missing is never read as normal. No imputation is applied by default. Any future imputation must be declared in an analysis plan, versioned, and reported alongside a complete-case sensitivity analysis.

08

De-identification

A research record holds structured metadata and coded values only. Names, emails, phone numbers, dates of birth, exact dates, street or city level location, clinician names, institution names, uploaded files, and free text are excluded by design rather than removed later. Where an identity link ever exists, it is stored separately from the research metadata.

09

Aggregate privacy thresholds

No aggregate cell renders publicly below 10 records, rising to 20 for high-sensitivity variables and higher still where the codebook demands it. If suppressing one cell would let it be recovered by subtraction, a second cell is suppressed too. Raw rows are never exported publicly, exact dates and narrow geography are never aggregated, and free text is never aggregated at all.

10

What could not be concluded

Any dataset collected this way would be a non-random, self-selected sample of people who found a website about chronic illness. Even a large one could describe associations and nothing more.

  • No treatment effects, response rates, remission rates, or efficacy.
  • No safety conclusions.
  • No causal direction between any two variables.
  • No prevalence estimate for any population.
  • No claim that a pattern generalises beyond the people who supplied it.
11

Questions this could address

These are questions and predictions, not findings. None has been answered with BiomeLogic data, because no such data exists.

Do host-capacity-relevant markers cluster with specific longitudinal symptom patterns rather than with named diagnoses?

Prediction
If the Host Capacity Model describes something real, marker groupings should track symptom-domain patterns more tightly than they track diagnostic labels.

What would falsify it
Marker groupings aligning with diagnostic labels and showing no additional structure across symptom domains.

Are bile-acid patterns associated with particular ecological signatures once platform and method differences are accounted for?

Prediction
Any apparent association should shrink substantially after stratifying by test method, and what remains would be the part worth investigating.

What would falsify it
The association disappearing entirely once method is held constant.

Do autonomic and GI symptom trajectories move together in some reported phenotypes and independently in others?

Prediction
A subset of records should show coupled trajectories; a subset should not. Coupling would be a description, not a mechanism.

What would falsify it
Trajectories being uniformly independent across all records.

How stable are directional metabolite readings across repeated measurements?

Prediction
Measurement-to-measurement variability may be large enough that single readings carry little information.

What would falsify it
High test-retest stability on a fixed platform.

Is prior antibiotic and acid-suppression exposure associated with the breadth of reported symptom domains?

Prediction
A breadth gradient may appear, but confounding by illness severity and healthcare contact would be difficult to separate.

What would falsify it
No breadth gradient across exposure bands.

Who is systematically absent from any website-derived structured sample, and how would that distort every other question here?

Prediction
Selection bias is expected to be the largest single limitation of any dataset collected this way.

What would falsify it
Nothing observational could falsify this; it is a standing limitation to be quantified, not resolved.

12

Withdrawal and correction

Withdrawal removes a record from all future analysis eligibility and from every dataset manifest created after the withdrawal date. Aggregate outputs already published are not automatically recalculated; recalculation is a case-by-case owner decision, and this limitation is stated rather than glossed over.

Correction requests are handled the same way: the record is amended, the amendment is recorded in the metadata audit trail, and any dataset manifest built afterwards reflects the corrected state.

13

Related

Last substantive revision 2026-08-22 · research-consent-v0.1-architecture