An automated doctors' roster builder, written in Flutter. For now, set up with the rules followed by Settlers Hospital in Makhanda, South Africa. Settlers is a district hospital with 10 Medical Officers.
- All calls require that someone who is competent to cut caesarian sections and someone competent in anaesthetics be available.
- Weekday calls have three roles:
- A main doctor (who works 4pm to 8am),
- A second-on-call doctor (who works 4pm to 10pm), and
- A caesar cover doctor (who works from 4pm to 8am, and will be called out if a caesar needs to be performed).
- Weekend and public holiday calls have four roles:
- Two day doctors (who work from 8am to 8pm),
- A night doctor (who works from 8pm to 8am),
- A caesar cover doctor (who works from 8pm to 8am, and will be called out if necessary)
- Unless for a weekend, a doctor should never work two shifts in a row
- A doctor should not be rostered if they are on leave, and the weekends either side of a leave block - along with the preceding Friday - should be treated as part of the leave block.
- Where possible, the roster should be set up to utilise as few doctors as possible per shift - for instance, on a weeknight if the role of caesar cover can also be performed by the second on call (the doctor working the 4-10pm slot), this is preferred - though this depends on the skillsets of this doctor and the main doctor being complementary. For weekend and public holiday shifts this means using one of the day doctors as the night caesar cover doctor.
- Usually, the Saturday and Sunday roles should be duplicated.
- The time between successive calls should be maximised so that they are as spread out as possible.