wiki:UseCase03

Version 3 (modified by 236021, 23 hours 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 p.patient_id
    FROM patients p
    JOIN users u ON u.user_id = p.user_id
    WHERE u.username = '1402994123456'
);
  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 u.user_id = d.user_id
WHERE diag.patient_id = (
    SELECT p.patient_id
    FROM patients p
    JOIN users usr ON usr.user_id = p.user_id
    WHERE usr.username = '1402994123456'
);
  1. System retrieves symptoms that are recorded in the medical record.
SELECT
  s.name,
  s.description,
  mrs.severity
FROM medical_record_symptoms mrs
JOIN symptoms s ON mrs.symptom_id = s.symptom_id
WHERE mrs.record_id = (
    SELECT mr.record_id
    FROM medical_records mr
    JOIN patients p ON mr.patient_id = p.patient_id
    JOIN users u ON u.user_id = p.user_id
    WHERE u.username = '1402994123456'
);
  1. System retrieves the allergies recorded in the medical record.
SELECT
  a.name,
  mra.reaction,
  mra.severity
FROM medical_record_allergies mra
JOIN allergies a ON mra.allergy_id = a.allergy_id
WHERE mra.record_id = (
    SELECT mr.record_id
    FROM medical_records mr
    JOIN patients p ON mr.patient_id = p.patient_id
    JOIN users u ON u.user_id = p.user_id
    WHERE u.username = '1402994123456'
);
  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 mr.record_id
    FROM medical_records mr
    JOIN patients p ON mr.patient_id = p.patient_id
    JOIN users u ON u.user_id = p.user_id
    WHERE u.username = '1402994123456'
);
  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 mr.record_id
    FROM medical_records mr
    JOIN patients p ON mr.patient_id = p.patient_id
    JOIN users u ON u.user_id = p.user_id
    WHERE u.username = '1402994123456'
);
  1. System retrieves prescriptions linked to the medical record.
SELECT
  p.medication_name,
  pmr.dosage,
  pmr.frequency,
  pmr.duration
FROM prescription_medical_records pmr
JOIN prescriptions p ON pmr.prescription_id = p.prescription_id
WHERE pmr.record_id = (
    SELECT mr.record_id
    FROM medical_records mr
    JOIN patients pt ON mr.patient_id = pt.patient_id
    JOIN users u ON u.user_id = pt.user_id
    WHERE u.username = '1402994123456'
);
  1. System retrieves medical reports created for this patient.
SELECT
  rep.report_id,
  rep.description,
  rep.report_date,
  u.first_name AS doctor_first_name,
  u.last_name AS doctor_last_name
FROM medical_report rep
JOIN doctors d ON rep.doctor_id = d.doctor_id
JOIN users u ON u.user_id = d.user_id
WHERE rep.record_id = (
    SELECT mr.record_id
    FROM medical_records mr
    JOIN patients p ON mr.patient_id = p.patient_id
    JOIN users usr ON usr.user_id = p.user_id
    WHERE usr.username = '1402994123456'
);
  1. Patient views their complete medical history organized by category.
Note: See TracWiki for help on using the wiki.