睡眠實驗室應用程式模板
安全管理多導睡眠檢查報告、CPAP 日誌和用戶互動
一個在 Back4app 上準備好的 睡眠實驗室後端,能安全管理多導睡眠檢查和 CPAP 數據。包括 ER 圖、數據字典、JSON 架構、API 游樂場,以及一個 AI 代理 提示,用於快速啟動。
關鍵要點
部署一個面向睡眠實驗室的後端,配備強大的訪問控制、數據版本管理和審計跟蹤,讓您的團隊能夠專注於提升用戶體驗和合規性。
- 全面的數據模型 — 結構性地管理患者身份、睡眠研究、CPAP 記錄和審計跟蹤,以確保清晰的來源和授權。
- 安全的用戶互動 — 促進患者與 Provider 之間的安全通信,提供明確的已讀回執和數據保留政策。
- 版本化的睡眠研究 — 維護多導睡眠監測報告的版本歷史,確保更新的發現和文檔被跟蹤。
- CPAP 日誌管理 — 通過詳細的日誌和分析跟踪 CPAP 的使用、進度和患者依從性。
- 符合依從性的日誌記錄 — 一個集中式的審計日誌,捕捉合規性、監控和審查的關鍵事件。
什麼是睡眠實驗室應用後端模板?
Back4app 是一個後端即服務 (BaaS),旨在實現快速部署。睡眠實驗室應用後端模板涵蓋患者檔案、多導睡眠圖報告、CPAP 日誌管理和審計記錄。連接你希望的前端(React、Flutter、Next.js 等)並更快地交付。
最佳用途:
概覽
睡眠實驗室應用需要可靠管理敏感臨床數據,包括多導睡眠監測研究和 CPAP 日誌。
這個模板封裝了 PatientProfile、SleepStudy、CPAPLog 和 AuditLog 類,並提供嚴格的擁有權和基於角色的權限,以便團隊能夠快速和安全地開發睡眠實驗室應用程序。
核心睡眠實驗室功能
所有技術卡片都使用相同的睡眠實驗室後端架構,以確保患者檔案、睡眠研究、CPAP 日誌和審計日誌之間的一致性。
病人檔案與身份驗證
PatientProfile 存儲與已驗證用戶相關的身份、聯絡資料和偏好設置。
版本化睡眠研究
SleepStudy 維護測試類型、原始睡眠數據、報告時間、版本和 Provider 信息。
CPAP 使用監控
CPAPLog 捕捉使用詳情、病人 ID 和時間戳,以進行合規追蹤。
安全消息系統
消息使線程互動、附件、發件人/收件人指標和交付/已讀狀態成為可能。
審計和監測
審計日誌記錄參與者身份、行為類型、實體上下文和有效載荷,以便符合合規要求。
為什麼要使用 Back4app 構建您的睡眠實驗室應用後端?
Back4app 簡化了後端管理——提供安全性、數據持久性、API和即時功能——讓您能專注於提升用戶體驗和臨床整合。
- •安全管理臨床數據: 實施內建的身份驗證和訪問控制,以管理用戶查看睡眠研究和日誌的權限。
- •審計和來源: 集中式 AuditLog 追蹤哪些用戶訪問、更新或修改了敏感數據,幫助維持合規性和調試能力。
- •用戶消息和通知: 線程消息、附件和可選的即時更新促進了患者與醫療 Provider 之間的無縫互動。
快速部署安全的睡眠實驗室後端,專注於改進臨床工作流程,而不是底層基礎設施。
核心好處
一個專注於隱私、合規性和快速部署的睡眠實驗室後端。
加速患者體驗
通過利用經驗證的後端架構,更快地提供睡眠研究結果、管理 CPAP 日誌並啟用消息傳遞。
強大的數據來源
保持清晰的睡眠研究和 CPAP 日誌條目的審計痕跡,確保臨床變更可追溯。
細粒度的許可權
使用訪問控制保護敏感信息,確保只有授權用戶可以訪問數據點。
集成消息傳遞
帶附件和可選通知的線程對話改善了患者和Provider之間的溝通。
合規準備的日誌記錄
集中式審計日誌支援監控、事件調查和合規報告。
AI輔助初始化
使用量身定制的AI代理提示生成架構和基本集成來啟動開發過程。
技術棧
這個睡眠實驗室後端模板包含所有內容。
ER 圖
睡眠實驗室後端架構的實體關係模型。
涵蓋患者資料檔案、睡眠研究、CPAP日誌和審計日誌的架構。
查看圖表來源
erDiagram
PatientProfile ||--o{ SleepStudy : "undergoes"
PatientProfile ||--o{ TitrationLog : "has"
PatientProfile ||--o{ Message : "context for"
PatientProfile ||--o{ Appointment : "scheduled in"
_User ||--o{ Message : "sends/receives"
_User ||--o{ SleepStudy : "evaluates"
_User ||--o{ Appointment : "provides"
PatientProfile {
String objectId PK
Pointer user FK
String medicalRecordNumber
String displayName
Date dateOfBirth
String primaryClinic
Boolean isActive
Date createdAt
Date updatedAt
}
SleepStudy {
String objectId PK
Pointer patient FK
Date studyDate
String results
String status
Array attachments
Date createdAt
Date updatedAt
}
TitrationLog {
String objectId PK
Pointer patient FK
Date logDate
String pressureAdjustment
String note
Date createdAt
Date updatedAt
}
Message {
String objectId PK
String conversationId
Pointer from FK
Pointer to FK
Pointer patient FK
String body
Array attachments
Boolean isRead
Date sentAt
Date createdAt
Date updatedAt
}
Appointment {
String objectId PK
Pointer patient FK
Pointer provider FK
Date startAt
Date endAt
String location
String status
String reason
Date createdAt
Date updatedAt
}
AuditLog {
String objectId PK
Pointer actor FK
String entityType
String entityId
String action
String summary
Object metadata
Date createdAt
Date updatedAt
}
整合流程
進行身份驗證、睡眠研究訪問、CPAP日誌更新和消息傳遞的典型運行流程。
查看圖表來源
sequenceDiagram
participant Patient
participant App as Sleep Lab App
participant Clinician
participant Back4app as Back4app Cloud
Patient->>App: Sign in with email or SSO
App->>Back4app: POST /login (credentials/SSO token)
Back4app-->>App: Return Session Token + Patient context
Patient->>App: Open Dashboard (profile & recent sleep studies)
App->>Back4app: GET /classes/PatientProfile?where={"user":Pointer("_User", "u123")}
Back4app-->>App: PatientProfile object
App->>Back4app: GET /classes/SleepStudy?where={"patient":Pointer("PatientProfile","p123")}&order=-studyDate
Back4app-->>App: List of SleepStudy (latest first)
Patient->>App: View recent Titration Log
App->>Back4app: GET /classes/TitrationLog?where={"patient":Pointer("PatientProfile","p123")}&order=-logDate
Back4app-->>App: TitrationLog object
Patient->>App: Send secure message to clinician
App->>Back4app: POST /classes/Message (conversationId, body, to: Pointer(_User, clinicianId))
Back4app-->>App: Message objectId
Back4app-->>App: LiveQuery -> new Message or SleepStudy update
App-->>Patient: Real-time notification (new message / study result available)
Clinician->>Back4app: Update SleepStudy (finalize)
Back4app-->>App: LiveQuery event -> App fetches updated SleepStudy
App-->>Patient: Alert: "New sleep study result available"數據字典
睡眠實驗室架構中每個類別的完整字段級別參考。
| 字段 | 類型 | 描述 | 必填 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| user | Pointer<_User> | Linked Back4app user account | |
| medicalRecordNumber | String | Unique MRN for the patient | |
| displayName | String | Patient full name shown in UI | |
| dateOfBirth | Date | Patient date of birth | — |
| primaryClinic | String | Primary clinic or provider group | — |
| isActive | Boolean | Active portal access flag | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
9 字段在 PatientProfile 中
安全性和權限
ACL、CLP 和加密策略保護睡眠研究、CPAP 日誌、消息和審計日誌。
基於角色的訪問和所有權
實施訪問控制,讓患者可以查看自己的睡眠研究和 CPAP 記錄,而 Provider 可以訪問患者特定數據;CLP 護航未授權操作。
加密數據傳輸
在傳輸敏感信息時採用加密標準,以保護其免受攔截。
審計跟踪
確保通過 AuditLog 進行全面記錄所有交互,以監控對敏感數據的訪問和修改。
架構 (JSON)
原始 JSON 架構定義已準備好可以複製到 Back4app 或作為實施參考。
{
"classes": [
{
"className": "PatientProfile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"medicalRecordNumber": {
"type": "String",
"required": true
},
"displayName": {
"type": "String",
"required": true
},
"dateOfBirth": {
"type": "Date",
"required": false
},
"primaryClinic": {
"type": "String",
"required": false
},
"isActive": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SleepStudy",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"patient": {
"type": "Pointer",
"required": true,
"targetClass": "PatientProfile"
},
"studyDate": {
"type": "Date",
"required": true
},
"results": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"attachments": {
"type": "Array",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "TitrationLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"patient": {
"type": "Pointer",
"required": true,
"targetClass": "PatientProfile"
},
"logDate": {
"type": "Date",
"required": true
},
"pressureAdjustment": {
"type": "String",
"required": true
},
"note": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Message",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"conversationId": {
"type": "String",
"required": true
},
"from": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"to": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"patient": {
"type": "Pointer",
"required": true,
"targetClass": "PatientProfile"
},
"body": {
"type": "String",
"required": true
},
"attachments": {
"type": "Array",
"required": false
},
"isRead": {
"type": "Boolean",
"required": true
},
"sentAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Appointment",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"patient": {
"type": "Pointer",
"required": true,
"targetClass": "PatientProfile"
},
"provider": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"startAt": {
"type": "Date",
"required": true
},
"endAt": {
"type": "Date",
"required": true
},
"location": {
"type": "String",
"required": false
},
"status": {
"type": "String",
"required": true
},
"reason": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AuditLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"actor": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"entityType": {
"type": "String",
"required": true
},
"entityId": {
"type": "String",
"required": true
},
"action": {
"type": "String",
"required": true
},
"summary": {
"type": "String",
"required": true
},
"metadata": {
"type": "Object",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}使用 AI 代理構建
利用 Back4app AI 代理從此模板生成睡眠實驗室應用,包括後端架構、訪問控制列表和啟動集成。
在 Back4app 上創建一個睡眠實驗室後端,使用此指定的架構和功能。 架構: 1. PatientProfile: user(指向用戶的指針,必填),fullName(字符串,必填),dob(日期,選填),contact(對象),medicalRecordNumber(字符串,必填,唯一);objectId,createdAt,updatedAt。 2. SleepStudy: patient(指向PatientProfile的指針,必填),reportType(字符串),sleepData(對象),reportedAt(日期,必填),version(數字,默認為1);objectId,createdAt,updatedAt。 3. CPAPLog: patient(指向PatientProfile的指針,必填),usageData(對象),loggedAt(日期);objectId,createdAt,updatedAt。 4. AuditLog: actor(指向用戶的指針,必填),action(字符串,必填),entityType(字符串,必填),entityId(字符串,必填),payload(對象,選填),createdAt(日期);objectId,createdAt,updatedAt。 安全性: - 強制執行ACL,以確保病人僅能閱讀他們的SleepStudy和CPAPLog記錄。 Provider 應能查看指派的病人資料。使用Cloud Code處理敏感事件,並在服務器端寫入AuditLog條目。 身份驗證: - 支持病人和 Provider 的註冊;角色分配;安全登錄和會話管理。 行為: - 病人登錄,檢索最新的SleepStudy和CPAPLog數據,向 Provider 發送消息並接收通知。 Provider 發布報告並更新CPAP日誌;保持此類交互的AuditLog。 交付: - Back4app 應用程序具有架構、CLP、ACL、用於日誌和數據管理的Cloud Code掛鈎,以及病人和 Provider 視圖的起始前端集成。
按下下面的按鈕以使用此模板提示填充 Agent。
此提示可根據您的前端堆棧在生成後進行調整。
API 操作台
探索針對 Sleep Lab 架構的 REST 和 GraphQL 端點。回應使用模擬數據,無需 Back4app 帳戶。
使用與此模板相同的架構。
選擇您的技術
展開每個卡片以查看整合步驟、狀態管理模式、數據模型示例和離線考量。
Flutter 睡眠實驗室後端
React 睡眠實驗室後端
React 原生 睡眠實驗室後端
Next.js 睡眠實驗室後端
JavaScript 睡眠實驗室後端
Android 睡眠實驗室後端
iOS 睡眠實驗室後端
Vue 睡眠實驗室後端
Angular 睡眠實驗室後端
GraphQL 睡眠實驗室後端
REST API 睡眠實驗室後端
PHP 睡眠實驗室後端
.NET 睡眠實驗室後端
您從每項技術中獲得的內容
每個技術堆疊都使用相同的睡眠實驗室後端架構和 API 合約。
病人資料管理
輕鬆創建和管理睡眠實驗室的病人資料。
多導睡眠檢查報告存儲
安全存儲和訪問睡眠實驗室的多導睡眠檢查報告。
CPAP使用跟蹤
監控CPAP日誌管理以增強睡眠實驗室的護理。
合規性的審計日誌
維護詳細的審計日誌以確保睡眠實驗室的合規性。
REST/GraphQL APIs集成
無縫連接使用REST/GraphQL APIs的前端以支持睡眠實驗室。
可自定義的數據架構
根據睡眠實驗室的具體需求調整數據結構。
睡眠實驗室框架比較
比較所有支持技術的設置效率、SDK樣式和AI支持。
| 框架 | 設置時間 | 睡眠實驗室的好處 | SDK 類型 | AI 支持 |
|---|---|---|---|---|
| 少於5分鐘 | 手機和網頁上的睡眠實驗室單一代碼庫。 | Typed SDK | 全面 | |
| 約3–7分鐘 | 快速的睡眠實驗室網頁儀表板。 | Typed SDK | 全面 | |
| 快速(5分鐘)設置 | 跨平台的睡眠實驗室手機應用。 | Typed SDK | 全面 | |
| 約5分鐘 | 為睡眠實驗室提供伺服器渲染的網頁應用。 | Typed SDK | 全面 | |
| 約3–5分鐘 | 為睡眠實驗室提供輕量級網頁集成。 | Typed SDK | 全面 | |
| 少於5分鐘 | 本地的Android應用程序用於睡眠實驗室。 | Typed SDK | 全面 | |
| 約3–7分鐘 | 本地的iOS應用程序用於睡眠實驗室。 | Typed SDK | 全面 | |
| 快速(5分鐘)設置 | 為睡眠實驗室提供React的網頁UI。 | Typed SDK | 全面 | |
| 約5分鐘 | 企業網頁應用用於睡眠實驗室。 | Typed SDK | 全面 | |
| 少於2分鐘 | 靈活的GraphQL API用於睡眠實驗室。 | GraphQL API | 全面 | |
| 快速(2分鐘)設置 | 為睡眠實驗室提供REST API集成。 | REST API | 全面 | |
| 約3分鐘 | 為睡眠實驗室提供伺服器端PHP後端。 | REST API | 全面 | |
| 快速(5分鐘)設置 | 為睡眠實驗室提供.NET後端。 | Typed SDK | 全面 |
從項目初始化到第一位患者登錄和使用此模板架構的睡眠研究查詢的估計設置時間。
常見問題
有關使用此模板構建睡眠實驗室後端的常見詢問。