Medical entity extractor
A focused, production-minded library of 197 clinical-AI and healthcare data-science skills for the OpenClaw agent platform featuring data quality, clinical NLP, big-data ML, explainable AI, drug safety, and regulatory.
npx -y skills add rbr7/MedClawMini --skill medical-entity-extractorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Extract medical entities (symptoms, medications, lab values, diagnoses) from patient messages.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.8 KB, as published. Nobody here has run it
Medical Entity Extractor
Extract structured medical information from unstructured patient messages.
What This Skill Does
- Symptom Extraction: Identifies symptoms, severity, duration, and progression
- Medication Extraction: Finds medication names, dosages, frequencies, and side effects
- Lab Value Extraction: Parses lab results, vital signs, and measurements
- Diagnosis Extraction: Identifies mentioned diagnoses and conditions
- Temporal Extraction: Captures when symptoms started, how long they've lasted
- Action Items: Identifies requested actions (appointments, refills, questions)
Input Format
[
{
"id": "msg-123",
"priority_score": 78,
"priority_bucket": "P1",
"subject": "Medication side effects",
"from": "[email protected]",
"date": "2026-02-27T10:30:00Z",
"body": "I've been feeling dizzy since starting the new blood pressure medication (Lisinopril 10mg) three days ago. My BP this morning was 145/92."
}
]
Output Format
[
{
"id": "msg-123",
"entities": {
"symptoms": [
{
"name": "dizziness",
"severity": "moderate",
"duration": "3 days",
"onset": "since starting new medication"
}
],
"medications": [
{
"name": "Lisinopril",
"dosage": "10mg",
"frequency": null,
"context": "new medication"
}
],
"lab_values": [
{
"type": "blood_pressure",
"value": "145/92",
"unit": "mmHg",
"timestamp": "this morning"
}
],
"diagnoses": [
{
"name": "hypertension",
"context": "implied by blood pressure medication"
}
],
"action_items": [
{
"type": "medication_review",
"reason": "possible side effect (dizziness)"
}
]
},
"summary": "Patient reports dizziness after starting Lisinopril 10mg 3 days ago. BP elevated at 145/92. Possible medication side effect requiring review."
}
]
Entity Types
Symptoms
- Name, severity (mild/moderate/severe), duration, onset, progression (improving/stable/worsening)
Medications
- Name, dosage, frequency, route, context (new/existing/stopped)
Lab Values
- Type (BP, glucose, cholesterol, etc.), value, unit, timestamp, normal range
Diagnoses
- Name, context (confirmed/suspected/ruled out)
Vital Signs
- Temperature, heart rate, respiratory rate, oxygen saturation, blood pressure
Action Items
- Type (appointment, refill, question, callback), urgency, reason
Medical Terminology Handling
The skill recognizes:
- Common abbreviations (BP, HR, RR, O2 sat, etc.)
- Brand and generic medication names
- Lay terms for medical conditions ("sugar" → diabetes, "heart attack" → MI)
- Temporal expressions ("since yesterday", "for the past week")
Integration
This skill can be invoked via the OpenClaw CLI:
openclaw skill run medical-entity-extractor --input '[{"id":"msg-1","priority_score":78,...}]' --json
Or programmatically:
const result = await execFileAsync('openclaw', [
'skill', 'run', 'medical-entity-extractor',
'--input', JSON.stringify(scoredMessages),
'--json'
]);
Recommended Model: Claude Sonnet 4.5 (openclaw models set anthropic/claude-sonnet-4-5)
Privacy & Security
- All processing happens locally via OpenClaw
- No data is sent to external services (except Claude API for LLM processing)
- Extracted entities remain in your local environment