Changes between Initial Version and Version 1 of UseCase04


Ignore:
Timestamp:
06/12/26 17:53:31 (10 days ago)
Author:
236021
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase04

    v1 v1  
     1= UseCase04 - Doctor Views Patient Medical Records =
     2
     3== Initiating Actor - `Doctor` ==
     4
     5
     6== Description ==
     7A doctor views the complete medical history of a patient including diagnoses, symptoms, allergies, lab results, procedures, prescriptions, and medical reports. The system retrieves all associated clinical data to help the doctor make informed decisions.
     8
     9== Scenario ==
     10
     111. Doctor searches for a patient by name or ID.
     12
     13{{{
     14#!sql
     15SELECT
     16  p.patient_id,
     17  p.embg,
     18  p.date_of_birth,
     19  p.blood_type,
     20  p.gender,
     21  u.first_name,
     22  u.last_name,
     23  u.phone_number,
     24  u.email
     25FROM patients p
     26JOIN users u ON p.user_id = u.user_id
     27WHERE u.last_name = 'Veljanova';
     28}}}
     29
     302. Doctor navigates to the patient's medical record.
     31
     32{{{
     33#!sql
     34SELECT
     35  mr.record_id,
     36  mr.patient_id
     37FROM medical_records mr
     38WHERE mr.patient_id = (
     39SELECT patient_id
     40FROM patients
     41WHERE user_id = (
     42SELECT user_id
     43FROM users
     44WHERE username = 'maja.veljanova'));
     45}}}
     46
     473. System displays all diagnoses for the patient.
     48
     49{{{
     50#!sql
     51SELECT
     52  diag.diagnosis_id,
     53  diag.name,
     54  diag.description,
     55  u.first_name AS doctor_first_name,
     56  u.last_name AS doctor_last_name
     57FROM diagnosis diag
     58JOIN doctors d ON diag.doctor_id = d.doctor_id
     59JOIN users u ON d.user_id = u.user_id
     60WHERE diag.patient_id = (
     61SELECT patient_id
     62FROM patients
     63WHERE user_id = (
     64SELECT user_id
     65FROM users
     66WHERE username = 'maja.veljanova'));
     67}}}
     68
     694. System displays symptoms recorded in the medical record.
     70
     71{{{
     72#!sql
     73SELECT
     74  s.name,
     75  s.description,
     76  mrs.date_recorded
     77FROM medical_record_symptoms mrs
     78JOIN symptoms s ON mrs.symptom_id = s.symptom_id
     79WHERE mrs.record_id = (
     80SELECT record_id
     81FROM medical_records
     82WHERE patient_id = (
     83SELECT patient_id
     84FROM patients
     85WHERE user_id = (
     86SELECT user_id
     87FROM users
     88WHERE username = 'maja.veljanova')));
     89}}}
     90
     915. System displays allergies with reaction and severity information.
     92
     93{{{
     94#!sql
     95SELECT
     96  a.name,
     97  a.description,
     98  mra.reaction,
     99  mra.severity
     100FROM medical_record_allergies mra
     101JOIN allergies a ON mra.allergy_id = a.allergy_id
     102WHERE mra.record_id = (
     103SELECT record_id
     104FROM medical_records
     105WHERE patient_id = (
     106SELECT patient_id
     107FROM patients
     108WHERE user_id = (
     109SELECT user_id
     110FROM users
     111WHERE username = 'maja.veljanova')));
     112}}}
     113
     1146. System displays lab results linked to the medical record.
     115
     116{{{
     117#!sql
     118SELECT
     119  lt.test_name,
     120  lr.results,
     121  lr.result_date
     122FROM medical_record_lab_results mrlr
     123JOIN lab_results lr ON mrlr.result_id = lr.result_id
     124JOIN lab_tests lt ON lr.test_id = lt.test_id
     125WHERE mrlr.record_id = (
     126SELECT record_id
     127FROM medical_records
     128WHERE patient_id = (
     129SELECT patient_id
     130FROM patients
     131WHERE user_id = (
     132SELECT user_id
     133FROM users
     134WHERE username = 'maja.veljanova')));
     135}}}
     136
     1377. System displays procedures linked to the medical record.
     138
     139{{{
     140#!sql
     141SELECT
     142  pr.procedure_type,
     143  pr.description
     144FROM medical_record_procedures mrp
     145JOIN procedures pr ON mrp.procedure_id = pr.procedure_id
     146WHERE mrp.record_id = (
     147SELECT record_id
     148FROM medical_records
     149WHERE patient_id = (
     150SELECT patient_id
     151FROM patients
     152WHERE user_id = (
     153SELECT user_id
     154FROM users
     155WHERE username = 'maja.veljanova')));
     156}}}
     157
     1588. System displays prescriptions linked to the medical record.
     159
     160{{{
     161#!sql
     162SELECT
     163  p.name AS prescription_name,
     164  pmr.dosage,
     165  pmr.frequency,
     166  pmr.duration
     167FROM prescription_medical_record pmr
     168JOIN prescriptions p ON pmr.prescription_id = p.prescription_id
     169WHERE pmr.record_id = (
     170SELECT record_id
     171FROM medical_records
     172WHERE patient_id = (
     173SELECT patient_id
     174FROM patients
     175WHERE user_id = (
     176SELECT user_id
     177FROM users
     178WHERE username = 'maja.veljanova')));
     179}}}
     180
     1819. System displays medical reports created for this patient.
     182
     183{{{
     184#!sql
     185SELECT
     186  rep.report_id,
     187  rep.content,
     188  rep.created_date,
     189  u.first_name AS doctor_first_name,
     190  u.last_name AS doctor_last_name
     191FROM medical_reports rep
     192JOIN doctors d ON rep.doctor_id = d.doctor_id
     193JOIN users u ON d.user_id = u.user_id
     194WHERE rep.record_id = (
     195SELECT record_id
     196FROM medical_records
     197WHERE patient_id = (
     198SELECT patient_id
     199FROM patients
     200WHERE user_id = (
     201SELECT user_id
     202FROM users
     203WHERE username = 'maja.veljanova')));
     204}}}
     205
     20610. Doctor reviews the complete patient history and proceeds with clinical decisions.