Medical Templates¶
Medical text analysis and extraction.
Overview¶
Medical templates are designed for extracting clinical information from medical texts.
Disclaimer: These templates are for research and analysis purposes only. Not for clinical decision-making without professional review.
Templates¶
anatomy_graph¶
Type: graph
Purpose: Extract anatomical structures and relationships
Best for: - Anatomy textbooks - Surgical reports - Medical education materials
Entities:
- Body parts
- Organs
- Systems
- Structures
Relations:
part_of— Anatomical hierarchyconnected_to— Structural connectionssupplies— Blood/nerve supply
discharge_instruction¶
Type: model
Purpose: Extract discharge summary information
Best for: - Discharge summaries - Transfer notes - After-visit summaries
Fields:
| Field | Type | Description |
|---|---|---|
diagnosis |
str | Primary diagnosis |
procedures |
list[str] | Procedures performed |
medications |
list[str] | Prescribed medications |
follow_up |
str | Follow-up instructions |
warnings |
list[str] | Warning signs |
drug_interaction¶
Type: graph
Purpose: Extract drug interactions and relationships
Best for: - Drug databases - Pharmacy references - Medication reconciliation
Entities:
- Drugs
- Drug classes
- Effects
Relations:
interacts_with— Drug interactionscontraindicated_with— Contraindicationssynergizes_with— Synergistic effects
hospital_timeline¶
Type: temporal_graph
Purpose: Extract hospital stay timeline
Best for: - Hospital course notes - Progress notes - Transfer summaries
Features:
- Admission/discharge dates
- Procedures and events
- Timeline visualization
treatment_map¶
Type: graph
Purpose: Extract treatment protocols and pathways
Best for: - Treatment guidelines - Care pathways - Protocol documents
Use Cases¶
Discharge Summary Analysis¶
from hyperextract import Template
ka = Template.create("medicine/discharge_instruction", "en")
discharges = []
for file in discharge_files:
summary = ka.parse(file.read_text())
discharges.append(summary.data)
# Analyze common diagnoses
from collections import Counter
diagnoses = Counter(d.diagnosis for d in discharges)
print(diagnoses.most_common(10))
Drug Interaction Network¶
ka = Template.create("medicine/drug_interaction", "en")
network = ka.parse(drug_database)
# Find interactions for specific drug
drug = "Warfarin"
interactions = [
r for r in network.data.relations
if r.source == drug or r.target == drug
]
for i in interactions:
print(f"{i.source} {i.type} {i.target}")
Anatomy Education¶
ka = Template.create("medicine/anatomy_graph", "en")
anatomy = ka.parse(textbook_chapter)
# Build index for interactive visualization
anatomy.build_index()
# Visualize with search/chat capabilities
anatomy.show()
# Search
results = anatomy.search("nerves in hand")
Tips¶
- discharge_instruction for summaries — Quick extraction of key discharge info
- drug_interaction for safety — Build interaction checking tools
- anatomy_graph for education — Create interactive anatomy maps
- hospital_timeline for courses — Track patient journeys
Data Privacy¶
When working with medical data: - Ensure HIPAA compliance - De-identify data before processing - Use secure environments - Follow institutional policies