Modelo de Back-end do Aplicativo de Prontuário de Saúde Pessoal (PHR)
Documentos médicos de propriedade do usuário, rastreamento de alergias e registros de vacinação
Back-end do Prontuário de Saúde Pessoal pronto para produção em Back4app com armazenamento de documentos médicos, históricos de alergias e vacinação, modelos de medicamentos e de exames, consentimento/ compartilhamento, registros de auditoria, diagrama ER, e um prompt Agente de IA para inicialização rápida.
Pontos-chave
Este modelo oferece um backend de PHR centrado no usuário com armazenamento de documentos, alergias, imunizações, medicamentos, resultados de laboratório, objetos de consentimento e logs de auditoria, para que você possa entregar rapidamente aplicativos de saúde com privacidade em primeiro plano.
- Dados de saúde controlados pelo usuário — Coloque os pacientes em primeiro lugar: os registros e consentimentos são de propriedade e controlados pela conta do usuário, permitindo compartilhamento seletivo com Providers.
- Entidades clínicas estruturadas — Modele alergias, imunizações, medicamentos e resultados de laboratório com campos tipados para consultas precisas e exibição na UX.
- Carregamento de documentos e versionamento — Armazene PDFs, imagens e documentos estruturados com metadados e histórico de envios para apoiar fluxos de trabalho clínicos.
- Compartilhamento orientado por consentimento — Conceda acesso granular ao Provider com objetos de Consentimento e permissões com validade limitada.
- Prontidão multiplataforma — Atende dispositivos móveis, web e portais Provider usando REST unificado e APIs GraphQL com Live Queries para atualizações em tempo real.
O que é o Modelo de Backend do Aplicativo de Registro de Saúde Pessoal (PHR)?
Back4app é um backend-as-a-service (BaaS) para entrega rápida de produtos. O PHR App Backend Template é um esquema pré-construído para documentos médicos, alergias, imunizações, medicamentos, resultados de laboratório, Providers, consentimentos e logs de auditoria. Conecte seu frontend (React, Flutter, Next.js, e mais) e acelere a entrega.
Melhor para:
Visão geral
Um produto PHR moderno precisa de armazenamento seguro centrado no usuário para documentos, registros precisos de alergias e imunizações, histórico de medicação e um modelo de consentimento para compartilhar dados com Providers.
Este modelo define HealthDocument, Allergy, Immunization, Medication, LabResult, Provider, Consent e AuditLog com regras de propriedade e fluxos de trabalho extensíveis para que equipes possam implementar aplicativos PHR de forma rápida e em conformidade.
Principais recursos de PHR
Cada cartão de tecnologia neste hub usa o mesmo esquema de backend PHR com HealthDocument, Allergy, Immunization, Medication, LabResult, Provider, Consent e AuditLog.
Cofre de documentos médicos
Faça upload e crie novas versões de PDFs, imagens e registros estruturados com metadados e ponteiros do proprietário.
Rastreamento de alergias e Reaction
Registre alérgenos, Reactions, gravidade e data de início vinculados a um proprietário.
Imunização e histórico de vacinação
Registre o nome da vacina, data de administração, lote e referência Provider.
Listas de medicamentos e cronogramas
Armazene medicamentos ativos e históricos com dosagem, frequência e instruções.
Resultados de laboratório
Armazene resultados de laboratório com valores numéricos, unidades, intervalos de referência e anexos.
Controles de consentimento e compartilhamento
Conceda acesso específico ao Provider aos registros com prazo de validade e escopo.
Registros de auditoria centralizados
Metadados do ator do registro, da ação, do alvo e da carga útil para rastreabilidade.
Por que construir o backend do seu PHR com Back4app?
Back4app oferece a infraestrutura central para aplicativos PHR, para que sua equipe possa se concentrar em UX, experiências de consentimento e integrações, em vez da infraestrutura de backend.
- •Propriedade dos dados centrada no usuário: Implemente regras de propriedade e objetos de consentimento para que os pacientes mantenham o controle de quem pode visualizar ou baixar seus prontuários.
- •Armazenamento seguro de documentos e metadados: Carregar documentos clínicos com metadados, versões e ponteiros para dados estruturados como resultados de laboratório e immunizações.
- •Auditabilidade + flexibilidade de API: Persistir logs de auditoria para eventos de compartilhamento e alterações em registros, enquanto fornece REST e GraphQL para clientes web e móveis.
Lance rapidamente um backend de PHR priorizando a privacidade, com armazenamento escalável, autenticação e APIs em todas as plataformas.
Principais Benefícios
Um back-end de PHR que ajuda você a oferecer experiências de saúde com foco na privacidade, mantendo os dados estruturados e auditáveis.
Tempo de entrada no mercado
Comece a partir de um esquema PHR completo, em vez de projetar entidades clínicas e fluxos de consentimento do zero.
Controle de acesso centrado no paciente
Permitir que os pacientes gerenciem consentimentos e compartilhem registros seletivamente com Providers e aplicativos.
Modelos de dados interoperáveis
Use modelos estruturados de imunização, medicamentos e dados de laboratório para integrações e análises.
Permissões granulares
Use ACL/CLP e objetos de Consentimento para que o acesso seja explícito e auditável.
Trilha de auditoria confiável
Registre eventos de acesso e compartilhamento para transparência e conformidade.
Fluxo de bootstrap assistido por IA
Gere rapidamente o esqueleto de backend e as diretrizes de integração com um prompt de AI Agent pré-construído.
Pronto para construir um Registro de Saúde Pessoal centrado no usuário?
Deixe o agente de IA Back4app estruturar o backend do seu Registro de Saúde Pessoal e gerar documentos, alergias, imunizações, consentimentos e logs de auditoria a partir de um único prompt.
Gratuito para começar — 50 prompts do AI Agent por mês, não é necessário cartão de crédito.
Pilha técnica
Tudo incluído neste modelo de backend PHR.
Diagrama ER
Modelo de Entidade-Relacionamento para o esquema de backend do PHR
Esquema que abrange documentos médicos de propriedade do usuário, alergias, imunizações, medicamentos, resultados de laboratório, consentimentos e registro de auditoria.
Ver fonte do 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
}
Fluxo de Integração
Fluxo típico de tempo de execução para autenticação, acesso a registros, upload de documentos, concessão de consentimento e registro de auditoria.
Ver fonte do 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 listDicionário de Dados
Referência completa em nível de campo para cada classe no esquema PHR.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| 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 em Profile
Segurança e Permissões
Como ACL, CLP, objetos de consentimento e Cloud Code protegem registros de saúde pessoais e o compartilhamento.
Registros de propriedade do paciente
Defina a propriedade e a ACL para que as entradas HealthDocument, Allergy, Immunization, Medication e LabResult sejam legíveis e graváveis apenas pelo proprietário do registro e pelos Providers autorizados.
Compartilhamento orientado por consentimento
Use a classe Consent para conceder acesso a Provider com escopo e expiração explícitos; o Cloud Code aplica verificações de consentimento nos endpoints de leitura e download.
Logs de auditoria apenas de acréscimo
Mantenha as entradas do AuditLog como acréscimos apenas para usuários padrão; apenas fluxos de backend confiáveis ou administradores podem escrever ou gerenciar logs históricos.
Esquema (JSON)
Definição de esquema JSON bruta pronta para copiar para Back4app ou usar como referência de implementação.
{
"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
}
}
}
]
}Construa com o AI Agent
Use o Back4app AI Agent para gerar um Prontuário de Saúde Pessoal real a partir deste modelo, incluindo frontend, backend, autenticação e fluxos de consentimento.
Crie um backend de Registro de Saúde Pessoal (PHR) no Back4app com este esquema e comportamento exatos. Esquema: 1. HealthDocument: owner (Pointer to User, obrigatório), title (String, obrigatório), file (File, obrigatório), tags (Array, opcional), version (Number, padrão 1), createdAt, updatedAt (system). 2. Allergy: owner (Pointer to User, obrigatório), substance (String, obrigatório), Reaction (String, opcional), severity (String: leve, moderada, grave, obrigatório), onsetDate (Date, opcional). 3. Immunization: owner (Pointer to User, obrigatório), vaccineName (String, obrigatório), administeredAt (Date, obrigatório), lotNumber (String, opcional), Provider (Pointer to Provider, opcional). 4. Medication: owner (Pointer to User, obrigatório), name (String, obrigatório), dose (String, opcional), frequency (String, opcional), instructions (String, opcional), active (Boolean, padrão true). 5. LabResult: owner (Pointer to User, obrigatório), testName (String, obrigatório), value (Number or String), units (String, opcional), referenceRange (String, opcional), date (Date, obrigatório), attachment (Pointer to HealthDocument, opcional). 6. Provider: name (String, obrigatório), systemId (String, opcional), contact (Object, opcional). 7. Consent: owner (Pointer to User, obrigatório), Provider (Pointer to Provider, obrigatório), scope (Array of Strings: [documents, allergies, immunizations, medications, labs]), expiresAt (Date, opcional), grantedBy (Pointer to User or system). 8. AuditLog: actor (Pointer to User, obrigatório), action (String, obrigatório), entityType (String, obrigatório), entityId (String, obrigatório), payload (Object, opcional); createdAt, updatedAt (system). Segurança: - Use ACL/CLP para que apenas proprietários e consentidos Providers acessem os registros. Cloud Code valida o Consentimento antes de permitir Provider leitura/download. Entradas de AuditLog são apenas para acréscimo para usuários padrão. Autenticação: - Cadastro, login, logout para contas de usuário. Suporte Provider contas com privilégios limitados. Comportamento: - Autenticar, listar registros de usuário, fazer upload do HealthDocument, criar entradas estruturadas de Allergy/Immunization/Medication/LabResult, criar Consentimento para compartilhar registros selecionados com um Provider, e escrever entradas de AuditLog para eventos críticos. Entrega: - Back4app app com esquema, ACLs, CLPs; frontend para cofres de documentos seguros, linhas do tempo de alergias e imunizações, listas de medicamentos, visualizações de resultados de laboratório, fluxos de consentimento Provider, e histórico de auditoria.
Pressione o botão abaixo para abrir o Agente com este prompt de modelo pré-preenchido.
Este é o prompt base sem um sufixo de tecnologia. Você pode adaptar o stack de frontend gerado posteriormente.
Área de testes de API
Teste os endpoints REST e GraphQL contra o esquema PHR. As respostas usam dados simulados e não requerem uma conta Back4app.
Usa o mesmo esquema deste modelo.
Escolha sua tecnologia
Expanda cada cartão para etapas de integração, padrões de estado, exemplos de modelo de dados e notas offline.
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
O que você obtém com cada tecnologia
Cada stack usa o mesmo esquema de backend PHR e contratos de API.
Estrutura de dados unificada registro de saúde pessoal
Um esquema pré-construído para documentos e registros médicos.
Compartilhamento seguro para registro de saúde pessoal
Compartilhe facilmente informações de saúde com Providers enquanto garante a privacidade.
Registros de auditoria abrangentes para registro de saúde pessoal
Acompanhe todos os acessos e alterações em dados de saúde sensíveis.
REST/GraphQL APIs para registro de saúde pessoal
Acesso API flexível para integrar-se com várias interfaces sem problemas.
Atualizações em tempo real para registro de saúde pessoal
Notificações instantâneas sobre alterações nos registros de saúde e status.
Extensibilidade para registro de saúde pessoal
Adicione facilmente recursos e módulos personalizados para atender a necessidades específicas.
Comparação da Estrutura do Registro de Saúde Pessoal
Compare a velocidade de configuração, estilo de SDK e suporte a IA em todas as tecnologias suportadas.
| Framework | Tempo de Configuração | Benefício do Registro de Saúde Pessoal | Tipo de SDK | Suporte de IA |
|---|---|---|---|---|
| Menos de 5 minutos | Base de código única para registro de saúde pessoal em dispositivos móveis e na web. | Typed SDK | Completo | |
| ~3–7 min | Painel da web rápido para registro de saúde pessoal. | Typed SDK | Completo | |
| Configuração rápida (5 min) | Aplicativo móvel multiplataforma para registro de saúde pessoal. | Typed SDK | Completo | |
| ~5 min | Aplicativo da web renderizado no servidor para registro de saúde pessoal. | Typed SDK | Completo | |
| ~3 min | Integração leve da web para registro de saúde pessoal. | Typed SDK | Completo | |
| Menos de 5 minutos | Aplicativo nativo Android para registro de saúde pessoal. | Typed SDK | Completo | |
| ~3–7 min | Aplicativo nativo iOS para registro de saúde pessoal. | Typed SDK | Completo | |
| Configuração rápida (5 min) | Interface da web Reactive para registro de saúde pessoal. | Typed SDK | Completo | |
| ~5 min | Aplicativo da web para empresas para registro de saúde pessoal. | Typed SDK | Completo | |
| Configuração rápida (2 min) | API flexível GraphQL para registro de saúde pessoal. | GraphQL API | Completo | |
| ~2 min | Integração REST API para registro de saúde pessoal. | REST API | Completo | |
| Menos de 5 min | Backend PHP do lado do servidor para registro de saúde pessoal. | REST API | Completo | |
| Configuração rápida (5 min) | Backend .NET para registro de saúde pessoal. | Typed SDK | Completo |
O tempo de configuração reflete a duração prevista desde a inicialização do projeto até o upload do primeiro documento e o fluxo de consentimento usando este esquema de modelo.
Perguntas Frequentes
Perguntas comuns sobre a construção de um backend de Registro de Saúde Pessoal (PHR) com este modelo.
Pronto para Construir Seu Aplicativo de Prontuário de Saúde Pessoal?
Inicie seu projeto de Prontuário de Saúde Pessoal em minutos. Não é necessário cartão de crédito.