Skip to main content
Photon Elements will be deprecated on January 1, 2027, and fully sunset by mid-2027. Migrate to Prescribe before then.
Prescribe replaces Photon Elements (@photonhealth/elements, with <photon-client> and <photon-prescribe-workflow>). It covers the same prescribing workflow, runs on the Network API, and lets the patient choose their pharmacy by default. Most migrations change one component. Patients you synced before keep their pat_… ids.

1. Choose how to add Prescribe

2. Replace the client

The iframe takes the same client_id in its URL. Build the URL with frame() from photon({ environment: "neutron", auth: { clientId: "YOUR_CLIENT_ID" }, organization: "YOUR_ORG_ID" }), and add https://rx.neutron.health to the credential’s allowed URLs, beside every domain that shows the iframe.

3. Replace the workflow

<photon-prescribe-workflow> becomes <PhotonOrder>. In an iframe, it becomes the URL from ph.order.frame(…), which takes the same records.

Events

Prescribe events pass the live object: order.id and order.state. They don’t pass a raw GraphQL payload. For what happens after sending, use webhooks. They haven’t changed.

Not in Prescribe yet

These Elements features don’t have a Prescribe equivalent yet. If you rely on one, talk to your Photon contact before you migrate.
  • Prescriber-chosen pharmacy in the UI: enable-local-pickup, enable-delivery-pharmacies and mail-order-ids. Your backend can still set the pharmacy on a draft order.
  • Catalog limits: disable-list and allow-off-catalog-search
  • Coverage checks: enable-coverage-check. Benefits are coming to Prescribe as pharmacy offers.
  • Patient context in the workflow: weight, weight-unit, address, and the supervisor for an order
  • additional-notes, hide-templates and hide-submit
  • Recent prescriptions: <photon-med-history>, enable-med-history* and enable-combine-and-duplicate
  • Opening a patient by your own external id
Last modified on October 11, 2026