Registry Forge — Environmental / Occupational Exposure Dashboard

Cohort: Synthetic demonstration cohort  ·  Generated 2026-05-13 14:18  ·  Mapped to ECTO (GA4GH Phenopackets-compatible)  ·  k-anonymity threshold k=2
Patients with exposures
13
across all categories
Exposure categories
10
after k≥2 filter
Distinct exposures
18
after k≥2 filter
Source records
349
7 coded · 342 text

Exposure categories observed in this cohort

Each row aggregates patients and records associated with one exposure category. ECTO column shows the representative ontology term. "Source" indicates whether matches came from structured codes (coded), free-text regex (text), or both.

Exposure categoryECTOPatientsRecordsSource
heavy_metalscuration pending13
63text
head_traumacuration pending13
46text
smokingECTO:900025012
52coded+text
military_servicecuration pending11
66text
pesticides_agriculturecuration pending11
40text
solvents_industrialcuration pending11
21text
cyanotoxinscuration pending10
20text
asbestosECTO:90000339
17text
emf_radiationcuration pending9
19text
biological_moldcuration pending4
5text

All exposures / indicators

Exposure / indicatorCategoryPatientsRecordsSource
lead_exposureheavy_metals1328text
contact_sport_footballhead_trauma1325text
smoking_status_formersmoking1224text
pack_yearssmoking1121text
camp_lejeunemilitary_service1122text
farming_occupationpesticides_agriculture1122text
tce_pcesolvents_industrial1121text
military_gulf_warmilitary_service1021text
manganese_exposureheavy_metals1021text
cyanotoxincyanotoxins1020text
military_service_generalmilitary_service923text
pesticide_paraquatpesticides_agriculture918text
asbestosasbestos917text
tbi_historyhead_trauma921text
emf_electricalemf_radiation919text
Personal history of nicotine dependencesmoking77coded
arsenic_exposureheavy_metals614text
mold_exposurebiological_mold45text

Patient × exposure-category matrix

PT-NNNN pseudonyms. Cell shows the number of records for that patient in that category; · = none. Categories with fewer than k=2 unique patients are suppressed.

Patientheavy_metalshead_traumasmokingmilitary_servicepesticides_agriculturesolvents_industrialcyanotoxinsasbestosemf_radiationbiological_mold
PT-00026577522331
PT-00015379631311
PT-00049565523211
PT-0005855651222·
PT-0007544762232·
PT-00036448213132
PT-0006745331113·
PT-0008654421211·
PT-0009242823113·
PT-00102136223···
PT-0011324323····
PT-001332········
PT-0012121·······

Source-record snippets

Up to 3 representative text excerpts per regex pattern, prioritizing unique-patient diversity. Snippet text truncated to 200 chars. For verification and chart-review preparation; not for analysis.

lead_exposure 13 unique patients · category heavy_metals · ECTO:9000945

Lead exposure

PT-0001 · ccda_section · matched lead exposure
...documented occupational lead exposure from working in a battery-manufacturing plant 1972-1990; serum lead levels never tested at the time...
PT-0002 · ccda_section · matched lead exposure
...documented occupational lead exposure from working in a battery-manufacturing plant 1972-1990; serum lead levels never tested at the time...
PT-0003 · document:rtf · matched lead exposure
...documented occupational lead exposure from working in a battery-manufacturing plant 1972-1990; serum lead levels never tested at the time...

contact_sport_football 13 unique patients · category head_trauma

Football history

PT-0001 · document:html · matched football
...played college football for 4 years at NCAA Division I level; multiple documented concussions during career; no professional play...
PT-0002 · document:rtf · matched football
...played college football for 4 years at NCAA Division I level; multiple documented concussions during career; no professional play...
PT-0003 · ccda_section · matched football
...played college football for 4 years at NCAA Division I level; multiple documented concussions during career; no professional play...

smoking_status_former 12 unique patients · category smoking · ECTO:9000250

Former tobacco smoker

PT-0001 · ccda_section · matched former smoker
...social history: former smoker; quit approximately 5 years ago; estimated 30 pack-year cumulative exposure...
PT-0002 · document:html · matched former smoker
...social history: former smoker; quit approximately 5 years ago; estimated 30 pack-year cumulative exposure...
PT-0003 · document:html · matched former smoker
...social history: former smoker; quit approximately 5 years ago; estimated 30 pack-year cumulative exposure...

pack_years 11 unique patients · category smoking · ECTO:9000250

Pack-years quantification

PT-0001 · document:rtf · matched 30 pack-years
...tobacco history: 30 pack-years, smoking ceased 2018; no current use of tobacco products...
PT-0002 · ccda_section · matched 30 pack-years
...tobacco history: 30 pack-years, smoking ceased 2018; no current use of tobacco products...
PT-0003 · document:rtf · matched 30 pack-years
...tobacco history: 30 pack-years, smoking ceased 2018; no current use of tobacco products...

camp_lejeune 11 unique patients · category military_service

Camp Lejeune water contamination

PT-0001 · document:html · matched Camp Lejeune
...stationed at Camp Lejeune from 1978-1982 during the water-contamination period; eligible for VA presumptive-service benefits...
PT-0002 · document:html · matched Camp Lejeune
...stationed at Camp Lejeune from 1978-1982 during the water-contamination period; eligible for VA presumptive-service benefits...
PT-0003 · ccda_section · matched Camp Lejeune
...stationed at Camp Lejeune from 1978-1982 during the water-contamination period; eligible for VA presumptive-service benefits...

farming_occupation 11 unique patients · category pesticides_agriculture

Agricultural occupation

PT-0001 · document:rtf · matched farmer
...patient worked as a farmer for 25 years; regular pesticide and herbicide handling; intermittent welding for equipment repair...
PT-0002 · document:html · matched farmer
...patient worked as a farmer for 25 years; regular pesticide and herbicide handling; intermittent welding for equipment repair...
PT-0003 · document:html · matched farmer
...patient worked as a farmer for 25 years; regular pesticide and herbicide handling; intermittent welding for equipment repair...

tce_pce 11 unique patients · category solvents_industrial

TCE / PCE solvent exposure

PT-0001 · document:rtf · matched trichloroethylene
...worked in a dry-cleaning plant with trichloroethylene (TCE) exposure for 15 years; no respiratory protection or air-quality monitoring...
PT-0002 · document:html · matched trichloroethylene
...worked in a dry-cleaning plant with trichloroethylene (TCE) exposure for 15 years; no respiratory protection or air-quality monitoring...
PT-0003 · document:html · matched trichloroethylene
...worked in a dry-cleaning plant with trichloroethylene (TCE) exposure for 15 years; no respiratory protection or air-quality monitoring...

military_gulf_war 10 unique patients · category military_service

Gulf War deployment

PT-0001 · ccda_section · matched Gulf War
...Gulf War veteran, deployed to Kuwait in 1991; possible exposures to burn pits, oil-well-fire smoke, and chemical agents...
PT-0002 · ccda_section · matched Gulf War
...Gulf War veteran, deployed to Kuwait in 1991; possible exposures to burn pits, oil-well-fire smoke, and chemical agents...
PT-0003 · document:rtf · matched Gulf War
...Gulf War veteran, deployed to Kuwait in 1991; possible exposures to burn pits, oil-well-fire smoke, and chemical agents...

manganese_exposure 10 unique patients · category heavy_metals

Manganese / welding fumes

PT-0001 · document:html · matched welding fumes
...history of chronic welding fumes exposure from arc-welding in shipyard environment; manganese intoxication considered in differential...
PT-0002 · document:html · matched welding fumes
...history of chronic welding fumes exposure from arc-welding in shipyard environment; manganese intoxication considered in differential...
PT-0003 · document:html · matched welding fumes
...history of chronic welding fumes exposure from arc-welding in shipyard environment; manganese intoxication considered in differential...

cyanotoxin 10 unique patients · category cyanotoxins

Cyanotoxin / BMAA exposure

PT-0001 · ccda_section · matched cyanobacteria
...lived adjacent to a freshwater lake with documented cyanobacterial blooms for 20 years; recreational swimming through several bloom seasons...
PT-0002 · document:html · matched cyanobacteria
...lived adjacent to a freshwater lake with documented cyanobacterial blooms for 20 years; recreational swimming through several bloom seasons...
PT-0003 · document:rtf · matched cyanobacteria
...lived adjacent to a freshwater lake with documented cyanobacterial blooms for 20 years; recreational swimming through several bloom seasons...

military_service_general 9 unique patients · category military_service

Military service mention

PT-0001 · document:rtf · matched military service
...history of military service in the Marines, deployed twice in the 1990s; subsequent VA-confirmed service-connected ALS designation...
PT-0002 · ccda_section · matched military service
...history of military service in the Marines, deployed twice in the 1990s; subsequent VA-confirmed service-connected ALS designation...
PT-0003 · document:rtf · matched military service
...history of military service in the Marines, deployed twice in the 1990s; subsequent VA-confirmed service-connected ALS designation...

pesticide_paraquat 9 unique patients · category pesticides_agriculture

Paraquat herbicide exposure

PT-0001 · ccda_section · matched paraquat
...occupational paraquat exposure as a farm worker in California from 1985-2003; routine handling without respiratory protection...
PT-0002 · ccda_section · matched paraquat
...occupational paraquat exposure as a farm worker in California from 1985-2003; routine handling without respiratory protection...
PT-0003 · document:rtf · matched paraquat
...occupational paraquat exposure as a farm worker in California from 1985-2003; routine handling without respiratory protection...

asbestos 9 unique patients · category asbestos · ECTO:9000033

Asbestos exposure

PT-0001 · document:html · matched asbestos exposure
...documented occupational asbestos exposure as a shipyard worker 1968-1985; no formal medical surveillance during exposure period...
PT-0002 · ccda_section · matched asbestos exposure
...documented occupational asbestos exposure as a shipyard worker 1968-1985; no formal medical surveillance during exposure period...
PT-0003 · document:rtf · matched asbestos exposure
...documented occupational asbestos exposure as a shipyard worker 1968-1985; no formal medical surveillance during exposure period...

tbi_history 9 unique patients · category head_trauma

TBI / concussion history

PT-0001 · document:rtf · matched TBI
...history of multiple TBIs from military service including blast-related concussions; no formal cognitive testing post-event...
PT-0002 · ccda_section · matched TBI
...history of multiple TBIs from military service including blast-related concussions; no formal cognitive testing post-event...
PT-0003 · document:html · matched TBI
...history of multiple TBIs from military service including blast-related concussions; no formal cognitive testing post-event...

emf_electrical 9 unique patients · category emf_radiation

EMF / electrical work

PT-0001 · document:rtf · matched electrician
...30-year career as an electrician / electrical lineman; significant occupational EMF exposure; routine work in high-voltage substations...
PT-0002 · document:html · matched electrician
...30-year career as an electrician / electrical lineman; significant occupational EMF exposure; routine work in high-voltage substations...
PT-0003 · document:html · matched electrician
...30-year career as an electrician / electrical lineman; significant occupational EMF exposure; routine work in high-voltage substations...

arsenic_exposure 6 unique patients · category heavy_metals · ECTO:9000032

Arsenic exposure

PT-0001 · document:rtf · matched arsenic
...rural residence with well-water arsenic levels documented above EPA action limit during 1980s-1990s; presumed long-term exposure...
PT-0002 · document:html · matched arsenic
...rural residence with well-water arsenic levels documented above EPA action limit during 1980s-1990s; presumed long-term exposure...
PT-0003 · document:html · matched arsenic
...rural residence with well-water arsenic levels documented above EPA action limit during 1980s-1990s; presumed long-term exposure...

mold_exposure 4 unique patients · category biological_mold

Mold exposure

PT-0001 · document:rtf · matched mold
...prolonged residential mold exposure documented during 2010-2018; black-mold remediation completed; no formal toxicity testing...
PT-0002 · ccda_section · matched mold
...prolonged residential mold exposure documented during 2010-2018; black-mold remediation completed; no formal toxicity testing...
PT-0003 · document:html · matched mold
...prolonged residential mold exposure documented during 2010-2018; black-mold remediation completed; no formal toxicity testing...

ECTO ontology mapping

Each exposure category in this dashboard is grounded in a representative term from ECTO, the Environmental Conditions, Treatments, and Exposures Ontology (an OBO Foundry resource maintained at github.com/EnvironmentOntology/environmental-exposure-ontology). ECTO interoperates with GA4GH Phenopackets and is the recommended terminology for exposure annotation. The "in data" column marks which categories actually have observations in this cohort. Click any verified term ID to open it in the EBI Ontology Lookup Service.

CategoryECTO termECTO labelCurationIn cohort?Notes
air_pollutionECTO:0000977exposure to ultrafine respirable suspended particulate matter via inhalationverified·This is the verified term for PM2.5/PM10 inhalation. For diesel exhaust, NO2, or other named pollutants, prefer the specific child term.
asbestosECTO:9000033exposure to asbestosverified
smokingECTO:9000250exposure to nicotineverifiedFor more specific encoding, consider exposure to cigarette smoke, tobacco smoke, or second-hand smoke separately.
biological_moldcuration pendingpendingVerify at OLS — fungal toxin / mycotoxin exposure terms.
cyanotoxinscuration pendingpendingVerify at OLS. ECTO has chemical-level terms for specific cyanotoxins (microcystin, BMAA, anatoxin-a) that may be more appropriate than a generic cyanotoxin parent.
emf_radiationcuration pendingpendingVerify at OLS — distinguish ionizing radiation (X-ray, gamma) from non-ionizing (EMF, RF, UV). Different ECTO terms.
head_traumacuration pendingpendingHead trauma is a physical / mechanical exposure rather than a chemical exposure; ECTO coverage for blast/impact events is limited. May need OBI or another ontology for more precise encoding.
heavy_metalscuration pendingpendingNo verified parent term yet. Verified child terms: ECTO:9000945 lead, ECTO:0001571 mercury, ECTO:9000032 arsenic. The individual EXPOSURE_PATTERNS carry these specific IDs in ecto_seed.
military_servicecuration pendingpendingECTO does not have a "military service" parent term; the operational guidance is to encode specific sub-exposures separately (Agent Orange — herbicide; Camp Lejeune — TCE/PCE in drinking water; blast injury — see head_trauma).
occupational_dustcuration pendingpending·Verify at OLS — silica, coal, wood, and grain dust each have specific terms.
occupational_noisecuration pendingpending·Verify at OLS.
pesticides_agriculturecuration pendingpendingVerify the parent term at OLS (search "exposure to pesticide"). Specific child terms exist for individual agents — paraquat, glyphosate, organophosphate, DDT, etc. — prefer the most specific term when the agent is known.
radiationcuration pendingpending·Distinguish ionizing (medical X-ray, gamma, alpha) vs non-ionizing (UV, RF, EMF) — these are different ECTO terms.
soil_pollutioncuration pendingpending·Verify at OLS.
solvents_industrialcuration pendingpendingVerify parent term at OLS (search "exposure to organic solvent"). Specific child terms exist for benzene, formaldehyde, TCE/PCE, etc.
water_pollutioncuration pendingpending·Verify at OLS. Usually co-coded with a specific contaminant (lead in water, TCE in water, etc.).
biological_othern/a — catch-all bucketcatch-all·Catch-all bucket; not a real ECTO term.
environmental_othern/a — catch-all bucketcatch-all·Catch-all bucket; not a real ECTO term. Records here need re-categorization.
occupational_othern/a — catch-all bucketcatch-all·Catch-all bucket; not a real ECTO term.
other_psychosocialout of ECTO scopeout of scope·Psychosocial exposures are out of scope for ECTO; consider other ontologies for these (e.g. OBI, MSH).
Curation status legend. verified = the ECTO term ID has been confirmed against the published SSSOM mapping file. pending = no verified term ID yet — adopters should search the OLS ECTO browser for the closest term and add it here, rather than displaying a guessed identifier. Specific per-substance ECTO IDs (e.g. ECTO:9000945 for lead, ECTO:9000033 for asbestos) appear on individual patterns in the Source-record snippets tab where verified.

About this dashboard

This dashboard summarizes environmental, occupational, and toxic exposures captured in the EHR data of an ALS cohort, demonstrating Registry Forge's capability to surface candidate ALS risk factors from existing clinical data. It combines two underlying CSVs:

  • exposure_codes.csv — structured matches against ICD-10-CM codes (Z57.x occupational exposure, Z77.x environmental contact, F17.x nicotine dependence, Z87.891 personal history of smoking, Z91.82 personal history of military deployment, Z87.820 personal history of TBI, and others).
  • exposure_extractions.csv — regex matches against notes[].narrative_text and documents[].plain_text covering smoking, military service (including Gulf War / OIF / OEF / Vietnam / Camp Lejeune), pesticides (with named-agent patterns for paraquat, glyphosate, organophosphates, DDT), heavy metals (lead, mercury, manganese / welding fumes, arsenic, cadmium), industrial solvents (TCE, PCE, benzene, formaldehyde), asbestos, repetitive head trauma (TBI history, football, military blast), electromagnetic fields, cyanotoxins / BMAA, mold, air pollution, and occupational dust.

Ontology grounding. Each exposure category is mapped to a representative term in ECTO, the Environmental Conditions, Treatments, and Exposures Ontology (an OBO Foundry resource, ~2,700 exposure terms). ECTO is the recommended terminology for exposure annotation in GA4GH Phenopackets and interoperates with Mondo for environmentally-influenced diseases. The GA4GH Human Exposome Data Standards Study Group is actively extending Phenopackets with schemas for exposure data; this module is forward-compatible with that effort. See the ECTO Mapping tab for the term table including curation status — verified IDs were confirmed against the published ECTO SSSOM mapping file; pending ones need curation against the current ECTO release before publication-grade use.

Privacy controls (baked in):

  • Patient identifiers replaced with PT-NNNN pseudonyms, stable within this run.
  • Calendar dates reduced to year only.
  • Snippet text truncated to 200 characters.
  • Categories and patterns with fewer than k=2 unique patients are suppressed.
  • Resource UUIDs are never emitted.

ALS risk factor literature context. The exposure categories represented here are drawn from the established and proposed ALS environmental risk factor literature: smoking is the most consistent epidemiological signal; military service is associated with elevated ALS risk and ALS is a presumptive service-connected disability for some veteran cohorts; pesticide exposure (especially organophosphates and paraquat), heavy metals (particularly lead), industrial solvents (TCE), repetitive head trauma (football, military blast injury), cyanotoxins (BMAA hypothesis), and electromagnetic fields have all been studied as candidate risk factors. This dashboard is designed to surface candidate signals in routinely-collected EHR data; confirmatory epidemiological analysis requires independent exposure assessment and case-control or cohort designs.

Important caveat. Most environmental and occupational exposure information lives in social-history narrative sections of clinical notes rather than as structured ICD-10 codes. Z57.x and Z77.x codes are systematically under-coded in clinical practice; the bulk of signal in this dashboard comes from the regex side scanning narratives. Adopters should not over-interpret the absence of structured codes as absence of exposure, and detection sensitivity will vary substantially across EHR vendors and clinical-documentation conventions.