Changes between Initial Version and Version 1 of UseCase03


Ignore:
Timestamp:
06/12/26 17:47:36 (8 days ago)
Author:
236021
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase03

    v1 v1  
     1= UseCase03 - Patient Views Medical Records =
     2
     3== Initiating Actor - `Patient` ==
     4
     5== Description ==
     6A patient views their complete medical record including diagnoses, symptoms, allergies, prescriptions, lab results, and procedures. The system retrieves all associated medical data organized by category.
     7
     8== Scenario ==
     9
     101. Patient logs in and navigates to "Medical Records" section.
     11
     12{{{
     13#!sql
     14SELECT
     15  mr.record_id,
     16  mr.patient_id
     17FROM medical_records mr
     18WHERE mr.patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova'));
     19}}}
     20
     212. System retrieves all the diagnoses for the patient.
     22
     23{{{
     24#!sql
     25SELECT
     26  diag.diagnosis_id,
     27  diag.name,
     28  diag.description,
     29  u.first_name AS doctor_first_name,
     30  u.last_name AS doctor_last_name
     31FROM diagnosis diag
     32JOIN doctors d ON diag.doctor_id = d.doctor_id
     33JOIN users u ON d.user_id = u.user_id
     34WHERE diag.patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova'));
     35}}}
     36
     373. System retrieves symptoms that are recorded in the medical record.
     38
     39{{{
     40#!sql
     41SELECT
     42  s.name,
     43  s.description,
     44  mrs.date_recorded
     45FROM medical_record_symptoms mrs
     46JOIN symptoms s ON mrs.symptom_id = s.symptom_id
     47WHERE mrs.record_id = (SELECT record_id FROM medical_records WHERE patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova')));
     48}}}
     49
     504. System retrieves the allergies recorded in the medical record.
     51
     52{{{
     53#!sql
     54SELECT
     55  a.name,
     56  a.description,
     57  mra.reaction,
     58  mra.severity
     59FROM medical_record_allergies mra
     60JOIN allergies a ON mra.allergy_id = a.allergy_id
     61WHERE mra.record_id = (SELECT record_id FROM medical_records WHERE patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova')));
     62}}}
     63
     645. System retrieves the lab results linked to the medical record.
     65
     66{{{
     67#!sql
     68SELECT
     69  lt.test_name,
     70  lr.results,
     71  lr.result_date
     72FROM medical_record_lab_results mrlr
     73JOIN lab_results lr ON mrlr.result_id = lr.result_id
     74JOIN lab_tests lt ON lr.test_id = lt.test_id
     75WHERE mrlr.record_id = (SELECT record_id FROM medical_records WHERE patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova')));
     76}}}
     77
     786. System retrieves the procedures linked to the medical record.
     79
     80{{{
     81#!sql
     82SELECT
     83  pr.procedure_type,
     84  pr.description
     85FROM medical_record_procedures mrp
     86JOIN procedures pr ON mrp.procedure_id = pr.procedure_id
     87WHERE mrp.record_id = (SELECT record_id FROM medical_records WHERE patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova')));
     88}}}
     89
     907. System retrieves prescriptions linked to the medical record.
     91
     92{{{
     93#!sql
     94SELECT
     95  p.name AS prescription_name,
     96  pmr.dosage,
     97  pmr.frequency,
     98  pmr.duration
     99FROM prescription_medical_record pmr
     100JOIN prescriptions p ON pmr.prescription_id = p.prescription_id
     101WHERE pmr.record_id = (
     102SELECT record_id
     103FROM medical_records
     104WHERE patient_id =
     105(SELECT patient_id
     106FROM patients
     107WHERE user_id =
     108(SELECT user_id
     109FROM users
     110WHERE username = 'maja.veljanova')));
     111}}}
     112
     1138. System retrieves medical reports created for this patient.
     114
     115{{{
     116#!sql
     117SELECT
     118  rep.report_id,
     119  rep.content,
     120  rep.created_date,
     121  u.first_name AS doctor_first_name,
     122  u.last_name AS doctor_last_name
     123FROM medical_reports rep
     124JOIN doctors d ON rep.doctor_id = d.doctor_id
     125JOIN users u ON d.user_id = u.user_id
     126WHERE rep.record_id = (
     127SELECT record_id
     128FROM medical_records
     129WHERE patient_id = (
     130SELECT patient_id
     131FROM patients
     132WHERE user_id = (
     133SELECT user_id
     134FROM users WHERE username = 'maja.veljanova')));
     135}}}
     136
     1379. Patient views their complete medical history organized by category.