We’re working on an open source healthcare project designed specifically for non-profit and humanitarian work, providing vital services through charitable portable hospitals and medical caravans. This initiative was started by dedicated faculty of medicine students, who are still the main driving force behind its success, while also receiving valuable support from various organizations. We’re excited to announce that when completed, this project will be released open source for other non-profit and humanitarian healthcare efforts, so stay tuned!
To implement the pharmacy module, we use two main collections:
Medicines
-
code
-
name
-
type
-
quantity
(disabled field in the app)
Pharmacy Pickup
-
type
(in/out) -
medicines
Each pickup (representing, for example, a patient prescription) can include multiple medicines with their respective quantities. Instead of a direct many-to-many relationship, we use an intermediate collection named Medicines_Prescribed
:
-
Medicines_id
(M2O to medicines) -
Pharmacy_Pickup_id
(M2O to pharmacy pickup) -
quantity
A flow updates the stock in real-time as medicines are added or removed.
UX Issue: Too Many Clicks for Prescribing Medicines
Currently, users must:
-
Click the add button for medicines
-
Click “select an item”
-
Search and select a medicine from the list
-
Confirm selection with the “check” button
-
Adjust the default quantity (usually 1, but users may edit)
-
Press another “check”
-
Repeat for each additional medicine (often 10 per patient)
This multi-step process is time-consuming, particularly given the typical prescription size.
To improve our workflow and user experience, I’m seeking advice from the community:
-
Has anyone implemented a more efficient workflow or batch-editing in Directus for similar use cases?
-
Has anyone built custom forms or extensions that allow entering multiple medicines (and their quantities) at once, perhaps using a single modal or inline table?
Extra question: Barcode Scanner Integration
Additionally, we’re keen to integrate a physical barcode scanner (the type found in supermarkets and pharmacies). Has anyone set up such a scanner with Directus App Studio to allow instant barcode entry after scanning. Any tips, best practices would be greatly appreciated!