Consegna di ossigeno
Costruisci con AI Agent
Backend della consegna delle bombole di ossigeno

Modello di backend dell'app di consegna delle bombole di ossigeno __PH0__
Assegnazioni bombole e coordinamento delle spedizioni

Un backend per la consegna delle bombole di ossigeno pronto per la produzione su Back4app con accesso utente, consegne PatientSite, monitoraggio PSI di TankAssignment, cronologia di RefillLog, ricerca di EmergencyContact e monitoraggio di DispatchEvent. Include diagramma ER, dizionario dati, schema JSON, area di gioco API e un prompt AI Agent per un rapido avvio.

Punti chiave

Questo modello ti offre un backend per la consegna di ossigeno con ruoli utente, finestre di consegna SitoPaziente, monitoraggio PSI per l'AssegnazioneSerbatoio, cronologia Ricarica, e ricerca di ContattoEmergenza in modo che i coordinatori possano gestire le consegne con meno avanti e indietro.

  1. Visibilità PSI del serbatoioMonitora TankAssignment.psiLevel, stato e lastCheckedAt in modo che i team di spedizione sappiano quali serbatoi di ossigeno necessitano di attenzione.
  2. Cronologia delle ricariche che puoi interrogareRegistra ogni voce di CronologiaRicarica con assegnazioneSerbatoio, tempoRicarica, psiPrima, psiDopo, motivoRicarica e rifornitoDa.
  3. Instradamento dei contatti di emergenzaCollega i record di ContattoEmergenza a un SitoPaziente in modo che il personale possa agire rapidamente quando inizia il periodo di consegna, termina il periodo di consegna o le note di accesso sono importanti.
  4. Coordinazione della consegna e del conducenteUtilizzare TankAssignment.assignedSite, assignedDriver e DispatchEvent.eventType per mantenere chiare le rotte e le consegne.

Comprendere il backend dell'app per la consegna di serbatoi di ossigeno

Un processo di checkout per la consegna di ossigeno fluido nasconde decine di controlli: idoneità, conflitti, depositi e il passaggio alla evasione. Modella le entità fondamentali su Back4app per fornire ai team di consegna di ossigeno un backend che possa crescere da un singolo deposito a operazioni multi-sito. Lo schema copre User, PatientSite, TankAssignment, RefillLog, EmergencyContact e DispatchEvent con controlli di autorizzazione e flusso di lavoro di consegna integrati. Collega il tuo frontend preferito e spedisci più velocemente.

Migliore per:

App per la consegna di serbatoi di ossigenoLogistica di attrezzature medicheStrumenti di coordinazione delle consegnePiattaforme di tracciamento rifornimentiFlussi di lavoro per contatti di emergenzaSquadre che scelgono BaaS per prodotti di consegna di ossigeno

Consegna di ossigeno: istantanea del backend

Le squadre mobili e il personale di back-office vedono diverse fette di realtà nella consegna di ossigeno; il compito del prodotto è unire queste fette senza giochi di colpa.

I portatori di interesse possono controllare la correttezza dei ruoli degli utenti per le squadre di spedizione e assistenza, la gestione della posizione di consegna per i pazienti, il tracciamento della pressione per la copertura di ogni assegnazione di serbatoi qui: nomi, relazioni e i flussi di lavoro che abilitano.

Caratteristiche del Modulo di Consegna

Ogni scheda tecnologica in questo hub utilizza lo stesso schema di backend per la consegna dell'ossigeno con User, PatientSite, TankAssignment, RefillLog, EmergencyContact e DispatchEvent.

Ruoli utenti per i team di distribuzione e assistenza

L'utente memorizza nome utente, email, ruolo, numero di telefono e attivo.

Gestione della posizione di consegna PatientSite

PatientSite contiene siteName, addressLine1, city, region, postalCode e deliveryWindowStart/end.

Monitoraggio PSI per ogni TankAssignment

TankAssignment contiene tankSerialNumber, psiLevel, status, assignedSite e assignedDriver.

Storia dei rifornimenti in RefillLog

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

Eventi di spedizione per passaggi di percorso

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

Perché costruire il tuo backend di consegna di serbatoi di ossigeno con Back4app?

Back4app ti fornisce primitive User, PatientSite, TankAssignment, RefillLog, EmergencyContact e DispatchEvent in modo che il tuo team possa concentrarsi su una spedizione sicura e registri chiari invece di lavoro sull'infrastruttura.

  • Monitoraggio del serbatoio e rifornimento: TankAssignment.psiLevel, stato e RefillLog.psiBefore/psiAfter tengono il lavoro di consegna e rifornimento legato alla stessa fonte di verità.
  • Coordinamento del sito di consegna: PatientSite.deliveryWindowStart, deliveryWindowEnd e note supportano la pianificazione dei percorsi e aggiornamenti delle consegne.
  • Integrazione dei contatti di emergenza: EmergencyContact si collega a un PatientSite affinché il dispatch possa contattare la persona giusta quando il psiLevel è al di sotto della soglia.

Costruisci e adatta rapidamente i flussi di lavoro per la consegna dell'ossigeno con un contratto di backend su tutte le piattaforme.

Vantaggi principali della consegna

Un backend di consegna che ti aiuta a muoverti più velocemente senza perdere di vista PSI, rifornimenti o gestione dei contatti.

Configurazione più rapida di percorsi e siti

Parti dalle classi PatientSite e TankAssignment invece di inventare tabelle logistiche.

Controlli PSI più sicuri

Utilizza TankAssignment.psiLevel, status e nextServiceDueAt per segnalare cilindri bassi prima della spedizione.

Chiarezza della responsabilità del rifornimento

Esamina ogni valore RefillLog.psiBefore e psiAfter quando un autista o un tecnico completa un rifornimento del serbatoio.

Escalation di emergenza affidabile

Collega EmergencyContact al flusso di consegna in modo che i coordinatori sappiano a chi rivolgersi quando un PatientSite è in ritardo.

Invia evento traccia

Utilizza DispatchEvent.eventType, eventTime e recordedBy per mostrare cosa è successo durante ogni passaggio.

Flusso di lavoro di bootstrap AI

Genera velocemente la struttura di backend e le linee guida per l'integrazione con un'unica richiesta strutturata.

Pronto per lanciare la tua app di consegna di ossigeno?

Lascia che l'AI Agent di Back4app realizzi il tuo backend per la consegna di ossigeno e generi il tracciamento PSI TankAssignment, la storia di RefillLog e la ricerca di EmergencyContact da un'unica richiesta.

Gratis per iniziare — 50 richieste AI Agent/mese, senza carta di credito necessaria

Tecnologia di consegna

Tutto incluso in questo modello di backend per la consegna dell'ossigeno.

Frontend
13+ tecnologie
Backend
Back4app
Database
MongoDB
Autenticazione
Autenticazione integrata + sessioni
API
REST e GraphQL
In tempo reale
Live Queries

Mappa delle relazioni

Modello di relazione tra entità per lo schema di backend della consegna di ossigeno.

Visualizza la fonte del diagramma
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
    }

Flusso di integrazione della spedizione

Flusso di runtime tipico per autenticazione, revisione PSI dell'AssegnazioneSerbatoio, creazione di LogRifornimento, aggiornamenti di EventoSpedizione e ricerca di ContattoEmergenza.

Visualizza la fonte del diagramma
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

Guida di campo

Riferimento completo a livello di campo per ogni classe nello schema di consegna dell'ossigeno.

CampoTipoDescrizioneObbligatorio
objectIdStringAuto-generated unique identifierAuto
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 timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

9 campi in User

Accesso e Permessi

Come la strategia ACL e CLP protegge utenti, siti, serbatoi, registri di rifornimento e contatti di emergenza.

Confini del sito del paziente

Solo il personale autorizzato dovrebbe creare o aggiornare i dettagli del Sito del Paziente, inclusi deliveryWindowStart, deliveryWindowEnd e note.

Integrità del serbatoio e riempimento

Limitare gli aggiornamenti di TankAssignment e la creazione di RefillLog ai coordinatori di spedizione o ai conducenti con accesso verificato.

Visibilità della spedizione a livello di ambito

Limitare le letture di DispatchEvent e EmergencyContact al team di assistenza assegnato, al dispatcher o al conducente che gestisce quel percorso.

Schema JSON

Definizione schema JSON grezza pronta per essere copiata in Back4app o utilizzata come riferimento per l'implementazione.

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
        }
      }
    }
  ]
}

Costruisci con AI Agent

Utilizza l'AI Agent Back4app per generare un'app reale per la consegna di serbatoi d'ossigeno da questo modello, inclusi flussi frontend, backend, di autenticazione, e di serbatoio, riempimento e contatto di emergenza.

AI Agent Back4app
Pronto a costruire
Crea un backend per un'app di consegna di bombole di ossigeno su Back4app con questo schema e comportamento esatti.

Schema:
1. Utente (usa Back4app integrato): nomeUtente, email, password, ruolo, numeroDiTelefono, attivo; objectId, createdAt, updatedAt (sistema).
2. SitoPaziente: nomeSito, indirizzoLine1, città, regione, codicePostale, inizioFinestraConsegna, fineFinestraConsegna, contattoPrincipale (Puntatore a Utente, richiesto), note; objectId, createdAt, updatedAt.
3. AssegnazioneBombola: numeroSerialeBombola, livelloPsi, stato, sitoAssegnato (Puntatore a SitoPaziente, richiesto), autistaAssegnato (Puntatore a Utente, richiesto), ultimaVerifica, prossimoServizio; objectId, createdAt, updatedAt.
4. RegistrazioneRifornimento: assegnazioneBombola (Puntatore a AssegnazioneBombola, richiesto), orarioRifornimento, psiPrima, psiDopo, rifornitoDa (Puntatore a Utente, richiesto), motivoRifornimento, osservazioni; objectId, createdAt, updatedAt.
5. ContattoEmergenza: sito (Puntatore a SitoPaziente, richiesto), nomeContatto, relazione, numeroDiTelefono, linguaPreferita, èPrimario; objectId, createdAt, updatedAt.
6. EventoSpedizione: assegnazioneBombola (Puntatore a AssegnazioneBombola, richiesto), tipoEvento, orarioEvento, registratoDa (Puntatore a Utente, richiesto), notaPosizione; objectId, createdAt, updatedAt.

Sicurezza:
- Gli addetti alle spedizioni possono creare e aggiornare record di AssegnazioneBombola, RegistrazioneRifornimento, EventoSpedizione e SitoPaziente.
- Gli autisti possono aggiornare i controlli PSI delle AssegnazioniBombola assegnate, creare voci di RegistrazioneRifornimento e aggiungere aggiornamenti di EventoSpedizione per le rotte che gestiscono.
- Gli utenti del team di assistenza possono visualizzare i propri record di SitoPaziente e le voci di ContattoEmergenza, ma non possono modificare la cronologia PSI.
- I dati di ContattoEmergenza devono essere visibili solo agli utenti autenticati coinvolti nel sito o nell'operazione di spedizione.

Autenticazione:
- Registrazione, accesso, disconnessione.

Comportamento:
- Monitora i livelli PSI, memorizza i registri di rifornimento, allega contatti di emergenza e registra le consegne di spedizione.
- Mostra la pressione della bombola più recente, la cronologia di rifornimento, la finestra di consegna e il contatto di emergenza per ciascun sito.

Consegna:
- App Back4app con schema, ACL, CLP; frontend per bacheche di spedizione, controlli di rotta per autisti, registrazione di rifornimento e ricerca di contatti di emergenza.

Premi il pulsante qui sotto per aprire l'Agente con questo prompt del modello già compilato.

Questo è il prompt base senza un suffisso tecnologico. Puoi adattare il stack frontend generato in seguito.

Distribuisci in pochi minuti50 prompt gratuiti / meseNessuna carta di credito necessaria

Tester API

Prova gli endpoint REST e GraphQL contro lo schema di consegna dell'ossigeno. Le risposte utilizzano dati fittizi e non richiedono un account Back4app.

Caricamento playground…

Utilizza lo stesso schema di questo modello.

Scegli la tua tecnologia

Espandi ogni scheda per vedere come integrare PatientSite, TankAssignment e RefillLog con il tuo stack scelto.

Backend di consegna dell'ossigeno Flutter

Backend di consegna dell'ossigeno React

Backend di consegna dell'ossigeno React Nativo

Backend di consegna dell'ossigeno Next.js

Backend di consegna dell'ossigeno JavaScript

Backend di consegna dell'ossigeno Android

Backend di consegna dell'ossigeno iOS

Backend di consegna dell'ossigeno Vue

Backend di consegna dell'ossigeno Angular

Backend di consegna dell'ossigeno GraphQL

Backend di consegna dell'ossigeno REST API

Backend di consegna dell'ossigeno PHP

Backend di consegna dell'ossigeno .NET

Cosa ottieni con ogni tecnologia

Ogni stack utilizza lo stesso schema backend di fornitura di ossigeno e contratti API.

Struttura dati logistica dell'ossigeno unificata

Gestisci i record di Utente, PatientSite, TankAssignment, RefillLog, ContattoDiEmergenza e DispatchEvent con uno schema.

Tracciamento PSI per percorsi di consegna

Mantieni la pressione del serbatoio visibile affinché la spedizione possa dare priorità ai cilindri bassi per primi.

Storico dei rifornimenti per i tecnici

Registra psiPrima, psiDopo e tempoRifornimento per ogni fermata di servizio.

Routing per contatti di emergenza

Collega i contatti ai record PatientSite in modo che l'escalation sia disponibile quando il percorso cambia.

REST/GraphQL API per la consegna di ossigeno

Integra dashboard mobili, web e operazioni con lo stesso contratto backend.

Architettura estensibile per la logistica dell'ossigeno

Aggiungi percorsi, inventario o note di servizio in seguito senza rielaborare lo schema di consegna principale.

Confronto Stack di Consegna di Ossigeno

Confronta la velocità di configurazione, lo stile SDK e il supporto AI attraverso tutte le tecnologie supportate.

FrameworkTempo di ConfigurazioneBeneficio della Consegna di OssigenoTipo di SDKSupporto AI
Circa 5 minCodice unico per la consegna di ossigeno su mobile e web.SDK tipizzatoCompleto
Meno di 5 minutiDashboard web veloce per la spedizione e la revisione PSI.SDK tipizzatoCompleto
~3–7 minApp mobile multipiattaforma per autisti e tecnici.SDK tipizzatoCompleto
Impostazione rapida (5 min)App web renderizzata dal server per il coordinamento delle consegne.SDK di tipoCompleto
~3–5 minIntegrazione web leggera per la logistica dell'ossigeno.SDK di tipoCompleto
Circa 5 minApp nativa Android per controlli su percorso e PSI.SDK di tipoCompleto
Meno di 5 minutiApp nativa iOS per compiti di consegna e ricarica.SDK di tipoCompleto
~3–7 minInterfaccia web Reactive per operazioni di consegna di ossigeno.SDK digitatoCompleto
Configurazione rapida (5 min)App web aziendale per log di spedizione e ricarica.SDK digitatoCompleto
Meno di 2 minAPI GraphQL flessibile per dati di consegna di ossigeno.API GraphQLCompleto
Impostazione rapida (2 min)integrazione REST API per sistemi di somministrazione di ossigeno.REST APICompleto
~3 minBackend PHP lato server per coordinamento delle consegne.REST APICompleto
~3–7 minbackend .NET per operazioni di somministrazione di ossigeno.SDK tipizzatoCompleto

Il tempo di configurazione riflette la durata prevista dal bootstrap del progetto alla prima query TankAssignment o PatientSite utilizzando questo schema di template.

Domande sulla consegna

Domande comuni sulla creazione di un backend per la consegna di serbatoi di ossigeno con questo modello.

Come fanno i team di consegna dell'ossigeno a mantenere l'onestà della disponibilità quando i resi arrivano in ritardo o le risorse sono in manutenzione?
Qual è il modo corretto per collegare PatientSite, TankAssignment e RefillLog alle ispezioni di adempimento e reso?
Come possiamo aggiungere nuove strutture tariffarie o pacchetti per la consegna dell'ossigeno senza riscrivere la logica di prenotazione?
Come posso eseguire query per serbatoi e siti di consegna con Flutter?
Come gestisco l'integrazione dei contatti di emergenza con Next.js Server Actions?
Può React Native memorizzare nella cache i dati PSI del serbatoio offline?
Come posso evitare modifiche non autorizzate ai rifornimenti?
Qual è il modo migliore per mostrare le rotte di consegna su Android?
Come funziona il flusso di consegna dell'ossigeno end-to-end?
Quali classi alimentano questo modello di consegna del serbatoio di ossigeno?

Fidato da sviluppatori in tutto il mondo

Unisciti ai team che consegnano prodotti per la consegna di ossigeno più velocemente con i modelli di Back4app

G2 Users Love Us Badge

Pronto per costruire la tua app di consegna bombole d'ossigeno?

Inizia il tuo progetto di consegna di ossigeno in pochi minuti. Nessuna carta di credito richiesta.

Scegli la tecnologia