{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2025-01-29",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"health-agent",
    "protocol":"rest-json",
    "protocolSettings":{"h2":"eventstream"},
    "protocols":["rest-json"],
    "serviceFullName":"Connect Health",
    "serviceId":"ConnectHealth",
    "signatureVersion":"v4",
    "signingName":"health-agent",
    "uid":"connecthealth-2025-01-29"
  },
  "operations":{
    "ActivateSubscription":{
      "name":"ActivateSubscription",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/subscriptions/{subscriptionId}/activate",
        "responseCode":200
      },
      "input":{"shape":"ActivateSubscriptionInput"},
      "output":{"shape":"ActivateSubscriptionOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Activates a Subscription to enable billing for a user.</p>"
    },
    "CreateDomain":{
      "name":"CreateDomain",
      "http":{
        "method":"POST",
        "requestUri":"/domain",
        "responseCode":201
      },
      "input":{"shape":"CreateDomainInput"},
      "output":{"shape":"CreateDomainOutput"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a new Domain for managing HealthAgent resources.</p>",
      "idempotent":true
    },
    "CreateSubscription":{
      "name":"CreateSubscription",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/subscriptions",
        "responseCode":201
      },
      "input":{"shape":"CreateSubscriptionInput"},
      "output":{"shape":"CreateSubscriptionOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a new Subscription within a Domain for billing and user management.</p>"
    },
    "DeactivateSubscription":{
      "name":"DeactivateSubscription",
      "http":{
        "method":"POST",
        "requestUri":"/domains/{domainId}/subscriptions/{subscriptionId}/deactivate",
        "responseCode":200
      },
      "input":{"shape":"DeactivateSubscriptionInput"},
      "output":{"shape":"DeactivateSubscriptionOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deactivates a Subscription to stop billing for a user.</p>",
      "idempotent":true
    },
    "DeleteDomain":{
      "name":"DeleteDomain",
      "http":{
        "method":"DELETE",
        "requestUri":"/domain/{domainId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteDomainInput"},
      "output":{"shape":"DeleteDomainOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Deletes a Domain and all associated resources.</p>",
      "idempotent":true
    },
    "GetDomain":{
      "name":"GetDomain",
      "http":{
        "method":"GET",
        "requestUri":"/domain/{domainId}",
        "responseCode":200
      },
      "input":{"shape":"GetDomainInput"},
      "output":{"shape":"GetDomainOutput"},
      "errors":[
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Retrieves information about a Domain.</p>",
      "readonly":true
    },
    "GetMedicalScribeListeningSession":{
      "name":"GetMedicalScribeListeningSession",
      "http":{
        "method":"GET",
        "requestUri":"/medical-scribe-stream/domain/{domainId}/subscription/{subscriptionId}/session/{sessionId}",
        "responseCode":200
      },
      "input":{"shape":"GetMedicalScribeListeningSessionInput"},
      "output":{"shape":"GetMedicalScribeListeningSessionOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Retrieves details about an existing Medical Scribe listening session</p>",
      "endpoint":{"hostPrefix":"streaming."},
      "readonly":true
    },
    "GetPatientInsightsJob":{
      "name":"GetPatientInsightsJob",
      "http":{
        "method":"GET",
        "requestUri":"/domain/{domainId}/patient-insights-job/{jobId}",
        "responseCode":200
      },
      "input":{"shape":"GetPatientInsightsJobRequest"},
      "output":{"shape":"GetPatientInsightsJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ],
      "documentation":"<p>Get details of a started patient insights job.</p>",
      "endpoint":{"hostPrefix":"runtime."},
      "readonly":true
    },
    "GetSubscription":{
      "name":"GetSubscription",
      "http":{
        "method":"GET",
        "requestUri":"/domains/{domainId}/subscriptions/{subscriptionId}",
        "responseCode":200
      },
      "input":{"shape":"GetSubscriptionInput"},
      "output":{"shape":"GetSubscriptionOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Retrieves information about a Subscription.</p>",
      "readonly":true
    },
    "ListDomains":{
      "name":"ListDomains",
      "http":{
        "method":"GET",
        "requestUri":"/domain",
        "responseCode":200
      },
      "input":{"shape":"ListDomainsInput"},
      "output":{"shape":"ListDomainsOutput"},
      "documentation":"<p>Lists Domains for a given account.</p>",
      "readonly":true
    },
    "ListSubscriptions":{
      "name":"ListSubscriptions",
      "http":{
        "method":"GET",
        "requestUri":"/domains/{domainId}/subscriptions",
        "responseCode":200
      },
      "input":{"shape":"ListSubscriptionsInput"},
      "output":{"shape":"ListSubscriptionsOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all Subscriptions within a Domain.</p>",
      "readonly":true
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceInput"},
      "output":{"shape":"ListTagsForResourceOutput"},
      "documentation":"<p>Lists the tags associated with the specified resource</p>",
      "readonly":true
    },
    "StartMedicalScribeListeningSession":{
      "name":"StartMedicalScribeListeningSession",
      "http":{
        "method":"POST",
        "requestUri":"/medical-scribe-stream/",
        "responseCode":200
      },
      "input":{"shape":"StartMedicalScribeListeningSessionInput"},
      "output":{"shape":"StartMedicalScribeListeningSessionOutput"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Starts a new Medical Scribe listening session for real-time audio transcription</p>",
      "endpoint":{"hostPrefix":"streaming."}
    },
    "StartPatientInsightsJob":{
      "name":"StartPatientInsightsJob",
      "http":{
        "method":"POST",
        "requestUri":"/domain/{domainId}/patient-insights-job",
        "responseCode":200
      },
      "input":{"shape":"StartPatientInsightsJobRequest"},
      "output":{"shape":"StartPatientInsightsJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Starts a new patient insights job.</p>",
      "endpoint":{"hostPrefix":"runtime."}
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"TagResourceInput"},
      "documentation":"<p>Associates the specified tags with the specified resource</p>",
      "idempotent":true
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":204
      },
      "input":{"shape":"UntagResourceInput"},
      "documentation":"<p>Removes the specified tags from the specified resource</p>",
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This error is thrown when the client does not supply proper credentials to the API.</p>",
      "error":{
        "httpStatusCode":401,
        "senderFault":true
      },
      "exception":true
    },
    "ActivateSubscriptionInput":{
      "type":"structure",
      "required":[
        "domainId",
        "subscriptionId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the parent Domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p>The unique identifier of the Subscription.</p>",
          "location":"uri",
          "locationName":"subscriptionId"
        }
      }
    },
    "ActivateSubscriptionOutput":{
      "type":"structure",
      "members":{
        "subscription":{
          "shape":"SubscriptionDescription",
          "documentation":"<p/>"
        }
      }
    },
    "ArtifactDetails":{
      "type":"structure",
      "members":{
        "outputLocation":{
          "shape":"Uri",
          "documentation":"<p/>"
        },
        "status":{
          "shape":"PostStreamArtifactGenerationStatus",
          "documentation":"<p>The generation status of the artifact</p>"
        },
        "failureReason":{
          "shape":"ErrorMessage",
          "documentation":"<p>The reason for failure if the artifact generation failed</p>"
        }
      },
      "documentation":"<p>Details about a generated artifact including location and status</p>"
    },
    "AudioChunk":{"type":"blob"},
    "AudioOffset":{
      "type":"double",
      "box":true
    },
    "ClinicalNoteGenerationResult":{
      "type":"structure",
      "members":{
        "noteResult":{
          "shape":"ArtifactDetails",
          "documentation":"<p>Details about the generated clinical note</p>"
        },
        "transcriptResult":{
          "shape":"ArtifactDetails",
          "documentation":"<p>Details about the generated transcript</p>"
        },
        "afterVisitSummaryResult":{
          "shape":"ArtifactDetails",
          "documentation":"<p>Details about the generated after visit summary</p>"
        }
      },
      "documentation":"<p>Results of clinical note generation including note, transcript, and summary</p>"
    },
    "ClinicalNoteGenerationSettings":{
      "type":"structure",
      "required":["noteTemplateSettings"],
      "members":{
        "noteTemplateSettings":{
          "shape":"NoteTemplateSettings",
          "documentation":"<p>Settings for the note template to use</p>"
        }
      },
      "documentation":"<p>Settings for generating clinical notes from the audio stream</p>"
    },
    "ClinicalNoteGenerationSettingsResponse":{
      "type":"structure",
      "members":{
        "noteTemplateSettings":{
          "shape":"NoteTemplateSettingsResponse",
          "documentation":"<p>Settings for the note template used</p>"
        }
      },
      "documentation":"<p>Response containing settings for clinical note generation</p>"
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This error is thrown when a resource update is no longer valid due to assumptions about initial state changing.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "CreateDomainInput":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"DomainName",
          "documentation":"<p>The name for the new Domain.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The ARN of the KMS key to use for encrypting data in this Domain.</p>"
        },
        "webAppSetupConfiguration":{
          "shape":"CreateWebAppConfiguration",
          "documentation":"<p>Configuration for the Domain web application. Optional, but if provided all fields are required.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Tags to associate with the Domain.</p>"
        }
      }
    },
    "CreateDomainOutput":{
      "type":"structure",
      "required":[
        "domainId",
        "arn",
        "name",
        "status",
        "createdAt"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p/>"
        },
        "arn":{
          "shape":"DomainArn",
          "documentation":"<p/>"
        },
        "name":{
          "shape":"DomainName",
          "documentation":"<p/>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p/>"
        },
        "encryptionContext":{
          "shape":"EncryptionContext",
          "documentation":"<p/>"
        },
        "status":{
          "shape":"DomainStatus",
          "documentation":"<p/>"
        },
        "webAppUrl":{
          "shape":"WebAppUrl",
          "documentation":"<p/>"
        },
        "webAppConfiguration":{
          "shape":"WebAppConfiguration",
          "documentation":"<p/>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        }
      }
    },
    "CreateSubscriptionInput":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the parent Domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        }
      }
    },
    "CreateSubscriptionOutput":{
      "type":"structure",
      "required":[
        "domainId",
        "subscriptionId",
        "arn",
        "status",
        "createdAt",
        "lastUpdatedAt"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p/>"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p/>"
        },
        "arn":{
          "shape":"SubscriptionArn",
          "documentation":"<p/>"
        },
        "status":{
          "shape":"SubscriptionStatus",
          "documentation":"<p/>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        },
        "lastUpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        },
        "activatedAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        },
        "deactivatedAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        }
      }
    },
    "CreateWebAppConfiguration":{
      "type":"structure",
      "required":[
        "ehrRole",
        "idcInstanceId",
        "idcRegion"
      ],
      "members":{
        "ehrRole":{
          "shape":"CreateWebAppConfigurationEhrRoleString",
          "documentation":"<p>ARN of the IAM role used for EHR operations.</p>"
        },
        "idcInstanceId":{
          "shape":"CreateWebAppConfigurationIdcInstanceIdString",
          "documentation":"<p>The Identity Center instance ID to use for creating the application.</p>"
        },
        "idcRegion":{
          "shape":"CreateWebAppConfigurationIdcRegionString",
          "documentation":"<p>The AWS region where Identity Center is configured.</p>"
        }
      },
      "documentation":"<p>Input configuration for creating a web application. Used only in CreateDomain operation input.</p>"
    },
    "CreateWebAppConfigurationEhrRoleString":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"arn:aws:iam::[0-9]{12}:role/.+"
    },
    "CreateWebAppConfigurationIdcInstanceIdString":{
      "type":"string",
      "max":256,
      "min":1
    },
    "CreateWebAppConfigurationIdcRegionString":{
      "type":"string",
      "max":64,
      "min":1
    },
    "CustomTemplate":{
      "type":"structure",
      "required":[
        "templateType",
        "templateInstructions"
      ],
      "members":{
        "templateType":{
          "shape":"CustomTemplateBase",
          "documentation":"<p>The base template type to customize</p>"
        },
        "templateInstructions":{
          "shape":"TemplateInstructions",
          "documentation":"<p>Custom instructions for each section of the template</p>"
        }
      },
      "documentation":"<p>Configuration for using a custom note template with specific instructions</p>"
    },
    "CustomTemplateBase":{
      "type":"string",
      "enum":[
        "HISTORY_AND_PHYSICAL",
        "GIRPP",
        "DAP",
        "SIRP",
        "BIRP",
        "BEHAVIORAL_SOAP"
      ]
    },
    "CustomTemplateResponse":{
      "type":"structure",
      "members":{
        "templateType":{
          "shape":"CustomTemplateBase",
          "documentation":"<p>The base template type that was customized</p>"
        }
      },
      "documentation":"<p>Response containing custom template information</p>"
    },
    "DeactivateSubscriptionInput":{
      "type":"structure",
      "required":[
        "domainId",
        "subscriptionId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the parent Domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p>The unique identifier of the Subscription.</p>",
          "location":"uri",
          "locationName":"subscriptionId"
        }
      }
    },
    "DeactivateSubscriptionOutput":{
      "type":"structure",
      "members":{
        "subscription":{
          "shape":"SubscriptionDescription",
          "documentation":"<p/>"
        }
      }
    },
    "DeleteDomainInput":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The id of the Domain to delete</p>",
          "location":"uri",
          "locationName":"domainId"
        }
      }
    },
    "DeleteDomainOutput":{
      "type":"structure",
      "required":[
        "domainId",
        "arn",
        "status"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The id of the Domain requested for deletion</p>"
        },
        "arn":{
          "shape":"DomainArn",
          "documentation":"<p>The ARN of the Domain that was requested for deletion</p>"
        },
        "status":{
          "shape":"DomainStatus",
          "documentation":"<p>Current status of Domain</p>"
        }
      }
    },
    "DomainArn":{
      "type":"string",
      "pattern":"arn:aws:health-agent:[a-z0-9-]+:[0-9]{12}:domain/(hai-|dom-)[a-z0-9]+"
    },
    "DomainId":{
      "type":"string",
      "max":25,
      "min":20,
      "pattern":"(hai-|dom-)[a-z0-9]+"
    },
    "DomainName":{
      "type":"string",
      "max":64,
      "min":1
    },
    "DomainStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "DELETING",
        "DELETED"
      ]
    },
    "DomainSummary":{
      "type":"structure",
      "required":[
        "domainId",
        "arn",
        "name",
        "status",
        "createdAt"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the Domain.</p>"
        },
        "arn":{
          "shape":"DomainArn",
          "documentation":"<p/>"
        },
        "name":{
          "shape":"DomainName",
          "documentation":"<p/>"
        },
        "status":{
          "shape":"DomainStatus",
          "documentation":"<p/>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the Domain was created.</p>"
        }
      },
      "documentation":"<p>Summary information about a Domain.</p>"
    },
    "DomainSummaryList":{
      "type":"list",
      "member":{"shape":"DomainSummary"}
    },
    "EncounterContext":{
      "type":"structure",
      "members":{
        "unstructuredContext":{
          "shape":"SensitiveMarkdownString",
          "documentation":"<p>Unstructured context information in markdown format</p>"
        }
      },
      "documentation":"<p>Context information about the clinical encounter</p>"
    },
    "EncryptionContext":{
      "type":"structure",
      "required":["encryptionType"],
      "members":{
        "encryptionType":{
          "shape":"EncryptionType",
          "documentation":"<p>The type of encryption key used.</p>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p>The ARN of the KMS key. Only present when encryptionType is CUSTOMER_MANAGED_KEY.</p>"
        }
      },
      "documentation":"<p>Encryption context for a Domain.</p>"
    },
    "EncryptionType":{
      "type":"string",
      "enum":[
        "AWS_OWNED_KEY",
        "CUSTOMER_MANAGED_KEY"
      ]
    },
    "ErrorMessage":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"[\\s\\S]*"
    },
    "FHIRServer":{
      "type":"structure",
      "required":["fhirEndpoint"],
      "members":{
        "fhirEndpoint":{
          "shape":"FHIRServerFhirEndpointString",
          "documentation":"<p>FHIR server endpoint URL for accessing patient data.</p>"
        },
        "oauthToken":{
          "shape":"SensitiveNonEmptyString",
          "documentation":"<p>OAuth token for authenticating with the FHIR server.</p>"
        }
      },
      "documentation":"<p>FHIR server configuration for input data source</p>"
    },
    "FHIRServerFhirEndpointString":{
      "type":"string",
      "pattern":"https?://[a-zA-Z0-9\\-._~:/?#\\[\\]@!$&'()*+,;=%]+"
    },
    "GetDomainInput":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The id of the Domain to get</p>",
          "location":"uri",
          "locationName":"domainId"
        }
      }
    },
    "GetDomainOutput":{
      "type":"structure",
      "required":[
        "domainId",
        "arn",
        "name",
        "status",
        "createdAt"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p/>"
        },
        "arn":{
          "shape":"DomainArn",
          "documentation":"<p/>"
        },
        "name":{
          "shape":"DomainName",
          "documentation":"<p/>"
        },
        "kmsKeyArn":{
          "shape":"KmsKeyArn",
          "documentation":"<p/>"
        },
        "encryptionContext":{
          "shape":"EncryptionContext",
          "documentation":"<p/>"
        },
        "status":{
          "shape":"DomainStatus",
          "documentation":"<p/>"
        },
        "webAppUrl":{
          "shape":"WebAppUrl",
          "documentation":"<p/>"
        },
        "webAppConfiguration":{
          "shape":"WebAppConfiguration",
          "documentation":"<p/>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Tags associated with the Domain</p>"
        }
      }
    },
    "GetMedicalScribeListeningSessionInput":{
      "type":"structure",
      "required":[
        "sessionId",
        "domainId",
        "subscriptionId"
      ],
      "members":{
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The Session identifier</p>",
          "location":"uri",
          "locationName":"sessionId"
        },
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The Domain identifier</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p>The Subscription identifier</p>",
          "location":"uri",
          "locationName":"subscriptionId"
        }
      }
    },
    "GetMedicalScribeListeningSessionOutput":{
      "type":"structure",
      "members":{
        "medicalScribeListeningSessionDetails":{
          "shape":"MedicalScribeListeningSessionDetails",
          "documentation":"<p>Details about the Medical Scribe listening session</p>"
        }
      }
    },
    "GetPatientInsightsJobRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "jobId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p/>",
          "location":"uri",
          "locationName":"domainId"
        },
        "jobId":{
          "shape":"JobId",
          "documentation":"<p/>",
          "location":"uri",
          "locationName":"jobId"
        }
      }
    },
    "GetPatientInsightsJobResponse":{
      "type":"structure",
      "required":[
        "jobId",
        "jobArn",
        "jobStatus",
        "patientContext",
        "insightsContext",
        "encounterContext",
        "userContext",
        "inputDataConfig",
        "outputDataConfig"
      ],
      "members":{
        "jobId":{
          "shape":"JobId",
          "documentation":"<p/>"
        },
        "jobArn":{
          "shape":"JobArn",
          "documentation":"<p/>"
        },
        "jobStatus":{
          "shape":"JobStatus",
          "documentation":"<p/>"
        },
        "creationTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>Date and time the patient insights job was submitted.</p>"
        },
        "updatedTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>Date and time the patient insights job was last updated.</p>"
        },
        "insightsOutput":{
          "shape":"InsightsOutput",
          "documentation":"<p/>"
        },
        "statusDetails":{
          "shape":"NonEmptyString",
          "documentation":"<p>Contains information about the status of a job.</p>"
        },
        "patientContext":{
          "shape":"PatientInsightsPatientContext",
          "documentation":"<p/>"
        },
        "insightsContext":{
          "shape":"InsightsContext",
          "documentation":"<p/>"
        },
        "encounterContext":{
          "shape":"PatientInsightsEncounterContext",
          "documentation":"<p/>"
        },
        "userContext":{
          "shape":"UserContext",
          "documentation":"<p/>"
        },
        "inputDataConfig":{
          "shape":"InputDataConfig",
          "documentation":"<p/>"
        },
        "outputDataConfig":{
          "shape":"OutputDataConfig",
          "documentation":"<p/>"
        }
      }
    },
    "GetSubscriptionInput":{
      "type":"structure",
      "required":[
        "domainId",
        "subscriptionId"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the parent Domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p>The unique identifier of the Subscription.</p>",
          "location":"uri",
          "locationName":"subscriptionId"
        }
      }
    },
    "GetSubscriptionOutput":{
      "type":"structure",
      "members":{
        "subscription":{
          "shape":"SubscriptionDescription",
          "documentation":"<p/>"
        }
      }
    },
    "InputDataConfig":{
      "type":"structure",
      "members":{
        "fhirServer":{
          "shape":"FHIRServer",
          "documentation":"<p>FHIR server configuration to retrieve patient data.</p>"
        },
        "s3Sources":{
          "shape":"S3Sources",
          "documentation":"<p>List of S3 sources containing patient data.</p>"
        }
      },
      "documentation":"<p>Configuration details for input patient data</p>"
    },
    "InsightsContext":{
      "type":"structure",
      "required":["insightsType"],
      "members":{
        "insightsType":{
          "shape":"InsightsType",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Details for insights that user wants to generate</p>"
    },
    "InsightsOutput":{
      "type":"structure",
      "required":["uri"],
      "members":{
        "uri":{
          "shape":"S3Uri",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Output of patient insights job</p>"
    },
    "InsightsType":{
      "type":"string",
      "enum":["PRE_VISIT"]
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This error is thrown when a transient error causes our API to fail.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "JobArn":{
      "type":"string",
      "max":200,
      "min":20,
      "pattern":"arn:aws[-a-z]*:health-agent:[-a-z0-9]+:[0-9]{12}:domain/[-a-zA-Z0-9-]+/patient-insights-job/[-a-zA-Z0-9_/.]+"
    },
    "JobId":{
      "type":"string",
      "max":36,
      "min":1
    },
    "JobStatus":{
      "type":"string",
      "enum":[
        "SUBMITTED",
        "IN_PROGRESS",
        "FAILED",
        "SUCCEEDED"
      ]
    },
    "KmsKeyArn":{
      "type":"string",
      "pattern":"arn:aws:kms:[a-z0-9-]+:[0-9]{12}:key/[a-f0-9-]+"
    },
    "ListDomainsInput":{
      "type":"structure",
      "members":{
        "status":{
          "shape":"DomainStatus",
          "documentation":"<p>Filter by Domain status.</p>",
          "location":"querystring",
          "locationName":"status"
        },
        "maxResults":{
          "shape":"ListDomainsInputMaxResultsInteger",
          "documentation":"<p>Maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Token for pagination.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListDomainsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListDomainsOutput":{
      "type":"structure",
      "required":["domains"],
      "members":{
        "domains":{
          "shape":"DomainSummaryList",
          "documentation":"<p>List of Domains.</p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Token for the next page of results.</p>"
        }
      }
    },
    "ListSubscriptionsInput":{
      "type":"structure",
      "required":["domainId"],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The unique identifier of the parent Domain.</p>",
          "location":"uri",
          "locationName":"domainId"
        },
        "maxResults":{
          "shape":"ListSubscriptionsInputMaxResultsInteger",
          "documentation":"<p>Maximum number of results to return.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Token for pagination.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListSubscriptionsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "ListSubscriptionsOutput":{
      "type":"structure",
      "required":["subscriptions"],
      "members":{
        "subscriptions":{
          "shape":"SubscriptionList",
          "documentation":"<p>List of Subscriptions.</p>"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>Token for the next page of results.</p>"
        }
      }
    },
    "ListTagsForResourceInput":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"String",
          "documentation":"<p>The ARN of the resource to list tags for</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "ListTagsForResourceOutput":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags associated with the resource</p>"
        }
      }
    },
    "ManagedNoteTemplate":{
      "type":"string",
      "enum":[
        "HISTORY_AND_PHYSICAL",
        "GIRPP",
        "DAP",
        "SIRP",
        "BIRP",
        "BEHAVIORAL_SOAP",
        "PHYSICAL_SOAP"
      ]
    },
    "ManagedTemplate":{
      "type":"structure",
      "required":["templateType"],
      "members":{
        "templateType":{
          "shape":"ManagedNoteTemplate",
          "documentation":"<p>The type of managed template to use</p>"
        }
      },
      "documentation":"<p>Configuration for using a managed note template</p>"
    },
    "ManagedTemplateResponse":{
      "type":"structure",
      "members":{
        "templateType":{
          "shape":"ManagedNoteTemplate",
          "documentation":"<p>The type of managed template used</p>"
        }
      },
      "documentation":"<p>Response containing managed template information</p>"
    },
    "MedicalScribeAudioEvent":{
      "type":"structure",
      "required":["audioChunk"],
      "members":{
        "audioChunk":{
          "shape":"AudioChunk",
          "documentation":"<p>The audio data chunk</p>"
        }
      },
      "documentation":"<p>An event containing audio data for the Medical Scribe stream</p>",
      "event":true
    },
    "MedicalScribeBinaryAudioEvent":{
      "type":"structure",
      "required":["audioChunk"],
      "members":{
        "audioChunk":{
          "shape":"AudioChunk",
          "documentation":"<p>The raw binary audio data chunk</p>",
          "eventpayload":true
        }
      },
      "documentation":"<p>An event containing raw binary audio data for the Medical Scribe stream. The audio is sent as a raw binary payload rather than as a base64-encoded value.</p>",
      "event":true
    },
    "MedicalScribeChannelDefinition":{
      "type":"structure",
      "required":[
        "channelId",
        "participantRole"
      ],
      "members":{
        "channelId":{
          "shape":"MedicalScribeChannelId",
          "documentation":"<p>The channel identifier</p>"
        },
        "participantRole":{
          "shape":"MedicalScribeParticipantRole",
          "documentation":"<p>The role of the participant on this channel</p>"
        }
      },
      "documentation":"<p>Defines a channel in the audio stream</p>"
    },
    "MedicalScribeChannelDefinitions":{
      "type":"list",
      "member":{"shape":"MedicalScribeChannelDefinition"},
      "max":2,
      "min":2
    },
    "MedicalScribeChannelId":{
      "type":"integer",
      "box":true,
      "max":1,
      "min":0
    },
    "MedicalScribeConfigurationEvent":{
      "type":"structure",
      "required":["postStreamActionSettings"],
      "members":{
        "postStreamActionSettings":{
          "shape":"MedicalScribePostStreamActionSettings",
          "documentation":"<p>Settings for actions to perform after the stream ends</p>"
        },
        "channelDefinitions":{
          "shape":"MedicalScribeChannelDefinitions",
          "documentation":"<p>Channel definitions for the audio stream</p>"
        },
        "encounterContext":{
          "shape":"EncounterContext",
          "documentation":"<p>Context information about the clinical encounter</p>"
        }
      },
      "documentation":"<p>An event containing configuration for the Medical Scribe session</p>",
      "event":true
    },
    "MedicalScribeInputStream":{
      "type":"structure",
      "members":{
        "audioEvent":{
          "shape":"MedicalScribeAudioEvent",
          "documentation":"<p/>"
        },
        "binaryAudioEvent":{
          "shape":"MedicalScribeBinaryAudioEvent",
          "documentation":"<p>An event containing raw binary audio data for the Medical Scribe stream. The audio is sent as a raw binary payload rather than as a base64-encoded value.</p>"
        },
        "sessionControlEvent":{
          "shape":"MedicalScribeSessionControlEvent",
          "documentation":"<p/>"
        },
        "configurationEvent":{
          "shape":"MedicalScribeConfigurationEvent",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Input stream for Medical Scribe containing audio and configuration events</p>",
      "eventstream":true
    },
    "MedicalScribeLanguageCode":{
      "type":"string",
      "enum":["en-US"]
    },
    "MedicalScribeListeningSessionDetails":{
      "type":"structure",
      "members":{
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The Session identifier</p>"
        },
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The Domain identifier</p>"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p>The Subscription identifier</p>"
        },
        "languageCode":{
          "shape":"MedicalScribeLanguageCode",
          "documentation":"<p>The Language Code for the audio in the session</p>"
        },
        "mediaSampleRateHertz":{
          "shape":"MedicalScribeMediaSampleRateHertz",
          "documentation":"<p>The sample rate of the input audio</p>"
        },
        "mediaEncoding":{
          "shape":"MedicalScribeMediaEncoding",
          "documentation":"<p>The encoding for the input audio</p>"
        },
        "channelDefinitions":{
          "shape":"MedicalScribeChannelDefinitions",
          "documentation":"<p>Channel definitions for the audio stream</p>"
        },
        "postStreamActionSettings":{
          "shape":"MedicalScribePostStreamActionSettingsResponse",
          "documentation":"<p>Settings for post-stream actions</p>"
        },
        "postStreamActionResult":{
          "shape":"MedicalScribePostStreamActionsResult",
          "documentation":"<p>Results of post-stream actions</p>"
        },
        "encounterContextProvided":{
          "shape":"NonNullBoolean",
          "documentation":"<p>Indicates whether encounter context was provided</p>"
        },
        "streamStatus":{
          "shape":"MedicalScribeStreamStatus",
          "documentation":"<p>The current status of the stream</p>"
        },
        "streamCreationTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the stream was created</p>"
        },
        "streamEndTime":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp when the stream ended</p>"
        }
      },
      "documentation":"<p>Detailed information about a Medical Scribe listening session</p>"
    },
    "MedicalScribeMediaEncoding":{
      "type":"string",
      "enum":[
        "pcm",
        "flac"
      ]
    },
    "MedicalScribeMediaSampleRateHertz":{
      "type":"integer",
      "box":true,
      "max":48000,
      "min":8000
    },
    "MedicalScribeOutputStream":{
      "type":"structure",
      "members":{
        "transcriptEvent":{
          "shape":"MedicalScribeTranscriptEvent",
          "documentation":"<p/>"
        },
        "internalFailureException":{
          "shape":"InternalServerException",
          "documentation":"<p/>"
        },
        "validationException":{
          "shape":"ValidationException",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Output stream from Medical Scribe containing transcript events and errors</p>",
      "eventstream":true
    },
    "MedicalScribeParticipantRole":{
      "type":"string",
      "enum":[
        "PATIENT",
        "CLINICIAN"
      ]
    },
    "MedicalScribePostStreamActionSettings":{
      "type":"structure",
      "required":[
        "outputS3Uri",
        "clinicalNoteGenerationSettings"
      ],
      "members":{
        "outputS3Uri":{
          "shape":"S3Uri",
          "documentation":"<p/>"
        },
        "clinicalNoteGenerationSettings":{
          "shape":"ClinicalNoteGenerationSettings",
          "documentation":"<p>Settings for clinical note generation</p>"
        }
      },
      "documentation":"<p>Settings for actions to perform after the audio stream ends</p>"
    },
    "MedicalScribePostStreamActionSettingsResponse":{
      "type":"structure",
      "required":[
        "outputS3Uri",
        "clinicalNoteGenerationSettings"
      ],
      "members":{
        "outputS3Uri":{
          "shape":"S3Uri",
          "documentation":"<p/>"
        },
        "clinicalNoteGenerationSettings":{
          "shape":"ClinicalNoteGenerationSettingsResponse",
          "documentation":"<p>Settings for clinical note generation</p>"
        }
      },
      "documentation":"<p>Response containing settings for post-stream actions</p>"
    },
    "MedicalScribePostStreamActionsResult":{
      "type":"structure",
      "members":{
        "clinicalNoteGenerationResult":{
          "shape":"ClinicalNoteGenerationResult",
          "documentation":"<p>Results of clinical note generation</p>"
        }
      },
      "documentation":"<p>Results of post-stream actions performed after the audio stream ended</p>"
    },
    "MedicalScribeSessionControlEvent":{
      "type":"structure",
      "members":{
        "type":{
          "shape":"MedicalScribeSessionControlEventType",
          "documentation":"<p>The type of session control event</p>"
        }
      },
      "documentation":"<p>An event for controlling the Medical Scribe session</p>",
      "event":true
    },
    "MedicalScribeSessionControlEventType":{
      "type":"string",
      "enum":["END_OF_SESSION"]
    },
    "MedicalScribeStreamStatus":{
      "type":"string",
      "enum":[
        "IN_PROGRESS",
        "PAUSED",
        "FAILED",
        "COMPLETED"
      ]
    },
    "MedicalScribeTranscriptEvent":{
      "type":"structure",
      "members":{
        "transcriptSegment":{
          "shape":"MedicalScribeTranscriptSegment",
          "documentation":"<p>A segment of the transcript</p>"
        }
      },
      "documentation":"<p>An event containing transcript data from the Medical Scribe stream</p>",
      "event":true
    },
    "MedicalScribeTranscriptSegment":{
      "type":"structure",
      "members":{
        "segmentId":{
          "shape":"String",
          "documentation":"<p>The unique identifier for this segment</p>"
        },
        "audioBeginOffset":{
          "shape":"AudioOffset",
          "documentation":"<p>The offset from audio start when the audio for this segment begins</p>"
        },
        "audioEndOffset":{
          "shape":"AudioOffset",
          "documentation":"<p>The offset from audio start when the audio for this segment ends</p>"
        },
        "isPartial":{
          "shape":"NonNullBoolean",
          "documentation":"<p>Indicates whether this is a partial or final transcript</p>"
        },
        "channelId":{
          "shape":"String",
          "documentation":"<p>The channel identifier for this segment</p>"
        },
        "content":{
          "shape":"String",
          "documentation":"<p>The transcript text content</p>"
        }
      },
      "documentation":"<p>A segment of transcript text with timing and channel information</p>"
    },
    "NonEmptyString":{
      "type":"string",
      "pattern":".*[\\s\\S]*\\S[\\s\\S]*.*"
    },
    "NonNullBoolean":{
      "type":"boolean",
      "box":true
    },
    "NoteTemplateSettings":{
      "type":"structure",
      "members":{
        "managedTemplate":{
          "shape":"ManagedTemplate",
          "documentation":"<p/>"
        },
        "customTemplate":{
          "shape":"CustomTemplate",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Settings for the note template to use for clinical note generation</p>",
      "union":true
    },
    "NoteTemplateSettingsResponse":{
      "type":"structure",
      "members":{
        "managedTemplate":{
          "shape":"ManagedTemplateResponse",
          "documentation":"<p/>"
        },
        "customTemplate":{
          "shape":"CustomTemplateResponse",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Response containing note template settings</p>",
      "union":true
    },
    "OutputDataConfig":{
      "type":"structure",
      "required":["s3OutputPath"],
      "members":{
        "s3OutputPath":{
          "shape":"S3Uri",
          "documentation":"<p>S3 URI where the insights output will be stored.</p>"
        }
      },
      "documentation":"<p>Configuration details for insights output.</p>"
    },
    "PatientInsightsEncounterContext":{
      "type":"structure",
      "required":["encounterReason"],
      "members":{
        "encounterReason":{
          "shape":"PatientInsightsEncounterContextEncounterReasonString",
          "documentation":"<p>Chief complaint for the visit</p>"
        }
      },
      "documentation":"<p>Details for an encounter</p>"
    },
    "PatientInsightsEncounterContextEncounterReasonString":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z0-9 .,-]+",
      "sensitive":true
    },
    "PatientInsightsPatientContext":{
      "type":"structure",
      "required":["patientId"],
      "members":{
        "patientId":{
          "shape":"SensitiveNonEmptyString",
          "documentation":"<p>Unique identifier of the patient</p>"
        },
        "dateOfBirth":{
          "shape":"SensitiveIsoDateString",
          "documentation":"<p>Date of birth of the patient.</p>"
        },
        "pronouns":{
          "shape":"Pronouns",
          "documentation":"<p>Pronouns preferred by the patient.</p>"
        }
      },
      "documentation":"<p>Details for a patient</p>"
    },
    "PostStreamArtifactGenerationStatus":{
      "type":"string",
      "enum":[
        "IN_PROGRESS",
        "FAILED",
        "COMPLETED"
      ]
    },
    "Pronouns":{
      "type":"string",
      "enum":[
        "HE_HIM",
        "SHE_HER",
        "THEY_THEM"
      ],
      "sensitive":true
    },
    "ProviderRole":{
      "type":"string",
      "enum":["CLINICIAN"]
    },
    "RequestId":{
      "type":"string",
      "max":256,
      "min":1
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This error is thrown when the requested resource is not found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "S3Source":{
      "type":"structure",
      "required":["uri"],
      "members":{
        "uri":{
          "shape":"S3Uri",
          "documentation":"<p>The S3 URI.</p>"
        }
      },
      "documentation":"<p>S3 uri for input data source</p>"
    },
    "S3Sources":{
      "type":"list",
      "member":{"shape":"S3Source"},
      "max":10,
      "min":0
    },
    "S3Uri":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?"
    },
    "SensitiveAlphanumericString":{
      "type":"string",
      "pattern":"[a-zA-Z0-9]+",
      "sensitive":true
    },
    "SensitiveIsoDateString":{
      "type":"string",
      "pattern":"\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])",
      "sensitive":true
    },
    "SensitiveMarkdownString":{
      "type":"string",
      "pattern":"[\\p{L}\\p{N}\\s\\*_\\-#\\[\\]\\(\\)\\.,:;!?'\"`<>~/|+=&%@\\\\{}^]+",
      "sensitive":true
    },
    "SensitiveNonEmptyString":{
      "type":"string",
      "pattern":".*[\\s\\S]*\\S[\\s\\S]*.*",
      "sensitive":true
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request exceeds a service quota.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SessionId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":".*[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}.*"
    },
    "Specialty":{
      "type":"string",
      "enum":["PRIMARY_CARE"]
    },
    "StartMedicalScribeListeningSessionInput":{
      "type":"structure",
      "required":[
        "sessionId",
        "domainId",
        "subscriptionId",
        "languageCode",
        "mediaSampleRateHertz",
        "mediaEncoding"
      ],
      "members":{
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The Session identifier</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-session-id"
        },
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The Domain identifier</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-domain-id"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p>The Subscription identifier</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-subscription-id"
        },
        "languageCode":{
          "shape":"MedicalScribeLanguageCode",
          "documentation":"<p>The Language Code for the audio in the session</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-language-code"
        },
        "mediaSampleRateHertz":{
          "shape":"MedicalScribeMediaSampleRateHertz",
          "documentation":"<p>The sample rate of the input audio</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-sample-rate"
        },
        "mediaEncoding":{
          "shape":"MedicalScribeMediaEncoding",
          "documentation":"<p>The encoding for the input audio</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-media-encoding"
        },
        "inputStream":{
          "shape":"MedicalScribeInputStream",
          "documentation":"<p/>"
        }
      },
      "payload":"inputStream"
    },
    "StartMedicalScribeListeningSessionOutput":{
      "type":"structure",
      "members":{
        "sessionId":{
          "shape":"SessionId",
          "documentation":"<p>The Session identifier</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-session-id"
        },
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p>The Domain identifier</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-domain-id"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p>The Subscription identifier</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-subscription-id"
        },
        "requestId":{
          "shape":"RequestId",
          "documentation":"<p>The Request identifier</p>",
          "location":"header",
          "locationName":"x-amzn-request-id"
        },
        "languageCode":{
          "shape":"MedicalScribeLanguageCode",
          "documentation":"<p>The Language Code for the audio in the session</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-language-code"
        },
        "mediaSampleRateHertz":{
          "shape":"MedicalScribeMediaSampleRateHertz",
          "documentation":"<p>The sample rate of the input audio</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-sample-rate"
        },
        "mediaEncoding":{
          "shape":"MedicalScribeMediaEncoding",
          "documentation":"<p>The encoding for the input audio</p>",
          "location":"header",
          "locationName":"x-amzn-medscribe-media-encoding"
        },
        "responseStream":{
          "shape":"MedicalScribeOutputStream",
          "documentation":"<p>The output stream containing transcript events</p>"
        }
      },
      "payload":"responseStream"
    },
    "StartPatientInsightsJobRequest":{
      "type":"structure",
      "required":[
        "domainId",
        "patientContext",
        "insightsContext",
        "encounterContext",
        "userContext",
        "inputDataConfig",
        "outputDataConfig"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p/>",
          "location":"uri",
          "locationName":"domainId"
        },
        "patientContext":{
          "shape":"PatientInsightsPatientContext",
          "documentation":"<p/>"
        },
        "insightsContext":{
          "shape":"InsightsContext",
          "documentation":"<p/>"
        },
        "encounterContext":{
          "shape":"PatientInsightsEncounterContext",
          "documentation":"<p/>"
        },
        "userContext":{
          "shape":"UserContext",
          "documentation":"<p/>"
        },
        "inputDataConfig":{
          "shape":"InputDataConfig",
          "documentation":"<p/>"
        },
        "outputDataConfig":{
          "shape":"OutputDataConfig",
          "documentation":"<p/>"
        },
        "clientToken":{
          "shape":"NonEmptyString",
          "documentation":"<p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
          "idempotencyToken":true
        }
      }
    },
    "StartPatientInsightsJobResponse":{
      "type":"structure",
      "required":[
        "jobArn",
        "jobId"
      ],
      "members":{
        "jobArn":{
          "shape":"JobArn",
          "documentation":"<p/>"
        },
        "jobId":{
          "shape":"JobId",
          "documentation":"<p/>"
        },
        "creationTime":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>Date and time the patient insights job was submitted.</p>"
        }
      }
    },
    "String":{"type":"string"},
    "SubscriptionArn":{
      "type":"string",
      "pattern":"arn:aws:health-agent:[a-z0-9-]+:[0-9]{12}:domain/(hai-|dom-)[a-z0-9]+/subscription/sub-[a-zA-Z0-9]{21}"
    },
    "SubscriptionDescription":{
      "type":"structure",
      "required":[
        "domainId",
        "subscriptionId",
        "arn",
        "status",
        "createdAt",
        "lastUpdatedAt"
      ],
      "members":{
        "domainId":{
          "shape":"DomainId",
          "documentation":"<p/>"
        },
        "subscriptionId":{
          "shape":"SubscriptionId",
          "documentation":"<p/>"
        },
        "arn":{
          "shape":"SubscriptionArn",
          "documentation":"<p/>"
        },
        "status":{
          "shape":"SubscriptionStatus",
          "documentation":"<p/>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        },
        "lastUpdatedAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        },
        "activatedAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        },
        "deactivatedAt":{
          "shape":"Timestamp",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Complete subscription resource data.</p>"
    },
    "SubscriptionId":{
      "type":"string",
      "max":25,
      "min":25,
      "pattern":"sub-[a-zA-Z0-9]{21}"
    },
    "SubscriptionList":{
      "type":"list",
      "member":{"shape":"SubscriptionDescription"}
    },
    "SubscriptionStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "INACTIVE",
        "DELETED"
      ]
    },
    "SyntheticTimestamp_date_time":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":1
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"}
    },
    "TagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"String",
          "documentation":"<p>The ARN of the resource to tag</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The tags to add to the resource</p>"
        }
      }
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0
    },
    "TemplateInstructions":{
      "type":"list",
      "member":{"shape":"TemplateSectionInstruction"},
      "max":20,
      "min":1
    },
    "TemplateSectionInstruction":{
      "type":"structure",
      "required":[
        "sectionHeader",
        "sectionInstruction"
      ],
      "members":{
        "sectionHeader":{
          "shape":"SensitiveAlphanumericString",
          "documentation":"<p>The header for this section of the template</p>"
        },
        "sectionInstruction":{
          "shape":"SensitiveMarkdownString",
          "documentation":"<p>The instruction for generating this section</p>"
        }
      },
      "documentation":"<p>Instructions for generating a specific section of a clinical note</p>"
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This error is thrown when the client exceeds the allowed request rate.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":true}
    },
    "Timestamp":{"type":"timestamp"},
    "UntagResourceInput":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"String",
          "documentation":"<p>The ARN of the resource to untag</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>The tag keys to remove from the resource</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "Uri":{
      "type":"string",
      "min":1,
      "pattern":".*(s3://|http(s*)://).+.*"
    },
    "UserContext":{
      "type":"structure",
      "required":[
        "role",
        "userId"
      ],
      "members":{
        "role":{
          "shape":"ProviderRole",
          "documentation":"<p/>"
        },
        "userId":{
          "shape":"SensitiveNonEmptyString",
          "documentation":"<p>Unique identifier of the user</p>"
        },
        "specialty":{
          "shape":"Specialty",
          "documentation":"<p/>"
        }
      },
      "documentation":"<p>Details for user initiating insights job</p>"
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This error is thrown when the client supplies invalid input to the API.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "WebAppConfiguration":{
      "type":"structure",
      "required":[
        "ehrRole",
        "idcApplicationId",
        "idcRegion"
      ],
      "members":{
        "ehrRole":{
          "shape":"WebAppConfigurationEhrRoleString",
          "documentation":"<p>ARN of the IAM role used for EHR operations.</p>"
        },
        "idcApplicationId":{
          "shape":"WebAppConfigurationIdcApplicationIdString",
          "documentation":"<p>The Identity Center application ID associated with this Domain.</p>"
        },
        "idcRegion":{
          "shape":"WebAppConfigurationIdcRegionString",
          "documentation":"<p>The AWS region where Identity Center is configured.</p>"
        }
      },
      "documentation":"<p>Configuration for the Domain web application, including Identity Center settings. If provided, all fields are required.</p>"
    },
    "WebAppConfigurationEhrRoleString":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"arn:aws:iam::[0-9]{12}:role/.+"
    },
    "WebAppConfigurationIdcApplicationIdString":{
      "type":"string",
      "max":256,
      "min":1
    },
    "WebAppConfigurationIdcRegionString":{
      "type":"string",
      "max":64,
      "min":1
    },
    "WebAppUrl":{"type":"string"}
  },
  "documentation":"<p>Amazon Connect Health is an AI-powered healthcare service built on Amazon Connect. It provides pre-built agents that automate patient engagement workflows and support clinical documentation at the point of care.</p> <p>You can use the Amazon Connect Health API to programmatically manage domains, configure patient engagement agents, run patient insights jobs, and stream ambient documentation sessions. This API reference describes the available API operations and data types for Amazon Connect Health.</p> <p>We recommend that you use the AWS SDKs to make programmatic API calls to Amazon Connect Health.</p>"
}
