{"name":"VitlyCare Rate Management System","version":"3.0.0","port":"8080","api":{"POST /api/rate-sessions":"Create rate session from 4 fields → instant range (no docs required)","GET  /api/rate-sessions":"List sessions (?county= &status= &limit= &offset=)","GET  /api/rate-sessions/counties":"List all 87 MN counties","GET  /api/rate-sessions/:id":"Current estimate + confidence + top impact fields","PUT  /api/rate-sessions/:id":"Add/update inputs → live recalculation","GET  /api/rate-sessions/:id/breakdown":"Step-by-step formula components (mid scenario)","POST /api/rate-sessions/:id/extract-notes":"Paste free text → AI extraction → update estimate","GET  /api/rate-sessions/:id/counterfactuals":"What changes the rate and by how much (with documentation needed)","GET  /api/rate-sessions/:id/county-comparison":"Rate for this profile across all 87 counties","POST /api/rate-sessions/:id/share":"Share session with case manager or provider","POST /api/rate-sessions/:id/finalize":"Promote to full case → attach docs → run pipeline","POST /api/rate-sessions/:id/messages":"Post message to session thread (CM ↔ provider)","GET  /api/rate-sessions/:id/messages":"Get all messages in session thread","GET  /api/rate-sessions/:id/provider-context":"Provider break-even + house avg vs referral rate (?providerId=)","POST /api/rate-sessions/:id/documents":"Attach files → OCR → AI extraction → live rate update","GET  /api/rate-sessions/impact-report":"Portfolio impact of a formula update (?county= &fiscalYear=)","POST /api/rate-sessions/prior-auths":"Create prior authorization record","GET  /api/rate-sessions/prior-auths/expiring":"List PAs expiring within N days (?within_days=45 &provider_id=)","POST /api/rate-sessions/prior-auths/:paId/renewal":"Generate PA renewal draft letter","POST /api/rate-sessions/referrals":"Create referral + rank matched providers by capacity + rate fit","GET  /api/rate-sessions/referrals/:id":"Get referral + ranked provider list","PUT  /api/rate-sessions/providers/:id/economics":"Upsert provider economics (break-even, house avg, recipients)","POST /api/assistant/chat":"OpenAI assistant — workspace Q&A + navigate to pages","POST /api/intake-packets":"Create intake packet (demographics)","GET  /api/intake-packets":"List intake packets","GET  /api/intake-packets/:id":"Get packet + documents + decision report","PUT  /api/intake-packets/:id":"Update demographics / county","POST /api/intake-packets/:id/documents":"Bulk upload → OCR → auto-categorize","POST /api/intake-packets/:id/analyze":"Clinical extract + synthesize Intake Decision Report","GET  /api/intake-packets/:id/report":"Get decision report + citations","POST /api/intake-packets/:id/decision":"Record accept | decline | need_more_info","POST /api/intake-packets/:id/create-rate-session":"Prefill rate session from intake profile","GET  /api/playbooks":"List editable SOP playbooks","POST /api/playbooks":"Create playbook","GET  /api/assessments/catalog":"CRS 245D module catalog","POST /api/assessments/service-agreements":"Record service agreement","POST /api/assessments/register":"Upsert admission/discharge register","POST /api/assessments/episodes":"Start CRS assessment episode (seeds from pre-rate)","GET  /api/assessments/episodes/:id":"Episode + modules + checklist + dues","PUT  /api/assessments/episodes/:id/modules/:key":"Save module draft responses","POST /api/assessments/episodes/:id/modules/:key/complete":"Complete module + history","GET  /api/assessments/overdue":"Overdue modules and checklist items","GET  /api/assessments/episodes/:id/playbook-sync":"Playbook task IDs satisfied by assessments","GET  /api/case-manager/queue":"Sessions awaiting CM review (?cmEmail= &county=)","POST /api/case-manager/:id/recalculate":"CM independent rate estimate → field diff vs provider","GET  /api/case-manager/:id/diff":"Side-by-side field diff (provider vs CM) (?cmEmail=)","POST /api/case-manager/:id/verify":"CM confirms submission → session status = confirmed","POST /api/case-manager/:id/flag":"CM flags discrepancy → session status = refining","POST /api/case-manager/:id/prevalidate":"Pre-check DHS submission rules → errors + warnings","POST /api/cases":"Create case: upload docs → OCR → AI extraction → rate → DHS-6790C PDF","GET  /api/cases":"List cases  (?status= &county= &limit= &offset=)","GET  /api/cases/:id":"Get case status and full results","GET  /api/cases/:id/pdf":"Download DHS-6790C PDF","POST /api/cases/:id/clarify":"Provide clarification answers (rate estimate already available in 202 response)","POST /directStaff/crs-rate-request":"Legacy: single-file CRS pipeline → rate + PDF","GET  /directStaff/counties":"List all 87 MN counties with RVF values","POST /directStaff/vectorTest":"Vector DB staffing plan test endpoint","GET  /admin/pending-snippets":"Review auto-learned knowledge snippets awaiting approval","POST /admin/pending-snippets/:id/approve":"Approve snippet → enters production rate queries","POST /admin/pending-snippets/:id/reject":"Reject snippet permanently"},"docs":{"rateSessionWorkflow":["1. POST /api/rate-sessions  { county, diagnoses[], adlSupportLevel, overnightNeed }","2. Receive rate range immediately: { rateRange: { low, midpoint, high }, confidence, topImpactFields }","3. PUT  /api/rate-sessions/:id  to add more inputs and narrow the range","4. POST /api/rate-sessions/:id/extract-notes  to paste free text → AI fills fields","5. GET  /api/rate-sessions/:id/counterfactuals  to see what documentation adds revenue","6. POST /api/rate-sessions/:id/share  to invite case manager or provider to collaborate","7. POST /api/rate-sessions/:id/finalize  to promote to a case and generate DHS-6790C"],"caseWorkflow":["1. POST /api/cases  (multipart: file(s) + county + optional fields)","2a. If 201 → pipeline complete; response includes rate, PDF base64, narrative","2b. If 202 → pipeline paused; response includes rateEstimate (available now) + questions[]","3.  POST /api/cases/:id/clarify  { answers: [{ questionId, response }] }","4.  GET  /api/cases/:id  to poll status or retrieve results","5.  GET  /api/cases/:id/pdf  to download the DHS-6790C form"],"caseManagerWorkflow":["1. GET  /api/case-manager/queue?cmEmail=cm@dhs.mn.gov  — see sessions shared with you","2. POST /api/case-manager/:sessionId/recalculate  { cmEmail, adlSupportLevel, overnightNeed, ... }","3. GET  /api/case-manager/:sessionId/diff?cmEmail=  — field-by-field comparison","4a. POST /api/case-manager/:sessionId/verify  { cmEmail }  — confirms submission","4b. POST /api/case-manager/:sessionId/flag  { cmEmail, notes }  — flags for provider correction","5. POST /api/case-manager/:sessionId/prevalidate  — DHS submission readiness check"],"referralWorkflow":["1. POST /api/rate-sessions  — create a rate session for the incoming referral","2. POST /api/rate-sessions/:id/documents  — attach MnCHOICES / clinical docs","3. POST /api/rate-sessions/referrals  { sessionId, county, urgency, cmEmail }","4. Review matchedProviders[] sorted by overallScore (capacity + rate fit)","5. Contact top-ranked provider; GET /api/rate-sessions/:id/provider-context?providerId= for their economics"]}}