Appearance
Blood Work Pipeline
What It Does
The pipeline takes a client's raw blood test PDF and processes it end-to-end — no manual NP involvement until the final review step.
Before: NP manually reads every report, types up findings, drafts recommendations, pastes into GHL, sends to client. ~45 minutes per client.
After: Pipeline pre-processes everything. NP opens GHL, sees AI summary already in call_notes, edits/approves in ~5 minutes, sends to client.
The 6 Steps
| # | Step | Model / Tool | Output |
|---|---|---|---|
| 1 | Ingest | — | Raw PDF saved, run created |
| 2 | Extract text | pdf-parse → Claude vision fallback | Clean text |
| 3 | Parse biomarkers | Claude Sonnet 4.6 | Structured JSON |
| 4 | Clinical analysis | Claude Opus 4.7 | Summary + recommendations |
| 5 | Generate client PDF | Puppeteer | Branded PDF |
| 6 | Write to GHL | GHL REST API | Updated contact |
Cost Per Report
| Step | Model | Est. Cost |
|---|---|---|
| OCR (if scanned) | Sonnet 4.6 vision, ~5 pages | ~$0.05 |
| Parse biomarkers | Sonnet 4.6 | ~$0.02 |
| Clinical analysis | Opus 4.7 | ~$0.10 |
| Total | ~$0.15–0.20 |
Compared to ~45 min of NP time per report.
GHL Tag Lifecycle
mermaid
flowchart LR
A["new lead"] -->|send_to_protocol_health| B["Protocol Health intake"]
B -->|junction + junction_sent| C["Junction linked"]
C -->|link_to_schedule_bloodwork| D["Scheduling link sent"]
D -->|bloodwork_scheduled| E["Blood draw done"]
E -->|pipeline runs| F["bloodwork_completed"]
F -->|scheduled_bloodwork_review| G["NP review in GHL"]