Discussion about a business case that would cause SOH be negative integer
MJ: We also need to discuss the example of issuing stock when SOH is at zero at the time of issue.
Josh's thoughts and questions:
a functional requirement here that lays out the first simple configuration: are negative SoH balances allowed as a result of adjustments or not. How, technically, will this be configured, how will this rule (aka policy) be enforced on the server-side and communicated to the client-side?
Longer term I think we should start thinking about:
I would expect that whatever an implementation wants to do, the rule(s) (or policy) is defined once and shared for both the front and back-end. We need to start defining how that rule would be shared, and what the basic parameters are:
is negative SoH even allowed: yes/no
if negative is allowed, is the user prompted before syncing: yes/no
how long can a negative SoH be allowed before alerts are sent (and to whom): is this a matter of hours? days? a function of the processing periods?
what kind of scheduler would we need to send those alerts, and how would we use it with the negative SoH rule (policy)?
After that I'd expect this rule to be configurable by perhaps Program, Facility, etc.
I would expect that within a Program, the rule (or policy) could change over time, how would that be done (Fowler has a class diagram of how the active policy is found by date - likely the date a person says they did something to stock)
Any defined QA process/test process we should follow?
Action items
Shiyu Jin (Deactivated), when making stories, please make sure to add the component "Stock Management". Also, let's make sure each story has a fix version indicating the desired release date. Thanks.