今天的重點是完成後端最關鍵的三個資料模型:
這三個模型是整個系統運作的核心,負責記錄病人的日常狀態、溝通交流,以及醫療背景資料,並且彼此之間都有緊密的關聯。
檔案位置:src/main/js/models/Progress.js
Progress 模型負責記錄病人每天的復健情況,是病人打卡、復健師監控以及醫生評估恢復狀態的主要依據。
透過這個模型,可以建立完整的日誌系統,追蹤每位病人的實際執行情況,並與課表(RehabTask)建立對應。
patient
:關聯到病人 (User
),表示哪位病人的進度紀錄。plan
:關聯到當天的復健課表 (RehabTask
),用來比對計畫與實際完成狀況。status
:完成狀態(例如:完成、部分完成、未開始),讓復健師快速掌握執行情況。notes
:病人心得或疼痛描述,例如「今天膝蓋有點腫脹」。date
:日期,確保每天的進度都有獨立紀錄。patient
欄位 一對多(病人可有多筆進度紀錄)。核心價值:Progress 是病人的「日記本」,同時也是復健師與醫生了解實際狀況的窗口。
檔案位置:src/main/js/models/Comment.js
Comment 模型負責跨角色的溝通。病人可以留言回報感受,復健師可以針對進度給予指導,醫生則能補充醫囑。
這個模型是系統內即時交流的橋樑。
author
:留言者 (User
),可為病人、復健師或醫生。targetPatient
:留言針對的病人 (User
),方便集中管理特定病人的留言紀錄。progress
(選填):如果留言是針對某一天的復健進度,可關聯到 Progress。content
:留言內容,例如「今天可以嘗試多做一次伸展」或「膝蓋感覺有點緊」。createdAt
:留言時間,方便依時間順序呈現。核心價值:Comment 是整個系統的「聊天室」,透過這個模型,病人不需要額外使用通訊軟體就能與醫療團隊保持緊密互動。
檔案位置:src/main/js/models/Surgery.js
Surgery 模型負責儲存病人的手術資訊,是復健計畫的重要背景資料。
醫生可以輸入手術細節,這些資料將直接影響復健師制定課表的內容與強度。
patient
:關聯到病人 (User
),標記哪位病人的手術紀錄。doctor
:負責手術的醫生 (User
),方便後續查詢與聯繫。surgeryDate
:手術日期,幫助系統自動計算復健時間軸(例如術後幾週)。description
:手術簡介,例如「左膝前十字韌帶重建」。notes
:醫生補充的醫囑,例如「前三週避免深蹲」。patient
欄位 一對一(每筆手術紀錄對應一位病人)。doctor
欄位 多對一(同一位醫生可管理多位病人的手術紀錄)。核心價值:Surgery 是整個復健計畫的「病歷檔案」,為醫療決策和課表制定提供可靠依據。
這三個模型分別承擔不同但互補的角色:
模型 | 主要用途 | 與其他表的關聯 |
---|---|---|
Progress | 追蹤每日復健進度 | 連結 User(病人) 與 RehabPlan,記錄課表的實際完成狀態 |
Comment | 提供即時留言與互動 | 連結 User(留言者、病人) 與 Progress,促進跨角色溝通 |
Surgery | 保存手術紀錄與醫療背景 | 連結 User(病人、醫生),並作為制定 RehabPlan 的基礎資訊 |
完成這三個模型後,後端的資料架構已經具備了追蹤進度、交流互動與醫療背景的核心功能,
為接下來的 API 設計與前端串接打下了穩固基礎。