Spaces:
Running on Zero
Running on Zero
| import json | |
| from pathlib import Path | |
| from typing import Any | |
| from figment.rules import run_red_flag_checks | |
| CARD_DIR = Path("data/protocol_cards") | |
| def _known_card_ids() -> set[str]: | |
| return { | |
| json.loads(path.read_text(encoding="utf-8"))["card_id"] | |
| for path in CARD_DIR.glob("*.json") | |
| } | |
| def _confirmed(**overrides: Any) -> dict[str, Any]: | |
| intake = { | |
| "confirmed": True, | |
| "setting": "field clinic", | |
| "patient_age": "42", | |
| "pregnancy_status": "not_applicable", | |
| "chief_concern": "", | |
| "symptoms": "", | |
| "vitals": "", | |
| "allergies": "unknown", | |
| "medications": "unknown", | |
| "available_supplies": "radio, basic kit", | |
| "responder_note": "", | |
| } | |
| intake.update(overrides) | |
| return intake | |
| def test_red_flag_rules_emit_only_existing_protocol_card_ids() -> None: | |
| cases = [ | |
| _confirmed(chief_concern="new confusion", symptoms="difficult to wake"), | |
| _confirmed(chief_concern="severe respiratory distress", symptoms="gasping and blue lips"), | |
| _confirmed( | |
| pregnancy_status="pregnant", | |
| chief_concern="vaginal bleeding", | |
| symptoms="severe headache", | |
| ), | |
| _confirmed(chief_concern="chest pain", symptoms="chest pressure"), | |
| _confirmed(chief_concern="stroke concern", symptoms="facial droop and slurred speech"), | |
| _confirmed(patient_age="7", chief_concern="dehydration", symptoms="lethargic with no urine"), | |
| _confirmed(chief_concern="fever", symptoms="stiff neck", vitals="temperature 103 F"), | |
| _confirmed(chief_concern="wound getting worse", symptoms="spreading redness and foul drainage"), | |
| ] | |
| known_cards = _known_card_ids() | |
| emitted_rules = [] | |
| for intake in cases: | |
| emitted_rules.extend(run_red_flag_checks(intake)) | |
| assert { | |
| "AMS-001", | |
| "RESP-001", | |
| "PREG-001", | |
| "red_flag_chest_pain", | |
| "STROKE-001", | |
| "PED-DEHYD-001", | |
| "FEVER-001", | |
| "WOUND-001", | |
| } == {rule.rule_id for rule in emitted_rules} | |
| assert {rule.card_id for rule in emitted_rules} <= known_cards | |