Welcome to MH² Portal
Where Mental Health Meets Metabolic Health
Use the menu for Home, Leadership, Operations, Provider, and any additional areas granted to you. Admins can open Admin to manage roles.
Pending tasks
Your open items from CRM, Tasks, and Treatment Plans.
Loading…
Leadership
Reporting and documentation quality.
Open Record Audit, Sales, Aurora-Hrs, Provider Retention, Tasks, or Task Templates in the Leadership menu.
Task Templates
Create and launch task playbooks. Generated cards appear on the Tasks board under the template’s shared project. Duplicate an existing template to start a variant, then edit titles, descriptions, roles, and due-date offsets.
Launch
Define roles
Assign users to each role used by this template. Roles with one user are filled automatically; roles with multiple users require a selection.
No roles needed for this template (or steps have no role set yet).
| Title | Assignee | Due | Requires | Offset (biz days) |
|---|
Templates
Steps
| Order | Title | Requires | Role | Biz days | Active | Actions |
|---|
Recent runs
| When | Template | Patient | Start | Tasks | By |
|---|
Lab Calculations
Load biomarkers from cerbo_sync.lab_results (Quest-style structured results).
Enter a patient ID and load lab data to populate fields and calculate PhenoAge2, FIB-4, and HOMA-IR automatically.
Patient dates
Filled automatically when you load lab data; edit and reload to recalculate.
Chronological age: —
1. Biological age (PhenoAge2)
Adjusted corrected PhenoAge2 (Levine / Liu et al.) from nine standard blood biomarkers and chronological age. Lab values are entered in US units (g/dL, mg/dL, mg/L); the formula converts internally before calculation.
2. FIB-4 (liver fibrosis index)
Sterling formula: (Age × AST) / (Platelets × √ALT). Uses chronological age from dates above. Less reliable under age 35 or over 65.
3. HOMA-IR (insulin resistance)
(Fasting insulin [µU/mL] × fasting glucose [mmol/L]) / 22.5. Insulin in pmol/L is converted using 1 µU/mL = 6.945 pmol/L (MDCalc).
Superbill
Generate a review table of checked-in/out and confirmed appointments for one patient and date range.
CPT codes come from cerbo_cpt_map; diagnoses come from matching encounter notes.
Edits below are for the upcoming PDF step only — they are not saved to the database.
1. Patient & period
2. Check CPT codes & diagnoses
Only appointment types in the CPT map are listed; anything else is omitted. Flagged rows need review (multiple providers on the appointment, multiple notes, missing CPT, no matching encounter, reassigned provider, assumed later note, or a note with no diagnoses). Diagnosis and CPT fields are editable for the PDF/Word step.
PDF/Word use the current edited values. These review-table changes are not saved.
CPT catalog (dropdown options)
Source table cerbo_sync.cpt_code_catalog. These options drive the review-table CPT dropdown (code + description linked).
Provider credentials (PDF/Word name)
Source table cerbo_sync.provider_superbill_profile. Provider Name on PDF/Word becomes
First Last, credentials. Credentials also appear after the cursive signature.
NPI here overrides Cerbo when present. Include former providers so historical superbills still resolve.
CPT map (editable lookup)
Source table cerbo_sync.cerbo_cpt_map. Edits here are saved to the database and affect future Superbill loads.
Use “Seed from CSV” once after migration (or to refresh from the Excel export).
Record Audit
Summary by provider (all eligible patients): only patients with at least one past patient-treatment appointment are included (current or former treatment patients). Each percentage is the share of that provider’s encounters in scope where the check passed (intake is patient-level: any encounter title contains “intake”; other checks use assessments, date of service, created date, and signed date).
Summary by provider
Encounter detail
Outcome questionnaires — summary
Outcome questionnaires — detail
Provider Retention
One row per provider, patient, and program (from appointments_key) with a patient-treatment appointment on or after July 1, 2025.
Statuses included: confirmed, checked-in, and checked-out.
Programs Group, Lab, None, All, and DXA are excluded.
Total days seen is last appointment date minus first, plus one (a single-day visit counts as 1).
Has future appt is true when that trio has an appointment on or after today (Eastern).
Summary counts each patient once per provider (multiple programs do not double-count); a patient is retained if any remaining program row with that provider has a future appointment.
Avg appt count and avg days seen also use unique patients as the denominator: with Program = Any, each patient’s visits across programs are combined first; with a program filter, only that program’s visits are used.
Provider summary
| Provider | Patient count | Has future appt count | Retained % | Avg appt count | Avg days seen |
|---|
Detail
| Provider | Patient ID | Program | First appt | Last appt | Total days seen | Appt count | Has future appt |
|---|
Operations
Utilization and CRM for operations.
Open Utilization, Lab Calculations, or CRM from the submenu.
Utilization
Capacity by Provider
Capacity by Provider Type
Patient Hours by Provider Type
Case Loads
Provider by month
July 2025 through the current month plus two months. Patient count is distinct patients per provider per month.
Summary Data
| Provider | Patient ID | Month | Appt Count by Month |
|---|
Detailed Data
| Provider | Patient ID | Appointment Type | Program | Month | Appt Count by Month | Total Duration by Month |
|---|
Follow-up Appt
Shows, for completed patient-treatment visits, how many have a follow-up appointment scheduled within one business day (and how many do not). Use the program filter to switch between programs, and the period filter to switch the summary window (same presets as CRM Reporting).
Summary Data
| Provider | Completed | Has follow-up | Rate |
|---|
Detailed Data
| Provider | Program | Patient ID | Appointment Type | Date | Has Follow-up Appt |
|---|
Team Huddles
Patients with more than one provider from cerbo_sync.provider_key over a 60-day window
(±30 days from today). Counts include non-cancelled patient-treatment appointments only.
Required Huddle Time per Week
Minimum weekly recurring meeting time to cycle every patient through a care-team huddle at the required cadence:
- Monthly programs (ECP, FSP, WP): 15 min/patient, once per month.
- IND: 10 min/patient, once per 3 months.
- Aurora (AU): 15 min/patient, once per week (2 patients per 30-min meeting).
| Huddle Type | Patients | Min Weekly Meeting Time | Required Care Team Members |
|---|
Huddle Cohorts & Meeting Times
Schedule of patient reviews by cohort (one 30-minute meeting = up to two 15-minute or three 10-minute reviews). Meetings use weeks 1–13. Non-Aurora huddles are capped at 60 minutes/week; Aurora (labeled AU) is uncapped but clinicians are never double-booked across meetings. Standard meetings need >50% care-team overlap (full when possible). Aurora requires psychiatrist(s) plus at least one psychologist/therapist; times are chosen to maximize those roles first, then other care-team members as tiebreakers. Missing Huddle lists members not available for that slot.
Huddle Calendar
Scheduled huddles placed on their actual dates. Week 1 is next week from today, extending across the full 13-week window.
Patients with Multiple Providers
Payment Audit
Billable program patients (Aurora, WP, ECP, FSP, IND, Foundations, AA, EA, CA) with completed appointments in the trailing 60 days or scheduled appointments in the next 30 days. Last appt is the most recent completed visit for that program; next appt is the earliest scheduled visit. Upcoming starts with no payment are highlighted — patients should pay before starting.
| Patient ID |
Program | Pay frequency |
Timing | Last appt |
Next appt |
Days since payment |
Last payment |
Last payment amount |
|---|
Group Attendance
Distinct patient attendees per Group program appointment type for the trailing 13 completed weeks. Columns are Monday week-start dates, oldest week first. Attendance includes only checked-in and checked-out patient-treatment appointments.
Provider Availability
Half-hour slots from 9:00 AM–4:30 PM (Eastern). Providers come from
cerbo_sync.provider_key (active start_date / end_date only).
Gray cells are outside that provider’s scheduled days or hours. Other cells:
open, booked, or admin.
Default range: today plus the next five business days (weekends skipped).
Retention
Completed patient-treatment appointments only (checked-in / checked-out), with program from cerbo_sync.appointments_key.
Appointments in programs Group, Lab, None, All, or DXA are excluded. Months run from July 2025 through the current calendar month.
1st and 2nd program use each program’s earliest qualifying appointment (ties by name).
Retained is true if the patient had a different program after their first program started, or had the same first program in a later calendar month than their first month in that program.
Active patients w/ future appts
Past patients w/ no future appts
Patient detail
Active without future treatment
Retention by time from first treatment
CRM
| Name | Status | Tags | Last engagement | Created Date |
|---|
No contacts. Add one to get started.
Admin
Control who can see which parts of the MH² Portal.
Portal access overview
Assign roles to users, then set which primary views each role can see.
Portal Lite staff typically need home and operations.
Users
Add first and last name (optional), assign roles, and set the Tasks board initials color. Use Edit to change an existing user.
Role Views
Control which primary pages each role can access.
Provider
Clinical tools for providers.
Open Treatment Plans or Meeting in the Provider menu.
Meeting
Create a reusable meeting room, record audio to cloud storage, then transcribe with Google Speech-to-Text or AssemblyAI. Guests join via share link (display name only). Host must sign in and join before recording.
Live meetings are available Monday–Friday, 8:30 AM – 5:30 PM Eastern. Outside those hours the video server is offline — start/join will not work until the next scheduled window.
Meeting room & record
Create a room, open it as host, then start recording (audio to GCS for transcription).
| Room name | Link | Action |
|---|
Select file to transcribe
Upload an audio file, or select a past recording from a room in step 1.
Or select a past recording
| Recording | Started | Status | Action |
|---|
Transcribe
Select a recording or upload a file in step 2 to enable transcription.
Clinical note
Complete transcription first, then generate a SOAP note or visit summary.
Output is temporary — edit, copy, or send to Cerbo as an encounter note. Nothing is saved in the portal database.
Use {transcript} where the session transcript should be inserted.
Treatment Plans
Review signed plans or start a new structured plan on the Create tab (patient ID first).
Submitted plans
Filter by who created the plan or by patient ID. Open PDFs for signed plans; drafts can be reopened from the table.
Keto Tracker
Patients with the Keto Diet tag and/or a ketone custom vital reading (Ketones urine/blood, GKI). Filter last reading by ketone type.
| Patient ID | Keto tag? | First reading date | Last reading date | Last reading value |
|---|
Ketosis Analysis
Rules
- Uses blood ketones only (highest reading per calendar day). Patients need at least one blood ketone reading.
- Nutritional ketosis: daily max ≥ 0.5 mmol/L. Therapeutic ketosis: daily max ≥ 1.0 mmol/L.
- % of readings: share of days (with a blood ketone reading) that meet each threshold.
- Longest streak: longest run of days meeting the threshold, measured as calendar days from first to last day of the run
(end − start) + 1. A day below threshold, or a gap of 7+ days between successive reading days, breaks the streak. - Current streak: only if the most recent reading day meets the threshold and is within the last 7 days; then the day-span of that ongoing run. Otherwise blank.
| Patient ID | % of readings | Longest streak | Current streak | |||
|---|---|---|---|---|---|---|
| % nutritional ketosis | % therapeutic ketosis | Nutritional ketosis | Therapeutic ketosis | Nutritional ketosis | Therapeutic ketosis | |
Ketones over time
Enter a patient ID to chart ketone readings. Toggle between ketone types below the chart.
Tasks
Aurora-Hrs
Paid Aurora months from aurora.xlsx (patient, program month, tier, start/end).
Patient hours are Patient-Treatment and Patient-Info appointment duration whose date falls in that row’s start–end range.
Weekly average is those hours ÷ 4.33.
Total charges are Aurora program charges (amount > 0): first month is all such charges on or before the first start date; later months are after the prior month’s start and before this month’s start.
Months whose start date is not in 2026, or is in the future, are omitted.
The period filter keeps months whose start date falls in the selected range.
Paid months
| Patient ID |
Program month |
Tier | Start date |
End date |
Patient hrs |
Weekly avg |
Total charges |
|---|
Hours by provider type
One row per paid month. Patient-Treatment and Patient-Info hours by primary provider type from provider_key (unmatched = Other).
Appointments
Patient-Treatment and Patient-Info appointments whose date falls in a paid month’s start–end range.
| Patient ID |
Program month |
Date | Provider | Provider type |
Appointment type |
Hours |
|---|