Evidence map JSON
The shape your agent reasons over, field by field. Source-backed claims, audit receipts, type-level guarantees.
Updated May 28, 2026
The evidence map is the clinician-decision-support projection over a patient's signal. Every reflection, scale, and observation that lands in the graph is summarized here, with sources and confidence bands. This is the shape your agent reasons over.
Two fields are type-level constants. posture is always clinician_decision_support. autonomousDiagnosis is always false. The marketing tenet is built into the type: an agent cannot ask for an autonomous-diagnosis variant of this object, because that variant does not exist.
The shape
type EvidenceMap = {
posture: "clinician_decision_support";
autonomousDiagnosis: false;
primaryQuestion: string;
summary: string;
anxietyBehaviorSignals: AnxietyBehaviorSignal[];
scaleTrend: {
phq9Delta: number;
gad7Delta: number;
currentGad7Severity: Severity;
};
differentialFormulation: { label: string; status: "supported" | "mixed" | "watch"; rationale: string }[];
contradictions: string[];
confidence: { overall: number; reason: string };
followUpQuestions: string[];
citations: ResearchCitation[];
};
Fields
primaryQuestion. One sentence. The clinical question this projection is trying to help the clinician answer. Always present, never null.
summary. Two to four sentences of plain-language context for the window. Always present, never speculative.
anxietyBehaviorSignals. Eight possible signal IDs (avoidance, reassurance_seeking, threat_scanning, catastrophizing, somatic_vigilance, intolerance_of_uncertainty, safety_behaviors, sleep_disruption). Each entry has a strength (0-1), an evidenceCount, and the latestEvidence snippet.
scaleTrend. Numeric deltas against the day-1 PHQ-9 and GAD-7 scores plus the current GAD-7 severity band. The SDK does not invent severity bands; they come from the version-pinned instrument.
differentialFormulation. A short list of candidate formulations the clinician should consider. Each carries a status (supported | mixed | watch) and a one-sentence rationale grounded in the graph. Never includes ICD codes. Never names a diagnosis as confirmed.
contradictions. Free-text list of observations in the window that disagree with the formulation, written so the clinician sees the contradiction before they read the rationale.
confidence. A single overall band (0-1) plus the reason the projection chose that band. The marketing tenet "confidence bands, never certainty" is encoded here.
followUpQuestions. The two or three questions the clinician would most plausibly ask next, surfaced so the agent's prompt loop can offer them.
citations. Source-tier-tagged research links. sourceTier is one of clinical_guideline, peer_reviewed, review_required. reviewStatus is either reviewed or pending_review. Agents should never present a pending_review citation as a clinical recommendation.
Read the shape locally, without a live transport
The SDK ships the type and the Zod / Pydantic schema for EvidenceMap. You can validate any candidate object against the schema before sending it through a tool loop, render the field shape in your UI, or seed your own development store, all without a network call.
import { EvidenceMapSchema, type EvidenceMap } from "@humyn/nyra";
const candidate: unknown = JSON.parse(rawJson);
const evidenceMap: EvidenceMap = EvidenceMapSchema.parse(candidate);
// posture and autonomousDiagnosis are type-level constants here.
from humyn_nyra import EvidenceMap
evidence_map = EvidenceMap.model_validate(candidate)
assert evidence_map.posture == "clinician_decision_support"
assert evidence_map.autonomous_diagnosis is False
Live evidence maps land once you call client.getEvidenceMap(patientId) against an auth-server-backed HttpTransport. v0.1.0 raises NotLiveYetError for that call.
Next: Sandbox model.