Skip to main content
Every page shows when it was last updated. This page says what’s stable, and lists the changes that matter to integrators.

What’s stable

Durable concepts, such as records and the send, permissions and plans, change rarely. Anything marked ⚠️ or Preview is still moving.

Changes

NetworkPrescribe
GraphQL breaking changes. Update your queries:
  • Each payload has one changes list in place of appliedChanges and unappliedChanges. Each change’s status says whether it was saved.
  • A change has before and after in place of detail. Options, before and after are all Choices, the same type as before with a new name.
  • UnauthorizedError and UpstreamServiceError are now one OperationError, with a type of UNAUTHORIZED or UPSTREAM_SERVICE.
  • A patient’s lists are { status, entries }, so you can tell “none” from “not asked”. See Reading lists.
New in GraphQL:
  • Queries: me checks a token, and orders lists your organization’s orders. ping is deprecated and will be removed after January 31, 2027.
  • Orders: fulfillment.state after the send, availablePharmacies through orders, a reason to move a sent order, and near.text to search pharmacies by place.
  • Prescriptions: structuredSigs, and the assigned prescriber.
  • A name that matches one thing, but not exactly, now comes back AMBIGUOUS with CONFIRMATION_REQUIRED. A pharmacy search never sets the pharmacy on its own.
Packages: 2.0.0-rc.1 of @photonhealth/react and @photonhealth/client is on npm. Machine credentials and sig options arrive in the next release candidate.
Prescribe
  • The React components and the JavaScript client are now @photonhealth/react and @photonhealth/client, published to npm as 2.0.0 release candidates under the rc tag. See Release candidates.
Network
  • MCP stays at ai.neutron.health and ai.photon.health. It isn’t moving to network.<env>.health/mcp, so connectors you’ve already set up keep working.
Prescribe
  • Deep links and iframe URLs carry Photon ids only, in plain query parameters: patient, rx, template, med, order and org. They never carry patient details. url() and frame() refuse anything that isn’t an id, so sync details first and link by id.
  • Orders take a card per rx, template and med. A prescription takes one of them. An existing order also takes new lines: /order/ord_…?rx=rx_….
  • An id Photon doesn’t have in the prescriber’s organization shows not found on its own card. The rest of the link still opens.
  • A template becomes a prescription once the order or prescription has a patient. Until then, its card is empty.
  • Links from before this change no longer open.
Get started
  • The dashboard page is now an Admin section, with a page each for Credentials, Team and Catalog and templates.
  • Team describes every role: what it’s for, what it can do and what it can’t.
  • The changelog moved to its own Resources section.
PrescribeNetwork
  • The sandbox Prescribe app, rx.neutron.health, is live. Deep links and the iframe work there too.
  • Production Prescribe, at rx.new, is in private preview. To get access, ask your Photon contact.
  • MCP is open to every Neutron account at ai.neutron.health. Production MCP, at ai.photon.health, is in private preview.
  • Corrected the Elements dates: it’s deprecated on January 1, 2027, and fully sunset by mid-2027. See Migrate from Elements.
Prescribe
  • The iframe needs your Application client_id. Build its URL with frame() from the JavaScript client, which puts it in. A URL written by hand shows This link can’t be embedded. Add every domain that shows the iframe, and the Prescribe app’s domain, to your credential’s allowed URLs.
  • Only the iframe’s /embed pages load in another site’s frame. The Prescribe app’s other pages refuse.
  • Deep links never carry a client_id, so you can share them with any prescriber.
  • Links point to the environment’s Prescribe app by default, so appUrl is optional. photon({ organization }) puts your organization on every link, so prescribers skip the organization picker.
  • The JavaScript client refuses a client_secret in a browser.
Get started
Prescribe
  • Prescribe has two sections: App, for Photon’s own web app and deep links, and Embed, for putting Prescribe in your product.
  • Production prescribing moved to rx.new.
  • New Dashboard page for credentials, team, catalog and templates.
  • Elements will be deprecated on January 1, 2027, and fully sunset by mid-2027. See Migrate from Elements.
Network
  • Docs rebuilt around two products: Prescribe for the prescribing UI, and Network for GraphQL, MCP and webhooks.
  • Webhooks documented, with signature verification and every event.
Last modified on October 29, 2026