The way I see it is even if the machinations of the process worked 100% in accordance to their specification or programming, in the end what matters is
how people will respond to the system. If a system correctly shows a warning when a bad prescription is ordered, it is still faulty if the overall system encourages the user to ignore warnings.
In this case, the system must deal with human error. The system must factor in the fact that the people who interact with the system are UI/UX laymen, they're most likely overworked and sleep deprived. Perhaps it should not offer the option to override warnings. Perhaps warnings should be expressed in such a way that the user doesn't learn to ignore them in order to do their job
Perhaps fault falls on EPIC for allowing errors to be suppressed, or for having a UI that allows prescriptions to be written with ambiguous units, or the hospitals IT staff for suppressing the warnings. The argument can be made that the hospitals upper management can be blamed for hiring and scheduling practices that result in staff overworking or having to ignore software warnings.
All I know is that blaming human error has been tried for decades and results haven't changed. Maybe the overall system, top to bottom, needs to be reworked.