- EMScribe
Welcome to EMScribe, your ultimate companion for crafting comprehensive EMS narratives for patient care reports. Whether you're an EMT, paramedic, or researcher, EMScribe is designed to simplify your workflow and enhance your documentation process. Spend less time on your paperwork and more time providing exceptional care.
EMScribe is here to save the day by extracting critical information from text transcripts of patient interactions. It generates detailed reports that include:
- Patient demographics
- Medical history
- Chief complaints
- History of present illness
- Treatments performed
- Objective assessments
- Treatment plans
- Transport information
- Transfer of care details
- π Detailed Extraction: Pulls comprehensive patient information from text transcripts.
- π Narrative Generation: Creates complete EMS narratives.
- π§ Narrative Review: (Coming Soon) Identifies missing information or inconsistencies.
- βοΈ Medical-Legal Review: (Coming Soon) Suggests changes to ensure legal protection.
- π Plain Text Output: Provides the final narrative in an easily readable format.
Make sure you have the following before getting started:
- Python 3.8 or higher
- Virtual Environment (venv)
- Ollama (running locally)
- VS Code (or any IDE)
- Git
Follow these simple steps to install EMScribe:
-
Clone the Repository:
git clone https://github.com/ScottSucksAtProgramming/EMScribe.git cd emscribe
-
Set Up a Virtual Environment:
python -m venv venv source venv/bin/activate
-
Install Dependencies:
pip install -r requirements.txt
-
Configure Ollama:
Ensure Ollama is running locally and accessible at
http://localhost:11434
.
Run the tests to make sure everything is set up correctly:
pytest
If all tests pass, congratulations! You're ready to use EMScribe. π
To use the emscribe
command from any directory, add it to your PATH. Add the following line to your shell configuration file (e.g., .bashrc
, .zshrc
, or .profile
):
export PATH="$PATH:/path/to/emscribe/bin"
Replace /path/to/emscribe
with the absolute path to the emscribe
file in your project directory.
After updating your shell configuration file, reload it:
source ~/.bashrc # or source ~/.zshrc or source ~/.profile
Now, you can use the emscribe
command to clean transcripts, extract information, review, and generate narratives. Use the provided transcript.txt
as a demo transcript when running the commands.
emscribe clean ./transcript.txt
emscribe extract ./transcript.txt
emscribe review ./extract.txt
emscribe generate ./reviewed_extract.txt --output ./narrative.txt
You can also pipe the output from one command to another:
emscribe clean ./transcript.txt | emscribe extract - | emscribe review - | emscribe generate - --output ./narrative.txt
Want to dive right in? Hereβs a quick way to get started with EMScribe:
-
Clone the Repository
-
Install Dependencies
-
Run a Demo Command:
emscribe clean ./transcript.txt | emscribe extract - | emscribe review - | emscribe generate - --output ./narrative.txt
Enjoy the streamlined EMS documentation process! πβ¨
.
|-- README.md
|-- bin
| `-- emscribe
|-- commands
| |-- clean_command.py
| |-- extract_command.py
| |-- generate_command.py
| `-- review_command.py
|-- data
| |-- cleaned_transcript.txt
| |-- extract.txt
| |-- narrative.txt
| `-- reviewed_extract.txt
|-- docs
| |-- api_reference.md
| |-- contributing.md
| |-- development.md
| |-- index.md
| |-- installation.md
| `-- usage.md
|-- images
| `-- emscribe_logo.png
|-- modules
| |-- extract_reviewer.py
| |-- model_loader.py
| |-- narrative_manager.py
| |-- prompt_manager.py
| |-- prompts
| | |-- cleaning_prompts.py
| | |-- extraction_prompts.py
| | |-- narrative_prompts.py
| | `-- review_prompts.py
| |-- transcript_cleaner.py
| `-- transcript_extractor.py
|-- requirements.txt
|-- scripts
| `-- cli.py
|-- tests
| |-- conftest.py
| |-- test_cli.py
| |-- test_model_loader.py
| |-- test_review_command.py
| |-- test_transcript_cleaner.py
| `-- test_transcript_extractor.py
|-- transcript.txt
`-- venv
Here's a sneak peek at what's coming next:
- PDF Extraction: Add the ability to extract information from PDF files generated by ePCR software.
- Additional Narrative Formats: Include more narrative formats.
- Hospital Hand-Off Reports: Generate reports for hospital hand-offs.
- User Interface: Develop a user-friendly GUI for non-technical users.
- Enhanced AI Capabilities: Improve the accuracy and speed of information extraction.
- Customization: Allow users to customize the narrative generation process.
- Mobile App: A mobile version of EMScribe for on-the-go usage.
- API Access: Integrate with other AI services like OpenAI, Claude, etc.
- Integration: Seamless integration with other EMS software systems.
Stay tuned for more updates!
Right now, I'm not looking for contributors, but if you have any requests or suggestions, feel free to contact me.
This project uses a prohibitive license. You must obtain express written permission to use the software. For more details, please refer to the LICENSE file.
For any questions or support, please contact Scott Kostolni.
For detailed documentation, check out: