You have been requested to design a schema (as an E/R diagram) for the contact-tracing database....

50.1K

Verified Solution

Question

Programming

You have been requested to design a schema (as an E/Rdiagram) for the contact-tracing database. Your group is busyworking to design and field a contact-tracing database tobe able to trace rapidly people who may have been in closeproximity (contact) to someone diagnosed with a highly infectiousdisease.

The Contact Tracing Domain

To be able to trace with whom a person has been in contact, weneed to know where that person has been andwhen. We have to know this about everyone else too. Thenwe could figure out the potential contacts by seeing who was inplaces at the same time as the person. During an epidemic with ahighly infectious disease, by tracing the recent contacts of aperson who has become ill, these people can be warned to takeappropriate action. This can greatly help to stem the epidemic.

Thus Person is fundamental in our database. We aretracing people, after all. Information we should keep for people isa name, address, and phone#. We can keepsin, a person's social insurance number toidentify the person. (Assume that the government will issue anyonein Canada who does not have a sin a temporary sinfor this very purpose. Also note that, in building such a databasefor real, in truth, using sin for this would likely not bea good choice. But, for the project, let us assume it is.)

We should also record Places. This will include publicbuilding and other indoor places where people can meet, and thuscome into contact. (We assume for now that the disease does nottransmit outdoors, so we are not keeping track of all possiblelocations.) We can use a place's name to identify it, andwe want to keep about a place its gps coordinates,address, and a description.

Central to the whole database's operation is to collect“observations” about which places a person hasbeen, and when they were there. Thus, we are designing amass-surveillance database! But we are assuming that this is for agood cause, and that the database, once up and running,will not be abused for other purposes.

Let us call an observation that such a person was in such aplace at such a time a Recon — a shortened form of themilitary term reconnaissance — to have an easier way toorganize our thoughts. A Recon names a Person(who) as being at a Place at a giventime (when). Let us employ the notion of TimeSlot for handling times. There will be effectively an entry inTime Slot for every fifteen-minute period; e.g.,3:00pm 25 September 2020, 3:15pm 25 September2020, 3:30pm 25 September 2020, and so forth. For anygiven time slot in which a person was observed somehow tobe at a place, we would have a Recon entry. Thus eachRecon is associated with a Time Slot, telling uswhen the person was there. (A better way to handle time insuch a scenario is to work with time intervals. This issignificantly more involved design-wise, however. Therefore, forour first cut of a schema for our contact-tracing database — thatis, this project — let us employ Time Slot to handle the“when” aspect.) In fact, we can use when to identify anygiven Time Slot. (Say we assume the when valueidentifies the beginning of the time slot; e.g., 3:00pmstands for 3:00pm up to 3:15pm.)

A Recon then identifies — and therefore, isidentified, at least in part, by — the person,the place, and the time slot (when), which is “saying” thatPerson (who) was at Placeduring this Time-slot time (when). For anyRecon, we also must record the Method, the way,that we know that the person was at the place at that time.Examples of methods might be, for example, contact-tracingphone app, surveillance camera with facialrecognition, and a registry entry (the person had tosign a registry book on entering and exiting the building). Notethat there could be more than one recons telling us aperson was at a place at a given time, each recon supported bydifferent evidence (Method).

In our database, we also need to track when a person is tested,a Test, for the disease. Such a diagnosis Test isadministered to a given Person at (“upon”) agiven time (Time Slot). This information identifies anygiven Test. A Test is administered in aTest Centre — which is a Place — and isof a given Test Type. (There are different typesof test for the disease, which may differ in efficacy and cost.)Thus, we want to record where the Test was administered,and what type of test it was.

A Test may result in an Action. LetAction be identified by an action name. (Anaction might be taken given the result of the test; for instance,if it came back positive for the disease, the person might beplaced in quarantine.) Assume that a given Test results inat most one Action. Of course, a Test might notresult in any action. (Say, the test came back negative and noaction was necessary.) We want to track actions resulting fromtests.

Not all Test Centres are equipped to administer alltypes of test (Test Types). Thus, we want to record whichTest Types are offered at which TestCentres. A Test Centre may offer different types oftest; and a type of test may be available at a number of testcentres.

Lastly, the Government is to require that each Personidentifies their bubble; that is family and friends —other people (Persons) — with whom they are regularly incontact. We need to record this “bubble” information in thedatabase.

Answer & Explanation Solved by verified expert
3.6 Ratings (530 Votes)
ER Diagram as per above    See Answer
Get Answers to Unlimited Questions

Join us to gain access to millions of questions and expert answers. Enjoy exclusive benefits tailored just for you!

Membership Benefits:
  • Unlimited Question Access with detailed Answers
  • Zin AI - 3 Million Words
  • 10 Dall-E 3 Images
  • 20 Plot Generations
  • Conversation with Dialogue Memory
  • No Ads, Ever!
  • Access to Our Best AI Platform: Flex AI - Your personal assistant for all your inquiries!
Become a Member

Other questions asked by students