# Synthea Disease Module Generator This package provides Docker and Nextflow integrations for Synthea to: 1. Generate disease modules using Claude AI 2. Look up existing disease modules by name 3. Run both functions in a containerized environment ## Prerequisites - Docker - Nextflow (will be installed automatically if not present) - Anthropic API key (Claude) ## Setup 1. **Clone the repository and navigate to it**: ```bash git clone https://github.com/yourusername/synthea-alldiseases.git cd synthea-alldiseases ``` 2. **Set your Anthropic API key**: Option 1: Environment variable: ```bash export ANTHROPIC_API_KEY=your_api_key_here ``` Option 2: You'll be prompted to enter it when you run the script if it's not set. ## Usage ### Running the Module Generator Use the provided script: ```bash ./run_module_generator.sh --disease_name "Disease Name Here" ``` Additional options: ``` --modules_dir Path to modules directory (default: src/main/resources/modules) --output_dir Output directory for generated modules (default: output) --help Show help information ``` ### Examples Generate a module for Multiple Sclerosis: ```bash ./run_module_generator.sh --disease_name "Multiple Sclerosis" ``` Generate a module and save it to a custom location: ```bash ./run_module_generator.sh --disease_name "Parkinson's Disease" --output_dir ./custom_modules ``` ### Using Docker Compose (Alternative) You can also run the entire environment using Docker Compose: ```bash docker-compose up -d docker-compose exec synthea bash ``` Once inside the container: ```bash ./run_module_generator.sh --disease_name "Disease Name" ``` ## How It Works The pipeline follows these steps: 1. Check if a module already exists for the disease 2. Look up the disease in the disease list for ICD-10 codes and other metadata 3. If the module exists, copy it to the output directory 4. If the module doesn't exist, generate it using Claude AI 5. Save the module to the specified output directory 6. For new modules, also update the modules directory ## Modifying the Docker Configuration If you need to customize the Docker environment: 1. Edit `Dockerfile` to add dependencies or change the configuration 2. Rebuild the Docker image: ```bash docker build -t synthea-module-generator . ``` ## Troubleshooting - **API Key Issues**: Ensure your ANTHROPIC_API_KEY is set correctly - **Docker Permission Issues**: You may need to run Docker commands with sudo - **Memory Issues**: For large modules, you may need to increase Docker's memory allocation - **Pipeline Errors**: Check execution_report.html for detailed error information ## License This project is licensed under the same license as Synthea.