{
  "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 Pulse 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
    },
    "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/>"
        },
        "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":"[a-zA-Z0-9\\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>Health Agent for healthcare providers and patient engagement</p>"
}
