Medication Tab for Pharmacist needs

We’ve faced a similar use case with a site running an existing pharmacy/stock management system that already covers some of the OpenERP functionality. Ideally, we would find a way to interoperate with this system, or look at switching it out for OpenERP, but these options may not be viable at this point.

For the cases where OpenERP is not used or the pharma/stock system is not connected to Bahmni (i.e. not ideal cases), I can see value in having a way to specify when a prescribed drug could not be dispensed.

I believe some of this has also been covered in this (old) thread:

As suggested there, one workaround to achieve this for now is to configure the Stop Medication Reasons and use that to specify when a drug was out of stock and could not be dispensed. This is problematic though, as you’d have to first mark the prescription as dispensed (which isn’t actually the case).

Presumably, there are a few different use cases too (maybe others?):

  • Drug is out of stock or partially available, so an alternate drug is prescribed & dispensed.
  • Drug is partially available, so pharmacist dispenses what’s available.
  • Drug is out of stock or partially available, but pharmacist wants to wait for more stock to arrive and then dispense the drug.

In each case, it could be useful to add a note to the dispensing event. In the first and second cases, the addition of Not Dispensed/Partially Dispensed options could also be useful, effectively closing the order so it can’t be dispensed at a later stage (also sounds like a good candidate for a coded set of reasons/resolutions).

The idea of a “Pharmacy Dispensing” app sounds ideal, and I understand having dispensing on the prescription screen may not be entirely correct, but… in our use case clinicians maintain stock of certain drugs in the consultation rooms, and dispense these directly during consultations, so it could be useful to have the dispensing functionality configurable in the Medication tab, rather than removing it entirely (but this likely adds some redundancy and makes code harder to maintain).