wiki:UseCase09

UseCase09 - Doctor Records Procedure Outcome

Initiating Actor - Doctor

Description

After performing a procedure, a doctor records the outcome. The system stores the procedure result, links it to the patient's medical record, and updates the performed procedure notes.

Scenario

  1. Doctor navigates to pending procedures for a patient.
SELECT
  pp.performed_id,
  pr.procedure_type,
  pr.description,
  pp.procedure_date,
  pp.notes
FROM performed_procedures pp
JOIN procedures pr ON pp.procedure_id = pr.procedure_id
WHERE pp.patient_id = (
SELECT patient_id 
FROM users 
WHERE username = 'maja.veljanova')
  AND pp.doctor_id = (
SELECT doctor_id 
FROM users 
WHERE username = 'elena.kirova');
  1. Doctor selects a performed procedure to record the outcome for.
SELECT
  pp.performed_id,
  pr.procedure_type,
  pr.description,
  u_p.first_name AS patient_first_name,
  u_p.last_name AS patient_last_name,
  pp.procedure_date,
  pp.notes
FROM performed_procedures pp
JOIN procedures pr ON pp.procedure_id = pr.procedure_id
JOIN patients p ON pp.patient_id = p.patient_id
JOIN users u_p ON p.patient_id = u_p.patient_id
WHERE pp.performed_id = (
SELECT MAX(performed_id) 
FROM performed_procedures 
WHERE doctor_id = (
SELECT doctor_id 
FROM users 
WHERE username = 'elena.kirova'));
  1. Doctor enters the outcome notes and submits.
UPDATE performed_procedures
SET notes = 'ECG completed successfully. Heart rhythm normal, no arrhythmias detected.'
WHERE performed_id = (SELECT MAX(performed_id) FROM performed_procedures
  WHERE doctor_id = (SELECT doctor_id FROM users WHERE username = 'elena.kirova'));
  1. System stores the detailed procedure result.
INSERT INTO procedure_results (procedure_id, result_description, result_date)
VALUES (
  (SELECT procedure_id FROM procedures WHERE procedure_type = 'ECG'),
  'Normal sinus rhythm. Heart rate 72 bpm. No ST elevation.',
  '2026-06-10'
)
RETURNING result_id;
  1. System links the procedure result to the patient's medical record.
INSERT INTO medical_record_procedure_results (record_id, result_id)
VALUES (
  (SELECT record_id FROM medical_records WHERE patient_id = (
SELECT patient_id 
FROM users 
WHERE username = 'maja.veljanova')),
  (SELECT MAX(result_id) 
FROM procedure_results)
);
  1. System confirms and displays all procedure results on the patient's medical record.
SELECT
  p.procedure_type,
  pr.result_description,
  pr.result_date
FROM medical_record_procedure_results mpr
JOIN procedure_results pr ON mpr.result_id = pr.result_id
JOIN procedures p ON pr.procedure_id = p.procedure_id
WHERE mpr.record_id = (
SELECT record_id 
FROM medical_records 
WHERE patient_id = (
SELECT patient_id 
FROM users 
WHERE username = 'maja.veljanova'));
Last modified 7 days ago Last modified on 06/12/26 18:11:48
Note: See TracWiki for help on using the wiki.