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/dashboardCRM->/crm/dashboardEMR->/emr/dashboardPATIENT->/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_ADMINbypasses 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
Updated about 2 months ago