Overview

RxRenewal is a type of message sent by pharmacy to subscriber when the medication should be renewed. It is required that RxRenewal is preceded by NewRx.

Responding to RxRenewalRequest

Decisions use cases

MedicationRequest.extension.where(url = "http://aidbox.app/ePrescription/FHIRSchema/medication-request-pharmacy-request-refills ") referred as PharmacyRequestedRefills for simplicity

Example 1: Prescriber wishes to deny the request because the patient must be re-examined. Response must be denied

Example 2: Pharmacy has not requested a specific number of refills (PharmacyRequestedRefills not sent); prescriber wishes to approve the request, specifying 3 additional dispensings. Since the pharmacy did not request a specific number of refills PharmacyRequestedRefills and the MedicationRequest.dispenseRequest.numberOfRepeatsAllowed contains a value greater than zero, the response must be approved.

Example 3: Pharmacy requests 5 refills PharmacyRequestedRefills; prescriber approves 3 refills MedicationRequest.dispenseRequest.numberOfRepeatsAllowed Since this is a change in MedicationRequest.dispenseRequest.numberOfRepeatsAllowed versus PharmacyRequestedRefills, the response must be approved-with-changes.

Example 4: Prescriber changes MedicationRequest.dosageInstruction.*.text from “Take one tablet daily” to “Take one tablet morning and evening.” (MedicationRequest.dispenseRequest.quantity and other fields may change as well). Response must be replace.

Example 5: Pharmacy has not requested a specific number of refills (PharmacyRequestedRefills not sent); prescriber wishes to approve the request, specifying 3 additional dispensings. In addition, the prescriber changes MedicationRequest.dosageInstruction.*.text from “Take one tablet daily” to “Take one tablet morning and evening.” ( and other fields may change as well). Response must be replace.

Example 6: If the prescriber wishes to send a new prescription to a different pharmacy (other than the one who made the RxRenewalRequest), the replace is an inappropriate response. A denied should be sent to the pharmacy that made the RxRenewalRequest, and a new prescription should be sent to the new pharmacy.

Example 7: The pharmacy sent an RxRenewal request proposing to renew Lipitor 20 mg. The prescriber responded with an RxRenewalResponse of type pending, indicating that a decision could not yet be made and that further review was required. The prescriber must wait for subsequent RxRenewalRequest messages from the pharmacy, as once a request has been answered with pending, it cannot later be responded to again with approved or denied for the same transaction.

Denied

Same as for RxChange.

denied is the decision that requires the least amount of steps. Setting it in the extension is the only requirement. You can set the denial reason (free text) in decision note extension ( http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-renewal-decision-note), but this is optional.

Pending

Same as for RxChange.

Before committing the pending decision you need to

Set the decision itself:

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-renewal-decision
    valueCode: pending

Set the expected pended response date:

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-renewal-expected-pended-response-date
    valueDate: '2025-12-12'

Set the decision note (contrarily to denied decision, it's required for pending):

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-renewal-decision-note
    valueString: Provider is on vacation

Set the reason code:

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-change-decision-reason-code
    valueCodeableConcept:
      coding:
        - code: HR
          system: urn:app:aidbox:e-prescriptions:surescripts:decision-reason-code
          display: Provider is unavailable and no one is available to make a decision

Available reason codes are listed in the table below (same for RxChange case):

reason codemeaning
HPPatient has an appointment scheduled
HQPatient has labs/tests pending
HRProvider is unavailable and no one is available to make a decision
HSPatient is currently undergoing acute care and a decision is pending resolution
HTProvider wishes to delay for reasons not otherwise indicated

Approved, ApprovedWithChanges

These decisions are used when prescriber approves the renewal requests.

Decisions differ by the approved number of refills

The difference between approved and approved-with-changes is about the allowed number of refills.

The number of refills requested by the pharmacy is stored in the following extension:

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-pharmacy-request-refills
    valueInteger: 1

The number of refills approved by the prescriber is taken from MedicationRequest.dispenseRequest.numberOfRepeatsAllowed.

Usage of approved decision expects these values to be equal. Usage of approved-with-changes decision expects these values to differ.

While the e-prescriptions module could prefill fields like MedicationRequest.dispenseRequest and dosageInstruction, the general approach is to let the prescriber do that.

Set the decision:

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-renewal-decision
    valueCode: approved
#   valueCode: approved-with-changes

If during the process of handling incoming renewal request there was a DetectedIssue created (meaning there were mismatches between incoming and existing data), make sure you have resolved the references to implicated contained resources:

  • Patient - MedicationRequest.subject
  • PractitionerRole - MedicationRequest.performer
  • Practitioner - PractitionerRole.practitioner
  • Location - PractitionerRole.location or PractitionerRole.organization
  • Pharmacy - MedicationRequest.requester
  • Medication - for medications contained resource is supported, so it's up to you whether to resolve it or leave as is - MedicationRequest.medication

Set MedicationRequest.dispenseRequest and MedicationRequest.dosageInstruction. Typically, they are the same as in the request for NewRx: Make sure you set

  • MedicationRequest.dispenseRequest.performer (the pharmacy of initial renewal request)
  • MedicationRequest.dispenseRequest.numberOfRepeatsAllowed
dispenseRequest:
  quantity:
    code: C48542
    unit: Tablet
    value: 60
    system: urn:app:aidbox:e-prescriptions:ncpdp:QuantityUnitOfMeasure
  performer:
    reference: Organization/my-pharmacy
  expectedSupplyDuration:
    code: d
    unit: days
    value: 30
    system: http://unitsofmeasure.org
  numberOfRepeatsAllowed: 1
dosageInstruction:
  - text: TAKE ONE TABLET TWO TIMES A DAY UNTIL GONE

Replace

The replace response is to be used when an approval includes changes outside of what is permissible for approved and approved-with-changes responses. It should only be used if data elements have been changed from the RenewalRequest and when an approved or approved-with-change response is not appropriate.

Note:

  • Minor corrections to the patient birthdate are allowed as long as it refers to the same patient. On a replace response the data content for the patient information does not have to match exactly as long as it is referring to the same patient. For example, if the patient.name.*.given.* in the RxRenewalRequest is Bob and the patient patient.name.*.given.* in the RxRenewalResponse is Robert, there is no difference unless the prescriber believes they are referencing a different patient than the pharmacy or vice versa.
  • Edits to the pharmacy are not permitted.
  • authoredOn indicates the date of the replacements prescription.

Before committing the replace decision you need to

Set the decision itself:

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-renewal-decision
    valueCode: replace

Set the decision note (it's not required for replace decision but recommended):

extension:
  - url: >-
      http://aidbox.app/ePrescription/FHIRSchema/medication-request-rx-renewal-decision-note
    valueString: Changed course of therapy, so different medication is required