Interactive web application for Trial Sequential Analysis - a statistical method for cumulative meta-analysis monitoring boundaries and futility analysis in clinical trials.
- 📊 Interactive TSA Visualization: Real-time rendering of Z-curves with O'Brien-Fleming boundaries
- 📈 Multiple Datasets: Pre-loaded clinical trial datasets for demonstration
- 🎨 Modern UI: Dark theme with responsive design
- 📱 Fully Responsive: Works on desktop, tablet, and mobile
- ♿ Accessible: WCAG compliant with proper ARIA labels
- 🚀 Production Ready: Zero build errors, optimized bundle
[Add your deployment URL here]
- Framework: React 18 + TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- Visualization: HTML5 Canvas
- Statistics: Custom TypeScript implementation
- Node.js 18+ and npm
# Clone the repository
git clone https://github.com/YOUR_USERNAME/tsa-tool.git
cd tsa-tool
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:5173 to see the app.
npm run buildThe optimized build will be in the dist/ directory.
The application implements:
- Mantel-Haenszel pooled odds ratio calculation
- O'Brien-Fleming alpha-spending boundaries
- DerSimonian-Laird heterogeneity estimation (I², τ², Q-statistic)
- Normal quantile function (inverse CDF)
- Chi-squared distribution for p-values
npm install -g vercel
vercelnpm run build
# Drag /dist folder to netlify.com/drop- Update
vite.config.tswith your repo name:export default defineConfig({ base: '/tsa-tool/', // ... })
- Build and deploy:
npm run build git add dist -f git commit -m "Deploy" git subtree push --prefix dist origin gh-pages
├── src/
│ ├── components/
│ │ ├── TSAChart.tsx # Canvas-based chart component
│ │ └── ErrorBoundary.tsx # Error handling wrapper
│ ├── lib/
│ │ └── statistics.ts # Statistical calculations
│ ├── data.ts # Example datasets
│ ├── types.ts # TypeScript interfaces
│ ├── App.tsx # Main application
│ └── main.tsx # Entry point
├── public/
│ └── favicon.svg # Custom favicon
└── index.html # HTML template
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
- Statistical methods based on Copenhagen Trial Unit methodology
- Inspired by TSA software for meta-analysis