iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0

大家好 ~ 今天要分享的是CRUD測試中的C(新增),會延續Day02時的情境描述去撰寫SQL語句。


情境一:員工管理與排班
新增 - 新進員工的資料、每月班表資訊
會使用到的資料表為:
"Staff"
"Schedules"

--1.1. 員工Thomas Tony在醫院擔任心臟科醫師已有4年經歷
INSERT INTO Staff(
staffid,
departmentid,
staffname,
staffgender,
staffrole,
stafflicnesenum,
staffphone,
yearsofexperience
) 
VALUES(
62898,
23,
'Thomas Tony',
'M',
'Doctor',
85067,
0918565913,
4
);

--1.2. 員工編號62898的Thomas Tony固定看診時段為星期二的早診
INSERT INTO Schedules(
scheduleid,
staffid,
scheduledate,
departmentid,
timeslot
)
VALUES(
7856,
62898,
'星期二',
23,
'早診'
);

圖片輔助:
(1)Staff
https://ithelp.ithome.com.tw/upload/images/20250926/20167787vPAVLGUz8I.png
(2)Schedules
https://ithelp.ithome.com.tw/upload/images/20250926/20167787EnqwrU5Mr3.png
輸出結果:
(1)Staff
https://ithelp.ithome.com.tw/upload/images/20250926/20167787uEwK66i8gn.png
(2)Schedules
https://ithelp.ithome.com.tw/upload/images/20250926/20167787C4ysp37qmr.png
情境二:病患掛號與就診流程
新增 - 病患掛號、就診資料
會使用到的資料表為:
"Patients"
"Appointments"
"Records"

--2.1. 新病患的基本資訊與其緊急聯絡人資料輸入
INSERT INTO patients(
patientid,
patientname,
patientgender,
patientbirth,
bloodtype,
patientphone,
patientaddress,
patientidentitynumber,
emergencyrelation,
emergencyname,
emergencyphone
)
VALUES
(
32265,
'林雅婷',
'F',
TO_DATE('2007-07-13','YYYY-MM-DD'),
'AB',
0989330915,
'新北市新莊區',
'F189564',
'母女',
'張淑娟',
0918555111);

--2.2. 新病患林雅婷有心臟相關問題,所以預約2025/09/25心臟科早診的掛號
INSERT INTO appointments(
appointmentid,
patientid,
departmentid,
staffid,
appointmentstatus,
chiefcomplaint,
visitdate,
visitstatus
)
VALUES
(
1889,
32265,
23,
62898,
'已預約',
'心跳不規則',
TO_DATE('2025-09-25','YYYY-MM-DD'),
'已就診'
);

--2.3. 新病患掛號後僅有心臟病家族史,其他歷史紀錄皆無
INSERT INTO records(
recordsid,
appointmentid,
staffid,
patientid,
familyhistory,
habits,
surgicalhistory,
hospitalhistory,
allergyhistory,
vaccinationrecord,
createdate
)
VALUES(
3026,
1889,
62898,
32265,
'心臟病家族史',
'無',
'無',
'無',
'阿司匹林',
'COVID-19疫苗',
TO_DATE('2025-09-25','YYYY-MM-DD') 
);

圖片輔助:
(1)Patients
https://ithelp.ithome.com.tw/upload/images/20250927/20167787e2eAcQnpIs.png
(2)Appointments
https://ithelp.ithome.com.tw/upload/images/20250927/20167787yorMu6P2wv.png
(3)Records
https://ithelp.ithome.com.tw/upload/images/20250928/20167787YtRrGIvZY6.png
輸出結果:
(1)Patients
https://ithelp.ithome.com.tw/upload/images/20250927/20167787w8iZAvSClW.png
(2)Appointments
https://ithelp.ithome.com.tw/upload/images/20250927/20167787kh0YDDsgQn.png
(3)Records
https://ithelp.ithome.com.tw/upload/images/20250928/20167787Q5IvE5GNcI.png
情境三:醫師診斷與各類病歷紀錄
新增 - 各類病歷記錄、診斷資料
會使用到的資料表為:
"Records"
"Diagnoses"
"SatisfactionSurveys"
"SurgeryRecords"
"Tests"
"VaccinationRecords"
"AllergyRecords"
"HospitalizationsRecords"

--3.1. 新病患經醫師診斷後得到結果與建議
INSERT INTO diagnoses(
diagnosisid,
recordid,
staffid,
recordtype,
diagnosisdate,
subjective,
objective,
assessment,
plan,
icdcode,
diagnosisnotes
)
VALUES(
600026,
3026,
62898,
'初診',
TO_DATE('2025-09-25','YYYY-MM-DD'),
'心律不規則',
'霍特心電圖顯示間歇性顫動',
'可能為陣發性心房顫動,需進一步評估中風風險',
'建議使用抗凝劑並安排導管消融手術',
'I48.0',
'病患無心衰病史,CHA₂DS₂-VASc評分為2,建議開始Apixaban'
);

--3.2. 經醫師診斷後進行心電圖檢查,再存如診斷記錄中
INSERT INTO Tests (
  TESTID,
  APPOINTMENTID,
  STAFFID,
  TESTNAME,
  TESTCODE,
  TESTDATE,
  TESTRESULT,
  TESTSTATUS,
  TESTNOTES
)
VALUES (
  400125,
  1889,
  62898,
  '24小時霍特式心電圖',
  'ECG-Holter',
  TO_DATE('2025-09-25','YYYY-MM-DD'),
  '間歇性心房顫動,夜間心率低至42bpm',
  '已完成',
  '建議進一步評估是否需使用抗凝劑'
);

--3.3. 新病患的檢查結果出來後需進在後天(2025/09/27)進行手術
INSERT INTO SurgeryRecords(
SURGERYID,
APPOINTMENTID,
STAFFID,
SURGERYDATE,
SURGERYNAME,
SURGERYSITE,
SURGERYTYPE,
ANESTHESIATYPE,
DURATIONMINUTES,
COMPLICATIONS,
OPERATIVEINSTRUCTIONS,
STAFFNOTES
)
VALUES(
550025,
1889,
62898,
TO_DATE('2025-09-27','YYYY-MM-DD'),
'心房顫動導管消融術',
'左心房',
'電燒消融',
'全身麻醉',
150,
'術後輕微胸悶,無明顯併發症',
'術後需服用抗凝劑並定期追蹤心律',
'建議避免劇烈運動,三週內回診'
);

--3.4. 新病患手術結束後需住院觀察、恢復
INSERT INTO hospitalizationrecords(
"HospitalizationID", "AppointmentID", "DepartmentID", "StaffID", 
"AdmissionDate", "LengthOfStay", "ExpectedDischargeDate",
"ActualDischargeDate", "WardArea", "RoomNum", "BedNum",
"AdmissionDiagnosis", "DischargeDiagnosis",
"HospitalizationStatus", "HospitalCreateTime",
"DischargeSummary", "HospitalNotes")
VALUES (
100516,
1889,
23,
62898,
TO_DATE('2025-09-27','YYYY-MM-DD'),
3,
TO_DATE('2025-09-30','YYYY-MM-DD'),
TO_DATE('2025-09-30','YYYY-MM-DD'),
'心臟科病房',
'302A',
'B-03',
'間歇性心房顫動,合併心悸與暈眩',
'心房顫動穩定,建議門診追蹤',
'已出院',
TO_DATE('2025-09-27','YYYY-MM-DD'),
'住院期間接受導管消融術,恢復良好',
'術後心律穩定無併發症,建議服用抗凝劑'
);

--3.5. 新病患之前有藥物過敏反應,因此需另外記錄
INSERT INTO allergyrecords(
ALLERGYID,
PATIENTID,
ALLERGEN,
REACTIONSYMPTOMS,
OCCURENCEDATE,
SEVERITY,
ALLERGYNOTES
)
VALUES
(
500018,
32265,
'阿司匹林',
'服藥後出現皮膚紅疹與呼吸困難',
TO_DATE('2023-08-14','YYYY-MM-DD'),
'中度',
'建議避免使用NSAID類藥物,已標註於病歷中'
);

--3.5. 新病患之前的疫苗接種記錄
INSERT INTO vaccinationrecords(
VACCINATIONID,
PATIENTID,
STAFFID,
VACCINENAME,
DOSENUM,
VACCINATIONDATE,
VACCINATIONLOCATION,
HASSYMPTOMS,
POSTVACCINATIONREACTION
)
VALUES (
201756,
32265,
62898,
'COVID-19疫苗',
3,
TO_DATE('2021-09-15','YYYY-MM-DD'),
'新北市汐止區衛生所',
'有',
'注射部位輕微腫脹與疲倦感,無需特殊處理'
);

--3.6. 新病患對於醫師的評價回饋
INSERT INTO satisfactionsurveys(
SURVEYID,
APPOINTMENTID,
SURVEYDATE,
TARGETROLE,
RATING,
COMMENTS
)
VALUES(
300622,
1889,
TO_DATE('2025-09-30','YYYY-MM-DD'),
'醫師',
10,
'醫師診斷仔細,態度親切,詳細說明病情與後續治療選項,非常安心'
); 

圖片輔助:
(1)Diagnoses
https://ithelp.ithome.com.tw/upload/images/20250927/20167787zkKMAETJCf.png
(2)Tests
https://ithelp.ithome.com.tw/upload/images/20250927/201677879uZjEW0o4C.png
(3)SurgeryRecords
https://ithelp.ithome.com.tw/upload/images/20250927/20167787oruErP6uyv.png
(4)HospitalizationsRecords
https://ithelp.ithome.com.tw/upload/images/20250927/20167787j93w48zRch.png
(5)Allergyrecords
https://ithelp.ithome.com.tw/upload/images/20250927/201677873piZaMBE7L.png
(6)VaccinationRecords
https://ithelp.ithome.com.tw/upload/images/20250927/20167787LrxsqFfrY6.png
(7)SatisfactionSurveys
https://ithelp.ithome.com.tw/upload/images/20250927/20167787KAqwRPsEzK.png
輸出結果:
(1)Diagnoses
https://ithelp.ithome.com.tw/upload/images/20250927/20167787Yr1Zo7GNyi.png
(2)Tests
https://ithelp.ithome.com.tw/upload/images/20250927/20167787hIv4ZqfQF2.png
(3)SurgeryRecords
https://ithelp.ithome.com.tw/upload/images/20250927/20167787leSXAm6VSQ.png
(4)HospitalizationsRecords
https://ithelp.ithome.com.tw/upload/images/20250927/20167787bfHR9mbZLN.png
(5)Allergyrecords
https://ithelp.ithome.com.tw/upload/images/20250927/20167787boTd10BJmQ.png
(6)VaccinationRecords
https://ithelp.ithome.com.tw/upload/images/20250927/201677874QvQmfP6cd.png
(7)SatisfactionSurveys
https://ithelp.ithome.com.tw/upload/images/20250927/20167787KJEeMoZF6B.png


以上是我今天的分享!原本以為可以一天就把所有新增測試搞定好...結果好多喔...所以就分成兩天!
明天繼續我的新增測試(2/2) ~ 謝謝觀看!/images/emoticon/emoticon07.gif


上一篇
Day13:心得!
下一篇
Day15:新增測試(2/2)
系列文
基於 Oracle 資料庫的醫院電子病歷系統設計與建置18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言