# Moonshot Clinic EHR: map for AI browser agents This file describes the staff application at this hostname so an agent driving the browser can find the right screen quickly. It is not documentation for patients. Routes are relative to this hostname. Staff must be signed in; the agent works inside an already authenticated session and never enters credentials on its own. ## Top-level navigation (header tabs; visibility depends on the signed-in role) /calendar/ Appointments by day/week. New Appointment modal lives here. /patients/ Patient list and search. "+ Add Patient" creates a patient. Opening a patient goes to the chart (/chart/), which is the clinical record: history, notes, prescribing, labs, forms, files. /lab-worklist/ Labs: orders worklist. Sibling pages: /psc-reconciliation/ (scheduling issues), /lab-analytics/ (analytics). /quest-psc/ Schedule Quest draws (only when enabled). /leads/ Prospects that are not yet patients. /billing/ Charges, memberships, failed payments, upcoming renewals. Tabs: Dashboard, Failed, Upcoming, Search. Search opens a patient billing panel with New Charge and Record Cash/Check. Also /billing/plan-builder.html, /billing/bundles.html. /communications/ Texts, Portal, Fax, Requests, Campaigns, Forms & Intake, Documents, Push, Clinic subscriptions. /automations/ Automation Map: confirmations, reminders, standard messages. The Pathways link on this page opens /pathways/ for multi-step journeys with branches, tasks, forms, or billing events. /inventory/ Tabs: Standard Inventory, Drug Catalog, Suppliers, Medical Supplies, IV Recipes, Reports. Also /inventory/reconciliation.html. /tasks/ Team task queue. /rx-tracker/ Prescription tracking. /refills/batch.html for refill triage. /files/ Clinic files. /dexa/ for DEXA scans. /analytics/ Owner dashboard (owner role only). /help/ Help center articles. /getting-started/ for the setup checklist. /settings/ Practice configuration (gear menu, top right). See below. /admin/ Platform admin (platform staff only, not clinic staff). ## Settings sections (/settings/, collapsible; deep-link with /settings/#key) practice Practice Information: name, contact, address, public branding. team Team Management: invite, edit, disable staff accounts. roles Roles & Permissions. (no key) Providers: clinicians, injectors, and staff who can appear on appointments. "+ Add Provider" is here. availability Hours & Availability: per-provider weekly schedule, date overrides, and days off. Provider days with no hours read "Unavailable" (the practice is open; that provider is not). clinic-hours Public Booking Hours: the practice's open/close times per day. Days with no hours read "Closed". appointment-types Appointment Types: duration, allowed providers, prep, color. /settings/#appointment-types?type_id= opens one type. (card) Custom Booking Links: card in Settings that opens /admin/booking-configs/ (list) and /admin/booking-configs/edit.html. stripe Payment Account. Payment Gateway (NMI) is a separate section. products Product Catalog: "+ Add Product". notifications Booking Notifications. welcome-email: Welcome Email Template. spruce Spruce (SMS / Phone); RingRx (SMS); ScriptSure (e-Prescribing). lab-ranges Functional Lab Ranges. Dot Phrases is a nearby section. ## Where common admin tasks live Add a provider and set hours /settings/ > Providers > + Add Provider, then Hours & Availability (/settings/#availability) > pick the provider > Weekly Schedule "+" per day. Date Overrides and Schedule Days Off are in the same block. Create an appointment type /settings/#appointment-types > add a type; set duration, providers, prep, color. Build a custom booking link /settings/ > Custom Booking Links card > /admin/booking-configs/ > new config. Public booking pages render at /book/?slug= or /book/?config=. Assign forms to appointment types (auto-send after booking) /communications/ > Forms & Intake > Auto-send rules. One row per active appointment type; add or remove forms per row. Send a consent or intake form to one patient /communications/ > Forms & Intake > Send form. Templates come from Template library (activate one to copy it into My forms). Completed forms appear under Submissions and on the patient's chart. Receive inventory /inventory/ > Standard Inventory (or Drug Catalog for controlled drugs) > Receive Shipment. Enter drug, lot, quantity, unit, expiration, location. Approve an IV recipe /inventory/ > IV Recipes > open the recipe > uncheck "Clinical review still pending" and save. Saving records who approved and when against that formula revision. Any later formula change flags review as pending again. Record an outside payment (cash, check, paid elsewhere) /billing/ > Search > open the patient > Record Cash/Check. New Charge on the same panel charges the card on file. Book an appointment for a patient /calendar/ > New Appointment, or from the patient's chart. ## Safety rules the agent must follow 1. Never create real-looking patients for testing. Test records must be obvious in the name (for example first name "Test", last name "Agent"), with a fake phone and email that cannot reach a real person. 2. Never enroll a test patient in a pathway, membership, bundle, or plan that charges money, and never run New Charge or Record Cash/Check on one. 3. PHI stays inside the EHR. Do not copy patient names, contact details, notes, labs, or files into prompts, other sites, or files outside this app. 4. Do not send texts, emails, faxes, or forms to real patients unless a staff member asked for that exact send. Messaging screens send immediately. 5. Do not change Roles & Permissions, integrations (Spruce, RingRx, ScriptSure, payment gateways), or delete records without an explicit instruction naming the item. 6. Prefer reading over writing. When unsure which patient or record is meant, stop and ask rather than guessing.