The GP and the software engineer are both subject to the same ethical principle:
The GP took the Hypocratic Oath which includes the clause:
I will do no harmno harm or injustice to [the patients]
The software engineer does not have to take an oath, but there is a code of ethics and professional conduct, wich includes the clause:
Avoid harmAvoid harm
So the, medical practitioners and the software engineers who collaboratedworked together on this medical system should have talked to each other about expected validity range of input and vital parameter. Instead of just implementing the bare minimum requirements, they should have envisagedbrainstormed on risks - medical(medical risks for the GP and, technical risk for the engineer -, user confusion risk for the UX designer), and discussedagreed how to best mitigate them.
I understand the argument that a patient record cannot be rejected because of wrong or missing input (because, because lives are at stake). But in this case But some warnings could easily be issued at data entry ("are you sure that ...."), at end of the day for the GP ("today you had a patient with..."), and before using the data on a connected system for public health consideration ("x people are in high risk group present anomalies, please check").:
- at data entry, to avoid typos risk ("are you sure that ...."),
- at end of the day, to avoid bias under time-pressure ("today you had a patient with..."),
- before using the data on a connected system for public health ("x people in risk group A present anomalies, please check").
This examplecase shows that the system, as it is, can cause harm (i.e. someone vaccinated early without need whereas a weaker person who desperately need the vaccination doesn't get it in time).
P.S: Sorry to add yet another answer, but when talking about a life critical processing, I personally cannot agree with commercial arguments such as: "It was not part of the requirements".