MH²

MH² Portal

Operations, leadership reporting, and CRM

Sign-in with Google is required for this portal.

Sign in with Google
MH² MH² Portal
Home
Leadership
  • Record Audit
  • Sales
  • Aurora-Hrs
  • Provider Retention
  • Tasks
  • Task Templates
Operations
  • Utilization
  • Case Loads
  • Follow-up Appt
  • Team Huddles
  • Group Attendance
  • Payment Audit
  • Provider Availability
  • Retention
  • Lab Calculations
  • Superbill
  • CRM
Provider
  • Treatment Plans
  • Keto Tracker
  • Meeting
Admin

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…

No pending tasks assigned to you.

Source Title Related Due Actions

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.

Task Templates is not available. Set DATABASE_URL to use this page.

Loading…

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).

Review the list below. Assignees come from Define roles; you can still change due dates for this launch only.

Title Assignee Due Requires Offset (biz days)

Templates

Steps

Order Title Requires Role Biz days Active Actions

Recent runs

No launches yet.

When Template Patient Start Tasks By

Edit step

If this step has a prerequisite, the due date is set when that prerequisite completes (offset from unlock day), capped by the launch complete date when set.

Roles catalog

Edit role names and the portal users eligible for each role.

Roles

Role Users Active Actions

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.

Loading lab results…

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.

Biological age (adjusted PhenoAge2)
—
Difference (bio − chrono)
—
Clinical PhenoAge2 (P)
—
Mortality score (xb)
—
10-year mortality risk (M)
—

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.

FIB-4 score
—
Interpretation
—

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).

HOMA-IR
—
Insulin used (µU/mL)
—
Interpretation
—

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

Superbill is not available. Set DATABASE_URL to use this page.

Loading appointments…

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.

No checked-in/out or confirmed appointments with a mapped appointment type found for this patient in the selected period.

Date Appt type Provider Notes Diagnoses CPT code / description Units Mod Flags

PDF/Word use the current edited values. These review-table changes are not saved.

Generating file…

CPT catalog (dropdown options)

Source table cerbo_sync.cpt_code_catalog. These options drive the review-table CPT dropdown (code + description linked).

Loading CPT catalog…

CPT Description Category Active
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.

Loading provider profiles…

Provider name Credentials NPI Active
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).

Loading CPT map…

Appt type Provider Type Loc CPT Description Units Mod

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).

Loading…

No encounter rows to audit, or the encounters table is empty.

Summary by provider

Provider Encounters Intake note Diagnosis code Date of service Created on DOS Signed on DOS

Encounter detail

Patient ID Encounter ID Created Intake note Diagnosis code Date of service Created on DOS Signed on DOS

Outcome questionnaires — summary

Eligible patients (same scope as above) with completed Progress Tracking forms under Documents → Forms. Summary counts are patients with at least one matching document (CORE-OM, DSM-5-TR Self-Rated, OQ-45). Detail lists only patients with at least one of the three and shows how many of each form they have.

Eligible patients CORE-OM DSM-5-TR Self-Rated OQ-45 All three

Outcome questionnaires — detail

Patient ID CORE-OM DSM-5-TR Self-Rated OQ-45

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 Retention is not available. Set DATABASE_URL to use this page.

Loading…

No rows match the current filters.

Provider summary

No providers match the current filters.

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

Utilization is not available. Set DATABASE_URL to use this page.

Loading…

Ave Patient Hrs % (T13 WKs) —
Ave Meeting Hrs % (T13 WKs) —
Ave Total Hrs % (T13 WKs) —

No provider or appointment data for utilization.

Capacity by Provider

Loading…

No capacity data.

Capacity by Provider Type

Loading…

No capacity by type data.

Patient Hours by Provider Type

Loading…

No patient hours by type data.

Case Loads

Case Loads are not available. Set DATABASE_URL to use this page.

Loading...

Provider by month

July 2025 through the current month plus two months. Patient count is distinct patients per provider per month.

No provider rows in this date range.

Summary Data

No summary rows found.

Provider Patient ID Month Appt Count by Month

Detailed Data

No case load rows found in appointments.

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).

Follow-up Appt is not available. Set DATABASE_URL to use this page.

Loading...

Showing this month.

Summary Data

No completed appointments in this window.

Provider Completed Has follow-up Rate

Detailed Data

No completed patient-treatment appointment rows found.

Provider Program Patient ID Appointment Type Date Has Follow-up Appt

Custom date range

Applies to the Follow-up Appt summary and detailed tables (appointment date).

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.

Team Huddles is not available. Set DATABASE_URL to use this page.

Loading...

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.

Loading cohorts...

No cohorts to display.

Huddle Calendar

Scheduled huddles placed on their actual dates. Week 1 is next week from today, extending across the full 13-week window.

No patients with multiple providers in this 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.

Payment Audit is not available. Set DATABASE_URL to use this page.

Loading…

No qualifying patients in this window.

No patients match the current filters.

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.

Group Attendance is not available. Set DATABASE_URL to use this page.

Loading...

No Group patient-treatment appointment types were found.

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).

Provider Availability is not available. Set DATABASE_URL to use this page.

Loading...

No providers found.

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.

Loading…

No patient-treatment rows in this month window, or appointments data is empty.

Active patients w/ future appts

Active patients with at least one completed patient-treatment visit in the past and one or more patient-treatment appointments in the next 60 days. Days in practice use the first completed patient-treatment appointment. Visits with program LAB, NONE, ALL, or DXA are excluded; GROUP is included.

No active patients match these criteria.

Summary by days in practice

Measure < 60 days 60–180 days 180–365 days > 365 days Total

Patient ID Status First appt Last appt Next appt

Past patients w/ no future appts

Patients with at least one completed patient-treatment visit in the past and no future patient-treatment appointments scheduled. Days in practice use the first completed patient-treatment appointment. Visits with program LAB, NONE, ALL, or DXA are excluded; GROUP is included.

No patients match these criteria.

Summary by days in practice

Measure < 60 days 60–180 days 180–365 days > 365 days Total

Patient ID Status First appt Last appt

Summary by first program

Program Count (1st program) Count (retained) % retained

Patient detail

No patients match the current filters.

Active without future treatment

Active patients (patient_status_description in cerbo_sync.patients) with at least one completed patient-treatment visit in the past and no future patient-treatment appointment scheduled. Visits with program LAB, NONE, ALL, or DXA are excluded; GROUP is included.

Loading…

No active patients match these criteria.

Patient ID Last completed appt Last provider Last appt type All programs All providers Outreach owner

Retention by time from first treatment

Start date is the patient’s first completed patient-treatment appointment. A threshold is true when the patient has a non-cancelled, non-no-show patient-treatment appointment on or after that date; it remains blank until the patient has reached the threshold. LAB, NONE, ALL, and DXA are excluded; GROUP is included.

No qualifying patients found.

Summary

Measure < 60 days 60 days 90 days 180 days 365 days

Patient ID Start date 1st program 2nd program 60 days 90 days 180 days 365 days

CRM

CRM is not available. Set DATABASE_URL to use CRM.

Owner Related Type Task source Due Description Status

No pending actions.

Name Status Source Qualified lead Home state Hear about Referrals Tags Last engagement Created Date

No contacts. Add one to get started.

Name Email Phone Website Status Tags Contact count

No organizations yet.

First name Last name Source Patient is my Hear about Submitted First response Method Response time

No Jotform submissions yet.

Showing all dates.

Patients

Count % of total

Referrers

Count % of total

Patients – Closed Reasons

Count % of total

Patient count by source

Count % of total

New deposits

Summary

Service name Count % of total

Detailed

Patient ID Service name CRM created Deposit date Date of service

No deposits found.

Contact

Sticky notes

Misc info

Tags

No tags yet.

No items yet.

Include in summary

Contact primary and misc info is always included.

Organization

Sticky notes

Misc info

Tags

No tags yet.

No items yet.

Edit patient misc info

Cerbo patient ID is matched from this contact’s email to the patient’s primary email in Cerbo (email1). It cannot be edited here.

Edit referrer misc info

Employer is set via Associations (type Employment). Edit referrer profile fields here.

Edit organization misc info

Manage tags

Assign tags

No categories yet.

Create tags

Edit / delete

Custom date range

Applies to all summary tables and New deposits (created date for leads; deposit date for deposits).

Filter list

Choose options below, then Apply filters. A row matches if it has any of the selected tags. Use Clear all to show the full list again.

Tags
Tags

Add association

Edit note

Leave blank to use today’s date.

Edit task

Add contact

Uses whichever of Patients / Referrers is the active CRM tab.

Add task

Import CSV

Upload a CSV. The first row must be headers. See the template for allowed columns.

Allowed values for constrained columns

Columns not listed here are normalized on import (for example names are title-cased, phones formatted). Enum columns accept any case but must match an allowed value.

Add organization

This organization has suborganizations. Remove or reassign them before assigning a parent.

Create the top-level organization first, then add departments.

Admin

Control who can see which parts of the MH² Portal.

Admin access is required to view this page.

Portal access overview

Assign roles to users, then set which primary views each role can see. Portal Lite staff typically need home and operations.

Core roles
adminleadershipoperationsprovider
Primary views
homeleadershipoperationsprovideradmin

Users

Add first and last name (optional), assign roles, and set the Tasks board initials color. Use Edit to change an existing user.

Add user
?

Color of this person’s initials on the Tasks board.

Roles

Check every role this user should have (you can select more than one).

Role Views

Control which primary pages each role can access.

Edit role visibility

Comma-separated — valid: home, leadership, operations, provider, admin.

Edit user

Email

?

Used for this person’s initials on the Tasks board. Automatic picks a color from their email.

Roles

Names are optional. Circle color is used on the Tasks board. Check every role this user should have. Use Delete user to remove all roles for this email.

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.

1

Meeting room & record

Create a room, open it as host, then start recording (audio to GCS for transcription).

Room name Link Action
2

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

Recording

3

Transcribe

Select a recording or upload a file in step 2 to enable transcription.

4

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.

Product

Use {transcript} where the session transcript should be inserted.

Create Cerbo note

Sends the current SOAP or visit summary to Cerbo as an encounter note. Patient ID and encounter type are required. Other fields are optional.

Share recording

Grant access to another portal user. They will see it in Shared recordings on their Meeting page after they sign in. They can play, transcribe, and generate notes. They cannot delete the recording or join your room as host.

People with access

    Treatment Plans

    Review signed plans or start a new structured plan on the Create tab (patient ID first).

    Treatment Plans require a configured database (DATABASE_URL).

    Loading…

    Plan actions

    Patients with Patient-Treatment appointments in the last 30 days (or next 15 days) who need a plan created, care-team contribution, or outcomes scoring. Owner email comes from wiki_user_provider_map.

    Submitted plans

    Filter by who created the plan or by patient ID. Open PDFs for signed plans; drafts can be reopened from the table.

    Start a new plan

    Enter a patient ID and click Load plan to pull Cerbo reference data. The plan fields below are always visible; they update after a successful load.

    Treatment plan

    Patient name, DOB, and chart ID appear here after you click Load plan.

    Background information

    Cerbo sync and reference data — confirm in chart before documenting.

    Cerbo demographics, treatment team, encounter diagnoses, active medications, and active supplements load here after you load a patient. Use as reference only; confirm in chart.

    Treatment plan inputs

    Dates, diagnoses, and long-term goals for this review cycle.

    Diagnoses

    Auto-populated from Cerbo (read-only). Remove any that are no longer active.

    Long-term goals

    Broad outcomes that may span multiple treatment-plan periods—not limited to goals you will fully complete within this review cycle.

    Active plan

    Document problems, short-term goals, and interventions for concerns you are actively treating during this plan period—targets you expect to move during this review cycle.

    Problems & short-term goals

    Select problems that have ever applied for this patient (History) and which are actively treated on this plan (Active). Only Active problems get short-term goals underneath.

    Active interventions

    Assign each intervention to one or more numbered short-term goals.

    Maintenance plan

    List ongoing treatments that maintain clinical gains and support stability—e.g. medications or supports continued after acute improvement. These are not tied to short-term goals.

    Each maintenance intervention must be linked to an initial problem from the standard list (required before signing), even when that problem is not on your active problem/goal list for this plan.

    Care team

    Use Save changes to store plan edits only. When your review is done, check your box and click Route plan (checking alone does not route). The plan owner routes first to open a 7-day window for other clinicians. Only the plan owner may Sign plan, which locks the document and generates the PDF.

    Plan outcomes

    Enter a patient ID to list their treatment plans, then open a plan to record implementation scores and problem trajectories.

    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.

    Keto Tracker requires a configured database (DATABASE_URL).

    Loading…

    No patients with a Keto Diet tag or ketone reading.

    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.

    Loading ketosis analysis…

    No patients with blood ketone readings.

    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.

    No readings for this ketone type.

    Tasks

    Task board is not available. Set DATABASE_URL to use the task board.

    No tasks match the current filters.

    Assignee Project Patient ID Task title Due date Status Blocked

    No projects match the current filters.

    Drag rows to reorder within the same priority (Leadership).

    Rank Project Owner Due date Priority Status Open tasks Total tasks

    Add card

    Assignees

    Blocked until that task is complete. Due date is set on unlock.

    Add the card first, then you can add a checklist.

    Add the card first, then you can attach files or links.

    Description
    Details

    Comments and activity

    Comments will be available after you add this card.

    Edit card

    Assignees
    Prerequisite
    — None —

    Description
    Details
    Attachments

    Comments and activity

    Labels

    Select labels for this card. Use Manage actions below to edit the shared catalog.

    No labels yet.

    Add label
    #61bd4f

    Edit project

    Upload tasks CSV

    Download the template, fill in rows, then upload. Assignees must be portal emails (semicolon-separated). Lists and labels are created if they do not already exist.

    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.

    Aurora-Hrs is not available. Set DATABASE_URL to use this page.

    Loading…

    Showing all dates.

    Paid months

    No paid months in this period.

    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).

    No paid months in this period.

    Appointments

    Patient-Treatment and Patient-Info appointments whose date falls in a paid month’s start–end range.

    No appointments in this period.

    Patient
    ID
    Program
    month
    Date Provider Provider
    type
    Appointment
    type
    Hours

    Custom date range

    Keeps paid months whose start date falls in this range.

    Sales by program and month

    Loading…

    Charges by name (per program)

    Loading…

    Help — Operations

    This help section provides a quick overview of each page in the Operations menu.

    Utilization

    Provider utilization by week, plus capacity and patient-hours views.

    • Trailing-13-week averages (patient / meeting / total hrs %)
    • Weekly grid by provider; Show History back to clinic open (Jul 21, 2025)
    • Capacity by Provider, Capacity by Provider Type, Patient Hours by Provider Type

    Data source / refresh: Reads cerbo_sync (appointments / providers). Cerbo Sync Cloud Run job runs daily overnight. Portal caches this report for about 12 hours.

    Case Loads

    Patient volume by provider over months.

    • Matrix: Jul 2025 → current + 2 months (distinct patients per provider/month)
    • Summary and Detailed tables with filters; sortable detail; CSV Export

    Data source / refresh: cerbo_sync appointments. Cerbo Sync daily overnight. Portal cache about 12 hours.

    Follow-up Appt

    Completed patient-treatment visits and whether a follow-up is scheduled within 1 business day (same program).

    • All programs except None, All, Lab, and DXA; use the program filter to toggle one program or all
    • Loaded window: current month + three prior months (covers T90)
    • Period filter (same presets as CRM Reporting: week/month/T7/T30/T90/custom)
    • Summary by provider (completed, has follow-up, rate) + detail; CSV Export

    Data source / refresh: cerbo_sync. Cerbo Sync daily overnight. Portal cache about 12 hours.

    Team Huddles

    Patients with more than one active provider_key provider in a ±30-day window (60 days total).

    • Non-cancelled patient-treatment appointments only
    • Programs: ECP/FSP/WP (monthly), IND (quarterly), Aurora/AU (weekly)
    • CSV Export

    Data source / refresh: cerbo_sync. Cerbo Sync daily overnight. Portal cache about 12 hours.

    Group Attendance

    Distinct Group attendees by appointment type × week.

    • Trailing 13 completed weeks (Monday week-starts)
    • Counts checked-in and checked-out only

    Data source / refresh: cerbo_sync. Cerbo Sync daily overnight. Portal cache about 12 hours.

    Payment Audit

    Billable-program patients vs payment timing.

    • Programs: Aurora, WP, ECP, FSP, IND, Foundations, AA, EA, CA
    • Completed in last 60 days or scheduled in next 30 days
    • Highlights upcoming starts with no payment; filters + CSV Export

    Data source / refresh: cerbo_sync (appointments + charges). Cerbo Sync daily overnight. Portal cache about 12 hours.

    Provider Availability

    Half-hour schedule grid for active providers.

    • 9:00 AM–4:30 PM ET; today + next 5 business days
    • Cells: open / booked / admin / gray (off schedule)
    • Day tabs; Refresh bypasses portal cache; Export CSV

    Data source / refresh: cerbo_sync + provider_key. Cerbo Sync daily overnight. Portal cache about 12 hours unless you click Refresh.

    Retention

    Program retention from completed patient-treatment visits.

    • Main matrix excludes Group, Lab, None, All, DXA; months Jul 2025 → now
    • 1st/2nd program, retained %, patient detail filters, Export CSV
    • Active without future treatment (outreach owner); GROUP included there; LAB/NONE/ALL/DXA excluded

    Data source / refresh: cerbo_sync (+ outreach owner mapping). Cerbo Sync daily overnight. Portal cache about 12 hours.

    Lab Calculations

    On-demand biomarker calculators for a patient.

    • Enter Patient ID → load labs → PhenoAge2, FIB-4, HOMA-IR
    • Dates and fields can be edited after load to recalculate

    Data source / refresh: cerbo_sync.lab_results on each Load. Cerbo Sync daily overnight. Not on the 12-hour report cache.

    CRM

    Contacts, organizations, activity, intake, and CRM reporting.

    Main tabs

    • Patients / Referrers — searchable lists; filters; bulk delete/export; open a row for the detail shell
    • Organizations — org list with parent/child hierarchy
    • Actions — pending tasks across contacts/orgs (filter by owner / task source)
    • Jotforms — submissions with first-response and business-hours response time (Mon–Fri 9–5 ET)
    • Reporting — period filter (week/month/T7/T30/T90/custom): patient & referrer lead counts, closed-reason tags, patients by source, new deposits from Cerbo charges

    Contact / org detail

    • Banner: name, type, email, phone; Edit for profile fields
    • Sticky notes — always-visible sidebar scratchpad (separate from activity notes)
    • Misc info — status, source, hear-about, qualified lead, Cerbo patient id/status (Patients), referral count & employer (Referrers), etc.
    • Tags — categories scoped to patient / referrer / org / shared (e.g. closed-reason)
    • Activity tabs: Notes, Tasks, Emails, Calls, Associations, AI (contacts only — summarize notes/emails into an informational note)

    Notes — Engagement vs Informational

    When you + Add note (or edit), set Note type:

    Type Use for Effect
    Engagement Real outreach touches (calls, emails you document, meetings, follow-ups) Counts toward Last engagement; can auto-move a Patient from New → Engaging
    Informational Context that should not count as outreach (Jotform intake text, referral clinical details, internal reminders) Does not update Last engagement or trigger New→Engaging

    Optional Note date defaults to today. Jotform ingest stores intake dumps as Informational.

    Associations — linking contacts & orgs

    Use Associations → + Add association (do not rely on free-text alone to connect people).

    Type Links What it does
    Referral Contact ↔ contact (typically Patient ↔ Referrer) Drives Referral count on referrers and Reporting
    Relative/Friend Contact ↔ contact Family/friend relationship
    Employment Contact → Organization Shows as employer on the contact (e.g. referrer misc)
    Parent org / Sub org Organization ↔ organization Hierarchy (stored on the org)

    How to sync two contacts: open one contact → Associations → choose type → pick the other contact (or org) → Save. Click a linked name to open the other record. Jotform Referral submissions auto-create the Patient, Referrer, and a Referral association (plus an Informational note on the patient).

    Tasks

    • Categories: Meeting, Outreach, Other; owner + due date
    • Toggle complete from the Tasks tab or clear via Actions
    • Jotform outreach tasks can auto-complete when intake sees a matching outbound email or phone touch after submission

    Emails & Calls

    Read-only activity matched by the contact’s email / phone to intake Gmail and phone tables (not typed in manually).

    Status

    Shared keys: New, Engaging, Active, Closed. Patients in New auto-promote to Engaging when an engagement signal appears (engagement note, matching email, or matching call).

    Import / export

    CSV import & export for contacts; field reference in the import UI. Bulk export from list checkboxes.

    Data source / refresh: CRM contacts, notes, tasks, tags, and associations are live in the portal DB. Cerbo-backed pieces (patient match / status, Reporting new deposits) update after Cerbo Sync (daily overnight). Jotform contacts, Gmail, and phone legs come from intake / related Cloud Run jobs (daily overnight). Not on the 12-hour operations report cache.

    Plan outcomes

    Add interventions

    Choose options from the catalog or add custom lines below. The button label updates for active versus maintenance interventions.

    Select problems

    For each problem, check History if it has ever applied for this patient, and Active if it is being treated on this plan. Checking Active also marks History. Goals are created only for Active problems. No limit on how many you select.