FHIR IG analytics| Package | io.health-samurai.sdc.r6 |
| Resource Type | StructureDefinition |
| Id | StructureDefinition-SDCVoiceAgent.json |
| FHIR Version | R6 |
| Source | https://simplifier.net/resolve?scope=io.health-samurai.sdc.r6@0.2608.2&canonical=http://health-samurai.io/fhir/sdc/StructureDefinition/SDCVoiceAgent |
| URL | http://health-samurai.io/fhir/sdc/StructureDefinition/SDCVoiceAgent |
| Version | 0.2608.2 |
| Status | active |
| Name | SDCVoiceAgent |
| Title | SDC Voice Agent |
| Description | A voice agent that conducts a spoken interview over the phone. Binds an instruction prompt to the questionnaires it can administer, so a Task focused on one of those questionnaires can find its agent without referencing voice at all. Speech and language models are optional overrides on top of the deployment defaults. |
| Type | SDCVoiceAgent |
| Kind | resource |
No resources found
| StructureDefinition | ||
| io.health-samurai.sdc.r6#0.2608.2 | SDCVoicePrompt | SDC Voice Prompt |
No narrative content found in resource
{
"description": "A voice agent that conducts a spoken interview over the phone. Binds an instruction prompt to the questionnaires it can administer, so a Task focused on one of those questionnaires can find its agent without referencing voice at all. Speech and language models are optional overrides on top of the deployment defaults.",
"derivation": "specialization",
"publisher": "Health Samurai",
"fhirVersion": "6.0.0-ballot5",
"name": "SDCVoiceAgent",
"abstract": false,
"type": "SDCVoiceAgent",
"resourceType": "StructureDefinition",
"title": "SDC Voice Agent",
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category",
"valueString": "Forms.Definitions"
}
],
"status": "active",
"id": "SDCVoiceAgent",
"kind": "resource",
"url": "http://health-samurai.io/fhir/sdc/StructureDefinition/SDCVoiceAgent",
"version": "0.2608.2",
"differential": {
"element": [
{
"id": "SDCVoiceAgent",
"path": "SDCVoiceAgent",
"min": 0,
"max": "*"
},
{
"id": "SDCVoiceAgent.url",
"path": "SDCVoiceAgent.url",
"short": "Canonical identity of this agent.",
"min": 0,
"max": "1",
"type": [
{
"code": "uri"
}
]
},
{
"id": "SDCVoiceAgent.name",
"path": "SDCVoiceAgent.name",
"short": "Machine-readable name.",
"min": 0,
"max": "1",
"type": [
{
"code": "string"
}
]
},
{
"id": "SDCVoiceAgent.title",
"path": "SDCVoiceAgent.title",
"short": "Human-readable name, shown when picking an agent.",
"min": 0,
"max": "1",
"type": [
{
"code": "string"
}
]
},
{
"id": "SDCVoiceAgent.status",
"path": "SDCVoiceAgent.status",
"short": "draft | active | retired. Only active agents are selected for calls.",
"min": 1,
"max": "1",
"type": [
{
"code": "code"
}
],
"constraint": [
{
"key": "voice-agent-status-1",
"severity": "error",
"human": "Status must be one of: draft, active, retired",
"expression": "$this in ('draft' | 'active' | 'retired')"
}
]
},
{
"id": "SDCVoiceAgent.description",
"path": "SDCVoiceAgent.description",
"short": "What this agent is for.",
"min": 0,
"max": "1",
"type": [
{
"code": "markdown"
}
]
},
{
"id": "SDCVoiceAgent.prompt",
"path": "SDCVoiceAgent.prompt",
"short": "SDCVoicePrompt lineage url. Version-less: the active revision is resolved when the call is placed.",
"min": 1,
"max": "1",
"type": [
{
"code": "canonical",
"targetProfile": [
"http://health-samurai.io/fhir/sdc/StructureDefinition/SDCVoicePrompt"
]
}
]
},
{
"id": "SDCVoiceAgent.questionnaire",
"path": "SDCVoiceAgent.questionnaire",
"short": "Questionnaires this agent administers. Array order is interview order; a Task focused on any of these can be routed here. At least one is required — an agent without a questionnaire has nothing to ask.",
"min": 1,
"max": "*",
"type": [
{
"code": "canonical",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Questionnaire"
]
}
]
},
{
"id": "SDCVoiceAgent.context",
"path": "SDCVoiceAgent.context",
"short": "Resources this agent needs to hold the conversation. Declared here, supplied to $call, and validated against this list before the call is placed — the same contract as sdc-questionnaire-launchContext.",
"min": 0,
"max": "*",
"type": [
{
"code": "BackboneElement"
}
]
},
{
"id": "SDCVoiceAgent.context.name",
"path": "SDCVoiceAgent.context.name",
"short": "What this slot is called when passed to $call and when rendered into the prompt, e.g. patient, appointment, referrer. Distinguishes two slots of the same resource type.",
"min": 1,
"max": "1",
"type": [
{
"code": "code"
}
]
},
{
"id": "SDCVoiceAgent.context.type",
"path": "SDCVoiceAgent.context.type",
"short": "Resource type accepted in this slot, e.g. Patient, Appointment, Coverage. Any FHIR resource type is allowed.",
"min": 1,
"max": "1",
"type": [
{
"code": "code"
}
]
},
{
"id": "SDCVoiceAgent.context.label",
"path": "SDCVoiceAgent.context.label",
"short": "Human-readable name for the picker in the UI.",
"min": 0,
"max": "1",
"type": [
{
"code": "string"
}
]
},
{
"id": "SDCVoiceAgent.stt",
"path": "SDCVoiceAgent.stt",
"short": "Speech-to-text model, as a Device. Falls back to the deployment default.",
"min": 0,
"max": "1",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Device"
]
}
]
},
{
"id": "SDCVoiceAgent.tts",
"path": "SDCVoiceAgent.tts",
"short": "Text-to-speech voice, as a Device. Falls back to the deployment default.",
"min": 0,
"max": "1",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Device"
]
}
]
},
{
"id": "SDCVoiceAgent.llm",
"path": "SDCVoiceAgent.llm",
"short": "Language model, as a Device. Falls back to the deployment default.",
"min": 0,
"max": "1",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Device"
]
}
]
},
{
"id": "SDCVoiceAgent.extractorLlm",
"path": "SDCVoiceAgent.extractorLlm",
"short": "Model that turns the finished transcript into answers, as a Device. A separate call from the conversation, so it can be a cheaper or stricter model; falls back to llm.",
"min": 0,
"max": "1",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Device"
]
}
]
},
{
"id": "SDCVoiceAgent.maxAttempts",
"path": "SDCVoiceAgent.maxAttempts",
"short": "How many times to redial when nobody picks up. Defaults to a single attempt.",
"min": 0,
"max": "1",
"type": [
{
"code": "integer"
}
]
},
{
"id": "SDCVoiceAgent.retryDelayMinutes",
"path": "SDCVoiceAgent.retryDelayMinutes",
"short": "Gap between redial attempts, in minutes.",
"min": 0,
"max": "1",
"type": [
{
"code": "integer"
}
]
},
{
"id": "SDCVoiceAgent.maxDurationMinutes",
"path": "SDCVoiceAgent.maxDurationMinutes",
"short": "Hard cap on a single conversation; the call is hung up when it is reached.",
"min": 0,
"max": "1",
"type": [
{
"code": "integer"
}
]
}
]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}