Skip to content

acuestamd/rehearsal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Rehearsal

Open, on-demand biopreparedness tabletop exercises — with a source-cited after-action report.

Rehearsal lets any hospital, public-health team, or ministry run a rigorous outbreak tabletop exercise with their own people, in under an hour, for free. You pick a scenario, your team works through five timed injects — from the first ambiguous signal to a stressed health system and a scarce countermeasure — and at each step Rehearsal shows which published best-practice considerations you addressed and which you missed, every point linked to a primary source (WHO, CDC, NASEM).

🔗 Live demo: https://acuestamd.github.io/rehearsal/

Live Zero dependencies Runs offline MIT

Rehearsal — outbreak tabletop exercise intro screen

ℹ️ Preparedness training, not prediction. Rehearsal is a decision-support drill for trained teams. It operates only at the operational, logistical, and policy level — command, surveillance, NPIs, surge, allocation, communications. It is non-diagnostic, and it does not describe (and must not be used to infer) anything about engineering, enhancing, acquiring, or characterizing any biological agent.

Why this exists

Tabletop exercises are the gold standard for testing outbreak preparedness — think Johns Hopkins' Event 201 and Clade X. But they're expensive, run a few times a year by a handful of institutions, and the learning is locked in PDFs. Most hospitals and health departments rehearse far too rarely. Rehearsal makes a structured, evidence-grounded drill something you can run on demand, with your real team, and walk away with a concrete, cited list of what to fix.

How it works

  1. Assemble your team and open the exercise. Suggested roles: Incident Commander, Public Health Lead, Hospital Operations, Risk Communications, Ethics & Equity.
  2. Work through five injects. Each presents a situation and the decisions to make; you record your team's decisions and reasoning.
  3. Get scored against published best practice. After each inject, Rehearsal shows the considerations you covered and the ones you didn't — each linked to its source.
  4. Take the after-action report. Theme-by-theme coverage, a round-by-round recap, prioritized follow-ups, and the full source list. Export as Markdown or PDF.

Rehearsal after-action report — coverage by theme, round-by-round, cited follow-ups

Two facilitator modes

  • Scripted (default): fully offline, no account, instant. A transparent keyword check flags whether your decisions touched each best-practice point.
  • Live AI (optional, bring your own OpenAI key): demonstrates an adaptive facilitator — it reads your actual reasoning, adds tailored follow-up questions, and writes a narrative synthesis. Your key stays in your browser's memory and is sent only to OpenAI. This demo uses a general model; the production design uses GPT-Rosalind for life-sciences-grounded reasoning. The facilitator is constrained, in its own instructions, to stay strictly at the operational level.

The first scenario

Novel Respiratory Pathogen — Regional Emergence. Five injects: the signal → confirmation and spread → surge and supply → public trust and NPIs → the countermeasure arrives. The rubric draws on:

Quickstart

git clone https://github.com/acuestamd/rehearsal.git
cd rehearsal
python -m http.server 8000   # then open http://localhost:8000

Zero install, zero dependencies — the engine is one HTML file, one JS file, and a JSON scenario. Or just open the live demo.

Add your own scenario

Scenarios are plain JSON in scenarios/. Each inject has a situation, prompts, and considerations; each consideration carries keywords (for the scripted check), a theme, and refs into a shared references map. Copy novel-respiratory-pathogen.json, rewrite the content, and you have a new drill — no code changes.

Scope & limitations (read this)

  • It's a learning aid, not an assessment. The scripted check is keyword-based and deliberately simple; it can mark a point "covered" on a shallow mention or "missed" on a paraphrase. Use the cited considerations, not the score, as the takeaway.
  • The rubric is a starting point, not exhaustive doctrine. Localize it to your jurisdiction, laws, and resources.
  • Non-diagnostic and non-operational. Nothing here is medical, legal, or operational advice, and it is not a real alerting or decision system.
  • Strictly defensive by design. Scenarios live at the decision/policy layer only; there is no pathogen-level content to misuse, and the optional AI facilitator is instructed to keep it that way.

Roadmap

  • More scenarios (zoonotic spillover, supply-chain disruption, deliberate release at the response level).
  • Multi-team / multi-role facilitation and a shared live session.
  • Richer, reasoning-based scoring via GPT-Rosalind (replacing the keyword check).
  • Multilingual scenarios and reports (ES first).

Background & affiliation

The format is inspired by professional public-health exercises such as the Johns Hopkins Center for Health Security's Event 201 and Clade X. Rehearsal is an independent, open-source project and is not affiliated with or endorsed by the Johns Hopkins Center for Health Security, WHO, CDC, NASEM, or any health authority. Cited sources are linked for reference only.

License

MIT. Use freely; attribution appreciated. No warranty — see LICENSE.

About

Open, on-demand biopreparedness tabletop exercises with a source-cited after-action report — run a rigorous outbreak drill with your team in under an hour. Non-diagnostic, strictly operational, MIT.

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors