|
| 1 | +# prep-my-visit |
| 2 | + |
| 3 | +`prep-my-visit` prepares a patient for an upcoming visit with a concise, IPS-aligned package: |
| 4 | + |
| 5 | +- provider-facing summary |
| 6 | +- patient companion summary |
| 7 | +- pre-visit lab opportunities |
| 8 | +- portal-ready snippets (patient-reviewed before send) |
| 9 | + |
| 10 | +The goal is simple: start the visit with context and current data, not chart archaeology. |
| 11 | + |
| 12 | +## Why this skill exists |
| 13 | + |
| 14 | +Most pre-visit friction is predictable: |
| 15 | + |
| 16 | +- context is fragmented across portals and timelines |
| 17 | +- key labs are often ordered but not completed before the encounter |
| 18 | +- patients arrive without a clear goals list |
| 19 | + |
| 20 | +This skill turns those failure modes into a structured prep flow with explicit safety boundaries. |
| 21 | + |
| 22 | +## What it produces |
| 23 | + |
| 24 | +Artifacts are persisted under: |
| 25 | + |
| 26 | +`~/.openclaw/workspace/tula/briefs/{visit_id}/` |
| 27 | + |
| 28 | +Expected outputs: |
| 29 | + |
| 30 | +- `provider.pdf` |
| 31 | +- `patient.pdf` |
| 32 | +- `ips-bundle.json` |
| 33 | +- `lab-opportunities.json` |
| 34 | +- `snippets/*.txt` |
| 35 | + |
| 36 | +## Safety model |
| 37 | + |
| 38 | +`prep-my-visit` is constrained by design: |
| 39 | + |
| 40 | +- no diagnosis, prognosis, or treatment recommendations |
| 41 | +- no auto-ordering tests |
| 42 | +- no auto-send to patient portals |
| 43 | +- no insurance, billing, prior-auth, or EOB workflows |
| 44 | +- no PHI transfer outside `~/.openclaw/workspace/` |
| 45 | + |
| 46 | +## Skill structure |
| 47 | + |
| 48 | +- Runtime instructions: [`SKILL.md`](SKILL.md) |
| 49 | +- Operational workflow: [`references/workflow.md`](references/workflow.md) |
| 50 | +- Lab analyzer rules: [`references/lab-analyzer.md`](references/lab-analyzer.md) |
| 51 | +- IPS section contract: [`references/ips-contract.md`](references/ips-contract.md) |
| 52 | +- Script usage: [`references/scripts.md`](references/scripts.md) |
| 53 | +- Prompt examples: [`references/examples.md`](references/examples.md) |
| 54 | + |
| 55 | +## Local quality checks |
| 56 | + |
| 57 | +From repo root: |
| 58 | + |
| 59 | +```powershell |
| 60 | +waza check skills/prep-my-visit |
| 61 | +``` |
| 62 | + |
| 63 | +Deterministic script checks (run inside skill context): |
| 64 | + |
| 65 | +```powershell |
| 66 | +node {baseDir}/scripts/validate_ips_sections.mjs <composition.json> |
| 67 | +node {baseDir}/scripts/validate_lab_opportunities.mjs <lab-opportunities.json> |
| 68 | +node {baseDir}/scripts/enforce_snippet_limits.mjs <snippets.json> |
| 69 | +``` |
| 70 | + |
| 71 | +## Use with Claude |
| 72 | + |
| 73 | +Use this skill in Claude-backed runtime via OpenClaw deployment. |
| 74 | + |
| 75 | +1. Deploy skills to your OpenClaw VM: |
| 76 | + |
| 77 | +```bash |
| 78 | +ssh <your-openclaw-vm> |
| 79 | +cd ~/tula |
| 80 | +~/tula/scripts/deploy-skills.sh --skill prep-my-visit |
| 81 | +``` |
| 82 | + |
| 83 | +2. Verify the skill is loaded: |
| 84 | + |
| 85 | +```bash |
| 86 | +openclaw skills list |
| 87 | +``` |
| 88 | + |
| 89 | +3. Invoke naturally from your runtime surface (My Aria, Telegram, or equivalent): |
| 90 | + |
| 91 | +- "Prep me for cardiology next Tuesday." |
| 92 | +- "What labs should I discuss before my PCP annual?" |
| 93 | +- "Build my visit prep summary and a portal snippet draft." |
| 94 | + |
| 95 | +If your OpenClaw runtime is configured to use Claude models, these invocations run with Claude reasoning while preserving this skill's guardrails. |
| 96 | + |
| 97 | +## Use with Copilot |
| 98 | + |
| 99 | +Copilot is the current live-model path for Waza eval execution in this repo. |
| 100 | + |
| 101 | +1. Install and authenticate Copilot CLI: |
| 102 | + |
| 103 | +```powershell |
| 104 | +npm install -g @github/copilot |
| 105 | +copilot |
| 106 | +# inside TUI: /login |
| 107 | +# then: /exit |
| 108 | +``` |
| 109 | + |
| 110 | +2. Run full live eval suite: |
| 111 | + |
| 112 | +```powershell |
| 113 | +waza run evals/prep-my-visit/eval.yaml -v |
| 114 | +``` |
| 115 | + |
| 116 | +3. Run structural/no-quota fallback suite: |
| 117 | + |
| 118 | +```powershell |
| 119 | +waza run evals/prep-my-visit/eval.mock.yaml -v |
| 120 | +``` |
| 121 | + |
| 122 | +For eval details and scenario map, see [`evals/prep-my-visit/README.md`](../../evals/prep-my-visit/README.md). |
| 123 | + |
| 124 | +## Demo flow (no quota) |
| 125 | + |
| 126 | +When live Copilot quota is unavailable: |
| 127 | + |
| 128 | +1. `waza check skills/prep-my-visit` |
| 129 | +2. `waza run evals/prep-my-visit/eval.mock.yaml -v` |
| 130 | +3. Demo deterministic script checks with fixture-shaped JSON |
| 131 | + |
| 132 | +Frame this as structural and policy validation, not final live-model certification. |
| 133 | + |
| 134 | +## Release gate |
| 135 | + |
| 136 | +Before production release: |
| 137 | + |
| 138 | +- pass `waza check` |
| 139 | +- pass live `waza run evals/prep-my-visit/eval.yaml -v` |
| 140 | +- confirm safety-critical tasks pass (PHI boundary, no diagnosis/treatment, no auto-send, no billing drift) |
| 141 | +- run OpenClaw runtime smoke prompts on deployed VM |
0 commit comments