Phee
Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/phee
Query the PHEE pharmacovigilance event extraction dataset. Use whenever the user asks about annotated adverse drug events, pharmacovigilance case reports, drug–effect associations from medical literature, or wants to find PHEE examples mentioning a drug name, adverse effect, or condition.From its SKILL.md
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill pheeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.7 KB, 677 tokens by cl100k_base, as published. Nobody here has run it
PHEE Query Skill
Search PHEE annotated pharmacovigilance events by drug name, adverse effect, or free text. Substring matching is case-insensitive across all event fields.
| Input Pattern | Match Logic |
|---|---|
drug name (e.g. phenytoin) | substring on drug, treatment, combination_drug, and text |
adverse effect (e.g. hepatotoxicity) | substring on effect, treatment_disorder, and text |
| any other text | substring on all event fields and full sentence |
API
| Function | Input | Returns |
|---|---|---|
load_phee(data_dir) | directory path | list[dict] (cached) |
search(records, entity) | single entity string | list[dict] |
search_batch(records, entities) | list of entity strings | dict[str, list[dict]] |
summarize(hits, entity) | hit list + label | compact text (sentence count, ADE/PTE counts, top drugs & effects) |
to_json(hits) | hit list | list[dict] |
Record Schema
Each record returned by search:
{
"id": "8908396_3",
"text": "A 52-year-old Black woman on phenytoin therapy ...",
"split": "train",
"events": [
{
"event_type": "Adverse_event | Potential_therapeutic_event",
"trigger": ["developed"],
"subject": ["A 52-year-old Black woman ..."],
"subject_age": ["52-year-old"],
"subject_gender": ["woman"],
"subject_race": ["Black"],
"subject_population": [],
"subject_disorder": ["post-traumatic epilepsy"],
"treatment": ["phenytoin therapy ..."],
"drug": ["phenytoin"],
"dosage": [],
"freq": [],
"route": [],
"duration": [],
"treatment_disorder": ["post-traumatic epilepsy"],
"combination_drug": [],
"effect": ["transient hemiparesis"]
}
]
}
Usage
See if __name__ == "__main__" block in 38_PHEE.py for runnable examples
covering: single drug search, single effect search, batch search, and JSON
output.
Data
- Source: PHEE dataset (Zenodo record 7689970), EMNLP 2022
- Files:
train.json(~2,900 sentences),dev.json(~960),test.json(~960) - Path:
DATA_DIRvariable in38_PHEE.py(resources_metadata/drug_nlp/PHEE/data/json) - Event types:
Adverse_event,Potential_therapeutic_event - Main arguments: Subject, Treatment, Effect
- Sub-arguments: Subject (age, gender, race, population, disorder); Treatment (drug, dosage, freq, route, duration, disorder, combination.drug)
What ships with it: 5 files
19.7 KB alongside SKILL.md, 4 of them executable
- example.pyruns10.0 KB
- __init__.pyruns122 B
- phee_skill.pyruns7.0 KB
- README.md1.7 KB
- retrieve.pyruns822 B