症状チェッカー アプリ バックエンド テンプレート
ガイド付きインテーク調査、トリアージ結果、および意思決定ツリー評価
Back4app における本番稼働準備完了の症状チェッカー バックエンド: インテーク調査、臨床論理ツリー、トリアージ結果、ユーザープロファイル、および監査履歴を含む。ERダイアグラム、データ辞書、JSONスキーマ、APIプレイグラウンド、及び迅速なブートストラップ用のAIエージェントプロンプトを含む。
主要なポイント
このテンプレートは、調査、決定ツリー、結果、ユーザー、監査モデルを持つ症状チェッカーのバックエンドを提供するため、チームは臨床コンテンツとUXに集中できます。
- 意見に基づくインテークモデル — 調査定義、質問のバリエーション、およびユーザーの回答を追跡してインテークセッションを信頼性高く再構築します。
- 臨床ロジックノード — 決定ノードレコードとしてリンクされた決定ツリーを表現し、評価ロジックをクライアントコードから切り離します。
- トリアージ結果 — 決定論的なトリアージ結果(アドバイス、緊急度、推奨される次のステップ)を保存し、下流の分析とルーティングに利用します。
- 監査と説明性 — 意思決定の経路とユーザー入力をキャプチャし、臨床医やコンプライアンスレビューのために結果が監査可能で説明可能になるようにします。
- クロスプラットフォームAPI — RESTとGraphQLエンドポイントは、受け入れとトリアージに関する一貫した契約を持つモバイルおよびWebクライアントにサービスを提供します。
症状チェッカーアプリバックエンドテンプレートとは?
Back4appは迅速な製品提供のためのバックエンド-as-a-service (BaaS)です。症状チェッカーアプリバックエンドテンプレートは、調査、決定ノード、調査回答、トリアージ結果、ユーザープロファイル、および監査エントリのための事前構築されたスキーマです。お好みのフロントエンド(React、Flutter、Next.jsなど)を接続し、より早く出荷します。
最適:
概要
信頼できる症状チェッカーには、トリアージと解析をサポートするために、構造化された intake データ、明示的な決定ロジック、および監査可能な結果が必要です。
このテンプレートでは、Survey、DecisionNode、UserProfile、SurveyResponse、TriageOutcome、および AuditEntry を、臨床 intake ワークフローをサポートするための適切な所有権と検証ルールで定義します。
コア症状チェッカー機能
このハブ内のすべてのテクノロジーカードは、Survey、DecisionNode、UserProfile、SurveyResponse、TriageOutcome、およびAuditEntryを持つ同じSymptom Checkerバックエンドスキーマを使用しています。
調査の定義とバージョン管理
調査クラスは、ガイド付きインテークフローを作成するためのタイトル、バージョン、startNode、およびメタデータを保存します。
DecisionNodeツリー
DecisionNodeは、質問、分岐ロジック、条件式、および次のノードへのポインタをモデル化します。
サーベイレスポンス追跡
サーベイレスポンスはユーザーの回答、タイムスタンプ、および意思決定ツリーを通じた評価されたパスを保存します。
トリアージ結果記録
トリアージ結果は、評価されたレベル(セルフケア、緊急、緊急時)、アドバイステキスト、および推奨される次のステップをキャプチャします。
ユーザープロファイル管理
ユーザープロファイルは、Back4app ユーザーアカウントをトリアージ中に使用される人口統計および臨床メタデータにリンクします。
説明可能な監査エントリ
AuditEntryは、各重要な評価および結果のために、アクター、アクション、コンテキスト、ペイロードを記録します。
なぜBack4appで症状チェッカーのバックエンドを構築するのか?
Back4appは、あなたのチームが臨床コンテンツ、UX、統合に集中できるように、 intake、意思決定ロジック、トリアージのための管理されたBlocksを提供します。
- •調査およびコンテンツ管理: 調査を作成し、バージョン管理を行い、 intake フローが進化できるようにし、以前のセッションはレビューのために保存されます。
- •決定論的な臨床ロジック: 意思決定ノードをデータとして保存することで、ルールを監査可能、テスト可能、編集可能にし、クライアントアプリに新たなリリースを行う必要がありません。
- •柔軟なAPI + 監査: RESTとGraphQLを使用してクライアントのアクセスを行い、説明可能性のために入力と意思決定の経路をキャプチャする詳細な監査エントリを記録します。
複数のフロントエンドをサポートする管理されたバックエンド契約を利用して、症状トリアージフローを迅速に構築、テスト、展開します。
コアメリット
意思決定ロジックを監査可能でコンテンツ駆動に保ちながら迅速に反復するのを助ける症状トリアージバックエンド。
迅速なコンテンツ反復
すべてのコンテンツ変更のためにクライアントリリースを出荷することなく、著者およびバージョンの調査と意思決定ノードを作成します。
説明可能な結果
臨床医や監査人が特定のトリアージ推奨が発行された理由を再構築できるように、意思決定の経路と入力を保持する。
一貫したトリアージ結果
決定論的なルール評価を使用して、同一の入力がプラットフォーム間で再現可能な結果を生み出すことを保証する。
権限付きコンテンツ編集
役割ベースのACLおよびCloud Codeチェックを使用して、誰が調査内容を作成または公開できるかを制御する。
分析に準備されたデータ
構造化された応答と結果をキャッチして、製品および臨床チームが使用状況や安全シグナルを分析できるようにする。
AI支援のブートストラップワークフロー
事前に作成されたAIエージェントのプロンプトを使用して、素早く調査、ノード、および例のトリアージ結果を種まきする。
症状トリアージプラットフォームを立ち上げる準備はできましたか?
Back4app AIエージェントに症状確認のバックエンドを構築させ、調査、意思決定ノード、応答、成果、および監査ログを一つのプロンプトから生成させましょう。
開始は無料 — 月に50のAIエージェントプロンプト、クレジットカード不要
技術スタック
この症状確認バックエンドテンプレートに含まれているすべて。
ER 図
症状チェッカーのバックエンドスキーマのエンティティリレーションシップモデル。
調査、意思決定ノード、ユーザープロフィール、回答、トリアージ結果、および監査エントリを網羅するスキーマ。
図のソースを表示
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
}
統合フロー
認証、ガイドされたインテーク、意思決定評価、およびトリアージの永続化の典型的なランタイムフロー。
図のソースを表示
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データ辞書
Symptom Checkerスキーマ内のすべてのクラスの完全なフィールドレベルの参照。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| title | String | Survey display title (e.g. Respiratory Triage) | |
| description | String | Short description or purpose of the survey | — |
| version | String | Semantic version for survey logic | |
| isActive | Boolean | Whether this survey is available to users | |
| nodes | Array<Pointer<DecisionNode>> | Ordered decision nodes that make the clinical tree | — |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
8 フィールドが SymptomSurvey に
セキュリティと権限
ACL と CLP 戦略が調査コンテンツ、意思決定ロジック、敏感な回答データをどのように保護するか。
役割ベースのコンテンツ制御
臨床著者と管理者のみが調査および DecisionNode アーティファクトを作成または公開できるようにする; 視聴者は公開されたバージョンを表示します。
保護されたユーザーデータ
SurveyResponse および UserProfile レコードは許可されており、ユーザーと臨床医は承認されたレコードのみアクセス; 必要に応じて敏感なデータには暗号化フィールドを使用します。
追加のみの監査
AuditEntry の書き込みは、追跡可能性を保ち、過去の意思決定ログの改ざんを防ぐために、信頼できるバックエンドフローに制限されています。
スキーマ (JSON)
Back4app にコピーするか、実装の参照として使用するための生の 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
}
}
}
]
}AI エージェントで構築
Back4app AI エージェントを使用して、このテンプレートから症状チェッカーアプリを生成します。調査の足場、意思決定ツリー、トリアージの結果、および {tech} とのフロントエンド統合が含まれます。
Back4app でこの正確なスキーマと動作を持つ症状チェッカーのバックエンドを作成します。
スキーマ:
1. 調査: タイトル (文字列, 必須), バージョン (文字列, 必須), startNode (意思決定ノードへのポインタ, 必須), メタデータ (オブジェクト, オプション).
2. 意思決定ノード: 質問 (文字列, 必須), 入力タイプ (文字列: singleChoice, multiChoice, numeric, text), 条件 (条件オブジェクトの配列), nextNode (意思決定ノードへのポインタ, オプション), outcome (トリアージ成果へのポインタ, オプション), ruleType (文字列: deterministic, scriptable).
3. ユーザープロフィール: ユーザー (ユーザーへのポインタ, 必須), 年齢範囲 (文字列, オプション), 慢性フラグ (配列, オプション), 同意を得た (ブール値, 必須).
4. 調査回答: 調査 (調査へのポインタ, 必須), ユーザー (ユーザーへのポインタ, オプション), 回答 (オブジェクト: nodeId でキー付け), path (意思決定ノードポインタの配列), startedAt (日付), completedAt (日付, オプション).
5. トリアージ成果: 回答 (調査回答へのポインタ, 必須), レベル (文字列: self-care, primary-care, urgent, emergency), adviceText (文字列), 推奨アクション (文字列), createdAt (システム).
6. 監査エントリー: アクター (ユーザーへのポインタ, 必須), アクション (文字列, 必須), コンテキスト (オブジェクト), payload (オブジェクト, オプション).
セキュリティ:
- 調査作成を制限し、SurveyResponse データを保護するために ACL/CLP を使用してください。監査エントリの書き込みは非管理者向けに追加オンリーであるべきです。
認証:
- エンドユーザーおよび臨床医向けのサインアップ、ログイン、ログアウト; 著者およびレビュアー向けのロールベースの権限。
動作:
- 公開された調査および意思決定ノードツリーを取得し、ノードを順次評価し、意思決定パスで SurveyResponse を永続化し、トリアージ成果を計算または記録し、各完了した評価に対して AuditEntry レコードを作成します。
提供:
- スキーマ、ACL、CLP を備えた Back4app アプリ; スターター調査と意思決定ノード; {tech} 用のフロントエンド統合ガイド; API プレイグラウンドの例。下のボタンを押して、事前に入力されたこのテンプレートプロンプトでエージェントを開きます。
これは技術的サフィックスのない基本プロンプトです。その後、生成されたフロントエンドスタックを適応させることができます。
APIプレイグラウンド
症状チェッカースキーマに対してRESTとGraphQLエンドポイントを試してください。レスポンスはモックデータを使用し、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用しています。
テクノロジーを選択
各カードを展開して、統合ステップ、状態パターン、データモデルの例、およびオフラインノートを確認してください。
Flutter 症状チェッカーバックエンド
React 症状チェッカーバックエンド
React ネイティブ 症状チェッカーバックエンド
Next.js 症状チェッカーバックエンド
JavaScript 症状チェッカーバックエンド
Android 症状チェッカーバックエンド
iOS 症状チェッカーバックエンド
Vue 症状チェッカーバックエンド
Angular 症状チェッカーバックエンド
GraphQL 症状チェッカーバックエンド
REST API 症状チェッカーバックエンド
PHP 症状チェッカーバックエンド
.NET 症状チェッカーバックエンド
得られるもの / 技術
すべてのスタックは同じSymptom CheckerバックエンドスキーマとAPI契約を使用しています。
統合症状チェッカーデータ構造
症状チェッカー用に調整された調査とユーザープロファイルのための一貫したスキーマ。
リアルタイムのトリアージ結果
症状チェッカーの動的な意思決定ノードによるユーザー症状への即時フィードバック。
安全なユーザーデータ管理
症状チェッカーユーザー情報の機密性を確保する堅牢なアクセス制御。
REST/GraphQL APIアクセス
症状チェッカー用の柔軟なAPIを介してフロントエンドフレームワークと簡単に統合。
カスタマイズ可能な調査体験
症状チェッカーユーザーの特定のニーズに合わせて調査を調整し、エンゲージメントを向上。
分析と報告ツール
症状チェッカーアプリでのユーザーインタラクションと結果から洞察を得る。
症状チェッカーフレームワークの比較
すべてのサポートされている技術における設定速度、SDKスタイル、AIサポートを比較します。
| フレームワーク | セットアップ時間 | 症状チェッカーの利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 5分未満 | モバイルおよびウェブ用の症状チェッカーの単一コードベース。 | Typed SDK | フル | |
| ~3–7分 | 症状チェッカー用の高速ウェブダッシュボード。 | Typed SDK | フル | |
| 迅速な(5分)設定 | 症状チェッカー用のクロスプラットフォームモバイルアプリ。 | Typed SDK | フル | |
| ~5分 | 症状チェッカー用のサーバーレンダリングされたウェブアプリ。 | Typed SDK | フル | |
| ~3–5分 | 症状チェッカー用の軽量ウェブ統合。 | Typed SDK | フル | |
| 5分未満 | 症状チェッカーのネイティブAndroidアプリ。 | Typed SDK | フル | |
| ~3–7分 | 症状チェッカーのネイティブiOSアプリ。 | Typed SDK | フル | |
| 迅速な(5分)設定 | React的ウェブUIで症状チェッカー。 | Typed SDK | フル | |
| ~5分 | 症状チェッカー用のエンタープライズウェブアプリ。 | Typed SDK | フル | |
| 2分未満 | 症状チェッカー用の柔軟なGraphQL API。 | GraphQL API | フル | |
| クイック(2分)設定 | REST API 統合で症状チェッカー。 | REST API | フル | |
| ~3分 | 症状チェッカー用のサーバーサイドPHPバックエンド。 | REST API | フル | |
| 迅速な(5分)設定 | 症状チェッカー用の.NETバックエンド。 | Typed SDK | フル |
セットアップ時間は、このテンプレートスキーマを使用したプロジェクトのブートストラップから最初の調査および意思決定評価までの予想時間を反映しています。
よくある質問
このテンプレートを使用してSymptom Checkerバックエンドを構築する際の一般的な質問。