Portal Documentation

This guide explains the main portals in HLC Portals from a Customer Support and clinic operations point of view. It covers what each portal is for, who uses it, what CS can check there, and where to send common questions.

Portal Map

The app has five main surfaces:

  • Admin Portal
  • EMR Portal
  • CRM Portal
  • Patient Portal
  • Public Checkout / Consultation flow

Each surface has a different job. A patient issue often touches more than one portal, so CS should use the portal map to decide where to look first.

Admin Portal

Main path:

  • /admin

Common sections:

  • Dashboard
  • Organizations
  • Users
  • Settings
  • Payment Gateway
  • Audit Logs
  • Email Logs
  • Call Logs
  • Carts
  • Beluga admin review
  • Account

Admin is for platform and organization configuration.

Use Admin when checking:

  • organization settings
  • user access and roles
  • portal permissions
  • custom domains
  • branding
  • SMTP/email settings
  • SMS/calling settings
  • payment gateway configuration
  • medical integrations such as Beluga and DispensePro
  • pharmacies
  • security settings
  • audit logs
  • email delivery logs

CS note: staff generally should not change Admin settings unless they have clear operational approval. Many Admin settings affect the whole organization.

EMR Portal

Main path:

  • /emr

Common sections:

  • Dashboard
  • Patients
  • Appointments
  • Consultations
  • Orders
  • Order Journey
  • Subscriptions
  • Failed Payments
  • Processor Logs
  • Drugs
  • Questionnaires
  • Beluga Logs
  • Beluga Messages
  • Account

EMR is the main clinic operations and patient care workspace.

Use EMR when checking:

  • patient profile
  • patient portal account status
  • orders
  • invoices/payment records visible through orders
  • subscriptions
  • failed payments/payment recovery
  • intake/questionnaire responses
  • medical review status
  • Beluga submission status
  • Beluga messages
  • appointments
  • prescriptions
  • pharmacy routing
  • tracking and shipment details
  • refunds and cancellation state

CS note: when helping an individual patient, EMR is usually the first place to look.

CRM Portal

Main path:

  • /crm

Common sections:

  • Dashboard
  • Leads
  • Tasks
  • Campaigns
  • Segments
  • Templates
  • Workflows
  • Carts
  • Store
  • Checkout Template
  • Account

CRM is for sales, marketing, store setup, checkout configuration, and workflow automation.

Use CRM when checking:

  • products
  • subscription product setup
  • product phases/variants
  • product default pharmacy
  • Beluga visit type on products
  • subscription switching settings
  • checkout/buy page templates
  • carts and abandoned carts
  • leads and campaigns
  • message/email templates
  • workflow automations
  • segments

CS note: product setup problems often appear as order/intake/pharmacy problems later. If an order looks wrong, check CRM Store product configuration.

Patient Portal

Main path:

  • /patient

Common sections:

  • Dashboard
  • Intake
  • Orders
  • Invoices
  • Subscriptions
  • Messages
  • Appointments
  • Profile
  • Records
  • Settings

Patient Portal is what the patient uses after login.

Patients can use it to:

  • complete required intake
  • fix and resubmit intake
  • view orders
  • request refills
  • view and pay invoices
  • resolve payment recovery
  • view subscriptions
  • request/cancel subscription switches when allowed
  • pause/cancel subscriptions when allowed
  • manage messages with Beluga doctor
  • view appointments
  • update profile/settings
  • accept required consents

CS note: if a patient says they are "locked out," verify whether they are actually being redirected to required intake. The account may be active, but the portal may be gating them to /patient/intake?required=1.

Public Checkout / Consultation Flow

Common paths:

  • /buy
  • /buy/[productIds]
  • /cart
  • /cart/[cartId]
  • /checkout/[cartId]
  • /consultation/start
  • /consultation
  • /forms/[formId]

Public checkout is used before the patient is fully inside the portal.

It can:

  • show buy pages
  • build carts
  • collect payment
  • create orders
  • create subscription records for subscription products
  • start consultation/intake forms
  • redirect patients into the patient portal after completion

CS note: checkout-created issues often show later in EMR Orders, CRM Carts, patient invoices, or patient intake.

Login and Default Landing

Users log in through:

  • /auth/login

Default landing is based on the user's portal setting:

  • ADMIN -> /admin/dashboard
  • CRM -> /crm/dashboard
  • EMR -> /emr/dashboard
  • PATIENT -> /patient/dashboard

Some staff roles can access both CRM and EMR when permissions allow.

If a user can log in but cannot access a portal, check:

  • user role
  • organization portal permissions
  • custom organization role permissions
  • user status
  • default portal
  • whether they are using the correct URL

Permissions Overview

Portal access is controlled in layers:

  • built-in user role
  • organization-level portal permissions
  • custom organization role permissions
  • future user-level overrides

Important behavior:

  • SUPER_ADMIN bypasses portal permission toggles
  • organization settings define the maximum allowed feature set
  • custom roles can narrow access
  • disabled portal sections are hidden and backend routes are blocked

Common permission areas:

  • Admin users/settings/audit logs
  • CRM carts/templates/workflows/store/checkout
  • EMR patients/appointments/orders/subscriptions/drugs/questionnaires/processor logs

CS note: if a staff member cannot see a menu item, it may be a permissions issue rather than a broken page.

Patient Portal Account Management

Patient portal access is managed from:

  • EMR -> Patients -> patient profile -> Portal

Staff can check:

  • whether the patient has a portal account
  • portal account email
  • user status
  • last login

Staff may be able to:

  • create a portal account
  • reset portal password
  • revoke portal access

Revoking portal access unlinks the user login from the patient record. It does not delete the patient clinical record.

Custom Domains

Custom domains apply to patient-facing surfaces:

  • Patient Portal
  • Checkout

Admin, CRM, and EMR usually remain on the platform domain.

Use Admin settings to check:

  • custom domain records
  • primary domain
  • branding/domain configuration

CS note: if a patient is using a clinic custom domain and sees the wrong branding or cannot reach checkout, check domain mapping and organization context.

Where CS Should Look First

Patient cannot log in

Start in:

  • EMR -> Patients -> patient profile -> Portal

Then check:

  • user status
  • email used for login
  • password reset
  • portal access revoked
  • patient is using the correct domain

Patient is redirected to intake

Start in:

  • Patient Portal -> Intake, if viewing as patient
  • EMR -> Patient Profile -> intake/form responses

Then check:

  • required intake missing
  • form needs correction
  • form rejected
  • order waiting on requirements

Patient asks about order status

Start in:

  • EMR -> Orders
  • EMR -> Patient Profile -> Orders

Then check:

  • order status
  • invoice/payment status
  • intake status
  • Beluga status
  • pharmacy/fulfillment status
  • tracking

Patient asks about a charge

Start in:

  • EMR -> Orders
  • EMR -> Failed Payments
  • Patient Portal -> Invoices, if patient-facing explanation is needed

Then check:

  • invoice status
  • payment record
  • order source/context
  • subscription cycle number
  • refill marker
  • payment recovery metadata

Patient asks about subscription

Start in:

  • EMR -> Subscriptions
  • EMR -> Patient Profile -> Subscriptions

Then check:

  • status
  • next billing date
  • current phase
  • related orders
  • recovery queue
  • switch state
  • scheduled cancellation

Patient asks about messages

Start in:

  • Patient Portal -> Messages for patient-visible doctor chat
  • EMR -> Patient Profile -> Messages for staff view
  • EMR -> Beluga Messages for internal Beluga admin messages

Remember:

  • doctor/patient chat is patient-visible
  • CS/Beluga admin messages are internal only

Product or checkout looks wrong

Start in:

  • CRM -> Store
  • CRM -> Checkout Template
  • CRM -> Carts

Then check:

  • product active status
  • product price
  • product type
  • subscription phases
  • questionnaire mappings
  • Beluga visit type
  • default pharmacy
  • checkout/cart source

Staff cannot see a portal feature

Start in:

  • Admin -> Users
  • Admin -> Organizations / portal permissions

Then check:

  • built-in role
  • custom role
  • organization permission toggles
  • user status
  • portal path being used

Portal-Specific Guardrails

Admin Guardrails

Do not change organization-wide settings casually.

Escalate before changing:

  • payment gateway
  • medical integrations
  • pharmacy credentials
  • custom domains
  • security settings
  • data retention
  • portal permissions

EMR Guardrails

EMR contains patient and clinical data.

Be careful with:

  • refunds
  • order status changes
  • subscription cancellation
  • intake rejection
  • Beluga visit cancellation
  • prescription records
  • pharmacy submission/voids

CRM Guardrails

CRM product and workflow changes can affect checkout, billing, intake, Beluga, and fulfillment.

Be careful with:

  • product prices
  • subscription phases
  • default pharmacy
  • Beluga visit type
  • drug/product mappings
  • workflow automations
  • templates with PHI

Patient Portal Guardrails

Patient-facing changes should be explained in plain language.

Watch for:

  • intake lock
  • unpaid invoices
  • payment recovery warnings
  • subscription recovery balance
  • cancellation limits
  • messages patients can or cannot see

Common Patient Questions

Why can I log in but only see intake?

The portal is requiring intake before the rest of the account can continue. Complete the required form or fix the form sent back by the medical team.

Why can staff see messages I cannot see?

Some messages are internal CS-to-Beluga admin messages. Patient-visible clinical messages are shown in Patient Portal -> Messages.

Why does my invoice show in the portal but my order has not shipped?

Payment is only one step. The order may still need intake, medical review, prescription confirmation, or pharmacy processing.

Which portal should I use?

Patients use the Patient Portal. Staff use EMR for patient/order/subscription care and CRM for product, checkout, cart, campaign, and workflow setup.

Troubleshooting

Wrong portal after login

Check:

  • user default portal
  • role
  • allowed portal paths
  • organization permissions
  • custom role permissions

Patient cannot see an order/invoice/subscription

Check:

  • patient is logged into the correct account
  • order/invoice/subscription is linked to the correct patient
  • patient portal account is linked to the correct patient record
  • record is not under a duplicate patient profile

Staff sees different data than patient

Check:

  • staff may be viewing internal-only EMR data
  • patient may be blocked by intake gate
  • patient may be on wrong organization/domain
  • patient may have duplicate account/profile
  • patient portal may hide internal errors or admin-only metadata

Patient is on wrong branding/domain

Check:

  • custom domain mapping
  • organization context
  • active/primary domain
  • URL patient is using
  • checkout link source

Portal menu item missing for staff

Check:

  • organization portal permissions
  • custom role permissions
  • built-in role
  • user status

CS Escalation Checklist

Escalate to admin/development when:

  • portal access does not match user permissions
  • patient portal account is linked to the wrong patient
  • custom domain routes to wrong organization/branding
  • patient cannot access required intake but EMR shows intake required
  • duplicate patient profiles are affecting portal visibility
  • staff cannot access required EMR/CRM feature after permissions are confirmed
  • public checkout creates records under the wrong organization or patient

Include these details when escalating:

  • user/patient name and email
  • portal being used
  • exact URL/domain
  • role and custom role, if staff
  • patient id, if applicable
  • order/invoice/subscription id, if applicable
  • screenshot or exact error/message
  • what the user expected to see
  • what the user actually saw
Portal Status:


Did this page help you?