If a MedicationRequest is received and the system rejects this for whatever reason. Is the best approach to send back the MedicationRequest with a new status or is there a better approach to this workflow?
The MedicationRequest doesn’t change status if it’s refused. It’s still an active, authorized order - regardless of whether a given pharmacy refuses to fill it. I’d encourage you to look at the “workflow” pages in FHIR. They discuss a variety of ways of saying “please do X”, and what the trade-offs are. One of the simplest ways of saying “Please fill this prescription” is sending the MedicationRequest with the appropriate workflow tag on it. (The tag is necessary to differentiate “please fill” prescriptionsf from “FYI” prescriptions.) However, this mode doesn’t give you the ability to communicate acceptance, refusal or other negotation. If you want that, you’ll probably want to look at one of the workflows that involve Task. Task allows you to request something and have that request accepted or refused. It also allows you to make qualified requests. E.g. “Please fill the next 2 months worth of this prescription” (even though the prescription authorizes 12 months worth).