Why we built it

Citizen stream observations can help researchers spot changes in freshwater ecosystems, but a spreadsheet of readings is not automatically dependable data. A missing unit, an implausible water temperature, a duplicate, or a visual guess can undermine the dataset. OneAquaHealth's draft FHIR implementation guide suggests a destination for reviewed water measurements. StreamProof tackles the step before that: deciding which readings are ready to map, with a visible reason for each decision.

What StreamProof does

A citizen enters a pH, temperature, or conductivity reading, or imports a CSV. Deterministic rules check required fields, known units, plausible ranges, duplicates, and photo-only claims. Implausible records are blocked; unusual but possible ones are flagged. A human reviewer can correct, approve, or reject a record. Nothing is auto-approved. The app then shows the field-by-field mapping and exports only approved records as a FHIR R4 Bundle with Location and Observation resources and UCUM units.

Track 7, Digital Health Standards, asks how fragmented data can move between systems. StreamProof is a review gate from citizen water measurements to draft-IG-aligned FHIR. Its target users are citizen-science coordinators and environmental or One Health researchers who need attributable, reviewable measurements instead of another unfiltered dashboard. Better input quality could make freshwater monitoring more usable for research and, downstream, ecosystem and public-health decisions. It does not diagnose disease or infer pathogens from a photo.

Build and demo

We built a browser-based React 18 and TypeScript app with Vite. The rule engine, unit normalizer, CSV parser, and FHIR exporter are test-covered modules, not AI judgment. Try the flawed synthetic sample: the 87 °C reading, missing unit, and photo-only claim are blocked; approve the clean pH record, inspect the mapping, and download the Bundle. A historical Almyros conductivity record published in the OneAquaHealth draft guide is included as a clearly labeled reference. The flawed sample is invented and labeled synthetic, not fresh citizen data.

The hard part was drawing a careful boundary around trust. We chose explicit human approval and visible rules over a misleading 'AI-certified' water-quality score. The current implementation is a prototype: it runs in-browser, has no shared review backend or field-device integration, and its export is aligned with a draft guide, not a claim of formal conformance. AI coding assistance (Claude) was used to develop the app; it does not approve measurements or make claims about water safety.

Next steps

Test the workflow with actual citizen-science teams, validate exported resources against the guide's latest profiles, then add an auditable multi-user review trail and integration with existing collection tools. The prototype shows that useful interoperability starts with accountable human decisions about the source data.

Built With

Share this project:

Updates

Submission history