This source did not publish a separate summary. Review SKILL.md before using the skill.
SKILL.md
Automated SOAP Note Generator
Overview
AI-powered clinical documentation tool that converts unstructured clinical input into professionally formatted SOAP notes compliant with medical documentation standards.
Key Capabilities:
Intelligent Parsing: Extracts structured information from free-text clinical narratives
SOAP Classification: Automatically categorizes content into Subjective, Objective, Assessment, Plan sections
Medical Entity Recognition: Identifies symptoms, diagnoses, medications, procedures, and anatomical locations
Temporal Analysis: Extracts timeline information (onset, duration, progression)
Template Generation: Produces standardized SOAP format suitable for EHR integration
Multi-modal Input: Accepts text dictation, transcripts, or clinical notes
When to Use
✅ Use this skill when:
Converting physician dictation into structured SOAP format for efficiency
Processing audio-to-text transcripts from patient encounters
Transforming consultation rough notes into formal documentation
Generating initial draft documentation to reduce administrative burden
Standardizing clinical encounter summaries for consistency
Creating preliminary notes for routine follow-up visits
❌ Do NOT use when:
Input contains PHI that hasn't been de-identified for testing/training
Complex psychiatric cases requiring nuanced mental status documentation → Use specialized psychiatric documentation tools
Surgical procedures requiring operative report detail → Use operative-report-generator
Patient requires nuanced clinical reasoning beyond text extraction
Legal or forensic documentation requiring exact transcription → Use verbatim transcription services
Critical care situations requiring real-time precise documentation
Cases requiring differential diagnosis prioritization without physician input
⚠️ ALWAYS Required:
Physician review and approval before entering into patient record
Verification of medical facts and clinical accuracy
Confirmation of medication names, dosages, and instructions
Integration with Other Skills
Upstream Skills:
medical-scribe-dictation: Convert physician verbal dictation to text input
ehr-semantic-compressor: Summarize lengthy EHR notes for SOAP generation
dicom-anonymizer: Prepare imaging reports for SOAP inclusion
audio-script-writer: Convert audio recordings to text format
Downstream Skills:
medical-email-polisher: Professional communication of SOAP summaries to patients
clinical-data-cleaner: Standardize extracted data for research databases
hipaa-compliance-auditor: Verify de-identification before sharing documentation
discharge-summary-writer: Generate discharge summaries from SOAP encounters
referral-letter-generator: Create referral letters based on Assessment and Plan sections
Complete Workflow:
Medical Scribe Dictation (audio→text) →
Automated SOAP Note Generator (this skill) →
Physician Review →
EHR Entry /
Medical Email Polisher (patient communication) /
Referral Letter Generator (referrals)
Core Capabilities
1. Input Processing and Preprocessing
Handle various input formats and prepare for NLP analysis:
from scripts.soap_generator import SOAPNoteGenerator
generator = SOAPNoteGenerator()
# Process text input
soap_note = generator.generate(
input_text="Patient presents with 2-day history of chest pain, radiating to left arm...",
patient_id="P12345",
encounter_date="2026-01-15",
provider="Dr. Smith"
)
# Process from audio transcript
soap_note = generator.generate_from_transcript(
transcript_path="consultation_transcript.txt",
patient_id="P12345"
)
Input Preprocessing Steps:
Text Cleaning: Remove filler words ("um", "uh"), timestamps, speaker labels
Sentence Segmentation: Split into clinically meaningful segments
Normalization: Standardize abbreviations and medical shorthand
Encoding Detection: Handle various file formats (UTF-8, ASCII, etc.)
Parameters:
Parameter
Type
Required
Description
Default
input_text
str
Yes*
Raw clinical text or dictation
None
transcript_path
str
Yes*
Path to transcript file
None
patient_id
str
No
Patient identifier (MUST be de-identified for testing)
Multi-label Handling:
Some sentences span multiple sections (e.g., "Patient reports chest pain [S], which was sharp and 8/10 [S], with ECG showing ST elevation [O]")
Tool splits compound sentences at conjunctions
Assigns primary and secondary labels with confidence scores
Best Practices:
Review classification accuracy, especially for complex multi-part statements
Manually verify Assessment section (most critical for patient care)
Ensure temporal context preserved (recent vs. chronic symptoms)
4. Temporal Information Extraction
Parse and normalize timeline information:
# Extract temporal relationships
timeline = generator.extract_temporal_info(
"Patient had chest pain starting 3 days ago, worsening since yesterday.
Had similar episode 2 months ago that resolved with rest."
)
# Returns:
# {
# "onset": "3 days ago",
# "progression": "worsening",
# "previous_episodes": [
# {"time": "2 months ago", "resolution": "with rest"}
# ]
# }
Temporal Elements Extracted:
Onset: When symptoms started ("2 days ago", "this morning")
Duration: How long symptoms lasted ("for 3 hours", "ongoing")
Frequency: How often symptoms occur ("daily", "intermittently")
# Python 3.7+
# No external packages required (uses standard library)
Evaluation Criteria
Success Metrics
Successfully parses unstructured clinical text
Correctly categorizes into SOAP sections
Extracts medical entities (symptoms, diagnoses, medications)
Generates properly formatted output
Test Cases
Text Input: Clinical text → Properly formatted SOAP note
File Input: Text file → Complete SOAP note with metadata
JSON Output: Text input → Valid JSON with all fields
Lifecycle Status
Current Stage: Draft
Next Review Date: 2026-03-06
Known Issues: None
Planned Improvements:
Enhanced entity recognition
Specialty-specific templates
EHR integration support
⚠️ CRITICAL REMINDER: All AI-generated SOAP notes REQUIRE physician review and approval before entry into patient records. This tool assists documentation but does not replace clinical judgment or medical decision-making.