Changes between Version 2 and Version 3 of UseCase09


Ignore:
Timestamp:
09/22/26 15:09:17 (22 hours ago)
Author:
236021
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase09

    v2 v3  
    44
    55== Description ==
    6 After performing a procedure, a doctor records the outcome. The system stores the procedure result and updates the performed procedure notes. The result becomes visible on the patient's medical record through the procedure's existing link to that record.
     6After performing a procedure, a doctor records the outcome. The system stores the procedure result and updates the performed procedure notes. The system also ensures the procedure catalog entry is linked to the patient's medical record, so the result becomes visible there.
    77
    88== Scenario ==
     
    2121JOIN procedures pr ON pp.procedure_id = pr.procedure_id
    2222WHERE pp.patient_id = (
    23 SELECT patient_id
    24 FROM users
    25 WHERE username = 'maja.veljanova')
     23    SELECT p.patient_id
     24    FROM patients p
     25    JOIN users u ON u.user_id = p.user_id
     26    WHERE u.username = '1402994123456')
    2627  AND pp.doctor_id = (
    27 SELECT doctor_id
    28 FROM users
    29 WHERE username = 'elena.kirova');
     28    SELECT d.doctor_id
     29    FROM doctors d
     30    JOIN users u ON u.user_id = d.user_id
     31    WHERE u.username = 'elena.kirova@medora.com');
    3032}}}
    3133
     
    4547JOIN procedures pr ON pp.procedure_id = pr.procedure_id
    4648JOIN patients p ON pp.patient_id = p.patient_id
    47 JOIN users u_p ON p.patient_id = u_p.patient_id
     49JOIN users u_p ON u_p.user_id = p.user_id
    4850WHERE pp.performed_id = (
    49 SELECT MAX(performed_id)
    50 FROM performed_procedures
    51 WHERE doctor_id = (
    52 SELECT doctor_id
    53 FROM users
    54 WHERE username = 'elena.kirova'));
     51    SELECT MAX(performed_id)
     52    FROM performed_procedures
     53    WHERE doctor_id = (
     54        SELECT d.doctor_id
     55        FROM doctors d
     56        JOIN users u ON u.user_id = d.user_id
     57        WHERE u.username = 'elena.kirova@medora.com'));
    5558}}}
    5659
     
    6164UPDATE performed_procedures
    6265SET notes = 'ECG completed successfully. Heart rhythm normal, no arrhythmias detected.'
    63 WHERE performed_id = (SELECT MAX(performed_id) FROM performed_procedures
    64   WHERE doctor_id = (SELECT doctor_id FROM users WHERE username = 'elena.kirova'));
     66WHERE performed_id = (
     67    SELECT MAX(performed_id)
     68    FROM performed_procedures
     69    WHERE doctor_id = (
     70        SELECT d.doctor_id
     71        FROM doctors d
     72        JOIN users u ON u.user_id = d.user_id
     73        WHERE u.username = 'elena.kirova@medora.com'));
    6574}}}
    6675
     
    6978{{{
    7079#!sql
    71 INSERT INTO procedure_results (procedure_id, result_description, result_date)
     80INSERT INTO procedure_results (result_id, procedure_id, result_description, result_date)
    7281VALUES (
     82  (SELECT COALESCE(MAX(result_id), 0) + 1 FROM procedure_results),
    7383  (SELECT procedure_id FROM procedures WHERE procedure_type = 'ECG'),
    7484  'Normal sinus rhythm. Heart rate 72 bpm. No ST elevation.',
     
    7888}}}
    7989
    80 5. System confirms and displays all procedure results on the patient's medical record, using the existing link between the medical record and the procedure catalog entry.
     905. System links the procedure catalog entry to the patient's medical record, if not already linked, so the result becomes visible there.
     91
     92{{{
     93#!sql
     94INSERT INTO medical_record_procedures (record_id, procedure_id)
     95VALUES (
     96  (SELECT mr.record_id
     97   FROM medical_records mr
     98   JOIN patients p ON mr.patient_id = p.patient_id
     99   JOIN users u ON u.user_id = p.user_id
     100   WHERE u.username = '1402994123456'),
     101  (SELECT procedure_id FROM procedures WHERE procedure_type = 'ECG')
     102)
     103ON CONFLICT (record_id, procedure_id) DO NOTHING;
     104}}}
     105
     1066. System confirms and displays all procedure results on the patient's medical record.
    81107
    82108{{{
     
    90116JOIN procedure_results pres ON pres.procedure_id = p.procedure_id
    91117WHERE mrp.record_id = (
    92   SELECT record_id
    93   FROM medical_records
    94   WHERE patient_id = (
    95     SELECT patient_id
    96     FROM users
    97     WHERE username = 'maja.veljanova'
    98   )
     118    SELECT mr.record_id
     119    FROM medical_records mr
     120    JOIN patients p ON mr.patient_id = p.patient_id
     121    JOIN users u ON u.user_id = p.user_id
     122    WHERE u.username = '1402994123456'
    99123);
    100124}}}