Template de Backend do Aplicativo de Teleconsulta
Agendamentos Seguros, Salas de Espera, Presença em Tempo Real e Logs de Auditoria de Sessões
Um backend de telemedicina pronto para produção em Back4app com agendamentos, salas de espera virtuais, registros de sessões com foco em HIPAA, perfis de paciente/Provider, presença em tempo real e trilhas de auditoria. Inclui diagrama ER, dicionário de dados, esquema JSON, playground de API e um prompt de AI Agent para inicialização rápida.
Principais pontos
Obtenha um back-end de telemedicina que gerencia o ciclo de vida de atendimentos, salas de espera virtuais, presença em tempo real e logs de sessões com foco na HIPAA, para que sua equipe possa se concentrar na UX clínica e nas integrações.
- Logs de sessão compatíveis com HIPAA — Capture metadados da sessão de vídeo, carimbos de data/hora, participantes e payloads de auditoria criptografados como logs apenas de adição para rastreabilidade.
- Salas de espera virtuais — Gerencie o check-in de pacientes, a ordem da fila, tempos estimados de espera e a prontidão do Provider com registros explícitos de salas de espera.
- Atualizações de presença em tempo real — Envie atualizações de presença e mudanças na fila com Live Queries para que Providers e pacientes vejam o status com precisão sem sondagem periódica
- Fluxos de trabalho com foco em agendamentos — Modelar o agendamento, cancelamentos, remarcações e o tratamento de faltas com ponteiros de paciente vinculados e Provider.
- Prontidão multiplataforma — O mesmo backend suporta clientes móveis, web e kiOSk através de APIs REST e GraphQL e SDKs para {tech}.
O que é o Modelo de Aplicativo de Teleconsulta?
Back4app é um backend-as-a-service (BaaS) para entrega rápida de produtos. O Modelo de Aplicativo de Teleconsulta modela agendamentos, salas de espera virtuais, logs de sessão e presença, para que equipes de desenvolvimento possam criar recursos de telemedicina compatíveis com HIPAA mais rapidamente.
Melhor para:
Visão geral
Fluxos de telemedicina exigem estado preciso de compromissos, gerenciamento de filas e registro seguro de metadados da sessão para conformidade e reconciliação de faturamento.
Este modelo define Patient, Provider, Appointment, WaitingRoom, VideoSessionLog e AuditLog com recomendações de propriedade e CLP para que as equipes possam implementar fluxos de telemedicina rapidamente e com considerações de conformidade.
Principais recursos de telemedicina
Cada cartão tecnológico neste hub usa o mesmo esquema de backend de telemedicina com Patient, Provider, Appointment, WaitingRoom, VideoSessionLog e AuditLog.
Ciclo de vida do agendamento
Criar, reagendar, cancelar e listar consultas com referências ao paciente e Provider e status do ciclo de vida.
Salas de espera virtuais
A classe WaitingRoom rastreia a ordem da fila, o tempo de check-in do paciente, a espera estimada e o Provider designado.
Registros de sessões de vídeo em conformidade com HIPAA
VideoSessionLog registra o início e o término da sessão, os participantes, a duração, marcadores de eventos e metadados criptografados para auditorias.
Perfis de Paciente e de Provider
As classes Patient e Provider armazenam identidade essencial, dados de contato e metadados necessários para agendamento e contexto clínico.
Presença em tempo real e atualizações da fila
Use Live Queries para transmitir a disponibilidade de Provider, a posição na sala de espera e as alterações de estado da sessão.
Registros de auditoria centralizados
AuditLog registra quem realizou as ações, quando e por quê, para conformidade e solução de problemas.
Por que construir seu backend de telemedicina com Back4app?
Back4app remove a sobrecarga operacional do backend, para que as equipes possam se concentrar nos fluxos clínicos, nos controles de segurança e na experiência do usuário.
- •Registro seguro de sessões: Armazene metadados de sessões de vídeo e payloads criptografados em logs apenas de adição para apoiar auditorias e fluxos de reembolso.
- •Primitivas de sala de espera virtual: Modelos de sala de espera e fila integrados permitem gerenciar check-ins, triagem e a atribuição de Provider sem infraestrutura de tempo real personalizada.
- •Flexibilidade em tempo real e de API: Use Live Queries para presença e atualizações de fila, enquanto expõe REST e GraphQL para chamadas agendadas e integrações.
Lance recursos de telemedicina rapidamente com um modelo de dados em conformidade e padrões de tempo real prontos para uso.
Principais Benefícios
Um backend de telemedicina que ajuda equipes de produto a entregar fluxos de consulta seguros e auditáveis rapidamente.
Interface de auditoria compatível com HIPAA
Registros de sessão imutáveis e logs de auditoria centralizados tornam a conformidade e a revisão de incidentes mais fáceis.
Redução de ausências e fluxo da clínica mais suave.
Salas de espera virtuais e fluxos de check-in ajudam as clínicas a gerenciar filas de pacientes e reduzir o tempo ocioso dos profissionais.
Coordenação clínica em tempo real.
A presença ao vivo e as atualizações de fila criam experiências sincronizadas para as Providers, pacientes e equipes.
Arquitetura baseada em permissões.
Padrões ACL/CLP e ganchos do Cloud Code impedem o acesso não autorizado a informações de identificação pessoal (PII) e dados de sessão sensíveis.
APIs multiplataforma.
REST e os endpoints GraphQL oferecem portais web, aplicativos móveis e integrações com prontuários eletrônicos (EHRs) ou sistemas de faturamento.
Bootstrap assistido por IA com um clique.
Use o prompt do Agente de IA para gerar um backend funcional, semear dados de exemplo e criar o esqueleto das integrações de frontend.
Pronto para construir uma solução de telemedicina em conformidade com HIPAA?
Deixe o agente de IA Back4app estruturar seu backend de telemedicina e gerar compromissos, salas de espera, logs de sessão e trilhas de auditoria a partir de um único prompt.
Gratuito para começar — 50 prompts de Agente de IA por mês, sem cartão de crédito
Pilha Técnica
Tudo incluído neste template de backend de telemedicina.
Diagrama ER
Modelo de relacionamento entidade-relacionamento para o esquema de backend Telehealth.
Esquema que cobre pacientes, Providers, ciclo de vida de consultas, salas de espera, registros de sessões e auditorias.
Ver fonte do diagrama
erDiagram
PatientProfile ||--o{ Appointment : "books"
ProviderProfile ||--o{ Appointment : "assigned to"
Appointment ||--o{ VirtualWaitingRoom : "has"
Appointment ||--o{ VideoSessionLog : "logs"
Appointment ||--o{ AuditLog : "audited by"
ProviderProfile ||--o{ VideoSessionLog : "conducts"
PatientProfile ||--o{ VideoSessionLog : "attends"
PatientProfile {
String objectId PK
Pointer user FK
String fullName
Date dateOfBirth
String medicalRecordNumber
String phone
String email
Date consentSignedAt
Date createdAt
Date updatedAt
}
ProviderProfile {
String objectId PK
Pointer user FK
String fullName
String licenseNumber
String specialty
Boolean telehealthEnabled
Object availability
Date createdAt
Date updatedAt
}
Appointment {
String objectId PK
Pointer patient FK
Pointer provider FK
Date scheduledAt
Number durationMinutes
String status
Boolean prefersVideo
String notes
Pointer waitingRoom FK
Date createdAt
Date updatedAt
}
VirtualWaitingRoom {
String objectId PK
Pointer appointment FK
Array participants
Number queuePosition
Array announcements
Boolean isActive
Date createdAt
Date updatedAt
}
VideoSessionLog {
String objectId PK
Pointer appointment FK
Pointer provider FK
Pointer patient FK
Date startedAt
Date endedAt
Number durationSeconds
Object mediaAudit
Object consentSnapshot
String notesSummary
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 execução para autenticação, transições de sala de espera, início/fim de sessão e registro seguro de sessões de vídeo.
Ver fonte do diagrama
sequenceDiagram
participant User
participant App as Telehealth Consultation App
participant Back4app as Back4app Cloud
User->>App: Sign in with secure credentials (MFA)
App->>Back4app: POST /login (return session token)
Back4app-->>App: Session token + user role
User->>App: View upcoming telehealth appointment
App->>Back4app: GET /classes/Appointment?where={"patient":Pointer("PatientProfile","pat1")}
Back4app-->>App: Appointment object with waitingRoom pointer
User->>App: Join virtual waiting room 10 min before scheduledAt
App->>Back4app: POST /classes/VirtualWaitingRoom/{wrId}/join (create participant pointer) + POST /classes/AuditLog
Back4app-->>App: Participant added + audit confirmation
Provider->>App: Open provider console and accept next patient
App->>Back4app: PUT /classes/Appointment/{apptId} { status: "in_session" } + POST /classes/VideoSessionLog
Back4app-->>App: Appointment updated + VideoSessionLog objectId
App->>Back4app: LiveQuery subscribe on VirtualWaitingRoom and VideoSessionLog
Back4app-->>App: Live events for join/leave and session updates
App-->>User: Real-time waiting-room countdown and "Your provider is ready" notificationDicionário de dados
Referência em nível de campo para cada classe no esquema Telehealth.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automático |
| user | Pointer<_User> | Linked Back4app user account | |
| fullName | String | Patient full name | |
| dateOfBirth | Date | Patient date of birth | — |
| medicalRecordNumber | String | Internal MRN for cross-references | |
| phone | String | Contact phone number | — |
| String | Contact email | — | |
| consentSignedAt | Date | Timestamp when telehealth consent was recorded | — |
| createdAt | Date | Auto-generated creation timestamp | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
10 campos em PatientProfile
Segurança e Permissões
Como ACL, CLP e Cloud Code protegem informações pessoais identificáveis (PII), logs de sessão e o estado da sala de espera.
Controle de acesso baseado em papéis
Defina papéis para paciente, Provider, equipe da clínica e admin para que cada um veja apenas os registros e operações permitidos.
Logs de sessão com adição exclusiva.
Imponha restrições de adição exclusiva para VideoSessionLog via CLP e Cloud Code, para que os logs permaneçam à prova de adulteração para auditorias.
Metadados criptografados e informações pessoais identificáveis mínimas (PII).
Armazene apenas os metadados de sessão necessários no VideoSessionLog e criptografe as cargas úteis sensíveis; evite armazenar mídia bruta no backend.
Esquema (JSON)
Definição de esquema JSON cru pronta para copiar para o Back4app ou usar como referência de implementação.
{
"classes": [
{
"className": "PatientProfile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"fullName": {
"type": "String",
"required": true
},
"dateOfBirth": {
"type": "Date",
"required": false
},
"medicalRecordNumber": {
"type": "String",
"required": true
},
"phone": {
"type": "String",
"required": false
},
"email": {
"type": "String",
"required": false
},
"consentSignedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ProviderProfile",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "_User"
},
"fullName": {
"type": "String",
"required": true
},
"licenseNumber": {
"type": "String",
"required": true
},
"specialty": {
"type": "String",
"required": true
},
"telehealthEnabled": {
"type": "Boolean",
"required": true
},
"availability": {
"type": "Object",
"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": "ProviderProfile"
},
"scheduledAt": {
"type": "Date",
"required": true
},
"durationMinutes": {
"type": "Number",
"required": true
},
"status": {
"type": "String",
"required": true
},
"prefersVideo": {
"type": "Boolean",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"waitingRoom": {
"type": "Pointer",
"required": false,
"targetClass": "VirtualWaitingRoom"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "VirtualWaitingRoom",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"appointment": {
"type": "Pointer",
"required": true,
"targetClass": "Appointment"
},
"participants": {
"type": "Array",
"required": false
},
"queuePosition": {
"type": "Number",
"required": false
},
"announcements": {
"type": "Array",
"required": false
},
"isActive": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "VideoSessionLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"appointment": {
"type": "Pointer",
"required": true,
"targetClass": "Appointment"
},
"provider": {
"type": "Pointer",
"required": true,
"targetClass": "ProviderProfile"
},
"patient": {
"type": "Pointer",
"required": true,
"targetClass": "PatientProfile"
},
"startedAt": {
"type": "Date",
"required": true
},
"endedAt": {
"type": "Date",
"required": true
},
"durationSeconds": {
"type": "Number",
"required": true
},
"mediaAudit": {
"type": "Object",
"required": false
},
"consentSnapshot": {
"type": "Object",
"required": false
},
"notesSummary": {
"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 com o Agente de IA
Use o Agente de IA Back4app para gerar um aplicativo completo de telemedicina a partir deste modelo, incluindo esquema de backend, dados de amostra e trechos de integração frontend.
Crie um backend de telemedicina no Back4app com o seguinte esquema e comportamento. Esquema: 1. Paciente: user (Pointer to User, required), fullName (String, required), dob (Date, required), contact (Object), mrn (String, optional). 2. Provider: user (Pointer to User, required), name (String, required), licenseNumber (String), specialties (Array), availability (Object). 3. Consulta: patient (Pointer to Patient, required), Provider (Pointer to Provider, required), scheduledTime (Date, required), durationMinutes (Number, required), status (String: scheduled, checked-in, in-session, completed, cancelled), notes (String, optional). 4. WaitingRoom: appointment (Pointer to Appointment, required), checkInAt (Date), queuePosition (Number), estimatedWait (Number), status (String: waiting, ready, removed). 5. VideoSessionLog: appointment (Pointer to Appointment, required), Provider (Pointer to Provider, required), patient (Pointer to Patient, required), startedAt (Date), endedAt (Date), duration (Number), events (Array), encryptedPayload (Object, optional); append-only for most roles. 6. AuditLog: actor (Pointer to User, required), action (String, required), entityType (String, required), entityId (String, required), payload (Object); objectId, createdAt, updatedAt (do sistema). Segurança: - Use ACL/CLP e Cloud Code para restringir o acesso. VideoSessionLog deve ser append-only para usuários padrão e editável apenas por administradores da clínica confiáveis. Criptografe payloads sensíveis e evite armazenar blobs de mídia. Autenticação: - Fluxos de cadastro/login de funcionários e pacientes. Contas Provider exigem bandeiras de verificação. Comportamento: - Autenticar, listar as consultas futuras de um usuário, fazer o check-in de um paciente em uma sala de espera, Providers aceitar pacientes e iniciar uma sessão que escreva um VideoSessionLog, e persistir entradas de AuditLog para transições sensíveis. Entrega: - Aplicativo Back4app com esquema, ACLs, CLPs; trechos de frontend de exemplo para autenticar, fazer check-in de pacientes, gerenciar salas de espera, iniciar sessões e capturar logs de sessão.
Pressione o botão abaixo para abrir o Agente com este prompt de modelo pré-preenchido.
Este é o prompt base sem sufixo de tecnologia. Você pode adaptar a pilha de frontend gerada posteriormente.
Playground de API
Experimente endpoints REST e GraphQL contra o esquema Telehealth. As respostas usam dados simulados e não requerem uma conta Back4app.
Usa o mesmo esquema deste modelo.
Escolha a sua tecnologia
Expanda cada cartão para as etapas de integração, padrões de estado, exemplos de modelo de dados e notas offline.
Flutter Backend de Telehealth
React Backend de Telehealth
React Nativo Backend de Telehealth
Next.js Backend de Telehealth
JavaScript Backend de Telehealth
Android Backend de Telehealth
iOS Backend de Telehealth
Vue Backend de Telehealth
Angular Backend de Telehealth
GraphQL Backend de Telehealth
REST API Backend de Telehealth
PHP Backend de Telehealth
.NET Backend de Telehealth
O que você obtém com cada tecnologia
Cada stack utiliza o mesmo esquema de backend do Telehealth e contratos de API.
Gerenciamento unificado de dados de telessaúde
Gerencie facilmente registros de pacientes, compromissos e logs em um esquema centralizado.
Videoconferência segura para telessaúde
Sessões de vídeo compatíveis com HIPAA para garantir a privacidade do paciente durante as consultas.
Agendamento de compromissos em tempo real
Permita que os pacientes agendem e gerenciem compromissos de forma integrada no aplicativo.
Recursos de sala de espera virtual
Crie e gerencie salas de espera virtuais para melhorar a experiência do paciente.
APIs REST/GraphQL para integração
APIs flexíveis para conectar-se a outros serviços e ferramentas de saúde de forma eficiente.
Registro de sessões para telessaúde
Logs de sessão automatizados para conformidade e revisão para rastrear interações com pacientes.
Comparação do Quadro de Consulta de Telessaúde
Compare a velocidade de configuração, estilo de SDK e suporte a IA entre as tecnologias suportadas.
| Framework | Tempo de Configuração | Benefício da Consulta de Telessaúde | Tipo de SDK | Suporte de IA |
|---|---|---|---|---|
| ~5 min | Base de código única para consulta de telessaúde em dispositivos móveis e web. | Typed SDK | Completo | |
| Cerca de 5 min | Painel da web rápido para consulta de telessaúde. | Typed SDK | Completo | |
| Menos de 5 minutos | Aplicativo móvel multiplataforma para consulta de telessaúde. | Typed SDK | Completo | |
| ~3–7 min | Aplicativo web renderizado no servidor para consulta de telessaúde. | Typed SDK | Completo | |
| Menos de 5 min | Integração web leve para consulta de telessaúde. | Typed SDK | Completo | |
| ~5 min | Aplicativo nativo Android para consulta de telessaúde. | Typed SDK | Completo | |
| Cerca de 5 min | Aplicativo nativo iOS para consulta de telessaúde. | Typed SDK | Completo | |
| Menos de 5 minutos | UI web Reactive para consulta de telessaúde. | Typed SDK | Completo | |
| ~3–7 min | Aplicativo web corporativo para consulta de telessaúde. | Typed SDK | Completo | |
| ~2 min | API flexível GraphQL para consulta de telessaúde. | GraphQL API | Completo | |
| Menos de 2 min | Integração REST API para consulta de telessaúde. | REST API | Completo | |
| ~3–5 min | Backend PHP no lado do servidor para consulta de telessaúde. | REST API | Completo | |
| Menos de 5 minutos | Backend .NET para consulta de telessaúde. | Typed SDK | Completo |
O tempo de configuração reflete a duração esperada desde a inicialização até a primeira consulta e a consulta na sala de espera usando este esquema de template.
Perguntas frequentes
Perguntas comuns sobre a construção de um backend de telessaúde com este modelo.
Pronto para construir seu aplicativo de telemedicina?
Inicie seu projeto de telemedicina em minutos. Não é necessário cartão de crédito.