Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Consider a DeathRegister that handles info for deaths in a country.

In web system we need a service that everyday at 12am (to prevent server load on peak times)
- Sends an email with CSV of records to data admins with different inconsistencies in data like DeathDate not matches with other data, OR Any symptom not valid for gender or age group
- Do cleanup operations on server
And many more which could be repeated with a fixed delay and fixed repeat delay and this is "RepeatingSchedule"

We have many other registers not directly connected with eachother which needs to take decisions based on any Death like ANC/PNC on mother death, Child on foetal / infant death, Crime investigation on Accidental death, TrendResearcher on death by disease etc. We can not maintain logic in a single central point maintain by central developer modifying everytime a new decision is needed based on death. Rather we notify system with deathEvent and each register implementing Listeners for Death notification would do their work independantly. This is "SystemEvent"

Lets say each death has to be enrolled in different types of schedules with different milestones and alert for FieldWorkers like each death notification would lead to an enrollment into schedule starting after 20days of death for a VerbalAutopsy and VA has to be completed within 60days. ANM after contacting relatives needs to fill VA before 60th day as this s MAX timeWindow. Also an accidental death would schedule alerts for Investigation for Opening case and Closing within 2years the last month of 2nd year is the MAX timeWindow for this.
These schedules which have different milestones and different timeWindows with different Alerts are "TrackableSchedule" or "HealthSchedule"

Now there could be different institution Registers in Country which want to get notified or run thert logic when a certain timeWindow or milestone alert is notified. For ex: Police wants to get an alert when a case has not been closed until the end of 2nd year of Opening and CrimeResearch Register also want an alert when case has not been closed within 2n years. There could be 3rd , 4th and 5th Registers which want notification on passing some schedule`s timeWindow. One register dev can not keep adding logic to this. Now we need to hook an event to DeathCaseClosing schedule so that different systems could be alert of certain milestones timeWindows. This would be done by Register dev by implementing a "HookedEvent" withschedule DeathCaseClosing, milestone LastQuarter, and timeWindow MAX.
  • No labels