Thanks Andrew!
I populated it with some graph data. Please share as required
HealthCare database
create (danny:Patient {name:'Danny', SSN:'1001', Address:'Delhi', DOB:'01-01-1975'})
create (shridhar:Patient {name:'Shridhar', SSN:'1002', Address:'Cheenai', DOB:'01-01-1976'})
create (jaspreet:Patient {name:'Jaspreet', SSN:'1003', Address:'Punjab', DOB:'01-01-1977'})
create (shrey:Patient {name:'Shrey', SSN:'1004', Address:'Indor', DOB:'01-01-1978'})
create (deepak:Patient {name:'Deepak', SSN:'1005', Address:'Uttar Pardesh', DOB:'01-01-1979'})
create (dengue:Disease {name:'Dengue', description:'Dengue'})
create (tb:Disease {name:'TB', description:'Tuberculosis'})
create (sf:Disease {name:'Swine flu', description:'Swine flu'})
create (wc:Symptom {name:'Wet Cough', description:'Wet Cough'})
create (jp:Symptom {name:'Joint Pain', description:'Wet Cough'})
create (hf:Symptom {name:'High Fever', description:'Wet Cough'})
create (cup:Symptom {name:'Coughing up blood', description:'Coughing up blood'})
create (uwl:Symptom {name:'Unintentional weight loss', description:'Unintentional weight loss'})
create (f:Symptom {name:'Fatigue', description:'Fatigue'})
create (st:Symptom {name:'Sore throat', description:'Sore throat'})
create (wre:Symptom {name:'Watery, red eyes', description:'Watery, red eyes'})
create (bch:Symptom {name:'Body aches Headache', description:'Body aches Headache'})
create (wc)-[:OF {probability:'2'}]->(dengue)
create (jp)-[:OF {probability:'3'}]->(dengue)
create (hf)-[:OF {probability:'3'}]->(dengue)
create (cup)-[:OF {probability:'2'}]->(tb)
create (uwl)-[:OF {probability:'3'}]->(tb)
create (f)-[:OF {probability:'1'}]->(tb)
create (st)-[:OF {probability:'1'}]->(sf)
create (wre)-[:OF {probability:'3'}]->(sf)
create (bch)-[:OF {probability:'2'}]->(sf)
Create (danny)-[:HAS {date:'01-01-2020'}]->(wc)
Create (danny)-[:HAS {date:'01-01-2020'}]->(jp)
Create (danny)-[:HAS {date:'01-01-2020'}]->(hf)
Create (jaspreet)-[:HAS {date:'01-01-2020'}]->(st)
Create (jaspreet)-[:HAS {date:'01-01-2020'}]->(wre)
Create (jaspreet)-[:HAS {date:'01-01-2020'}]->(bch)
Create (danny)-[:DIAGNOSIS]->(dengue)
Create (jaspreet)-[:DIAGNOSIS]->(sf)
Doctors(Alice) who need to perform diagnosis on patients.
(Should be able to read and write most of the graph. We would, however, like to prevent the doctor from reading the patient’s address.)
Nurses(Daniel) who need to treat patients.
(The nurse should be able to perform all tasks that both the doctor and the receptionist can do. For this reason, we do not need to create a dedicated role, but can assign nurses to both doctor and receptionist roles.)
Receptionists(Bob) who need to identify and record patient information.
(Should be able to read and write all patient data, but not be able to see the symptoms, diseases or diagnoses.)
Researchers(Charlie) who need to perform statistical analysis of medical data.
(Should be able to perform statistical analysis on all data, except patients’ personal information, and as such should not be able to read most patient properties.)
IT administrators(Tina) who need to administer the database, creating and assigning users.
(Restrict access to the patients SSN. To achieve this, we can create this role by copying the built-in admin role and modifying the privileges of the copy)
.