Legal

Fulfillment and Delivery Policy

How an order moves from a prescriber to a patient, what ScriptExchange records, and who is responsible for the physical shipment.

Last updated: September 2, 2026

This document is a draft prepared for review. It has not been reviewed by counsel and must not be relied upon until it has been.

1. Scope: what ScriptExchange does and does not do

ScriptExchange, LLC ("ScriptExchange," "we," "us") operates a software platform (the "Platform") that connects licensed prescribers with independent, licensed compounding pharmacies. ScriptExchange does not compound, dispense, package, label, store, ship, or deliver any medication. Every one of those activities is performed by the dispensing pharmacy that accepts the order, under that pharmacy's own licenses, policies, and state and federal obligations. This is the same allocation of responsibility set out in Section 6 of our Terms of Service.

What the Platform does is transmit the prescription to the pharmacy, record the status the pharmacy reports back, and show that status to the ordering clinic. This policy describes that recording and reporting accurately, and identifies clearly where responsibility passes to the pharmacy. It is not a shipping guarantee, and it does not create any delivery commitment by ScriptExchange.

The Platform has no patient-facing account or login. Patients do not interact with ScriptExchange directly. A patient with a question about a shipment should contact the prescribing clinic or the dispensing pharmacy.

2. How an order reaches a pharmacy

A prescriber selects a pharmacy and a catalog product, enters the patient and prescription details, and submits the order. Before any prescription record is created, the Platform runs a set of checks and refuses the submission if any of them fails:

  • The selected pharmacy must exist and be active on the Platform, and the selected product must be an active catalog item belonging to that pharmacy.
  • The quantity must be within the Platform's sanity range.
  • Where a prescriber record carries a licensure state and the patient record carries a state, the two must match. A mismatch is refused rather than transmitted.
  • Controlled substances are refused. See Section 8.
  • The pharmacy must be reachable through the transmission rail. If it is not, the order is not created.

An order that passes these checks is transmitted to the pharmacy through the ScriptX transmission rail, which is identified as a subcontractor in our HIPAA Notice and in Section 4.3 of our Privacy Policy. From the moment the pharmacy accepts the order, the pharmacy is the party that fills it and sends it.

3. Patient shipping information

The shipping address, telephone number, and email address used for a patient are the ones entered into the Platform by the ordering clinic. The Platform stores these fields as ciphertext, encrypted at the application layer, and transmits them to the dispensing pharmacy so that the pharmacy can dispense and ship the order. Our Privacy Policy and HIPAA Notice describe how that information is protected.

The Platform does not validate addresses. It does not check an entered address against a postal database, does not correct or standardize it, and does not detect an address that is incomplete, out of date, or belongs to someone else. The clinic that enters the information is responsible for its accuracy. A shipment sent to an address that was entered incorrectly is a matter between the clinic, the patient, and the dispensing pharmacy.

4. Order statuses and what they mean

Every prescription and bulk order on the Platform carries one status drawn from a single fixed lifecycle. The forward path is:

  • Draft — created but not yet validated.
  • Validated — the checks in Section 2 have passed.
  • Submitted — transmitted to the pharmacy; not yet acknowledged.
  • Received — the pharmacy has acknowledged the order.
  • In process — the pharmacy has reported that it is working on the order.
  • Shipped — the pharmacy has reported that the order has left the pharmacy.
  • Delivered — the pharmacy or its fulfillment system has reported the order as delivered or complete.

Two further statuses are end states that an order can reach from any earlier stage and cannot leave: Rejected and Cancelled.

These statuses reflect what the pharmacy or its fulfillment system reported to us. ScriptExchange does not independently verify that a package was shipped or that it arrived."Delivered" on the Platform means the pharmacy side reported delivery; it is not our own confirmation, and it is not evidence that the medication reached the patient in good condition.

5. How status is updated

Order status advances by four routes, and no others:

  • Pharmacy staff acting in the pharmacy portal, advancing an order one stage at a time.
  • The LifeFile fulfillment status feed. LifeFile's own status vocabulary is translated into the lifecycle above through a fixed lookup table. A status value we do not recognize does not change the order's status; it is recorded in the order's history so it can be reviewed and the table extended.
  • The ScriptX transmission rail's status webhook, which reports the same lifecycle values directly.
  • A fax-delivery confirmation receiver, for prescriptions transmitted to a pharmacy by fax. This route is built and behaves exactly like the other two automated ones, but no fax account is configured for this deployment, so it verifies nothing and rejects every request. No order's status moves through it today.

All three automated routes are forward-only. A message that would move an order backward — a duplicate delivery, or messages arriving out of order — cannot regress the order's status. The message is still written to the order's append-only history so the record shows that it arrived, but the order itself does not move.

Every status change, and every redelivery of a status message, is appended to a permanent per-order history that records the previous status, the new status, and which of the three routes reported it.

6. Tracking information

ScriptExchange does not query carriers and has no carrier-level tracking integration. Pharmacies report tracking to ScriptExchange by webhook or API, and when a pharmacy supplies it, the Platform passes it through and displays it to the ordering clinic. Tracking appears only when the dispensing pharmacy supplies it. If no tracking is shown for an order, contact the dispensing pharmacy directly.

7. Notifications

When an order's status changes, the Platform queues a notification to the users of the ordering clinic— in the application and by email. These notifications are deliberately minimal: they identify the order and its new status and carry the patient's initials rather than the patient's name.

The Platform does not send shipment notifications to patients. Any communication a patient receives about a shipment comes from the clinic or the dispensing pharmacy, not from ScriptExchange.

8. Controlled substances

Electronic Prescribing for Controlled Substances (EPCS) is not available on the Platform. An order for a product carrying a DEA schedule is refused at validation and is never transmitted. The product record on the Platform is the authoritative source for whether a product is scheduled, and it overrides whatever the submitting client asserts. This restriction is enforced in software, not by policy alone. Our Terms of Service commit us to updating them before EPCS is ever enabled.

9. Shipping methods, carriers, timeframes, and cost

The carrier and service level for a given shipment are chosen by the dispensing pharmacy at fulfillment. A pharmacy may optionally offer the ordering clinic a choice of speed or cost; absent that, the pharmacy's own selection applies. The Platform carries an optional shipping-service field through to the pharmacy, but no interface currently sets it, so at present the pharmacy's default governs.

ScriptExchange publishes no delivery timeframe, because it does not control fulfillment. The Platform measures observed delivery performance from the order-status events described in Sections 4 and 5 and shows it per pharmacy in the marketplace as historical data. That figure is historical information about past orders, not a commitment or a service-level agreement for any future order.

Shipping cost is billed separately at checkout and appears on the ordering clinic's charge. The dispensing pharmacy determines the amount.

10. Geographic scope

Shipping destinations are set by each dispensing pharmacy's own licensure, not by ScriptExchange. The Platform enforces a state-level check at order submission: where a prescriber record carries a licensure state and the patient record carries a state, the two must match, and a mismatch is refused rather than transmitted. See Section 2. The Platform does not otherwise maintain a shipping-coverage map and does not restrict destinations by country.

11. Delayed, damaged, lost, or undeliverable shipments; returns

A shipment that is delayed, damaged, lost, or returned undelivered is handled by the dispensing pharmacy. ScriptExchange has no custody of the medication at any point and cannot re-ship, replace, or refund a shipment on a pharmacy's behalf.

To report a delivery problem, the ordering clinic opens a support ticket referencing the order. ScriptExchange acknowledges the ticket and forwards it to the dispensing pharmacy. Resolution — replacement, refund, or any other remedy — is the dispensing pharmacy's, under that pharmacy's own policy. Report a delivery problem within 7 days of the order reaching the Delivered status described in Section 4.

Dispensed medication may not be returned. Federal and state law restrict the return and reuse of dispensed prescription medication. A patient who cannot use a dispensed medication should follow FDA and DEA guidance on safe disposal, including authorized take-back options, rather than returning it.

12. Contact

Questions about this policy:
ScriptExchange, LLC
Email: support@scriptexchange.com
Address: 1309 Coffeen Avenue STE 1200, Sheridan, WY 82801

Questions about a specific shipment should go to the dispensing pharmacy, which is named on the order in the Platform.