<?php
// This file was auto-generated from sdk-root/src/data/comprehendmedical/2018-10-30/api-2.json
return [
	'version'    => '2.0',
	'metadata'   => [
		'apiVersion'          => '2018-10-30',
		'endpointPrefix'      => 'comprehendmedical',
		'jsonVersion'         => '1.1',
		'protocol'            => 'json',
		'serviceAbbreviation' => 'ComprehendMedical',
		'serviceFullName'     => 'AWS Comprehend Medical',
		'serviceId'           => 'ComprehendMedical',
		'signatureVersion'    => 'v4',
		'signingName'         => 'comprehendmedical',
		'targetPrefix'        => 'ComprehendMedical_20181030',
		'uid'                 => 'comprehendmedical-2018-10-30',
	],
	'operations' => [
		'DetectEntities' => [
			'name'   => 'DetectEntities',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'  => [ 'shape' => 'DetectEntitiesRequest', ],
			'output' => [ 'shape' => 'DetectEntitiesResponse', ],
			'errors' => [
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ServiceUnavailableException', ],
				[ 'shape' => 'TooManyRequestsException', ],
				[ 'shape' => 'InvalidRequestException', ],
				[ 'shape' => 'InvalidEncodingException', ],
				[ 'shape' => 'TextSizeLimitExceededException', ],
			],
		],
		'DetectPHI'      => [
			'name'   => 'DetectPHI',
			'http'   => [ 'method' => 'POST', 'requestUri' => '/', ],
			'input'  => [ 'shape' => 'DetectPHIRequest', ],
			'output' => [ 'shape' => 'DetectPHIResponse', ],
			'errors' => [
				[ 'shape' => 'InternalServerException', ],
				[ 'shape' => 'ServiceUnavailableException', ],
				[ 'shape' => 'TooManyRequestsException', ],
				[ 'shape' => 'InvalidRequestException', ],
				[ 'shape' => 'InvalidEncodingException', ],
				[ 'shape' => 'TextSizeLimitExceededException', ],
			],
		],
	],
	'shapes'     => [
		'Attribute'                      => [
			'type'    => 'structure',
			'members' => [
				'Type'              => [ 'shape' => 'EntitySubType', ],
				'Score'             => [ 'shape' => 'Float', ],
				'RelationshipScore' => [ 'shape' => 'Float', ],
				'Id'                => [ 'shape' => 'Integer', ],
				'BeginOffset'       => [ 'shape' => 'Integer', ],
				'EndOffset'         => [ 'shape' => 'Integer', ],
				'Text'              => [ 'shape' => 'String', ],
				'Traits'            => [ 'shape' => 'TraitList', ],
			],
		],
		'AttributeList'                  => [ 'type' => 'list', 'member' => [ 'shape' => 'Attribute', ], ],
		'AttributeName'                  => [
			'type' => 'string',
			'enum' => [ 'SIGN', 'SYMPTOM', 'DIAGNOSIS', 'NEGATION', ],
		],
		'BoundedLengthString'            => [ 'type' => 'string', 'max' => 20000, 'min' => 1, ],
		'DetectEntitiesRequest'          => [
			'type'     => 'structure',
			'required' => [ 'Text', ],
			'members'  => [ 'Text' => [ 'shape' => 'BoundedLengthString', ], ],
		],
		'DetectEntitiesResponse'         => [
			'type'     => 'structure',
			'required' => [ 'Entities', ],
			'members'  => [
				'Entities'           => [ 'shape' => 'EntityList', ],
				'UnmappedAttributes' => [ 'shape' => 'UnmappedAttributeList', ],
				'PaginationToken'    => [ 'shape' => 'String', ],
			],
		],
		'DetectPHIRequest'               => [
			'type'     => 'structure',
			'required' => [ 'Text', ],
			'members'  => [ 'Text' => [ 'shape' => 'BoundedLengthString', ], ],
		],
		'DetectPHIResponse'              => [
			'type'     => 'structure',
			'required' => [ 'Entities', ],
			'members'  => [
				'Entities'        => [ 'shape' => 'EntityList', ],
				'PaginationToken' => [ 'shape' => 'String', ],
			],
		],
		'Entity'                         => [
			'type'    => 'structure',
			'members' => [
				'Id'          => [ 'shape' => 'Integer', ],
				'BeginOffset' => [ 'shape' => 'Integer', ],
				'EndOffset'   => [ 'shape' => 'Integer', ],
				'Score'       => [ 'shape' => 'Float', ],
				'Text'        => [ 'shape' => 'String', ],
				'Category'    => [ 'shape' => 'EntityType', ],
				'Type'        => [ 'shape' => 'EntitySubType', ],
				'Traits'      => [ 'shape' => 'TraitList', ],
				'Attributes'  => [ 'shape' => 'AttributeList', ],
			],
		],
		'EntityList'                     => [ 'type' => 'list', 'member' => [ 'shape' => 'Entity', ], ],
		'EntitySubType'                  => [
			'type' => 'string',
			'enum' => [
				'NAME',
				'DOSAGE',
				'ROUTE_OR_MODE',
				'FORM',
				'FREQUENCY',
				'DURATION',
				'GENERIC_NAME',
				'BRAND_NAME',
				'STRENGTH',
				'RATE',
				'ACUITY',
				'TEST_NAME',
				'TEST_VALUE',
				'TEST_UNITS',
				'PROCEDURE_NAME',
				'TREATMENT_NAME',
				'DATE',
				'AGE',
				'CONTACT_POINT',
				'EMAIL',
				'IDENTIFIER',
				'URL',
				'ADDRESS',
				'PROFESSION',
				'SYSTEM_ORGAN_SITE',
				'DIRECTION',
				'QUALITY',
				'QUANTITY',
			],
		],
		'EntityType'                     => [
			'type' => 'string',
			'enum' => [
				'MEDICATION',
				'MEDICAL_CONDITION',
				'PROTECTED_HEALTH_INFORMATION',
				'TEST_TREATMENT_PROCEDURE',
				'ANATOMY',
			],
		],
		'Float'                          => [ 'type' => 'float', ],
		'Integer'                        => [ 'type' => 'integer', ],
		'InternalServerException'        => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'String', ], ],
			'exception' => true,
			'fault'     => true,
		],
		'InvalidEncodingException'       => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'String', ], ],
			'exception' => true,
		],
		'InvalidRequestException'        => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'String', ], ],
			'exception' => true,
		],
		'ServiceUnavailableException'    => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'String', ], ],
			'exception' => true,
		],
		'String'                         => [ 'type' => 'string', 'min' => 1, ],
		'TextSizeLimitExceededException' => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'String', ], ],
			'exception' => true,
		],
		'TooManyRequestsException'       => [
			'type'      => 'structure',
			'members'   => [ 'Message' => [ 'shape' => 'String', ], ],
			'exception' => true,
		],
		'Trait'                          => [
			'type'    => 'structure',
			'members' => [
				'Name'  => [ 'shape' => 'AttributeName', ],
				'Score' => [ 'shape' => 'Float', ],
			],
		],
		'TraitList'                      => [ 'type' => 'list', 'member' => [ 'shape' => 'Trait', ], ],
		'UnmappedAttribute'              => [
			'type'    => 'structure',
			'members' => [
				'Type'      => [ 'shape' => 'EntityType', ],
				'Attribute' => [ 'shape' => 'Attribute', ],
			],
		],
		'UnmappedAttributeList'          => [ 'type' => 'list', 'member' => [ 'shape' => 'UnmappedAttribute', ], ],
	],
];
