I put this basic model together quite quickly in salesforce. To me Salesforce is a natural choice of application for this sort of work (since first posting I have noticed that Apple and Google have gone for a de-centralised model).
A CRM was built with exactly these sorts of connections and relationships in mind!
The application is intended to be operated by health professionals as well as using technology to provide additional information in a non-physically intrusive way. (Of course by its nature this application and supporting technologies can be considered intrusive - very intrusive!)
The model uses the now familiar concept of tracking via Bluetooth device addresses that are registered to the individual via their device and the registered phone number and post code information.
The app is then designed to log any and all interactions of 15 mins or greater as a 'Contact Interaction'.
All of this information drives a status page for the user which uses a junction object to the contact and main virus record to maintain their current live status re risk and infected/immune status. (I intended that this system could track different outbreaks that pose different sets of characteristics).
The related objects shown in order
- Contact Viruses - the specific virus being tracked with a status relating to the applied contact
- Contact Events - a record per reporting period where each period is a calendar week, each week has a final outcome depending on the interactions contained within it
- Contact Interactions - interactions with another contact of >=15mins including interactions with hospital staff eg the taking of a test. Test outcomes are logged against these events be they positive or negative.
Time Frames are a universal object which contact events are connected to. I am using years and week numbers for a standardised reporting period but the periods could be longer or shorter if required.
The above model shows how you can structure a tracking system and automate via an app, the low level detail required to provide basic interaction information.
It is best used in conjunction with medical professionals to add test result data in the form of contact interactions. And also to update records if manual tracing has shown that a manual contact interaction needs to be added in for a specific period to complete the picture and update others.
The application also includes the concept of 'households' so that if a member of a household is high risk, or even infected, that members of the household can be immediately considered at the same risk category. This should increase the accuracy and responsiveness of the application in what is likely to be the most common and recurring contamination environment.
Additionally, as post code data is stored per contact we can leverage Salesforce Wave reporting suite. Which can be used very effectively to plot outbreaks and even spot potential outbreak areas (eg a high density of high risk contacts in a reporting period) which could help squash a major outbreak before it gets into full flow and R is allowed to increase in that macro area.
The Object Model -
While I can absolutely see the huge power of such applications these can only work when you have the below widely in place;
- 80> uptake of the application
- teams of trackers and tracers addition additional data into the system
- on-demand & widely available testing to provide absolute clarity within a snapshot of time for a contact - essential in keeping the data accurate!
I don't feel that as of the time of writing any of these things are in place or would be put in place in time for the app to be effective, and therefore feel an application to not be of practical use.
As these applications are a HUGE breach of civil liberties, I am against their use for anything but the most severe of pandemics. Our right as private citizens to personal freedom does in this case I feel trump the need for a public or private department/enterprise to openly track us at this level of detail.
What do you think? Leave a note in the comments section below & if you would like to use this tool you can get it from my package link here