Beluga Medical Submission Guide
This guide explains how Beluga medical submission works from a Customer Support and clinic operations point of view. It covers when orders are submitted to Beluga, what staff can see in the EMR, how Beluga status relates to intake and fulfillment, how patient/provider messages work, and when CS should escalate.
What Beluga Is For
Beluga is the telehealth/medical review system used for provider review, doctor messaging, prescription decisions, visit status, lab/order events, and prescription written events.
In the app, Beluga is not the same thing as payment or fulfillment.
Beluga helps answer:
- has this order been submitted for medical review?
- did Beluga accept the visit?
- did a Beluga doctor write a prescription?
- did Beluga send patient/provider messages?
- did Beluga send appointment, lab, pharmacy, or shipment status updates?
Where CS Can See Beluga Information
Useful places:
- EMR -> Orders -> order detail -> Beluga Telehealth
- EMR -> Beluga Logs
- EMR -> Patient Profile -> Messages
- EMR -> Patient Profile -> Orders
- Patient Portal -> Messages
- Patient Portal -> Appointments
- Patient Portal -> Orders
In EMR order details, staff may see:
- submit status
- visit status
- resolved status
- Beluga visit id
- submit error
- submit/retry button
- cancel Beluga visit action
Beluga Status Fields
Submit Status
belugaSubmitStatus shows whether the app successfully submitted the order to Beluga.
Common values:
- empty / not submitted
SUBMITTEDFAILED
What they mean:
- Not submitted: the order has not been sent, or it was skipped because requirements/configuration were missing.
SUBMITTED: Beluga accepted the visit creation request.FAILED: the app tried to submit but Beluga or local validation returned an error.
Visit Status
belugaVisitStatus is the status Beluga reports for the medical visit.
Common values include:
activependingadminholdingresolvedcanceled
Resolved Status
belugaResolvedStatus is usually:
openclosed
CS note: SUBMITTED does not mean the prescription was written. It only means the visit was created/accepted by Beluga.
When Orders Are Submitted to Beluga
The app may auto-submit an order to Beluga when the order becomes ready for medical review.
Common triggers:
- checkout creates a paid order with no missing intake requirements
- patient completes required intake
- patient resubmits corrected intake
- staff approves intake in EMR
- patient pays an invoice and the order becomes ready
- subscription cycle payment succeeds and the order requires Beluga review
- patient refill payment succeeds and the order becomes ready
- staff creates a manual EMR order
Auto-submit can still be blocked if the order is not ready or configuration is missing.
What Must Be Ready Before Beluga Submission
Before an order can submit correctly, check:
- Beluga is enabled in Admin settings
- Beluga API key and company identifier are configured
- product has the correct Beluga visit type
- product is mapped to the correct drug
- drug has a Beluga medId or DIN
- required intake is submitted
- intake is not
NEEDS_CORRECTION - intake is not
REJECTED - pharmacy is assigned or product has a default pharmacy
- required lab method information exists, if labs apply
- patient profile has required demographic/contact data
If any of these are missing, the order may remain waiting on requirements or Beluga submission may fail.
Product and Drug Configuration
Beluga submission depends on product and drug setup.
Product setup:
- CRM -> Store -> Products
- set the product Beluga visit type
- set default pharmacy if applicable
- confirm questionnaire/intake mappings
Drug setup:
- EMR -> Drugs
- set
belugaMedIdif Beluga gave a specific medication id - if no
belugaMedIdis set, the app can use the drugDIN
Only drugs with a Beluga medId or DIN can be included in the Beluga visit payload.
CS note: if an order has a medication product but Beluga submission keeps failing or skipping, ask admin/development to verify product-to-drug mapping and the drug Beluga medId/DIN.
Pharmacy Selection
Beluga pharmacy selection uses this priority:
- pharmacy assigned on the order
- product default pharmacy
- legacy Beluga pharmacy id on the order, if present
Pharmacy setup is managed in:
- Admin -> Settings -> Pharmacies
- CRM -> Store -> Products -> Default Pharmacy
- EMR -> Orders -> Pharmacy section
If Beluga says pharmacy data is missing or wrong, check the order pharmacy first, then the product default pharmacy.
Manual Retry
If Beluga submission failed, staff may retry from:
- EMR -> Orders -> order detail -> Beluga Telehealth
- EMR -> Beluga Logs
Button examples:
Submit to BelugaRetry Beluga Submission
The retry action uses:
POST /api/emr/orders/[id]/submit-to-beluga
Manual retry is usually appropriate after fixing:
- missing intake
- missing product visit type
- missing drug mapping
- missing Beluga medId/DIN
- missing pharmacy
- missing lab method answer
- patient demographic/contact issue
Do not create a duplicate order just because Beluga submission failed. Fix the cause and retry the same order.
Cancel Beluga Visit
Staff can cancel a Beluga visit from:
- EMR -> Orders -> order detail -> Beluga Telehealth
- EMR -> Beluga Logs
Important: canceling the Beluga visit does not automatically refund the patient, cancel the HLC order, or cancel a subscription. It only updates the Beluga visit state in the app.
Escalate before canceling if the order has payment, fulfillment, subscription, or medical review consequences.
Beluga Webhooks
Beluga sends webhook events back to the app.
Important events:
RX_WRITTEN: prescription was written; app creates local prescription recordsCONSULT_CONCLUDED: consult ended; app updates visit/resolved statusCONSULT_CANCELED: consult canceled; app updates visit/resolved statusDOCTOR_CHAT: Beluga doctor sent patient-visible messageCS_MESSAGE: Beluga admin sent internal CS messageBOOKING_CREATED: Beluga appointment createdBOOKING_RESCHEDULED: Beluga appointment rescheduledBOOKING_CANCELLED: Beluga appointment canceledNO_SHOW: Beluga appointment marked no-showPHARMACY_ORDER_SHIPPED: shipping/tracking update from Beluga pharmacy flowLAB_ORDER_RESULTS: lab result/booking information from Beluga lab flow
All Beluga webhook events create audit log entries.
Relation to Fulfillment
Beluga submission is not permission to ship.
For medication orders, fulfillment should wait for the prescription boundary. In this app, that is usually the Beluga RX_WRITTEN webhook.
Do not submit Belmar/LifeFile, DispensePro, or pharmacy fulfillment only because:
- checkout succeeded
- invoice payment succeeded
- intake was submitted
- intake was approved
- order was submitted to Beluga
- Beluga visit was created
- doctor/patient chat started
Fulfillment can move forward after prescription confirmation and the correct pharmacy routing logic runs.
Patient and CS Messages
Beluga has two separate message channels.
Doctor and Patient Chat
This is patient-visible clinical communication.
Incoming doctor message:
- Beluga sends
DOCTOR_CHAT - app saves it as
BELUGA_DOCTOR_CHAT - patient sees it in Patient Portal -> Messages
- patient may receive a notification
Outgoing patient reply:
- patient replies from Patient Portal -> Messages
- app sends the message to Beluga doctor chat
- EMR may show it as
PATIENT_CHAT_SENT
CS and Beluga Admin Messages
This is internal only.
Outgoing CS message:
- staff sends from EMR Patient Profile -> Messages
- app sends it to Beluga admin
- activity is saved as
BELUGA_CS_SENT - patient does not see it
Incoming Beluga admin reply:
- Beluga sends
CS_MESSAGE - app saves it as
BELUGA_CS_MESSAGE - staff sees it in EMR Patient Profile -> Messages
- patient does not see it
CS warning: the message box in the EMR patient profile sends to Beluga admin, not to the patient.
What Patients May See
Patients may see:
- messages from Beluga doctor
- appointment details created from Beluga booking webhooks
- order status updates
- shipping/tracking updates when Beluga pharmacy events are received
- intake requirements before medical review can continue
Patients do not see:
- CS messages to Beluga admin
- Beluga admin replies to CS
- internal submit errors
- technical webhook/audit logs
Common Patient Questions
Has my order been sent to the medical team?
Check the order Beluga submit status. If it says SUBMITTED, the order was sent to Beluga. If it is failed or not submitted, check intake and configuration requirements.
Does submitted mean my prescription is approved?
No. Submitted means Beluga received the visit. A provider still needs to review and write the prescription if appropriate.
My doctor messaged me. Where do I reply?
The patient should reply from Patient Portal -> Messages.
Why has my order not shipped after medical submission?
Medical submission is only one step. Medication orders usually wait for prescription confirmation, such as the Beluga RX_WRITTEN event, before pharmacy fulfillment can proceed.
Can CS message the Beluga doctor?
CS messages from the EMR go to Beluga admin/support, not directly to the patient and not necessarily directly to the doctor. Use that channel for operational escalation.
Troubleshooting
Order has not submitted to Beluga
Check:
- order status
- invoice/payment status
- required intake status
- product Beluga visit type
- product-to-drug mapping
- drug Beluga medId/DIN
- pharmacy assignment/default pharmacy
- lab method answer, if labs apply
Beluga submission failed
Check:
belugaSubmitError- whether Beluga is enabled
- API key/company identifier configuration
- product visit type
- drug medId/DIN
- pharmacy setup
- patient demographic/contact data
- intake completion/correction status
Fix the issue, then retry the same order from EMR.
Beluga says pharmacy is missing or wrong
Check:
- order assigned pharmacy
- product default pharmacy
- pharmacy type/configuration
- pharmacy external/Beluga id
Patient sees doctor message but CS cannot find it
Check EMR Patient Profile -> Messages for:
BELUGA_DOCTOR_CHATPATIENT_CHAT_SENT
These are patient-visible clinical messages.
CS sent a message but patient cannot see it
That may be correct. EMR CS messages go to Beluga admin and are internal only.
Check for:
BELUGA_CS_SENTBELUGA_CS_MESSAGE
Prescription was written but fulfillment did not move
Check:
- whether
RX_WRITTENwebhook was received - local prescription records
- pharmacy route/product pharmacy type
- Belmar/LifeFile or DispensePro submit status
- order fulfillment status
Escalate if RX_WRITTEN exists but the expected pharmacy integration did not run.
Beluga visit was canceled by mistake
Escalate to medical operations/admin. Canceling the Beluga visit does not automatically unwind HLC payment, order, fulfillment, or subscription records.
CS Escalation Checklist
Escalate to admin/development or medical operations when:
- order is ready but Beluga submit status remains failed
belugaSubmitErroris unclear- product/drug/pharmacy mapping looks incorrect
- patient has no visible message but Beluga says a doctor message was sent
- patient-visible and internal Beluga messages are mixed up
- prescription was written but pharmacy fulfillment did not start
- fulfillment started before
RX_WRITTEN - Beluga visit was canceled unexpectedly
- order status does not match Beluga visit status
Include these details when escalating:
- patient name/email
- order number
- product name
- current order status
- Beluga submit status
- Beluga visit status
- Beluga resolved status
- Beluga visit id/master id, if visible
- submit error text
- intake status
- pharmacy assigned/default pharmacy
- drug name and Beluga medId/DIN, if visible
- screenshot or exact patient/staff-facing message
Updated about 2 hours ago