NewRx Message
Overview
NewRx is a message type used for sending new prescriptions electronically from a prescriber to a pharmacy through the Surescripts network.
How to Send NewRx Message
To send a NewRx message, follow these steps:
Prepare the required FHIR resources as described in the "Required FHIR Resources" section.
Use the NewRx API endpoint to send the message:
POST /e-prescription/rx/new
. Expected payload is a group identifier. This identifier links multiple MedicationRequests together, as during a visit a provider can prescribe multiple medications. The system will process each MedicationRequest separately, sending one NewRx message per medication, since each MedicationRequest represents exactly one prescribed medication.Monitor the status of the message using the provided status management system.
Required FHIR Resources
The following FHIR resources are needed to create a NewRx message:
MedicationRequest (Required)
Contains core prescription details
Must be in "draft" status initially
Must include medication details, quantity, performer, and requester
Must include Medication as a
contained
resource.
Patient (Required)
Patient demographics
Must have name, birth date, and address
For patients ≤18 years, height and weight observations are required
Organization (Required)
Represents the pharmacy
Must be active and of type "pharm"
Must have NCPDP ID, name, and phone number
Must have valid service period dates
PractitionerRole (Required)
Links prescriber to their organization/location
Must have SPI (Surescripts Provider ID)
Must have valid period dates
Practitioner (Required)
Prescriber information
Must have NPI and name
Location (Required)
Practice location details
Must have address and phone number
Will fallback to PractitionerRole's Organization, if not provided and casted to Location.
Observation (Conditional)
Required for patients ≤18 years old
Must include height and weight measurements
Must use UCUM units
The system performs extensive validation checks for each resource, any validation failure will prevent the whole group from being submitted and return appropriate error details to the client.
Status Management
Once accepted, system will update the MedicationRequest status to active
with "Submission started" reason and generate a unique identifier MessageId for the submission by which you can track a message at Surescripts side.
Statuses stored in the MedicationRequest resource like this:
Properties
First statusReason.coding
is always main code while the rest are description ones.
status
Status derived from a code received from Surescripts.
statusReason.text
A description of an error or a status. Presumably, a string of free format. Comes from Error.Description
.
statusReason.coding.system
Surescripts StatusCode, TransactionErrorCode or DescriptionCode
statusReason.coding.code
Status code, transaction error code or description code (see NCPDP reference)
statusReason.coding.display
Meaning of code (see NCPDP reference)
Statuses
draft
It's an initial status and indication that message will be sent first time.
on-hold
System should not sent message.
active
Message was accepted for sending, nothing to do.
completed
Message was sent and processed, nothing to do.
entered-in-error
It is okay to try the message again with a new MessageID when correction has been made.
stopped
Surescripts sent error, system should not sent message again.
cancelled
Message was cancelled, nothing to do.
unknown
Investigation required.
Timeout
Sometimes pharmacies can respond immediately, but more often it will take some time. It's expected to get a response from pharmacy within 24 hours.
If no response is received within this time frame, status will be updated to unknown
(since 2.0)
Example
Note that you have to put real NCPDP, SPI and NPI values.
Last updated
Was this helpful?