Kuldneloojang
Meeskond
- Andrus Seiman
- Marko Belzetski
- Priit Tiganik
- Kristjan Peterson
Analüüs
Kirjeldus
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.
Kasutajad
- juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd
- vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,
- klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)
- põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks
Infosüsteemi funktsionaalsus
- Vanadekodu arsti vastutada on klientide tervise jälgimine.
- Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.
- Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.
- Vanadekodus võib tegutseda korraga mitu arsti.
- Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.
- Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.
- Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.
- Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.
- Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.
- Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.
- Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.
- Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.
Andmemudel
API endpointide kirjeldus (esialgne)
User
POST/user - Adds a new user
GET/users/{UserId} - Returns a user object for the given UserId
DELETE/users/{UserId} - Deletes the user according to user id
PATCH/users/{UserId} - Modify the user's data
GET/users - Returns all the users in the database
Guardian
POST/guardian - Adds a new patient's guardian
GET/guardians/{GuardianId} - Returns a patient's guardian by ID
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian's ID
PATCH/guardians/{GuardianId} - Updates Guardian according to id
GET/guardians - Returns all Guardians
Patient
POST/patient - Adds a new patient
GET/patient/{PatientId} - Gets patient according to patient ID
DELETE/patient/{PatientId} - Deletes patient according to patient ID
PATCH/patient/{PatientId} - Modified patient's data according to patient ID
GET/patients - Returns all patients
UserType
POST/usertype - Adds a new usertype
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id
PATCH/usertypes/{UserTypeId} - Modify the usertype's data
GET/usertypes - Returns all the usertypes in the database
PatientRoom
POST/patientRoom - Adds a new patientRoom
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom's data
GET/patientRooms - Returns all the patientRooms in the database
Room
POST/room - Adds a new room
GET/rooms/{RoomId} - Returns a room object for the given RoomId
DELETE/rooms/{RoomId} - Deletes the room according to room id
PATCH/rooms/{RoomId} - Modify the room's data
GET/rooms - Returns all the rooms in the database
PatientsDoctor
POST/patientsDoctor - Adds a new patientsDoctor
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor's data
GET/patientsDoctors - Returns all the patientsDoctors in the database
MedicalReview
POST/medicalReview - Adds a new medicalReview
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview's data
GET/medicalReviews - Returns all the medicalReviews in the database
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient
FrequencyType
POST/frequencyType - Adds a new frequencyType
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType's data
GET/frequencyTypes - Returns all the frequencyTypes in the database
Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. (*) Nice-to-have funktsionaalsus
Administraator
Soovin
- Lisada/muuta/kustutada tubasid
- Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane
- Lisada/muuta/kustutada Patient seost Room-is
- Lisada/muuta/kustutada FrequencyTypesid
- Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *
Arst
Soovin
- Patsiendi külge lisada uut MedicalCase-t
- MedicalCase külge lisada Prescription ja määrata selle sagedus
- Saada ülevaadet enda MedicalCase-dest
- Saada ülevaadet enda patsientidest
- Enda ühe Patienti raames ülevaadet
- tema MedicalCase-dest
- Prescription-itest
- Procedure-dest
Patsient või kliendi lähedane
Soovin
- Saada ülevaadet enda kõikidest MedicalCase-dest
- Saada ülevaadet enda Prescription-itest
- Saada ülevaadet enda Procedure-dest
- Saada teada, mis toas ma asun
Hooldaja
Soovin
- Teada, millised Procedure pean järgmisena tegema
- Märkida üks (või mitu korraga) Procedure tehtuks
- Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*
- Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*
Tegevuste logi
- 2018-03-06 Meeskonna loomine, teema fikseerimine
- 2018-03-14 Esialgne analüüs ja andmemudel
- 2018-03-16 API kirjeldus Swaggeris
- 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.
- 2018-03-23 Wiki lehe loomine
- 2018-03-30 Analüüsi lõplik vormistamine wikis
- 2018-04-10 Kasutajalugude lisamine wikisse