护理人员门户
与 AI Agent 一起构建
家庭护理提供者门户

家庭护理提供者门户应用程序后端模板
安全地与家属分享老年护理状态,具有字段级控制、生命体征和同意日志

一个可投入生产的 家庭护理提供者门户后端 在 Back4app 上。启用与家属安全、精细共享老年患者状态、实时生命体征、护理计划和不可更改的同意记录。

关键要点

使用此模板快速引导护理门户,包含 ElderlyProfile、FamilyMember、PermissionShare、VitalReading、CarePlan、VisitNote 和 AuditLog,以便您可以迅速提供安全的家庭访问。

  1. 细粒度权限模型使用 PermissionShare 将特定字段和资源类型共享给单独的家庭成员(例如,仅分享生命体征或生命体征 + 护理任务)。
  2. 以家庭为中心的身份流邀请家庭成员,管理角色(主要护理人、只读亲属),并集中撤销访问权,而不删除底层数据。
  3. 实时状态更新使用 Live Queries 将 VitalReading 和关键 VisitNote 更新实时传送给订阅的家庭成员,实现立即可见。
  4. 同意与可审计性记录谁获得了访问权限,分享了什么范围,以及何时通过附加的审计日志条目撤销。
  5. 跨平台后端使用相同的 REST 和 GraphQL API 为网络、移动和床边设备提供一致的授权和数据合同。

家庭护理者门户应用模板是什么?

Back4app 是一个 BaaS,用于快速交付。家庭护理者门户应用模板建模老年人档案、家庭成员、权限分享、生命体征、护理计划、访问记录和审计日志,以便您能够快速推出面向护理者的产品。

最佳适用:

家庭护理者门户高级监测应用授权健康摘要实时生命体征流同意和审计跟踪护理工作流程的 MVP

概述

家庭护理门户需要精确控制:家庭成员只能看到老人(或监护人)允许的内容。这包括字段级共享、时间限制访问和清晰的审计记录。

此模板提供类和所有权规则,以实现家庭邀请、权限撤销、生命体征流、护理任务和跨网页和移动客户端的追加审计能力。

核心家庭护理人员功能

每个技术卡都使用相同的看护人员门户后端架构(老年人资料、家庭成员、权限共享、生命体征、护理计划、访问备注、审计日志)。

家庭成员管理

将 Back4app 用户链接到老年人档案,包括关系、首选联系和角色(例如,主要照顾者)。

权限分享记录

向家庭成员授予来自老年人档案所有者的字段级或资源级访问权限,包括到期和撤销。

老年人档案及健康总结

存储人口统计数据、护理偏好、紧急联系人以及汇总的健康视图。

生命体征读取时间线(实时)

持久化时间序列生命体征(心率、血压、葡萄糖)与设备元数据及可选的 Live Queries。

护理计划任务和提醒

建模重复任务、指定家庭成员、完成历史和通知。

访问备注记录

存储与访问相关的临床医生或家庭备注,并按可见性范围进行标记。

知情同意审计日志

仅追加的记录授予、撤销和敏感数据访问事件。

为什么要使用Back4app构建您的家庭护理人员门户后端?

Back4app为您提供安全的数据共享、实时流媒体和可审计性的基础功能,让产品团队可以专注于护理人员的用户体验和合规性,而不是后端基础设施。

  • 字段级共享和范围: PermissionShare支持狭窄或广泛的范围(例如,仅限生命体征、完整健康摘要、护理任务),并支持到期以满足同意要求。
  • 在重要位置的实时可见性: 将VitalReading和高优先级的VisitNote更新流式传输到订阅的家庭成员,使紧急更改可以立即可见。
  • 以同意为先的审计日志: 仅附加的AuditLog条目记录授予、撤销和敏感操作,以便您能够证明谁在何时访问了什么。

通过安全、可共享的API和跨所有平台的实时选项,更快地发布护理人员功能。

核心利益

一个以隐私为首的护理后台,快速推出安全的家庭共享功能。

更快的护理功能交付

从一个专注于共享、生命体征、护理任务和审计日志的生产模式开始,加速产品开发。

精细化共享和撤销

准确授予家庭成员应该看到的内容,并在不删除底层记录的情况下撤销访问权限。

实时状态更新

使用 Live Queries 向订阅的家庭成员提供即时的关键更新(生命体征、高优先级备注)。

同意证明的审计记录

证明谁授予了访问权限以及时间,并记录敏感的访问事件以满足合规或家庭透明度。

跨设备一致性

使用一个后端合约为网页仪表板、移动应用和病床设备提供一致的权限检查。

AI辅助引导

使用提供的AI代理提示来搭建架构、ACL、CLP和您选择的技术的示例前端代码。

准备好启动您的家庭护理门户了吗?

让Back4app AI代理使用ElderlyProfile、PermissionShare、生命体征、护理计划和审核记录从一个提示中搭建您的护理后端。

免费开始 - 每月50个AI代理提示,无需信用卡

技术栈

此家庭护理门户后台模板中包含的一切。

前端
13+ 技术
后端
Back4app
数据库
MongoDB
认证
内置认证 + 邀请
API
REST 和 GraphQL
实时
Live Queries

ER 图

家庭照顾者门户架构的实体关系模型。

查看图表来源
Mermaid
erDiagram
    Patient ||--o{ FamilyMember : "connected to"
    Patient ||--o{ CarePermission : "has permission"
    FamilyMember ||--o{ CarePermission : "granted to"
    Patient ||--o{ Vitals : "measured as"
    Patient ||--o{ Medication : "prescribed"
    Patient ||--o{ VisitNote : "visited in"
    _User ||--o{ AuditLog : "performed"

    Patient {
        String objectId PK
        String fullName
        Date dateOfBirth
        String medicalRecordNumber
        String primaryPhysician
        File profilePhoto
        Boolean isActive
        Date createdAt
        Date updatedAt
    }

    FamilyMember {
        String objectId PK
        Pointer user FK
        String fullName
        String relationship
        String contactPhone
        String contactEmail
        Boolean isVerified
        Date createdAt
        Date updatedAt
    }

    CarePermission {
        String objectId PK
        Pointer patient FK
        Pointer familyMember FK
        String accessLevel
        String status
        Pointer grantedBy FK
        Date expiresAt
        Date createdAt
        Date updatedAt
    }

    Vitals {
        String objectId PK
        Pointer patient FK
        Pointer recordedBy FK
        String type
        String value
        String unit
        Date recordedAt
        Boolean isCritical
        Date createdAt
        Date updatedAt
    }

    Medication {
        String objectId PK
        Pointer patient FK
        String name
        String dose
        String schedule
        Date nextDoseAt
        Boolean isActive
        String notes
        Date createdAt
        Date updatedAt
    }

    VisitNote {
        String objectId PK
        Pointer patient FK
        Pointer author FK
        String note
        Date visitDate
        String visibility
        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
    }

集成流程

典型运行流程:身份验证、家庭邀请、权限共享、生命体征获取和实时更新。

查看图表来源
Mermaid
sequenceDiagram
  participant User
  participant Portal as Family Caregiver Portal App
  participant Back4app as Back4app Cloud

  User->>Portal: Login with email or SSO
  Portal->>Back4app: POST /login (credentials)
  Back4app-->>Portal: Session token + user profile

  User->>Portal: Request access to Patient "Evelyn Parker"
  Portal->>Back4app: POST /classes/CarePermission { patient: Pointer(Patient, p1), familyMember: Pointer(FamilyMember, fm1), accessLevel: "vitals", status: "pending" }
  Back4app-->>Portal: CarePermission objectId + status pending

  Portal->>Back4app: Send notification / email to patient delegate (automated)
  User->>Portal: Patient or delegate approves request
  Portal->>Back4app: PUT /classes/CarePermission/{id} { status: "active", grantedBy: Pointer(_User, uPatient) }
  Back4app-->>Portal: CarePermission updated -> status active

  User->>Portal: Open patient dashboard (Vitals, Medications, Notes)
  Portal->>Back4app: GET /classes/Vitals?where={"patient":Pointer("Patient","p1")}&order=-recordedAt
  Back4app-->>Portal: Vitals list

  Back4app-->>Portal: LiveQuery event: Vitals created (real-time)
  Portal-->>User: Real-time update on patient vital signs

数据字典

家庭护理人员门户架构中每个类的完整字段级参考。

字段类型描述必需
objectIdStringAuto-generated unique identifier自动
fullNameStringPatient display name
dateOfBirthDateDate of birth for age calculations
medicalRecordNumberStringInternal MRN or identifier
primaryPhysicianStringName or contact of primary physician
profilePhotoFileOptional profile photo
isActiveBooleanWhether the patient profile is active
createdAtDateAuto-generated creation timestamp自动
updatedAtDateAuto-generated last-update timestamp自动

9 字段在 Patient 中

安全性和权限

如何通过 ACL、CLP 和 PermissionShare 策略保护老年记录、家庭访问和审计轨迹。

基于 PermissionShare 的可见性

使用 PermissionShare 对象确定受赠人可以读取的字段和类。保留主老年人档案记录为私密,仅公开允许的摘要。

时间限制和可撤销访问

支持 PermissionShare 上的 expiresAt 以及服务器端撤销,以满足同意要求和紧急访问场景 iOS。

追加审计记录

写入审计日志条目以进行授权、撤销和敏感读取。限制仅信任的后端角色对审计条目的编辑。

模式(JSON)

准备好复制到 Back4app 或用作实现参考的原始 JSON 模式定义。

JSON
{
  "classes": [
    {
      "className": "Patient",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "dateOfBirth": {
          "type": "Date",
          "required": false
        },
        "medicalRecordNumber": {
          "type": "String",
          "required": true
        },
        "primaryPhysician": {
          "type": "String",
          "required": false
        },
        "profilePhoto": {
          "type": "File",
          "required": false
        },
        "isActive": {
          "type": "Boolean",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "FamilyMember",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "user": {
          "type": "Pointer",
          "required": true,
          "targetClass": "_User"
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "relationship": {
          "type": "String",
          "required": false
        },
        "contactPhone": {
          "type": "String",
          "required": false
        },
        "contactEmail": {
          "type": "String",
          "required": false
        },
        "isVerified": {
          "type": "Boolean",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "CarePermission",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "patient": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Patient"
        },
        "familyMember": {
          "type": "Pointer",
          "required": true,
          "targetClass": "FamilyMember"
        },
        "accessLevel": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "grantedBy": {
          "type": "Pointer",
          "required": false,
          "targetClass": "_User"
        },
        "expiresAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Vitals",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "patient": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Patient"
        },
        "recordedBy": {
          "type": "Pointer",
          "required": false,
          "targetClass": "_User"
        },
        "type": {
          "type": "String",
          "required": true
        },
        "value": {
          "type": "String",
          "required": true
        },
        "unit": {
          "type": "String",
          "required": false
        },
        "recordedAt": {
          "type": "Date",
          "required": true
        },
        "isCritical": {
          "type": "Boolean",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Medication",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "patient": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Patient"
        },
        "name": {
          "type": "String",
          "required": true
        },
        "dose": {
          "type": "String",
          "required": true
        },
        "schedule": {
          "type": "String",
          "required": false
        },
        "nextDoseAt": {
          "type": "Date",
          "required": false
        },
        "isActive": {
          "type": "Boolean",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "VisitNote",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "patient": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Patient"
        },
        "author": {
          "type": "Pointer",
          "required": false,
          "targetClass": "_User"
        },
        "note": {
          "type": "String",
          "required": true
        },
        "visitDate": {
          "type": "Date",
          "required": false
        },
        "visibility": {
          "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 AI 代理
准备构建
在 Back4app 上创建一个家庭护理人员门户后端,使用这个确切的架构和行为。

架构:
1. ElderlyProfile: owner(指向用户的指针,必填),fullName(字符串,必填),dateOfBirth(日期),carePreferences(对象),emergencyContacts(数组);objectId,createdAt,updatedAt(系统)。
2. FamilyMember: user(指向用户的指针,必填),elderlyProfile(指向ElderlyProfile的指针,必填),relation(字符串),role(字符串:主要,次要,只读);objectId,createdAt,updatedAt(系统)。
3. PermissionShare: owner(指向用户的指针,必填),grantee(指向用户的指针,必填),elderlyProfile(指向ElderlyProfile的指针,必填),scope(对象:字段和资源类型),expiresAt(日期,选填),active(布尔值);objectId,createdAt,updatedAt(系统)。
4. VitalReading: elderlyProfile(指向ElderlyProfile的指针,必填),type(字符串:心率,血压,葡萄糖,等,必填),value(字符串),unit(字符串),recordedAt(日期,必填),source(字符串,选填);objectId,createdAt,updatedAt(系统)。
5. CarePlan: elderlyProfile(指向ElderlyProfile的指针,必填),title(字符串,必填),tasks(对象数组:任务,频率,分配给),status(字符串),nextDueAt(日期);objectId,createdAt,updatedAt(系统)。
6. VisitNote: elderlyProfile(指向ElderlyProfile的指针,必填),author(指向用户的指针,必填),note(字符串,必填),visibility(字符串:私人,共享),createdAt(日期);objectId,createdAt,updatedAt(系统)。
7. AuditLog: actor(指向用户的指针,必填),action(字符串,必填),targetType(字符串,必填),targetId(字符串,必填),payload(对象,选填);objectId,createdAt,updatedAt(系统)。

安全性:
- 使用PermissionShare来控制读取;在云代码中强制执行敏感读取和写入的服务器端检查。设置CLP/ACL,以便只有所有者和系统角色可以编辑主ElderlyProfile记录。

身份验证:
- 注册,登录,邀请家庭成员流程。FamilyMember是在用户与ElderlyProfile之间的链接。

行为:
- 邀请家庭成员,创建具有作用域和过期的PermissionShare记录,从设备获取VitalReading事件,通过 Live Queries 通知订阅的家庭成员,并为授权、撤销和显著读取写入审计日志条目。

交付:
- Back4app 应用程序,具有架构、ACL、CLP、权限强制执行的云代码钩子,以及初始前端集成示例。

点击下面的按钮以使用此模板提示预填充打开代理。

这是没有技术后缀的基础提示。您可以在之后调整生成的前端技术栈。

几分钟内部署每月50个免费提示无需信用卡

API 操作台

尝试针对家庭照顾者门户架构的 REST 和 GraphQL 端点。响应使用模拟数据,无需 Back4app 账户。

common.loadingPlayground

使用与该模板相同的架构。

选择您的技术

展开每个卡片以查看集成步骤、状态模式、数据模型示例和离线备注。

Flutter 家庭护理人员门户后端

React 家庭护理人员门户后端

React 原生 家庭护理人员门户后端

Next.js 家庭护理人员门户后端

JavaScript 家庭护理人员门户后端

Android 家庭护理人员门户后端

iOS 家庭护理人员门户后端

Vue 家庭护理人员门户后端

Angular 家庭护理人员门户后端

GraphQL 家庭护理人员门户后端

REST API 家庭护理人员门户后端

PHP 家庭护理人员门户后端

.NET 家庭护理人员门户后端

您每使用一种技术都会得到什么

每个技术栈使用相同的家庭照顾者门户后端架构和 API 合同。

统一的 家庭照顾者 数据管理

轻松在一个地方管理个人资料、护理计划和访问记录。

家庭照顾者 的安全共享

安全地在照顾者和家庭成员之间共享重要信息。

基于角色的访问控制

定义用户角色以控制谁可以查看或编辑敏感数据。

REST/GraphQL API 用于 家庭照顾者

通过强大的 API 与您现有的应用程序无缝集成。

实时健康指标跟踪

监控和更新健康指标,以确保及时护理。

可定制的护理计划

轻松创建和修改针对个人需求的护理计划。

家庭照顾者门户框架比较

比较所有支持的技术的设置速度、SDK 风格和 AI 支持。

框架设置时间家庭照顾者门户优势SDK 类型AI 支持
~5分钟移动和网络上的家庭照顾者门户单一代码库。Typed SDK完整
大约 5分钟家庭照顾者门户的快速网络仪表板。Typed SDK完整
少于 5分钟家庭照顾者门户的跨平台移动应用。Typed SDK完整
~3–7分钟家庭照顾者门户的服务器渲染网络应用。Typed SDK完整
~3分钟家庭照顾者门户的轻量级网络集成。Typed SDK完整
~5分钟家庭照顾者门户的原生 Android 应用。Typed SDK完整
大约 5分钟家庭照顾者门户的原生 iOS 应用。Typed SDK完整
少于 5分钟React 先进的网页 UI 适用于家庭照顾者门户。Typed SDK完整
~3–7分钟企业网络应用为家庭照顾者门户。Typed SDK完整
快速(2分钟)设置灵活的 GraphQL API 用于家庭照顾者门户。GraphQL API完整
~2分钟REST API 集成用于家庭照顾者门户。REST API完整
少于 5分钟家庭照顾者门户的服务器端 PHP 后端。REST API完整
少于 5分钟.NET 后端用于家庭照顾者门户。Typed SDK完整

设置时间反映从项目启动到使用此模板架构进行第一次邀请流程和重要指标查询的预期持续时间。

常见问题解答

关于使用此模板构建家庭照顾者门户的常见问题。

什么是家庭照护者门户后端?
家庭照护者门户模板包含什么?
为什么使用 Back4app 来构建照护者门户?
我如何从设备获取生命体征?
我该如何建模定期护理任务?
React Native 能否离线缓存生命体征和个人资料摘要?
我该如何防止未授权访问敏感字段?
在 Android 上显示家庭角色的最佳方法是什么?
同意记录流程是如何端到端工作的?
我应该如何处理紧急访问?

受到全球开发者的信任

构建看护者功能和隐私优先共享信任的团队 Back4app 模板。

G2 Users Love Us Badge

准备好建立您的看护者门户了吗?

在几分钟内开始您的家庭看护者项目。无需信用卡。

选择技术