{
"description": "Versioned instruction text for a voice agent. Separate from SDCVoiceAgent so the wording can be revised and rolled back on its own lineage; agents reference the lineage url and the current active version is resolved at call time.",
"_filename": "StructureDefinition-SDCVoicePrompt.json",
"package_name": "io.health-samurai.sdc.r5",
"date": null,
"derivation": "specialization",
"publisher": "Health Samurai",
"fhirVersion": "5.0.0",
"name": "SDCVoicePrompt",
"abstract": false,
"type": "SDCVoicePrompt",
"experimental": null,
"resourceType": "StructureDefinition",
"title": "SDC Voice Prompt",
"package_version": "0.2608.0",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category",
"valueString": "Forms.Definitions"
} ],
"status": "active",
"id": "2a55a3c3-b730-41ff-a700-49bcaee20935",
"kind": "resource",
"url": "http://health-samurai.io/fhir/sdc/StructureDefinition/SDCVoicePrompt",
"version": "0.2608.0",
"differential": {
"element": [ {
"id": "SDCVoicePrompt",
"max": "*",
"min": 0,
"path": "SDCVoicePrompt"
}, {
"id": "SDCVoicePrompt.url",
"max": "1",
"min": 1,
"path": "SDCVoicePrompt.url",
"type": [ {
"code": "uri"
} ],
"short": "Canonical identity of the prompt lineage, stable across versions."
}, {
"id": "SDCVoicePrompt.version",
"max": "1",
"min": 0,
"path": "SDCVoicePrompt.version",
"type": [ {
"code": "string"
} ],
"short": "Business version of this revision, e.g. 1.2.0."
}, {
"id": "SDCVoicePrompt.name",
"max": "1",
"min": 0,
"path": "SDCVoicePrompt.name",
"type": [ {
"code": "string"
} ],
"short": "Machine-readable name."
}, {
"id": "SDCVoicePrompt.title",
"max": "1",
"min": 0,
"path": "SDCVoicePrompt.title",
"type": [ {
"code": "string"
} ],
"short": "Human-readable name."
}, {
"id": "SDCVoicePrompt.status",
"max": "1",
"min": 1,
"path": "SDCVoicePrompt.status",
"type": [ {
"code": "code"
} ],
"short": "draft | active | retired. Only active revisions are picked up by agents.",
"constraint": [ {
"key": "voice-prompt-status-1",
"human": "Status must be one of: draft, active, retired",
"severity": "error",
"expression": "$this in ('draft' | 'active' | 'retired')"
} ]
}, {
"id": "SDCVoicePrompt.date",
"max": "1",
"min": 0,
"path": "SDCVoicePrompt.date",
"type": [ {
"code": "dateTime"
} ],
"short": "When this revision was authored."
}, {
"id": "SDCVoicePrompt.publisher",
"max": "1",
"min": 0,
"path": "SDCVoicePrompt.publisher",
"type": [ {
"code": "string"
} ],
"short": "Who authored this revision."
}, {
"id": "SDCVoicePrompt.description",
"max": "1",
"min": 0,
"path": "SDCVoicePrompt.description",
"type": [ {
"code": "markdown"
} ],
"short": "What this prompt is for, and what changed in this revision."
}, {
"id": "SDCVoicePrompt.role",
"max": "1",
"min": 0,
"path": "SDCVoicePrompt.role",
"type": [ {
"code": "code"
} ],
"short": "Which conversation stage this text drives: interviewer | summarizer | extractor.",
"constraint": [ {
"key": "voice-prompt-role-1",
"human": "Role must be one of: interviewer, summarizer, extractor",
"severity": "error",
"expression": "$this in ('interviewer' | 'summarizer' | 'extractor')"
} ]
}, {
"id": "SDCVoicePrompt.prompt",
"max": "1",
"min": 1,
"path": "SDCVoicePrompt.prompt",
"type": [ {
"code": "markdown"
} ],
"short": "The instruction text itself, sent as the system message."
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}