Skip to main content

Review and Approve


Use the Review and Approve screen to decide how to handle appointment requests.
From this screen, the doctor approves the proposed time, suggests alternatives, or declines the request with a reason.


This screen includes:

  • Appointment metadata, including proposed time and participant details.
  • A Suggested Scheduling card that appears only after the doctor selects Suggest another alternative. Behavior matches Alternative Offer.
  • Action buttons: Approve, Suggest another alternative, and Decline.
  • Conditional disclaimers and eligibility warnings.
  • Button state rules based on appointment validity and required inputs.
  • Automatic closure on success, with an updated status in the *Appointment List

Workflow

  1. From the Appointment Details screen, open a request that needs a decision.
  2. Review the proposed date, time, and participant details.
    Appointment request summary in Review and Approve screen
  3. Select one of these actions:
    • Approve confirms the proposed date and time.
    • Suggest another alternative opens Suggested Scheduling to propose different times.
    • Decline opens a modal that requires a decline reason.
  4. After submission, the screen closes and the Appointment List reflects the new status.

Validations

These scenarios describe how the app validates the Review and Approve screen.

ScenarioApp BehaviorSDK OutputExample
The appointment status is not eligible for actions (for example, already canceled or completed).The app disables Approve, Suggest another alternative, and Decline.Page object with disabled action controls.
The doctor selects Suggest another alternative and no valid date–time combination exists.The app disables Submit in the Suggested Scheduling card and displays a validation message.Validation error in the update set; fields stay editable.
The doctor selects Decline without entering a reason.The app blocks submission and highlights the required reason field.Validation error for missing required input.
Coverage or policy rules do not allow approval for the proposed date or profile.The app displays coverage warnings and blocks approval.Error such as APPOINTMENT_DATE_NOT_COVERED or FORBIDDEN_DUE_TO_POLICY_TERMS.
The appointment changes while the doctor views the screen.The app displays a message and requires a reload before submission.APPOINTMENT_CHANGED error and updated page payload on reload.
The system detects invalid or missing data from a third-party source.The app displays an error state and blocks submission.THIRD_PARTY_DATA_INVALID error.

Actions

These scenarios describe how the app responds to doctor actions on the Review and Approve screen.

ScenarioApp BehaviorSDK OutputExample
The doctor selects Approve and the appointment is valid.The app confirms the action, closes the Review and Approve screen, and updates the status in the list.Update set that sets the approved status and appends a history entry.
The doctor selects Suggest another alternative.The app opens the Suggested Scheduling card and displays up to three editable alternatives.Page object that includes the suggested scheduling fragment.
The doctor submits valid alternatives in Suggested Scheduling.The app submits the suggestion, closes the screen, and sets a pending-response status.Update set that records suggested times and status change.
The doctor selects Decline and provides a valid reason.The app submits the decline decision, closes the screen, and sets a declined status.Update set that records the decline reason and status change.
A disclaimer appears and disclaimer-displayed is required.The app requires acknowledgement before Approve or Submit becomes available.Update set that records disclaimer acknowledgement.

Suggested Scheduling Validator

Use these rules to ensure alternative proposals meet system requirements.
For the full layout and reusable rules, see Suggested Scheduling.

Validation RuleBehavior
Requires at least one date & timeRejects empty or invalid input and keeps Submit disabled.
Maximum of three alternativesRejects attempts to add a fourth time block.
Cannot overlap existing timesHighlights overlap and disables submission until conflicts resolve.
Enforces minimum lead timeRequires at least 2 hours from the current time.
Enforces doctor availability windowAccepts proposals only within configured work hours.
Requires timezone confirmationDisplays the timezone selector when the profile has no timezone set.
Displays warning for low coverageShows a coverage warning when the suggestion creates out-of-network risk.

The Suggested Scheduling component enables doctors to propose up to three alternative appointment options. It appears within multiple flows, including:


Behavior and Layout

  • Displays up to three cards with editable fields:
    • Doctor
    • Location
    • Date
    • Time
  • Highlights changed fields in red
  • Calculates and displays:
    • Total fee
    • Doctor fee
  • Includes a trash icon on cards 2 and 3 for deletion
  • Disables Approve until all cards are complete and valid
  • Prevents exact duplicates (same doctor, date, time, location)

Workflow

  1. User selects + Suggest Another Alternative.
  2. System adds a new card with prefilled doctor and location.
  3. User enters date and time.
  4. System validates required fields and checks for duplicates.
  5. Valid entries enable approval and update controls.

Validations

  • Date and time fields must not be empty.
  • Offers must differ in at least one value.
  • Maximum of three offers allowed.
  • Inputs must match expected formats.
  • Fee displays only after required fields are complete.

Actions

  • Approve: Sends valid offers to the patient and updates status to 5 or 9.
  • Delete: Removes the selected offer unless it is the only one.
  • Cancel: Discards changes and exits the screen.
  • If an offer exactly matches the original request, the system auto-approves it.

SDK Reference

LevelReferenceTypeValuePlacement
1doctor~{x}ComboDoctor selectorMain card
1location~{x}ComboLocation selectorMain card
1prescription-info~{x}LinkPrescription warning (if needed)Inline
1date~{x}DateAppointment dateMain card
1time~{x}TimeAppointment timeMain card
1fee-text~{x}SectionTotal fee displaySummary
1doctor-fee-text~{x}RegularDoctor fee labelSummary
1doctor-fee~{x}HighlightDoctor fee valueSummary
1delete~{x}LinkTrash iconCard 2/3

API Reference

API specifications will be added once available.


Endpoint Resources

Review and Approve​ Screen

PUT 

/profile/appointments/{appointment-id}/approve

Produces the Review and Approve page for the specified appointment.

UI Element Types

LevelReferenceTypeLabelPlacement
1alternative-{1}CardSuggested Scheduling
1another-alternativeLinkSuggest another alternative
1spacerSpacer
1approveButtonApprove

Approve

POST 

/profile/appointments/{appointment-id}/approve

Submits the doctor decision for the appointment.
The endpoint validates input, applies policy and authorization rules, updates appointment status, triggers notifications, and records the action for audit and compliance.

Parameters

NameTypeRequiredDescription
disclaimer-displayedBooleanNoControls whether a disclaimer message is displayed during approval.
location~{n}intYesUnique identifier for the location (used in each alternative).
profile~{n}intYesUnique identifier for the doctor (used in each alternative).
date~{n}DateYesDate of the appointment (used in each alternative).
time~{n}TimeYesTime of the appointment (used in each alternative).

Errors

CodeDescription
APPOINTMENT_CHANGEDThe appointment changed and must be reloaded.
APPOINTMENT_DATE_NOT_COVEREDThe proposed date is not covered by policy terms.
FORBIDDEN_DUE_TO_POLICY_TERMSPolicy restrictions prevent approval of this appointment.
THIRD_PARTY_DATA_INVALIDExternal data is missing or malformed.
FIELDS_VALIDATION_ERROROne or more required fields are missing or invalid.