FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packageio.health-samurai.sdc.r6
Resource TypeStructureDefinition
IdStructureDefinition-SDCVoiceAgent.json
FHIR VersionR6
Sourcehttps://simplifier.net/resolve?scope=io.health-samurai.sdc.r6@0.2608.2&canonical=http://health-samurai.io/fhir/sdc/StructureDefinition/SDCVoiceAgent
URLhttp://health-samurai.io/fhir/sdc/StructureDefinition/SDCVoiceAgent
Version0.2608.2
Statusactive
NameSDCVoiceAgent
TitleSDC Voice Agent
DescriptionA 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.
TypeSDCVoiceAgent
Kindresource

Resources that use this resource

No resources found


Resources that this resource uses

StructureDefinition
io.health-samurai.sdc.r6#0.2608.2SDCVoicePromptSDC Voice Prompt

Narrative

No narrative content found in resource


Source1

{
  "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"
}