wiki:UseCase03

Version 1 (modified by 236021, 8 days ago) ( diff )

--

UseCase03 - Patient Views Medical Records

Initiating Actor - Patient

Description

A 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.

Scenario

  1. Patient logs in and navigates to "Medical Records" section.
SELECT
  mr.record_id,
  mr.patient_id
FROM medical_records mr
WHERE mr.patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova'));
  1. System retrieves all the diagnoses for the patient.
SELECT
  diag.diagnosis_id,
  diag.name,
  diag.description,
  u.first_name AS doctor_first_name,
  u.last_name AS doctor_last_name
FROM diagnosis diag
JOIN doctors d ON diag.doctor_id = d.doctor_id
JOIN users u ON d.user_id = u.user_id
WHERE diag.patient_id = (SELECT patient_id FROM patients WHERE user_id = (SELECT user_id FROM users WHERE username = 'maja.veljanova'));
  1. System retrieves symptoms that are recorded in the medical record.
SELECT
  s.name,
  s.description,
  mrs.date_recorded
FROM medical_record_symptoms mrs
JOIN symptoms s ON mrs.symptom_id = s.symptom_id
WHERE 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')));
  1. System retrieves the allergies recorded in the medical record.
SELECT
  a.name,
  a.description,
  mra.reaction,
  mra.severity
FROM medical_record_allergies mra
JOIN allergies a ON mra.allergy_id = a.allergy_id
WHERE 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')));
  1. System retrieves the lab results linked to the medical record.
SELECT
  lt.test_name,
  lr.results,
  lr.result_date
FROM medical_record_lab_results mrlr
JOIN lab_results lr ON mrlr.result_id = lr.result_id
JOIN lab_tests lt ON lr.test_id = lt.test_id
WHERE 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')));
  1. System retrieves the procedures linked to the medical record.
SELECT
  pr.procedure_type,
  pr.description
FROM medical_record_procedures mrp
JOIN procedures pr ON mrp.procedure_id = pr.procedure_id
WHERE 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')));
  1. System retrieves prescriptions linked to the medical record.
SELECT
  p.name AS prescription_name,
  pmr.dosage,
  pmr.frequency,
  pmr.duration
FROM prescription_medical_record pmr
JOIN prescriptions p ON pmr.prescription_id = p.prescription_id
WHERE pmr.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')));
  1. System retrieves medical reports created for this patient.
SELECT
  rep.report_id,
  rep.content,
  rep.created_date,
  u.first_name AS doctor_first_name,
  u.last_name AS doctor_last_name
FROM medical_reports rep
JOIN doctors d ON rep.doctor_id = d.doctor_id
JOIN users u ON d.user_id = u.user_id
WHERE rep.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')));
  1. Patient views their complete medical history organized by category.
Note: See TracWiki for help on using the wiki.