Design & decisions for how referrals should be modeled.
- Copy TestOrder into a new abstract ServiceOrder and add location property to it. This will include adding location to the test_order table.
- Refactor TestOrder to be an empty class that extends ServiceOrder
- Add ReferralOrder as an order that extends ServiceOrder and introduces a new Referral order type. This will introduce a new referral_order table that looks just like the test_order table.
- As they are needed, NursingOrder, ActivityOrder, PrecautionOrder, and CallOrder could be added as additional extensions of ServiceOrder. When they are needed, DietOrder and DeviceOrder would be added as new extensions of Order (alongside MedicationOrder and ServiceOrder).
The end result for ReferralOrder is that it will be a new order type alongside TestOrder and they will both extend an abstract ServiceOrder class that has everything currently in TestOrder along with a location property.