Vérificateur de Symptômes
Construire avec un Agent IA
Backend de vérification des symptômes

Modèle de backend d'application de vérification des symptômes
Enquêtes d'admission guidées, résultats de triage et évaluation par arbre de décision

Un backend de vérification des symptômes prêt pour la production sur Back4app avec des enquêtes d'admission, des arbres de logique clinique, des résultats de triage, des profils utilisateurs et des pistes d'audit. Inclut un diagramme ER, un dictionnaire de données, un schéma JSON, un terrain de jeu API, et un prompt Agent IA pour un démarrage rapide.

Principaux enseignements

Ce modèle fournit un backend de vérificateur de symptômes avec des modèles d'enquête, d'arbre décisionnel, de résultats, d'utilisateur et d'audit, afin que votre équipe puisse se concentrer sur le contenu clinique et l'expérience utilisateur.

  1. Modèle d'accueil recommandéSuivez les définitions d'enquête, les variantes de questions et les réponses des utilisateurs pour reconstruire de manière fiable les sessions d'accueil.
  2. Nœuds de logique cliniqueReprésentez les arbres décisionnels comme des enregistrements de DecisionNode liés afin que la logique d'évaluation soit découplée du code client.
  3. Résultats de triageStockez les résultats de triage déterministes (conseils, niveau d'urgence, étapes suivantes recommandées) pour des analyses et un routage en aval.
  4. Audit et explicabilitéCapturez le chemin de décision et les entrées utilisateur pour que les résultats soient audités et explicables pour les cliniciens et les revues de conformité.
  5. APIs multiplateformesLes points de terminaison REST et GraphQL servent les clients mobiles et web avec des contrats cohérents pour l'admission et le triage.

Quel est le modèle de backend de l'application de vérificateur de symptômes?

Back4app est un backend en tant que service (BaaS) pour une livraison rapide de produits. Le modèle de backend de l'application de vérificateur de symptômes est un schéma pré-construit pour les enquêtes, les nœuds de décision, les réponses d'enquête, les résultats de triage, les profils d'utilisateur et les entrées d'audit. Connectez votre frontend préféré (React, Flutter, Next.js, et plus) et expédiez plus rapidement.

Meilleur pour :

Triage des symptômes orienté patientPrototypes de soutien à la décision cliniqueFlux de travail d'admission pour la télémédecineOutils de triage internes pour les cliniquesMVP pour les produits de triage numériqueÉquipes utilisant BaaS pour du contenu réglementé

Aperçu

Un vérificateur de symptômes fiable nécessite des données d'admission structurées, une logique décisionnelle explicite et des résultats auditables pour soutenir le triage et l'analyse.

Ce modèle définit Survey, DecisionNode, UserProfile, SurveyResponse, TriageOutcome et AuditEntry avec des règles de propriété et de validation sensées pour soutenir les flux de travail d'admission clinique.

Fonctionnalités clés du vérificateur de symptômes

Chaque carte technologique dans ce hub utilise le même schéma de backend pour le vérificateur de symptômes avec Survey, DecisionNode, UserProfile, SurveyResponse, TriageOutcome et AuditEntry.

Définition et versioning de l'enquête

La classe d'enquête stocke le titre, la version, le nœud de départ et les métadonnées pour la création de flux d'admission guidés.

Arbres de nœuds de décision

Le nœud de décision modélise des questions, une logique de ramification, des expressions conditionnelles et des pointeurs vers les nœuds suivants.

Suivi de la réponse au sondage

La réponse au sondage stocke les réponses des utilisateurs, les horodatages et le chemin évalué à travers l'arbre de décision.

Enregistrements de résultat de triage

Le résultat de triage capture le niveau évalué (auto-soin, urgent, urgence), le texte de conseil et les étapes suivantes recommandées.

Gestion du profil utilisateur

Le profil utilisateur lie Back4app les comptes utilisateurs aux métadonnées démographiques et cliniques utilisées lors du triage.

Entrées d'audit explicables

L'entrée d'audit enregistre l'acteur, l'action, le contexte et le contenu pour chaque évaluation critique et résultat.

Pourquoi construire votre backend de vérificateur de symptômes avec Back4app ?

Back4app fournit les Blocks gérés pour l'admission, la logique décisionnelle et le triage afin que votre équipe puisse se concentrer sur le contenu clinique, l'expérience utilisateur et les intégrations.

  • Gestion des enquêtes et du contenu: Créez des enquêtes et gérez les versions afin que les flux d'admission puissent évoluer tout en préservant les sessions antérieures pour révision.
  • Logique clinique déterministe: Stockez les nœuds de décision en tant que données afin que les règles soient auditées, testables et modifiables sans nouvelles versions pour les applications clientes.
  • APIs flexibles + audit: Utilisez REST et GraphQL pour l'accès client et enregistrez des entrées d'audit détaillées pour capturer les entrées et les chemins de décision pour explicabilité.

Composez, testez et déployez rapidement des flux de triage des symptômes avec un contrat backend géré qui prend en charge plusieurs frontaux.

Avantages principaux

Un backend de triage des symptômes qui vous aide à itérer rapidement tout en gardant la logique de décision vérifiable et axée sur le contenu.

Itération rapide du contenu

Rédigez et versionnez des enquêtes et des nœuds de décision sans déployer des versions client pour chaque changement de contenu.

Résultats explicables

Persister le chemin de décision et les entrées afin que les cliniciens et les auditeurs puissent reconstruire pourquoi une recommandation de triage particulière a été émise.

Résultats de triage cohérents

Utiliser une évaluation des règles déterministes pour assurer que des entrées identiques produisent des résultats reproductibles sur toutes les plateformes.

Édition de contenu autorisée

Contrôler qui peut créer ou publier du contenu d'enquête en utilisant des ACL basées sur les rôles et des vérifications de Cloud Code.

Données prêtes pour l'analyse

Capturer des réponses et des résultats structurés afin que les équipes produit et clinique puissent analyser l'utilisation et les signaux de sécurité.

Flux de travail de démarrage assisté par IA

Générer rapidement des enquêtes, des nœuds et des résultats de triage d'exemple avec une invite d'Agent IA prête à l'emploi.

Prêt à lancer votre plateforme de triage des symptômes ?

Laissez l'Agent AI Back4app structurer votre backend Symptom Checker et générer des enquêtes, des nœuds de décision, des réponses, des résultats et des journaux d'audit à partir d'une seule invite.

Gratuit pour commencer - 50 invites d'Agent AI/mois, pas de carte de crédit requise

Stack technique

Tout est inclus dans ce modèle de backend Symptom Checker.

Frontend
13+ technologies
Backend
Back4app
Base de données
MongoDB
Auth
Authentification intégrée + sessions
API
REST et GraphQL
Temps réel
Live Queries

Diagramme ER

Modèle de relation d'entité pour le schéma backend du Symptom Checker.

Voir la source du diagramme
Mermaid
erDiagram
    SymptomSurvey ||--o{ DecisionNode : "contains"
    DecisionNode ||--o{ DecisionNode : "branches to"
    DecisionNode }|..|{ Advice : "recommends"
    PatientProfile ||--o{ Encounter : "starts"
    SymptomSurvey ||--o{ Encounter : "used in"
    Advice ||--o{ Encounter : "applies to"

    SymptomSurvey {
        String objectId PK
        String title
        String description
        String version
        Boolean isActive
        Array nodes FK
        Date createdAt
        Date updatedAt
    }

    DecisionNode {
        String objectId PK
        String questionText
        Array options FK
        Object nextMap
        Boolean isTerminal
        Pointer advice FK
        Date createdAt
        Date updatedAt
    }

    Advice {
        String objectId PK
        String title
        String description
        String urgency
        String followUp
        Date createdAt
        Date updatedAt
    }

    PatientProfile {
        String objectId PK
        Pointer user FK
        String fullName
        Date birthDate
        String sex
        String contact
        Array medicalHistory FK
        Date createdAt
        Date updatedAt
    }

    Encounter {
        String objectId PK
        Pointer patient FK
        Pointer survey FK
        Object responses
        Array decisionPath FK
        Pointer recommendedAdvice FK
        Number riskScore
        String status
        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
    }

Flux d'intégration

Flux d'exécution typique pour l'authentification, l'admission guidée, l'évaluation des décisions et la persistance de triage.

Voir la source du diagramme
Mermaid
sequenceDiagram
  participant User
  participant App as Symptom Checker App
  participant Back4app as Back4app Cloud

  User->>App: Open app and Login
  App->>Back4app: POST /login
  Back4app-->>App: Session token and patient context

  User->>App: Request active triage surveys
  App->>Back4app: GET /classes/SymptomSurvey?where={"isActive":true}
  Back4app-->>App: List of SymptomSurvey

  User->>App: Start survey "Respiratory Triage"
  App->>Back4app: POST /classes/Encounter (patient, survey, status: in_progress)
  Back4app-->>App: Encounter objectId

  User->>App: Answer node Q1 -> "Yes"
  App->>Back4app: PUT /classes/Encounter/{id} (append responses, decisionPath)
  Back4app-->>App: Updated Encounter

  User->>App: Complete survey
  App->>Back4app: PUT /classes/Encounter/{id} (status: completed) + POST /classes/AuditLog
  Back4app-->>App: Encounter with recommendedAdvice (pointer) and riskScore

  Back4app-->>App: LiveQuery event if urgency == high (real-time escalation)
  App-->>User: Show advice and escalation instructions

Dictionnaire de données

Référence complète au niveau des champs pour chaque classe dans le schéma de l'outil de vérification des symptômes.

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
titleStringSurvey display title (e.g. Respiratory Triage)
descriptionStringShort description or purpose of the survey
versionStringSemantic version for survey logic
isActiveBooleanWhether this survey is available to users
nodesArray<Pointer<DecisionNode>>Ordered decision nodes that make the clinical tree
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

8 champs dans SymptomSurvey

Sécurité et autorisations

Comment la stratégie ACL et CLP sécurise le contenu des enquêtes, la logique décisionnelle et les données de réponse sensibles.

Contrôle du contenu basé sur les rôles

Autoriser uniquement les auteurs cliniques et les administrateurs à créer ou publier des artefacts Survey et DecisionNode ; les observateurs voient les versions publiées.

Données utilisateur protégées

Les enregistrements SurveyResponse et UserProfile sont soumis à des autorisations afin que les utilisateurs et les cliniciens n'accèdent qu'aux enregistrements autorisés ; utilisez des champs chiffrés pour les données sensibles lorsque cela est nécessaire.

Audit en mode append-only

Les écritures d'AuditEntry sont restreintes aux flux backend de confiance pour préserver la traçabilité et prévenir la falsification des journaux de décision historiques.

Schéma (JSON)

Définition du schéma JSON brute prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.

JSON
{
  "classes": [
    {
      "className": "SymptomSurvey",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "description": {
          "type": "String",
          "required": false
        },
        "version": {
          "type": "String",
          "required": true
        },
        "isActive": {
          "type": "Boolean",
          "required": true
        },
        "nodes": {
          "type": "Array<Pointer>",
          "required": false,
          "targetClass": "DecisionNode"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "DecisionNode",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "questionText": {
          "type": "String",
          "required": true
        },
        "options": {
          "type": "Array",
          "required": true
        },
        "nextMap": {
          "type": "Object",
          "required": false
        },
        "isTerminal": {
          "type": "Boolean",
          "required": true
        },
        "recommendedAdvice": {
          "type": "Pointer",
          "required": false,
          "targetClass": "Advice"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Advice",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "description": {
          "type": "String",
          "required": true
        },
        "urgency": {
          "type": "String",
          "required": true
        },
        "followUp": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "PatientProfile",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "user": {
          "type": "Pointer",
          "required": false,
          "targetClass": "_User"
        },
        "fullName": {
          "type": "String",
          "required": false
        },
        "birthDate": {
          "type": "Date",
          "required": false
        },
        "sex": {
          "type": "String",
          "required": false
        },
        "contact": {
          "type": "String",
          "required": false
        },
        "medicalHistory": {
          "type": "Array",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Encounter",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "patient": {
          "type": "Pointer",
          "required": true,
          "targetClass": "PatientProfile"
        },
        "survey": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SymptomSurvey"
        },
        "responses": {
          "type": "Object",
          "required": true
        },
        "decisionPath": {
          "type": "Array<Pointer>",
          "required": false,
          "targetClass": "DecisionNode"
        },
        "recommendedAdvice": {
          "type": "Pointer",
          "required": false,
          "targetClass": "Advice"
        },
        "riskScore": {
          "type": "Number",
          "required": false
        },
        "status": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "AuditLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "actor": {
          "type": "Pointer",
          "required": false,
          "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
        }
      }
    }
  ]
}

Construire avec l'Agent AI

Utilisez l'Agent AI de Back4app pour générer une application de Vérificateur de Symptômes à partir de ce modèle, incluant une structure d'enquête, des arbres décisionnels, des résultats de triage et une intégration frontend pour {tech}.

Agent AI de Back4app
Prêt à construire
Créez un backend de Vérificateur de Symptômes sur Back4app avec ce schéma et ce comportement exacts.

Schéma:
1. Enquête : titre (String, requis), version (String, requis), startNode (Pointeur vers DecisionNode, requis), metadata (Objet, optionnel).
2. DecisionNode : question (String, requis), inputType (String : singleChoice, multiChoice, numérique, texte), conditions (Tableau d'objets de condition), nextNode (Pointeur vers DecisionNode, optionnel), outcome (Pointeur vers TriageOutcome, optionnel), ruleType (String : déterministe, scriptable).
3. UserProfile : utilisateur (Pointeur vers User, requis), tranche d'âge (String, optionnel), chronicFlags (Tableau, optionnel), consentGiven (Boolean, requis).
4. SurveyResponse : enquête (Pointeur vers Survey, requis), utilisateur (Pointeur vers User, optionnel), réponses (Objet : indexé par nodeId), chemin (Tableau de pointeurs de DecisionNode), startedAt (Date), completedAt (Date, optionnel).
5. TriageOutcome : réponse (Pointeur vers SurveyResponse, requis), niveau (String : auto-soin, soins primaires, urgent, urgence), adviceText (String), recommendedAction (String), createdAt (système).
6. AuditEntry : acteur (Pointeur vers User, requis), action (String, requis), contexte (Objet), payload (Objet, optionnel).

Sécurité :
- Utilisez ACL/CLP pour restreindre la création d'enquêtes et pour protéger les données SurveyResponse. Les écritures d'AuditEntry doivent être en ajout uniquement pour les non-admins.

Auth :
- Inscription, connexion, déconnexion pour les utilisateurs finaux et les cliniciens ; autorisations basées sur les rôles pour les auteurs et les réviseurs.

Comportement :
- Récupérer les enquêtes publiées et les arbres DecisionNode, évaluer les nœuds progressivement, persister SurveyResponse avec le chemin décisionnel, calculer ou enregistrer TriageOutcome, et créer des enregistrements d'AuditEntry pour chaque évaluation complétée.

Livrer :
- Application Back4app avec schéma, ACL, CLP ; enquêtes de démarrage et nœuds décisionnels ; guide d'intégration frontend pour {tech}; exemples de playground API.

Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec ce prompt de modèle pré-rempli.

Ceci est le prompt de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.

Déployer en quelques minutes50 invites gratuites / moisAucune carte de crédit requise

Bac à sable API

Essayez les points de terminaison REST et GraphQL contre le schéma du Vérificateur de Symptômes. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.

common.loadingPlayground

Utilise le même schéma que ce modèle.

Choisissez votre technologie

Développez chaque carte pour les étapes d'intégration, les modèles d'état, les exemples de modèle de données et les notes hors ligne.

Flutter Vérificateur de symptômes Backend

React Vérificateur de symptômes Backend

React natif Vérificateur de symptômes Backend

Next.js Vérificateur de symptômes Backend

JavaScript Vérificateur de symptômes Backend

Android Vérificateur de symptômes Backend

iOS Vérificateur de symptômes Backend

Vue Vérificateur de symptômes Backend

Angular Vérificateur de symptômes Backend

GraphQL Vérificateur de symptômes Backend

REST API Vérificateur de symptômes Backend

PHP Vérificateur de symptômes Backend

.NET Vérificateur de symptômes Backend

Ce que vous obtenez avec chaque technologie

Chaque stack utilise le même schéma backend de vérification des symptômes et les contrats API.

Structure de données unifiée vérification des symptômes

Un schéma cohérent pour les enquêtes et les profils d'utilisateur adapté à vérification des symptômes.

Résultats de triage en temps réel

Retour d'information instantané sur les symptômes des utilisateurs avec des nœuds décisionnels dynamiques pour vérification des symptômes.

Gestion sécurisée des données utilisateur

Contrôle d'accès robuste garantissant la confidentialité des informations des utilisateurs de vérification des symptômes.

Accès API REST/GraphQL

Intégrez facilement avec des frameworks frontend via des API flexibles pour vérification des symptômes.

Expérience d'enquête personnalisable

Personnalisez les enquêtes pour répondre aux besoins spécifiques des utilisateurs de vérification des symptômes pour une meilleure interaction.

Outils d'analyse et de reporting

Obtenez des informations sur les interactions et les résultats des utilisateurs dans l'application vérification des symptômes.

Comparaison du cadre de vérification des symptômes

Comparez la vitesse de configuration, le style SDK et le support de l'IA à travers toutes les technologies prises en charge.

FrameworkTemps de configurationAvantage de la vérification des symptômesType de SDKSupport AI
Moins de 5 minutesCode source unique pour la vérification des symptômes sur mobile et web.Typed SDKComplet
~3–7 minTableau de bord web rapide pour la vérification des symptômes.Typed SDKComplet
Configuration rapide (5 min)Application mobile multiplateforme pour la vérification des symptômes.Typed SDKComplet
~5 minApplication web rendue sur serveur pour la vérification des symptômes.Typed SDKComplet
~3–5 minIntégration web légère pour la vérification des symptômes.Typed SDKComplet
Moins de 5 minutesApplication Android native pour la vérification des symptômes.Typed SDKComplet
~3–7 minApplication iOS native pour la vérification des symptômes.Typed SDKComplet
Configuration rapide (5 min)Interface utilisateur web Reactive pour la vérification des symptômes.Typed SDKComplet
~5 minApplication web d'entreprise pour la vérification des symptômes.Typed SDKComplet
Moins de 2 minAPI GraphQL flexible pour la vérification des symptômes.GraphQL APIComplet
Configuration rapide (2 min)Intégration REST API pour la vérification des symptômes.REST APIComplet
~3 minBackend PHP côté serveur pour la vérification des symptômes.REST APIComplet
Configuration rapide (5 min)Backend .NET pour la vérification des symptômes.Typed SDKComplet

Le temps de configuration correspond à la durée prévue depuis le démarrage du projet jusqu'à la première enquête et évaluation des décisions utilisant ce schéma de modèle.

Questions Fréquemment Posées

Questions courantes sur la création d'un backend de Vérificateur de Symptômes avec ce modèle.

Qu'est-ce qu'un backend de vérificateur de symptômes ?
Que contient ce modèle ?
Pourquoi utiliser Back4app pour une application de triage des symptômes ?
Comment puis-je collecter et rejouer une session d'enquête ?
Comment puis-je créer un TriageOutcome après évaluation ?
Puis-je mettre en cache les arbres DecisionNode sur mobile pour une utilisation hors ligne ?
Comment puis-je auditer pourquoi un conseil particulier a été donné ?
Quelle est la manière recommandée de mettre à jour le contenu clinique ?
Comment devrais-je gérer la conformité réglementaire ?
Comment puis-je prévenir l'injection de règles malveillantes ?

Approuvé par des développeurs du monde entier

Les équipes construisant des expériences de triage et d'admission comptent sur les modèles Back4app pour des backends rapides et conformes

G2 Users Love Us Badge

Prêt à créer votre application de vérification des symptômes ?

Commencez votre projet de triage des symptômes en quelques minutes. Aucune carte de crédit requise.

Choisir la technologie