Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
AIエージェントのための健康パターン (ベータ)
患者の記録で何が変更され、何が繰り返されるか、固定統計ルールで計算:トレンド、個人の通常レベルからの逸脱、症状の再発、それぞれに期間、証拠、限界があります。診断ではありません。
Anpherosは、固定された統計的ルールによって、患者の記録で何が変更され、何が再発したかを計算し、各所見を期間、その背後にあるリソース、メソッドバージョン、および制限とともにアプリケーションまたはAIエージェントに提供します。 モデルは、少数の数値からトレンドを推測する必要はもうありません。トレンド、その周囲の不確実性、および引用するためのデータが得られます。
ベータ版。サンドボックスでは、任意のサンドボックス認証情報(sk_test_…キーおよびサンドボックスOAuth接続)で機能します。本番環境のレコードでは、個人のOAuth同意の下でのみ実行され、これには個別のanpheros/patterns権限が含まれます。本番環境APIキーは403エラーになります。
何を検出するか
| タイプ | 答える質問 | メソッド |
|---|---|---|
trend |
測定値はウィンドウ内で上昇または下降していますか? | Theil–Sen スロープと Mann–Kendall を 1 日あたり 1 つの値に適用 (密な監視データの場合は週次中央値)、隣接する日が類似している場合は補正 |
trend (change_between_results) |
2 回から 5 回の結果がある検査はどのように変化しましたか? | 最初と最後の結果。最新の結果とレポートの参照範囲を比較。テストではなく記述 |
trend (event_rate_change) |
症状はより頻繁またはまれに記録されていますか? | 症状があった日数 / その人が何かを記録した日数 (過去 30 日間対その前の 90 日間)、正確確率検定 |
baseline_deviation |
この人にとって先週は異常ですか? | 過去 7 日間対 8~60 日目、Mann–Whitney 検定または自己相関調整済み平均差 |
recurrence |
症状のエピソードは定期的な間隔で再発しますか? | エピソード開始間の間隔、モンテカルロ法によるシミュレーション対ランダムに配置されたエピソード |
association (around_medication_start, sandbox) |
薬の開始から、症状はより頻繁またはまれに記録されていますか? | 薬の開始から 30 日間の症状があった日数 / 薬が有効だった日数 (最大 90 日前の期間と比較)、正確確率検定 |
association (after_short_sleep, sandbox) |
睡眠時間が 6 時間未満だった日に症状はより頻繁に記録されていますか? | 睡眠が測定され、その人が記録した日。短い夜対長い夜、Fisher の正確確率検定 |
convergence (recent_changes_together, sandbox) |
最近の同じ期間にいくつかのことが変化しましたか? | 新しいテストなし: 統計的に裏付けられた少なくとも 2 つの最近の変化 (異常な週、症状の頻度の増減) をグループ化します。それらが一緒に発生したことのみを示します |
1 回の実行におけるすべてのテストは一緒に補正されます (Benjamini–Hochberg)。検出は、補正された q 値が 0.05 未満 かつ 変化がその測定値のしきい値以上である場合にのみ statistically_supported となります。
これは何かではない
- 診断ではありません。 検出結果は記録を記述するものであり、病名を付けたり治療法の変更を推奨したりすることはありません。すべての検出結果には
safety.not_a_diagnosis = trueとsafety.causal_claim = falseが含まれます。 - 原因ではありません。 新しい薬剤の後に発生した変化や、一緒に記録された2つの事象は、一方の原因が他方である証拠にはなりません。関連性は、2つの事象がほぼ同時に発生したことを示すだけであり、それぞれに
confounding_possibleとnot_causalが含まれます。また、症状に対してテストされるのは薬剤開始と睡眠のみであり、すべてのペアがテストされるわけではありません。現時点ではサンドボックス認証情報のみを使用します。 - AIモデルではなく、臨床レビューもまだ行われていません。 すべての数値は、固定されたバージョン管理された統計ルールから来ており、AIモデルがデータを分析することはありません。意味のある変化のしきい値はAIの支援を受けて設定されており、まだ臨床医によるレビューは行われていません。各検出結果には
review.thresholds_reviewed_by_clinicianでその旨が記載されています。エンジンは、既知のパターンが埋め込まれた合成患者で検証されており、埋め込まれたパターンを見つけ、何もなかった場合は沈黙を保ちます。これは臨床的検証ではありません。
試してみる
各サンドボックスプロジェクトには30人の合成患者がおり、そのうち6人には意図的にパターンが埋め込まれています。GET /fhir/R4/Patient?identifier=https://anpheros.com/fhir/sid/sandbox-persona|<key> を持つ患者を見つけてください。
| 患者 | 埋め込まれた内容 | エンジンが報告するもの |
|---|---|---|
| p01 Andrei Popescu | 毎日の自宅血圧、6ヶ月で約8/5 mmHg低下 | 収縮期 (8480-6) および拡張期 (8462-4) のtrend.decreasing |
| p06 Giulia Rossi | 7日ごとに頭痛(±1日) | 頭痛 (R51) のrecurrence.intervals |
| p17 Ciarán Murphy | 過去30日の約半分の日に倦怠感、それ以前は12日に1日程度 | 倦怠感 (R53) のfrequency.increased |
| p19 Felix Gruber | 過去1週間、時計からの安静時心拍数が通常より約9 bpm高い | 安静時心拍数 (40443-4) のbaseline.higher |
| p20 Ivana Horvat | 時計からの安静時心拍数、6ヶ月で約16 bpm低下 | 安静時心拍数 (40443-4) のtrend.decreasing |
| p30 Jan Kowalczyk | 密な時計と自宅のデータで何も埋め込まれていない | サポートされていない所見: エンジンは沈黙したまま |
2026年10月16日より前に作成されたプロジェクトは、ダッシュボードから合成患者をリセットするとこれらのパターンが適用されます。リセットは、患者に対して行われたすべての変更を上書きします。
curl -s https://platform.anpheros.com/v1/patients/$PATIENT/patterns?window_days=180 \
-H "Authorization: Bearer $ANPHEROS_KEY"
TypeScript SDK (@anpheros/sdk 0.2.0 以降) を使用する場合:
const run = await anpheros.patterns.run(patientId, { window_days: 180, min_strength: 'moderate' });
for (const f of run.findings) console.log(f.summary_text, f.strength, f.limitations.map(l => l.code));
MCPサーバーを使用する場合、エージェントに「過去6ヶ月間でこの患者の記録に何が変更されましたか?」と尋ねてください。これによりget_health_patternsが呼び出され、その後get_pattern_evidence、get_series、compare_periodsに続くことができます。POST /v1/contextは、変更や関係に関する質問、またはpatternsの必要性を尋ねた場合に、patternsセクションを追加します。
エンドポイント
| エンドポイント | 返却されるもの |
|---|---|
GET /v1/patients/{id}/patterns |
実行結果:算出された所見、算出できなかった理由、除外された同意事項、フィルタ window_days (30–730)、end、types、min_strength |
GET /v1/patients/{id}/patterns/{finding_id} |
1つの所見(同じウィンドウで再計算されたもの) |
GET /v1/patients/{id}/patterns/{finding_id}/evidence |
ページングされた、すべてのサポートリソース |
GET /v1/patients/{id}/series?code=… |
1日あたりの値としての1つの測定値(カバレッジ、ギャップ、ソース変更を含む) |
POST /v1/patients/{id}/patterns/compare |
選択した2つの期間における1つの測定値 |
所見の読み取り
summary_text: 表示または引用しても安全な、プレーンな1文です。strength:strong、moderate、weak、またはnot_tested。弱く、テストされていない所見は、証拠ではなく説明です。window、comparison_window: 分析された期間。evidence(最大20件、期間中に分散) およびevidence_total: 所見の背後にあるリソース。バージョン、日付、値、および作成者タイプが含まれます。limitations: コード化されており、テキストが付随します。所見とともに表示してください。review: 臨床医がしきい値 (現時点ではfalse) をレビューしたかどうか、およびそれらがどこから来たか。method、engine_version、input_fingerprint: 同じデータ、構成、およびバージョンは、同じ結果とIDをもたらします。
知っておくべきルール
- まず同意。 OAuthグラントの下では、エンジンはグラントが許可したもののみを読み取ります。読み取れなかったものは
omittedにリストされますが、コンテンツはありません。 - ID。 患者はプロジェクト固有のペアワイズIDで表示されます。検索IDはプロジェクトごとに導出されます。レコードが変更されると、所見には新しいIDが付与され、古いIDは404を返します。
- 時間。 読み取り時間に含まれる明示的なオフセット(
2026-10-16T00:30:00+03:00)は、その人の現地時間としてカウントされます。UTC(Z)またはオフセットなしの時間は、UTCの日として扱われます。各所見は、time_basis(record_offsets、partly_localまたはlocal_time_unknown)でどちらであるかを示します。ローカル時間はサンドボックスおよび本番環境のレコードで使用されます。現時点では、時刻パターンは計算されていません。 - 除外。 AIによって記述された値、entered-in-errorとマークされた結果、および月のみが判明している日付は使用されず、カウントされます。
- 制限。 1分あたりのパターン実行数は、資格情報ごとに30回です。これは、通常の1分あたり600リクエストに加えて適用されます。
よくある質問
言語モデルを使用していますか?
いいえ。すべての数値は、固定されたバージョン管理された統計的手法から取得されます。ホスト型またはローカルのいずれかのモデルで結果を読むことができます。
データにおける明確な変更が「弱い」とマークされるのはなぜですか?
証拠が、実行中のすべてのテストの補正を生き残らなかった場合、系列が短いかノイズが多い場合、または変更がその測定値のしきい値を下回っている場合です。この所見は、記録が示す内容を依然として記述しています。
本番稼働中のレコードで動作しますか?
はい、2026年10月16日から動作しますが、患者のOAuth同意が必要であり、それには個別のanpheros/patterns権限が含まれている必要があります。この権限は、同意画面に独自の行として表示されます。patient/…スコープの隣にこのスコープをリクエストしてください。これがない同意、および本番稼働中のAPIキーは403エラーとなります。
関連情報
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card