Plantilla de Backend de Aplicación de Registro de Salud Personal (PHR)
Documentos médicos propiedad del usuario, seguimiento de alérgenos y registros de vacunación
Un backend de Registro de Salud Personal listo para producción en Back4app con almacenamiento de documentos médicos, historiales de alergias y vacunación, modelos de medicamentos y laboratorio, consentimiento/compartición, registros de auditoría, diagrama ER, y un prompt de Agente de IA para un arranque rápido.
Conclusiones clave
Esta plantilla te ofrece un backend PHR centrado en el usuario con almacenamiento de documentos, alergias, inmunizaciones, medicamentos, resultados de laboratorio, objetos de consentimiento y registros de auditoría para que puedas entregar aplicaciones de salud priorizando la privacidad rápidamente.
- Datos de salud controlados por el usuario — Mantén a los pacientes en primer lugar: los registros y consentimientos son propiedad y están controlados por la cuenta del usuario, lo que permite el intercambio selectivo con Providers.
- Entidades clínicas estructuradas — Modelo de alergias, inmunizaciones, medicamentos y resultados de laboratorio con campos tipificados para consultas precisas y visualización de UX.
- Carga de documentos y versionado — Almacena PDFs, imágenes y documentos estructurados con metadatos e historial de cargas para apoyar flujos de trabajo clínicos.
- Compartición impulsada por consentimiento — Otorgue acceso detallado a Provider con objetos de Consentimiento y permisos limitados en el tiempo.
- Preparación multiplataforma — Sirva portales móviles, web y Provider utilizando REST unificado y APIs de GraphQL con Live Queries para actualizaciones en tiempo real.
¿Qué es la Plantilla de Backend de la Aplicación de Registro de Salud Personal (PHR)?
Back4app es un backend como servicio (BaaS) para una entrega rápida de productos. La Plantilla de Backend de la Aplicación PHR es un esquema preconstruido para documentos médicos, alergias, inmunizaciones, medicamentos, resultados de laboratorio, Providers, consentimientos y registros de auditoría. Conecte su frontend (React, Flutter, Next.js, y más) y acelere la entrega.
Mejor para:
Descripción general
Un producto PHR moderno necesita almacenamiento seguro centrado en el usuario para documentos, registros precisos de alergias e inmunización, historial de medicamentos y un modelo de consentimiento para compartir datos con Providers.
Esta plantilla define HealthDocument, Allergy, Immunization, Medication, LabResult, Provider, Consent y AuditLog con reglas de propiedad y flujos de trabajo extensibles para que los equipos puedan implementar aplicaciones PHR de manera rápida y conforme.
Características básicas de PHR
Cada tarjeta de tecnología en este hub utiliza el mismo esquema de backend PHR con HealthDocument, Allergy, Immunization, Medication, LabResult, Provider, Consent, y AuditLog.
bóveda de documentos médicos
Sube y versiona PDFs, imágenes y registros estructurados con metadatos y apuntadores de propietario.
Seguimiento de alergias y Reactiones
Registra alérgenos, Reactiones, gravedad y fecha de aparición vinculados a un propietario.
Historial de inmunización y vacunación
Capturar nombre de la vacuna, fecha de administración, lote y referencia de Provider.
Listas y horarios de medicamentos
Almacenar medicamentos activos e históricos con dosis, frecuencia e instrucciones.
Resultados de laboratorio
Almacenar resultados de laboratorio con valores numéricos, unidades, rangos de referencia y adjuntos.
Controles de consentimiento y compartición
Conceder acceso específico a registros de Provider con fecha de caducidad y alcance.
Registros de auditoría centralizados
Registrar actor, acción, objetivo y metadatos de carga útil para trazabilidad.
¿Por qué construir tu backend de PHR con Back4app?
Back4app te proporciona la infraestructura básica para aplicaciones de PHR, para que tu equipo pueda centrarse en la experiencia del usuario, las experiencias de consentimiento y las integraciones en lugar de la plomería del backend.
- •Propiedad de datos centrada en el usuario: Implementa reglas de propiedad y objetos de consentimiento para que los pacientes mantengan el control sobre quién puede ver o descargar sus registros.
- •Almacenamiento seguro de documentos y metadatos: Carga documentos clínicos con metadatos, versiones y punteros a datos estructurados como laboratorios e inmunizaciones.
- •Auditoría + flexibilidad de API: Mantén registros de auditoría para eventos compartidos y cambios de registro mientras proporcionas REST y GraphQL para clientes web y móviles.
Lanza un backend de PHR centrado en la privacidad rápidamente con almacenamiento escalable, autenticación y APIs en todas las plataformas.
Beneficios Clave
Un backend PHR que te ayuda a ofrecer experiencias de salud con enfoque en la privacidad mientras mantienes los datos estructurados y auditables.
Velocidad al mercado
Comienza a partir de un esquema PHR completo en lugar de diseñar entidades clínicas y flujos de consentimiento desde cero.
Control de acceso centrado en el paciente
Permite a los pacientes gestionar consentimientos y compartir registros de manera selectiva con Provider y aplicaciones.
Modelos de datos interoperables
Utiliza modelos estructurados de inmunización, medicación y laboratorio para integraciones y análisis.
Permisos detallados
Utiliza objetos ACL/CLP y de Consentimiento para que el acceso sea explícito y auditable.
Rastro de auditoría confiable
Registre los eventos de acceso y compartición para transparencia y cumplimiento.
Flujo de arranque asistido por IA
Genere rápidamente la estructura del backend y la guía de integración con un aviso de Agente de IA pre-construido.
¿Listo para construir un Registro de Salud Personal centrado en el usuario?
Deje que el Agente de IA de Back4app estructure su backend de PHR y genere documentos, alergias, inmunizaciones, consentimientos y registros de auditoría desde un solo aviso.
Gratis para empezar — 50 avisos de Agente de IA/mes, sin necesidad de tarjeta de crédito
Pila técnica
Todo incluido en esta plantilla de backend PHR.
Diagrama ER
Modelo de entidad-relación para el esquema de backend PHR.
Esquema que cubre documentos médicos de propiedad del usuario, alergias, inmunizaciones, medicamentos, resultados de laboratorio, consentimientos y registro de auditoría.
Ver fuente del diagrama
erDiagram
Profile ||--o{ MedicalDocument : "owns"
Profile ||--o{ Allergy : "has"
Profile ||--o{ Vaccination : "has"
Profile ||--o{ SharedAccess : "grants"
Profile ||--o{ EmergencyContact : "links to"
MedicalDocument }o--|| Profile : "profile"
Vaccination }o--|| Profile : "profile"
Allergy }o--|| Profile : "profile"
SharedAccess }o--|| Profile : "profile"
SharedAccess }o--|| _User : "grantee"
Profile {
String objectId PK
Pointer user FK
String fullName
Date birthDate
String gender
String bloodType
String primaryCareProvider
String notes
Date createdAt
Date updatedAt
}
MedicalDocument {
String objectId PK
Pointer profile FK
File file
String documentType
String title
String description
Array<String> tags
Date uploadedAt
Boolean isShared
Date createdAt
Date updatedAt
}
Allergy {
String objectId PK
Pointer profile FK
String substance
String severity
String reaction
String notes
Date recordedAt
Boolean isActive
Date createdAt
Date updatedAt
}
Vaccination {
String objectId PK
Pointer profile FK
String vaccineName
Date dateAdministered
String dose
String lotNumber
String provider
Date nextDoseDate
Pointer proofDocument FK
Date createdAt
Date updatedAt
}
SharedAccess {
String objectId PK
Pointer profile FK
Pointer grantee FK
String accessLevel
Array<String> scope
Date expiresAt
Pointer createdBy FK
Date createdAt
Date updatedAt
}
EmergencyContact {
String objectId PK
Pointer profile FK
String name
String relationship
String phone
String notes
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
}
Flujo de integración
Flujo de ejecución típico para autenticación, acceso a registros, carga de documentos, otorgamiento de consentimiento y registro de auditoría.
Ver fuente del diagrama
sequenceDiagram
participant User
participant App as Personal Health Record (PHR) App
participant Back4app as Back4app Cloud
User->>App: Login with email (patient) or OAuth (clinician)
App->>Back4app: POST /login
Back4app-->>App: Session token + user profile
User->>App: List my vaccinations and allergies
App->>Back4app: GET /classes/Vaccination?where={"profile":{"__type":"Pointer","className":"Profile","objectId":"profileId"}}
Back4app-->>App: Vaccination and Allergy records
User->>App: Upload lab result PDF
App->>Back4app: POST /files -> create MedicalDocument with file pointer
Back4app-->>App: File object + MedicalDocument.objectId
User->>App: Share record with Dr. Lee for 48h
App->>Back4app: POST /classes/SharedAccess with accessLevel and expiresAt
Back4app-->>App: SharedAccess.objectId + notification
Back4app-->>App: Live Query event: MedicalDocument updated by clinician
App-->>User: Notify patient in-app / refresh documents listDiccionario de datos
Referencia completa a nivel de campo para cada clase en el esquema PHR.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automático |
| user | Pointer<_User> | Linked Back4app user account (patient or caregiver) | |
| fullName | String | Patient full name | |
| birthDate | Date | Date of birth | — |
| gender | String | Gender identity | — |
| bloodType | String | Blood type (e.g. A+, O-) | — |
| primaryCareProvider | String | Name or clinic of primary care provider | — |
| notes | String | Free-text health notes or summary | — |
| createdAt | Date | Auto-generated creation timestamp | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
10 campos en Profile
Seguridad y Permisos
Cómo ACL, CLP, objetos de consentimiento y Cloud Code aseguran registros de salud personales y su compartición.
Registros de propiedad del paciente
Establecer propiedad y ACL para que las entradas de HealthDocument, Allergy, Immunization, Medication y LabResult sean legibles y editables solo por el propietario del registro y los Providers autorizados.
Compartición basada en consentimiento
Utilice la clase Consent para otorgar acceso a Provider con un ámbito y una caducidad explícitos; Cloud Code aplica verificaciones de consentimiento en los endpoints de lectura/descarga.
Registros de auditoría solo de apéndice
Mantenga las entradas de AuditLog solo de apéndice para los usuarios estándar; solo los flujos de backend de confianza o los administradores pueden escribir o gestionar registros históricos.
Esquema (JSON)
Definición de esquema JSON en bruto lista para copiar en Back4app o usar como referencia de implementación.
{
"classes": [
{
"className": "Profile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"fullName": {
"type": "String",
"required": true
},
"birthDate": {
"type": "Date",
"required": false
},
"gender": {
"type": "String",
"required": false
},
"bloodType": {
"type": "String",
"required": false
},
"primaryCareProvider": {
"type": "String",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "MedicalDocument",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"file": {
"type": "File",
"required": true
},
"documentType": {
"type": "String",
"required": true
},
"title": {
"type": "String",
"required": true
},
"description": {
"type": "String",
"required": false
},
"tags": {
"type": "Array",
"required": false
},
"uploadedAt": {
"type": "Date",
"required": true
},
"isShared": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Allergy",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"substance": {
"type": "String",
"required": true
},
"severity": {
"type": "String",
"required": true
},
"reaction": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"recordedAt": {
"type": "Date",
"required": true
},
"isActive": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Vaccination",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"vaccineName": {
"type": "String",
"required": true
},
"dateAdministered": {
"type": "Date",
"required": true
},
"dose": {
"type": "String",
"required": false
},
"lotNumber": {
"type": "String",
"required": false
},
"provider": {
"type": "String",
"required": false
},
"nextDoseDate": {
"type": "Date",
"required": false
},
"proofDocument": {
"type": "Pointer",
"required": false,
"targetClass": "MedicalDocument"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SharedAccess",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"grantee": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"accessLevel": {
"type": "String",
"required": true
},
"scope": {
"type": "Array",
"required": false
},
"expiresAt": {
"type": "Date",
"required": false
},
"createdBy": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "EmergencyContact",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"profile": {
"type": "Pointer",
"required": true,
"targetClass": "Profile"
},
"name": {
"type": "String",
"required": true
},
"relationship": {
"type": "String",
"required": true
},
"phone": {
"type": "String",
"required": true
},
"notes": {
"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
}
}
}
]
}Construir con el Agente de IA
Utilice el Agente de IA de Back4app para generar una verdadera aplicación de Registro de Salud Personal a partir de esta plantilla, incluyendo frontend, backend, autenticación y flujos de consentimiento.
Crea un backend de Registro de Salud Personal (PHR) en Back4app con este esquema y comportamiento exactos. Esquema: 1. HealthDocument: propietario (Puntero a Usuario, requerido), título (Cadena, requerido), archivo (Archivo, requerido), etiquetas (Array, opcional), versión (Número, por defecto 1), createdAt, updatedAt (sistema). 2. Allergy: propietario (Puntero a Usuario, requerido), sustancia (Cadena, requerido), Reactión (Cadena, opcional), severidad (Cadena: leve, moderada, grave, requerido), fecha de inicio (Fecha, opcional). 3. Immunization: propietario (Puntero a Usuario, requerido), nombreDeLaVacuna (Cadena, requerido), administradoEn (Fecha, requerido), númeroDeLote (Cadena, opcional), Provider (Puntero a Provider, opcional). 4. Medication: propietario (Puntero a Usuario, requerido), nombre (Cadena, requerido), dosis (Cadena, opcional), frecuencia (Cadena, opcional), instrucciones (Cadena, opcional), activo (Booleano, por defecto verdadero). 5. LabResult: propietario (Puntero a Usuario, requerido), nombreDeLaPrueba (Cadena, requerido), valor (Número o Cadena), unidades (Cadena, opcional), rangoReferencial (Cadena, opcional), fecha (Fecha, requerido), adjunto (Puntero a HealthDocument, opcional). 6. Provider: nombre (Cadena, requerido), systemId (Cadena, opcional), contacto (Objeto, opcional). 7. Consent: propietario (Puntero a Usuario, requerido), Provider (Puntero a Provider, requerido), alcance (Array de Cadenas: [documentos, alergias, inmunizaciones, medicamentos, laboratorios]), expiraEn (Fecha, opcional), otorgadoPor (Puntero a Usuario o sistema). 8. AuditLog: actor (Puntero a Usuario, requerido), acción (Cadena, requerido), tipoDeEntidad (Cadena, requerido), idDeEntidad (Cadena, requerido), carga (Objeto, opcional); createdAt, updatedAt (sistema). Seguridad: - Usa ACL/CLP para que solo los propietarios y Provider con consentimiento accedan a los registros. El Cloud Code valida el Consentimiento antes de permitir la lectura/descarga de Provider. Las entradas de AuditLog son solo para añadir para usuarios estándar. Autenticación: - Registro, inicio de sesión, cierre de sesión para cuentas de usuario. Soporte para cuentas de Provider con privilegios limitados. Comportamiento: - Autenticar, listar registros de usuario, cargar HealthDocument, crear entradas estructuradas de Allergy/Immunization/Medication/LabResult, crear Consentimiento para compartir registros seleccionados con un Provider, y escribir entradas de AuditLog para eventos críticos. Entregar: - Aplicación Back4app con esquema, ACLs, CLPs; frontend para bóveda de documentos segura, líneas de tiempo de alergias e inmunizaciones, listas de medicamentos, vistas de resultados de laboratorios, flujos de consentimiento Provider, y historial de auditos.
Presiona el botón de abajo para abrir el Agente con este aviso de plantilla pre-completado.
Este es el aviso base sin un sufijo tecnológico. Puedes adaptar la pila frontend generada después.
API Playground
Prueba los endpoints REST y GraphQL contra el esquema PHR. Las respuestas utilizan datos de prueba y no requieren una cuenta de Back4app.
Utiliza el mismo esquema que esta plantilla.
Elige tu tecnología
Expande cada tarjeta para los pasos de integración, patrones de estado, ejemplos de modelo de datos y notas fuera de línea.
Flutter PHR Backend
React PHR Backend
React Nativo PHR Backend
Next.js PHR Backend
JavaScript PHR Backend
Android PHR Backend
iOS PHR Backend
Vue PHR Backend
Angular PHR Backend
GraphQL PHR Backend
REST API PHR Backend
PHP PHR Backend
.NET PHR Backend
Lo que obtienes con cada tecnología
Cada stack utiliza el mismo esquema de backend PHR y contratos de API.
Estructura de datos unificada registro de salud personal
Un esquema preconstruido para documentos y registros médicos.
Compartición segura para registro de salud personal
Comparta fácilmente información de salud con Providers mientras asegura la privacidad.
Registros de auditoría completos para registro de salud personal
Rastree todos los accesos y cambios a datos de salud sensibles.
REST/GraphQL APIs para registro de salud personal
Acceso a API flexible para integrarse sin problemas con varias interfaces.
Actualizaciones en tiempo real para registro de salud personal
Notificaciones instantáneas sobre cambios en registros de salud y estado.
Extensibilidad para registro de salud personal
Añada fácilmente características y módulos personalizados para adaptarse a necesidades específicas.
Comparación del Marco de Registro de Salud Personal
Compare la velocidad de configuración, el estilo de SDK y el soporte de IA en todas las tecnologías compatibles.
| Marco | Tiempo de Configuración | Beneficio del Registro de Salud Personal | Tipo de SDK | Soporte de IA |
|---|---|---|---|---|
| Menos de 5 minutos | Base de código única para el registro de salud personal en móvil y web. | Typed SDK | Completo | |
| ~3–7 min | Tablero web rápido para el registro de salud personal. | Typed SDK | Completo | |
| Configuración rápida (5 min) | Aplicación móvil multiplataforma para el registro de salud personal. | Typed SDK | Completo | |
| ~5 min | Aplicación web renderizada en servidor para el registro de salud personal. | Typed SDK | Completo | |
| ~3 min | Integración web liviana para el registro de salud personal. | Typed SDK | Completo | |
| Menos de 5 minutos | Aplicación nativa Android para el registro de salud personal. | Typed SDK | Completo | |
| ~3–7 min | Aplicación nativa iOS para el registro de salud personal. | Typed SDK | Completo | |
| Configuración rápida (5 min) | Interfaz web Reactiva para el registro de salud personal. | Typed SDK | Completo | |
| ~5 min | Aplicación web empresarial para el registro de salud personal. | Typed SDK | Completo | |
| Configuración rápida (2 min) | API GraphQL flexible para el registro de salud personal. | GraphQL API | Completo | |
| ~2 min | Integración REST API para el registro de salud personal. | REST API | Completo | |
| Menos de 5 min | Backend PHP del lado del servidor para el registro de salud personal. | REST API | Completo | |
| Configuración rápida (5 min) | Backend .NET para el registro de salud personal. | Typed SDK | Completo |
El tiempo de configuración refleja la duración esperada desde el inicio del proyecto hasta la primera carga de documentos y flujo de consentimiento utilizando este esquema de plantilla.
Preguntas Frecuentes
Preguntas comunes sobre la construcción de un backend de Registro de Salud Personal con esta plantilla.
¿Listo para construir tu aplicación de registro de salud personal?
Inicia tu proyecto de Registro de Salud Personal en minutos. No se requiere tarjeta de crédito.