$npx -y skills add QSong-github/DrugClaw --skill who_emlQuery the WHO Model List of Essential Medicines (23rd list, 2023). Use whenever the user asks about essential medicines, WHO-recommended drugs, dosage forms, therapeutic sections, or AWaRe antibiotic classification.
| 1 | # WHO Essential Medicines List Query Skill |
| 2 | |
| 3 | Search ~500 WHO essential medicines by name, section, or section number. Case-insensitive substring match. |
| 4 | |
| 5 | | Input Example | Matches On | |
| 6 | |---|---| |
| 7 | | `amoxicillin` | medicine name | |
| 8 | | `antimalarial` | section hierarchy (full path) | |
| 9 | | `diabetes` | section hierarchy | |
| 10 | | `6.2` | section_num prefix | |
| 11 | |
| 12 | ## API |
| 13 | |
| 14 | | Function | Input | Returns | |
| 15 | |---|---|---| |
| 16 | | `load_eml(cache_path)` | JSON path | list[dict] | |
| 17 | | `build_cache(pdf_path, cache_path)` | PDF + cache paths | list[dict] (parses PDF → JSON) | |
| 18 | | `search(data, entity)` | single string | list[dict] | |
| 19 | | `search_batch(data, entities)` | list of strings | dict[str, list[dict]] | |
| 20 | | `summarize(hits, entity)` | list[dict] + label | compact text | |
| 21 | | `to_json(hits)` | list[dict] | list[dict] | |
| 22 | |
| 23 | ## Record Schema |
| 24 | |
| 25 | | Field | Example | |
| 26 | |---|---| |
| 27 | | `medicine` | `amoxicillin` | |
| 28 | | `section_num` | `6.2.1` | |
| 29 | | `section_name` | `Anti-infective medicines > Antibacterials > Access group antibiotics` | |
| 30 | | `dosage_forms` | `["Capsule: 250 mg; 500 mg", "Oral liquid: 125 mg/5 mL"]` | |
| 31 | |
| 32 | ## Usage |
| 33 | |
| 34 | See `if __name__ == "__main__"` block in `59_WHO_EML.py` for runnable examples. |
| 35 | |
| 36 | ## Data |
| 37 | |
| 38 | - **Source**: WHO Model List of Essential Medicines – 23rd List (2023) |
| 39 | - **PDF**: `WHO EML 23rd List (2023).pdf` in `DATA_DIR` |
| 40 | - **Cache**: `who_eml_23.json` (auto-built on first run from PDF) |
| 41 | - **License**: CC BY-NC-SA 3.0 IGO |
| 42 | - **Dependency**: `pip install pypdf` |