Entrega de Oxigênio
Construir com Agente de IA
Backend de Entrega de Tanques de Oxigênio

Modelo de Backend de Entrega de Tanques de Oxigênio __PH0__
Atribuições de Tanques e Coordenação de Despacho

Um backend de entrega de tanques de oxigênio pronto para produção na Back4app com acesso de usuário, entregas de PatientSite, rastreamento de PSI de TankAssignment, histórico de RefillLog, pesquisa de EmergencyContact e rastreamento de DispatchEvent. Inclui diagrama ER, dicionário de dados, esquema JSON, playground de API e um prompt de Agente de IA para inicialização rápida.

Principais Conclusões

Este modelo fornece um backend de entrega de oxigênio com papéis de Usuário, janelas de entrega do Local do Paciente, acompanhamento do PSI da Atribuição do Tanque, histórico do Registro de Reabastecimento e consulta ao Contato de Emergência, para que os coordenadores possam gerenciar as entregas com menos idas e voltas.

  1. Visibilidade do PSI do TanqueAcompanhe TankAssignment.psiLevel, status e lastCheckedAt para que as equipes de despacho saibam quais tanques de oxigênio precisam de atenção.
  2. Histórico de reabastecimento que você pode consultarRegistre cada entrada do Registro de Reabastecimento com tankAssignment, refillTime, psiBefore, psiAfter, refillReason e refilledBy.
  3. Roteamento de contato de emergênciaVincule registros de Contato de Emergência a um Local do Paciente para que a equipe possa agir rapidamente quando deliveryWindowStart, deliveryWindowEnd ou notas de acesso forem importantes.
  4. Coordenação de despachos e motoristasUse TankAssignment.assignedSite, assignedDriver e DispatchEvent.eventType para manter rotas e transferências claras.

Entendendo o Backend do Aplicativo de Entrega de Tanques de Oxigênio

Um checkout de entrega de oxigênio suave oculta dezenas de verificações: elegibilidade, conflitos, depósitos e a transferência para o cumprimento. Modele as entidades principais na Back4app para dar às equipes de entrega de oxigênio um backend que possa crescer de um único quintal para operações em múltiplos locais. O esquema cobre User, PatientSite, TankAssignment, RefillLog, EmergencyContact e DispatchEvent com controles de autenticação e fluxo de trabalho de entrega integrados. Conecte seu frontend preferido e envie mais rápido.

Melhor para:

Aplicativos de entrega de tanques de oxigênioLogística de equipamentos médicosFerramentas de coordenação de despachosPlataformas de rastreamento de recargasFluxos de trabalho de contato de emergênciaEquipes selecionando BaaS para produtos de entrega de oxigênio

Entrega de Oxigênio: instantâneo do backend

Equipes móveis e funcionários de escritório veem diferentes facetas da realidade na entrega de oxigênio; o trabalho do produto é unir essas facetas sem jogos de culpa.

As partes interessadas podem verificar os papéis de usuário para equipes de despacho e de cuidado, gerenciamento de local de entrega do paciente, rastreamento de psi para cada cobertura de atribuição de tanque aqui: nomes, relacionamentos e os fluxos de trabalho que eles possibilitam.

Recursos do Módulo de Entrega

Cada cartão de tecnologia neste hub usa o mesmo esquema de backend de entrega de oxigênio com User, PatientSite, TankAssignment, RefillLog, EmergencyContact e DispatchEvent.

Funções de usuário para equipes de despacho e cuidado

O usuário armazena nome de usuário, e-mail, função, número de telefone e ativo.

Gerenciamento de localização de entrega do PatientSite

O PatientSite contém siteName, addressLine1, city, region, postalCode e deliveryWindowStart/end.

Rastreamento de PSI para cada TankAssignment

TankAssignment contém tankSerialNumber, psiLevel, status, assignedSite e assignedDriver.

Histórico de reabastecimento em RefillLog

RefillLog rastreia tankAssignment, refillTime, psiBefore, psiAfter, refillReason e refilledBy.

Eventos de despacho para transferências de rota

DispatchEvent armazena tankAssignment, eventType, eventTime, recordedBy e locationNote.

Por que construir seu backend de entrega de tanque de oxigênio com Back4app?

Back4app oferece primitivas User, PatientSite, TankAssignment, RefillLog, EmergencyContact e DispatchEvent para que sua equipe possa se concentrar em despacho seguro e registros claros em vez de trabalho de infraestrutura.

  • Rastreamento de tanques e reabastecimento: TankAssignment.psiLevel, status, e RefillLog.psiBefore/psiAfter mantêm o trabalho de entrega e reabastecimento vinculado à mesma fonte de verdade.
  • Coordenação do site de entrega: PatientSite.deliveryWindowStart, deliveryWindowEnd, e notas suportam o planejamento de rotas e atualizações de entrega.
  • Integração de contato de emergência: EmergencyContact vincula-se a um PatientSite para que a central de atendimento possa entrar em contato com a pessoa certa quando psiLevel estiver abaixo do limite.

Construa e ajuste fluxos de trabalho de entrega de oxigênio rapidamente com um contrato de backend em todas as plataformas.

Benefícios Centrais de Entrega

Um backend de entrega que ajuda você a se mover mais rápido sem perder de vista PSI, reabastecimentos ou gerenciamento de contato.

Configuração de rota e site mais rápida

Comece a partir das classes PatientSite e TankAssignment em vez de inventar tabelas logísticas.

Verificações de PSI mais seguras

Use TankAssignment.psiLevel, status e nextServiceDueAt para identificar cilindros baixos antes do despacho.

Clara responsabilidade pelo reabastecimento

Revisite cada valor RefillLog.psiBefore e psiAfter quando um motorista ou técnico completa um reabastecimento de tanque.

Escalonamento de emergências confiável

Conecte EmergencyContact ao fluxo de entrega para que os coordenadores saibam a quem contatar quando um PatientSite está atrasado.

Enviar trilha de eventos

Use DispatchEvent.eventType, eventTime e recordedBy para mostrar o que aconteceu durante cada entrega.

Fluxo de trabalho de inicialização de IA

Gere rapidamente a estrutura do backend e orientações de integração com um prompt estruturado.

Pronto para lançar seu aplicativo de entrega de oxigênio?

Deixe o Back4app Agente de IA criar a estrutura do seu backend de entrega de oxigênio e gerar rastreamento de TankAssignment PSI, histórico de RefillLog e consulta de EmergencyContact a partir de um prompt.

Grátis para começar — 50 prompts de Agente de IA/mês, sem necessidade de cartão de crédito

Tecnologia de Entrega

Tudo incluído neste template de backend de entrega de oxigênio.

Frontend
13+ tecnologias
Backend
Back4app
Banco de dados
MongoDB
Autenticação
Autenticação embutida + sessões
API
REST e GraphQL
Tempo real
Live Queries

Mapa de Relacionamento

Modelo de relacionamento de entidade para o esquema de backend de entrega de oxigênio.

Ver fonte do diagrama
Mermaid
erDiagram
    User ||--o{ PatientSite : "primaryContact"
    User ||--o{ TankAssignment : "assignedDriver"
    User ||--o{ RefillLog : "refilledBy"
    User ||--o{ DispatchEvent : "recordedBy"
    PatientSite ||--o{ TankAssignment : "assignedSite"
    PatientSite ||--o{ EmergencyContact : "site"
    TankAssignment ||--o{ RefillLog : "tankAssignment"
    TankAssignment ||--o{ DispatchEvent : "tankAssignment"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        String phoneNumber
        Boolean active
        Date createdAt
        Date updatedAt
    }

    PatientSite {
        String objectId PK
        String siteName
        String addressLine1
        String city
        String region
        String postalCode
        Date deliveryWindowStart
        Date deliveryWindowEnd
        String primaryContactId FK
        String notes
        Date createdAt
        Date updatedAt
    }

    TankAssignment {
        String objectId PK
        String tankSerialNumber
        Number psiLevel
        String status
        String assignedSiteId FK
        String assignedDriverId FK
        Date lastCheckedAt
        Date nextServiceDueAt
        Date createdAt
        Date updatedAt
    }

    RefillLog {
        String objectId PK
        String tankAssignmentId FK
        Date refillTime
        Number psiBefore
        Number psiAfter
        String refilledById FK
        String refillReason
        String remarks
        Date createdAt
        Date updatedAt
    }

    EmergencyContact {
        String objectId PK
        String siteId FK
        String contactName
        String relationship
        String phoneNumber
        String preferredLanguage
        Boolean isPrimary
        Date createdAt
        Date updatedAt
    }

    DispatchEvent {
        String objectId PK
        String tankAssignmentId FK
        String eventType
        Date eventTime
        String recordedById FK
        String locationNote
        Date createdAt
        Date updatedAt
    }

Fluxo de Integração de Despacho

Fluxo típico de execução para autenticação, revisão de PSI de Atribuição de Tanque, criação de Registro de Reabastecimento, atualizações de Evento de Despacho e busca de Contato de Emergência.

Ver fonte do diagrama
Mermaid
sequenceDiagram
  participant User
  participant App as Oxygen Tank Delivery App
  participant Back4app as Back4app Cloud

  User->>App: Login with dispatcher or driver account
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Load tank assignments and PSI levels
  App->>Back4app: GET /classes/TankAssignment?include=assignedSite,assignedDriver
  Back4app-->>App: TankAssignment list

  User->>App: Open a site and check refill history
  App->>Back4app: GET /classes/RefillLog?where={"tankAssignment":...}
  Back4app-->>App: RefillLog entries

  User->>App: Save a new refill log or dispatch event
  App->>Back4app: POST /classes/RefillLog
  App->>Back4app: POST /classes/DispatchEvent
  Back4app-->>App: Saved objectIds

  App->>Back4app: Live query updates for PSI changes and emergency contact changes
  Back4app-->>App: Updated TankAssignment and EmergencyContact records

Guia de Campo

Referência completa em nível de campo para cada classe no esquema de entrega de oxigênio.

CampoTipoDescriçãoRequerido
objectIdStringAuto-generated unique identifierAutomático
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole in the app (e.g. dispatcher, driver, careTeam, patient)
phoneNumberStringPrimary contact phone number
activeBooleanWhether the account can access the app
createdAtDateAuto-generated creation timestampAutomático
updatedAtDateAuto-generated last-update timestampAutomático

9 campos em User

Acesso e Permissões

Como a estratégia ACL e CLP protege usuários, sites, tanques, registros de reabastecimento e contatos de emergência.

Limites do site do paciente

Apenas pessoal autorizado deve criar ou atualizar detalhes do PatientSite, incluindo deliveryWindowStart, deliveryWindowEnd e notas.

Integridade do tanque e reabastecimento

Restringir atualizações do TankAssignment e criação do RefillLog a coordenadores de despacho ou motoristas com acesso verificado.

Visibilidade de despacho limitada

Limitar leituras de DispatchEvent e EmergencyContact à equipe de cuidados designada, despachante ou motorista que está lidando com essa rota.

Esquema JSON

Definição de esquema JSON bruto pronta para copiar no Back4app ou usar como referência de implementação.

JSON
{
  "classes": [
    {
      "className": "User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "phoneNumber": {
          "type": "String",
          "required": false
        },
        "active": {
          "type": "Boolean",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "PatientSite",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "siteName": {
          "type": "String",
          "required": true
        },
        "addressLine1": {
          "type": "String",
          "required": true
        },
        "city": {
          "type": "String",
          "required": true
        },
        "region": {
          "type": "String",
          "required": true
        },
        "postalCode": {
          "type": "String",
          "required": true
        },
        "deliveryWindowStart": {
          "type": "Date",
          "required": false
        },
        "deliveryWindowEnd": {
          "type": "Date",
          "required": false
        },
        "primaryContact": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "TankAssignment",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "tankSerialNumber": {
          "type": "String",
          "required": true
        },
        "psiLevel": {
          "type": "Number",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "assignedSite": {
          "type": "Pointer",
          "required": true,
          "targetClass": "PatientSite"
        },
        "assignedDriver": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "lastCheckedAt": {
          "type": "Date",
          "required": false
        },
        "nextServiceDueAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "RefillLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "tankAssignment": {
          "type": "Pointer",
          "required": true,
          "targetClass": "TankAssignment"
        },
        "refillTime": {
          "type": "Date",
          "required": true
        },
        "psiBefore": {
          "type": "Number",
          "required": true
        },
        "psiAfter": {
          "type": "Number",
          "required": true
        },
        "refilledBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "refillReason": {
          "type": "String",
          "required": true
        },
        "remarks": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "EmergencyContact",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "site": {
          "type": "Pointer",
          "required": true,
          "targetClass": "PatientSite"
        },
        "contactName": {
          "type": "String",
          "required": true
        },
        "relationship": {
          "type": "String",
          "required": true
        },
        "phoneNumber": {
          "type": "String",
          "required": true
        },
        "preferredLanguage": {
          "type": "String",
          "required": false
        },
        "isPrimary": {
          "type": "Boolean",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "DispatchEvent",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "tankAssignment": {
          "type": "Pointer",
          "required": true,
          "targetClass": "TankAssignment"
        },
        "eventType": {
          "type": "String",
          "required": true
        },
        "eventTime": {
          "type": "Date",
          "required": true
        },
        "recordedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "locationNote": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Construir com Agente de IA

Use o Agente de IA Back4app para gerar um aplicativo real de entrega de tanque de oxigênio a partir deste modelo, incluindo fluxos de frontend, backend, autenticação, tanque, reabastecimento e contato de emergência.

Agente de IA Back4app
Pronto para construir
Crie um backend para um app de entrega de tanques de oxigênio na Back4app com este esquema e comportamento exatos.

Esquema:
1. Usuário (use Back4app incorporado): nome de usuário, e-mail, senha, função, telefone, ativo; objectId, createdAt, updatedAt (sistema).
2. Local do Paciente: nomeDoLocal, linhaDeEndereço1, cidade, região, códigoPostal, inícioJanelaDeEntrega, fimJanelaDeEntrega, contatoPrincipal (Ponteiro para Usuário, obrigatório), notas; objectId, createdAt, updatedAt.
3. AtribuiçãoDoTanque: númeroDeSérieDoTanque, nívelPsi, status, localAtribuído (Ponteiro para Local do Paciente, obrigatório), motoristaAtribuído (Ponteiro para Usuário, obrigatório), verificadoEm, próximoServiçoDevidoEm; objectId, createdAt, updatedAt.
4. RegistroDeReabastecimento: atribuiçãoDeTanque (Ponteiro para AtribuiçãoDoTanque, obrigatório), tempoDeReabastecimento, psiAntes, psiDepois, reabastecidoPor (Ponteiro para Usuário, obrigatório), motivoDeReabastecimento, observações; objectId, createdAt, updatedAt.
5. ContatoDeEmergência: local (Ponteiro para Local do Paciente, obrigatório), nomeDoContato, relacionamento, telefone, línguaPreferida, éPrincipal; objectId, createdAt, updatedAt.
6. EventoDeDespacho: atribuiçãoDeTanque (Ponteiro para AtribuiçãoDoTanque, obrigatório), tipoDeEvento, horaDoEvento, registradoPor (Ponteiro para Usuário, obrigatório), notaDeLocalização; objectId, createdAt, updatedAt.

Segurança:
- Despachantes podem criar e atualizar AtribuiçõesDeTanque, RegistrosDeReabastecimento, EventosDeDespacho e registros de Local do Paciente.
- Motoristas podem atualizar verificações de PSI atribuídas a AtribuiçõesDeTanque, criar entradas de RegistroDeReabastecimento e adicionar atualizações de EventoDeDespacho para rotas que eles manejam.
- Usuários da equipe de cuidados podem visualizar seus registros de Local do Paciente e entradas de ContatoDeEmergência, mas não podem editar o histórico de PSI.
- Os dados de ContatoDeEmergência devem ser visíveis apenas para usuários autenticados envolvidos na operação do local ou do despacho.

Autenticação:
- Cadastro, login, logout.

Comportamento:
- Rastrear níveis de PSI, armazenar registros de reabastecimento, anexar contatos de emergência e registrar transferências de despacho.
- Mostrar a pressão mais recente do tanque, histórico de reabastecimento, janela de entrega e contato de emergência para cada local.

Entrega:
- App Back4app com esquema, ACLs, CLPs; frontend para quadros de despacho, verificações de rotas de motoristas, registro de reabastecimento e consulta de contatos de emergência.

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 a pilha de frontend gerada depois.

Implantar em minutos50 prompts gratuitos / mêsNão é necessário cartão de crédito

Tester de API

Experimente os endpoints REST e GraphQL contra o esquema de entrega de oxigênio. As respostas usam dados simulados e não requerem uma conta Back4app.

Carregando playground…

Usa o mesmo esquema que este modelo.

Escolha Sua Tecnologia

Expanda cada cartão para ver como integrar PatientSite, TankAssignment e RefillLog com sua pilha escolhida.

Flutter Backend de Entrega de Oxigênio

React Backend de Entrega de Oxigênio

React Nativo Backend de Entrega de Oxigênio

Next.js Backend de Entrega de Oxigênio

JavaScript Backend de Entrega de Oxigênio

Android Backend de Entrega de Oxigênio

iOS Backend de Entrega de Oxigênio

Vue Backend de Entrega de Oxigênio

Angular Backend de Entrega de Oxigênio

GraphQL Backend de Entrega de Oxigênio

REST API Backend de Entrega de Oxigênio

PHP Backend de Entrega de Oxigênio

.NET Backend de Entrega de Oxigênio

O Que Você Recebe com Cada Tecnologia

Cada pilha utiliza o mesmo esquema de backend de entrega de oxigênio e contratos de API.

Estrutura de dados unificada de logística de oxigênio

Gerencie registros de Usuário, PatientSite, TankAssignment, RefillLog, EmergencyContact e DispatchEvent com um único esquema.

Rastreamento de PSI para rotas de entrega

Mantenha a pressão do tanque visível para que a central possa priorizar os cilindros baixos primeiro.

Histórico de recarga para técnicos

Registre psiAntes, psiDepois e tempoDeRecarga para cada parada de serviço.

Roteamento de contato de emergência

Vincule contatos aos registros da PatientSite para que a escalonamento esteja disponível quando a rota mudar.

REST/GraphQL APIs para entrega de oxigênio

Integre painéis móveis, web e de operações com o mesmo contrato de backend.

Arquitetura extensível para logística de oxigênio

Adicione rotas, inventário ou notas de serviço mais tarde sem reformular o esquema central de entrega.

Comparação de Pilhas de Entrega de Oxigênio

Compare a velocidade de configuração, o estilo do SDK e o suporte de IA em todas as tecnologias suportadas.

EstruturaTempo de ConfiguraçãoBenefício da Entrega de OxigênioTipo de SDKSuporte de IA
Sobre 5 minBase de código única para entrega de oxigênio em dispositivos móveis e na web.SDK TipadoTotal
Menos de 5 minutosPainel da web rápido para despacho e revisão de PSI.SDK TipadoTotal
~3–7 minAplicativo móvel multiplataforma para motoristas e técnicos.SDK TipadoTotal
Configuração rápida (5 min)Aplicativo web renderizado no servidor para coordenação de entregas.SDK TipadoTotal
~3–5 minIntegração web leve para logística de oxigênio.SDK TipadoTotal
Cerca de 5 minAplicativo nativo Android para verificações de rota e PSI.SDK TipadoTotal
Menos de 5 minutosAplicativo nativo iOS para tarefas de entrega e reabastecimento.SDK TipadoTotal
~3–7 minUI web Reactive para operações de entrega de oxigênio.SDK digitadoTotal
Configuração rápida (5 min)Aplicativo web empresarial para registros de despacho e reabastecimento.SDK digitadoTotal
Menos de 2 minAPI flexível GraphQL para dados de entrega de oxigênio.API GraphQLTotal
Configuração rápida (2 min)Integração REST API para sistemas de entrega de oxigênio.REST APITotal
~3 minBackend PHP do lado do servidor para coordenação de entrega.REST APITotal
~3–7 minBackend .NET para operações de entrega de oxigênio.SDK tipadoTotal

O tempo de configuração reflete a duração esperada desde a inicialização do projeto até a primeira consulta de TankAssignment ou PatientSite usando este esquema de template.

Perguntas sobre Entrega

Perguntas comuns sobre a construção de um backend de entrega de cilindros de oxigênio com este modelo.

Como as equipes de entrega de oxigênio mantêm a disponibilidade honesta quando as devoluções se atrasam ou os ativos saem para manutenção?
Qual é a maneira certa de vincular PatientSite, TankAssignment e RefillLog às inspeções de cumprimento e devolução?
Como podemos adicionar novas estruturas ou pacotes de taxa de entrega de oxigênio sem reescrever a lógica de reserva?
Como faço para consultar tanques e locais de entrega com Flutter?
Como gerencio a integração de contatos de emergência com Next.js Server Actions?
O React Native pode armazenar em cache os dados de PSI dos tanques offline?
Como posso evitar edições não autorizadas de reabastecimento?
Qual é a melhor maneira de mostrar rotas de entrega no Android?
Como funciona o fluxo de entrega de oxigênio de ponta a ponta?
Quais classes alimentam este modelo de entrega de tanque de oxigênio?

Confiado por desenvolvedores em todo o mundo

Junte-se a equipes que estão enviando produtos de entrega de oxigênio mais rápido com modelos da Back4app

G2 Users Love Us Badge

Pronto para construir seu aplicativo de entrega de tanque de oxigênio?

Inicie seu projeto de entrega de oxigênio em minutos. Nenhum cartão de crédito necessário.

Escolha a Tecnologia