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
  • SUBMITTED
  • FAILED

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:

  • active
  • pending
  • admin
  • holding
  • resolved
  • canceled

Resolved Status

belugaResolvedStatus is usually:

  • open
  • closed

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 belugaMedId if Beluga gave a specific medication id
  • if no belugaMedId is set, the app can use the drug DIN

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:

  1. pharmacy assigned on the order
  2. product default pharmacy
  3. 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 Beluga
  • Retry 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 records
  • CONSULT_CONCLUDED: consult ended; app updates visit/resolved status
  • CONSULT_CANCELED: consult canceled; app updates visit/resolved status
  • DOCTOR_CHAT: Beluga doctor sent patient-visible message
  • CS_MESSAGE: Beluga admin sent internal CS message
  • BOOKING_CREATED: Beluga appointment created
  • BOOKING_RESCHEDULED: Beluga appointment rescheduled
  • BOOKING_CANCELLED: Beluga appointment canceled
  • NO_SHOW: Beluga appointment marked no-show
  • PHARMACY_ORDER_SHIPPED: shipping/tracking update from Beluga pharmacy flow
  • LAB_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_CHAT
  • PATIENT_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_SENT
  • BELUGA_CS_MESSAGE

Prescription was written but fulfillment did not move

Check:

  • whether RX_WRITTEN webhook 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
  • belugaSubmitError is 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