iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
自我挑戰組

30 天用 Vibe Coding 打造多角色復健追蹤應用系列 第 9

第二階段:核心 API 開發 (三)復健課表管理 API 開發

  • 分享至 

  • xImage
  •  

今天進入 Phase 2 – 核心 API 開發Step 4:復健課表管理 (Rehab Schedule Management)
這部分是整個系統的核心之一,負責病人的復健任務建立、狀態更新與查詢,讓復健師與病人可以在同一平台協作。


RehabService.js

1️⃣ 建立復健任務 createTask

  • 用途:讓治療師建立新的復健任務並指派給特定病患。
  • 流程重點
    1. 驗證治療師與病患身份。
    2. 確認治療師與病患之間的關聯(必須先被指派)。
    3. 檢查必填欄位:標題、描述、類別、時間排程。
    4. 驗證日期邏輯:開始日期不可早於今天、結束日期需在開始日期之後。
    5. 建立 RehabTask 文件並儲存至 MongoDB。
  • 回傳:成功建立的任務資料,包含指派者與受指派者的基本資訊。

2️⃣ 治療師查詢任務 getTasksByPhysiotherapist

  • 用途:治療師依條件查詢自己建立的任務列表。
  • 篩選條件
    • 狀態 (status):draft、active、paused、completed、cancelled
    • 病患 ID、類別、優先級、開始/結束日期
  • 功能亮點
    • 支援分頁 page/limit
    • 支援排序 sortBysortOrder
    • 透過 populate 自動帶出病患資訊

3️⃣ 病患查詢任務 getTasksForPatient

  • 用途:病患查看自己被指派的所有復健任務。
  • 特色
    • 可篩選「進行中」任務 (active=true)
    • 排序優先顯示高優先級與即將開始的任務

4️⃣ 單筆任務詳情 getTaskById

  • 用途:取得特定任務的完整資訊。
  • 權限驗證:只有任務建立者或被指派的病患可以查看。

5️⃣ 更新任務 updateTask

  • 用途:治療師更新已建立的任務內容。
  • 重點設計
    • 限制不可更新欄位(指派者、受指派者、ID、建立時間等)
    • 嚴格驗證狀態轉換:
      • 例如 draft 只能轉為 activecancelled
      • completedcancelled 任務不能再修改
    • 支援紀錄修改歷程 (modificationHistory)

6️⃣ 刪除任務 deleteTask

  • 用途:治療師刪除自己建立的任務。
  • 條件限制
    • 只能刪除自己建立的任務
    • 若任務為 active 且已有完成紀錄,則必須先取消,不能直接刪除

7️⃣ 啟用任務 activateTask

  • 用途:將任務從草稿 (draft) 狀態轉為啟用 (active)。
  • 前置檢查
    • 必須有開始日期
    • 必須設定執行指示 (instructions)

8️⃣ 任務統計 getTaskStatistics

  • 用途:治療師快速掌握任務分佈與進度。
  • 統計內容
    • 任務總數、各狀態數量
    • 平均完成度
    • 依類別分類的統計與平均完成度

9️⃣ 病患即將到期任務 getUpcomingTasks

  • 用途:查詢未來 N 天內病患需要執行的任務。
  • 預設:查詢 7 天內的即將開始任務,並依開始日期及優先級排序。

🔟 任務搜尋 searchTasks

  • 用途:全文檢索任務,支援多條件組合。
  • 條件
    • 關鍵字全文檢索 ($text)
    • 類別、狀態、指派者、病患
  • 權限控管
    • 病患只能搜尋自己被指派的任務
    • 治療師只能搜尋自己建立的任務

🔜 下一步

接下來要將 RehabService 與實際的 API 路由整合:

  • 先更新 Physiotherapist Routes,讓復健師可以透過 API 建立、修改與查詢課表。
  • 接著會實作 Patient Routes,讓病人端可以讀取自己的課表、回報進度並更新任務狀態。

💡 今日心得

復健課表是這個系統的核心資料,對資料一致性要求很高,例如任務狀態不能隨意跳轉、刪除時要保護歷史紀錄。
透過 RehabService.js 將業務邏輯集中管理,可以確保 安全性資料完整性,也讓日後新增統計報表或複雜搜尋更容易擴充。



上一篇
Day 8 第二階段:核心 API 開發 (二) 用戶驗證與管理系統
系列文
30 天用 Vibe Coding 打造多角色復健追蹤應用9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言