1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/comprehendmedical/ComprehendMedical_EXPORTS.h> 8 #include <aws/comprehendmedical/model/ICD10CMAttributeType.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/comprehendmedical/model/ICD10CMEntityType.h> 12 #include <aws/comprehendmedical/model/ICD10CMRelationshipType.h> 13 #include <aws/comprehendmedical/model/ICD10CMTrait.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 class JsonView; 24 } // namespace Json 25 } // namespace Utils 26 namespace ComprehendMedical 27 { 28 namespace Model 29 { 30 31 /** 32 * <p>The detected attributes that relate to an entity. This includes an extracted 33 * segment of the text that is an attribute of an entity, or otherwise related to 34 * an entity. InferICD10CM detects the following attributes: 35 * <code>Direction</code>, <code>System, Organ or Site</code>, and 36 * <code>Acuity</code>.</p><p><h3>See Also:</h3> <a 37 * href="http://docs.aws.amazon.com/goto/WebAPI/comprehendmedical-2018-10-30/ICD10CMAttribute">AWS 38 * API Reference</a></p> 39 */ 40 class AWS_COMPREHENDMEDICAL_API ICD10CMAttribute 41 { 42 public: 43 ICD10CMAttribute(); 44 ICD10CMAttribute(Aws::Utils::Json::JsonView jsonValue); 45 ICD10CMAttribute& operator=(Aws::Utils::Json::JsonView jsonValue); 46 Aws::Utils::Json::JsonValue Jsonize() const; 47 48 49 /** 50 * <p>The type of attribute. InferICD10CM detects entities of the type 51 * <code>DX_NAME</code>. </p> 52 */ GetType()53 inline const ICD10CMAttributeType& GetType() const{ return m_type; } 54 55 /** 56 * <p>The type of attribute. InferICD10CM detects entities of the type 57 * <code>DX_NAME</code>. </p> 58 */ TypeHasBeenSet()59 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 60 61 /** 62 * <p>The type of attribute. InferICD10CM detects entities of the type 63 * <code>DX_NAME</code>. </p> 64 */ SetType(const ICD10CMAttributeType & value)65 inline void SetType(const ICD10CMAttributeType& value) { m_typeHasBeenSet = true; m_type = value; } 66 67 /** 68 * <p>The type of attribute. InferICD10CM detects entities of the type 69 * <code>DX_NAME</code>. </p> 70 */ SetType(ICD10CMAttributeType && value)71 inline void SetType(ICD10CMAttributeType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 72 73 /** 74 * <p>The type of attribute. InferICD10CM detects entities of the type 75 * <code>DX_NAME</code>. </p> 76 */ WithType(const ICD10CMAttributeType & value)77 inline ICD10CMAttribute& WithType(const ICD10CMAttributeType& value) { SetType(value); return *this;} 78 79 /** 80 * <p>The type of attribute. InferICD10CM detects entities of the type 81 * <code>DX_NAME</code>. </p> 82 */ WithType(ICD10CMAttributeType && value)83 inline ICD10CMAttribute& WithType(ICD10CMAttributeType&& value) { SetType(std::move(value)); return *this;} 84 85 86 /** 87 * <p>The level of confidence that Amazon Comprehend Medical has that the segment 88 * of text is correctly recognized as an attribute.</p> 89 */ GetScore()90 inline double GetScore() const{ return m_score; } 91 92 /** 93 * <p>The level of confidence that Amazon Comprehend Medical has that the segment 94 * of text is correctly recognized as an attribute.</p> 95 */ ScoreHasBeenSet()96 inline bool ScoreHasBeenSet() const { return m_scoreHasBeenSet; } 97 98 /** 99 * <p>The level of confidence that Amazon Comprehend Medical has that the segment 100 * of text is correctly recognized as an attribute.</p> 101 */ SetScore(double value)102 inline void SetScore(double value) { m_scoreHasBeenSet = true; m_score = value; } 103 104 /** 105 * <p>The level of confidence that Amazon Comprehend Medical has that the segment 106 * of text is correctly recognized as an attribute.</p> 107 */ WithScore(double value)108 inline ICD10CMAttribute& WithScore(double value) { SetScore(value); return *this;} 109 110 111 /** 112 * <p>The level of confidence that Amazon Comprehend Medical has that this 113 * attribute is correctly related to this entity.</p> 114 */ GetRelationshipScore()115 inline double GetRelationshipScore() const{ return m_relationshipScore; } 116 117 /** 118 * <p>The level of confidence that Amazon Comprehend Medical has that this 119 * attribute is correctly related to this entity.</p> 120 */ RelationshipScoreHasBeenSet()121 inline bool RelationshipScoreHasBeenSet() const { return m_relationshipScoreHasBeenSet; } 122 123 /** 124 * <p>The level of confidence that Amazon Comprehend Medical has that this 125 * attribute is correctly related to this entity.</p> 126 */ SetRelationshipScore(double value)127 inline void SetRelationshipScore(double value) { m_relationshipScoreHasBeenSet = true; m_relationshipScore = value; } 128 129 /** 130 * <p>The level of confidence that Amazon Comprehend Medical has that this 131 * attribute is correctly related to this entity.</p> 132 */ WithRelationshipScore(double value)133 inline ICD10CMAttribute& WithRelationshipScore(double value) { SetRelationshipScore(value); return *this;} 134 135 136 /** 137 * <p>The numeric identifier for this attribute. This is a monotonically increasing 138 * id unique within this response rather than a global unique identifier.</p> 139 */ GetId()140 inline int GetId() const{ return m_id; } 141 142 /** 143 * <p>The numeric identifier for this attribute. This is a monotonically increasing 144 * id unique within this response rather than a global unique identifier.</p> 145 */ IdHasBeenSet()146 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 147 148 /** 149 * <p>The numeric identifier for this attribute. This is a monotonically increasing 150 * id unique within this response rather than a global unique identifier.</p> 151 */ SetId(int value)152 inline void SetId(int value) { m_idHasBeenSet = true; m_id = value; } 153 154 /** 155 * <p>The numeric identifier for this attribute. This is a monotonically increasing 156 * id unique within this response rather than a global unique identifier.</p> 157 */ WithId(int value)158 inline ICD10CMAttribute& WithId(int value) { SetId(value); return *this;} 159 160 161 /** 162 * <p>The 0-based character offset in the input text that shows where the attribute 163 * begins. The offset returns the UTF-8 code point in the string.</p> 164 */ GetBeginOffset()165 inline int GetBeginOffset() const{ return m_beginOffset; } 166 167 /** 168 * <p>The 0-based character offset in the input text that shows where the attribute 169 * begins. The offset returns the UTF-8 code point in the string.</p> 170 */ BeginOffsetHasBeenSet()171 inline bool BeginOffsetHasBeenSet() const { return m_beginOffsetHasBeenSet; } 172 173 /** 174 * <p>The 0-based character offset in the input text that shows where the attribute 175 * begins. The offset returns the UTF-8 code point in the string.</p> 176 */ SetBeginOffset(int value)177 inline void SetBeginOffset(int value) { m_beginOffsetHasBeenSet = true; m_beginOffset = value; } 178 179 /** 180 * <p>The 0-based character offset in the input text that shows where the attribute 181 * begins. The offset returns the UTF-8 code point in the string.</p> 182 */ WithBeginOffset(int value)183 inline ICD10CMAttribute& WithBeginOffset(int value) { SetBeginOffset(value); return *this;} 184 185 186 /** 187 * <p>The 0-based character offset in the input text that shows where the attribute 188 * ends. The offset returns the UTF-8 code point in the string.</p> 189 */ GetEndOffset()190 inline int GetEndOffset() const{ return m_endOffset; } 191 192 /** 193 * <p>The 0-based character offset in the input text that shows where the attribute 194 * ends. The offset returns the UTF-8 code point in the string.</p> 195 */ EndOffsetHasBeenSet()196 inline bool EndOffsetHasBeenSet() const { return m_endOffsetHasBeenSet; } 197 198 /** 199 * <p>The 0-based character offset in the input text that shows where the attribute 200 * ends. The offset returns the UTF-8 code point in the string.</p> 201 */ SetEndOffset(int value)202 inline void SetEndOffset(int value) { m_endOffsetHasBeenSet = true; m_endOffset = value; } 203 204 /** 205 * <p>The 0-based character offset in the input text that shows where the attribute 206 * ends. The offset returns the UTF-8 code point in the string.</p> 207 */ WithEndOffset(int value)208 inline ICD10CMAttribute& WithEndOffset(int value) { SetEndOffset(value); return *this;} 209 210 211 /** 212 * <p>The segment of input text which contains the detected attribute.</p> 213 */ GetText()214 inline const Aws::String& GetText() const{ return m_text; } 215 216 /** 217 * <p>The segment of input text which contains the detected attribute.</p> 218 */ TextHasBeenSet()219 inline bool TextHasBeenSet() const { return m_textHasBeenSet; } 220 221 /** 222 * <p>The segment of input text which contains the detected attribute.</p> 223 */ SetText(const Aws::String & value)224 inline void SetText(const Aws::String& value) { m_textHasBeenSet = true; m_text = value; } 225 226 /** 227 * <p>The segment of input text which contains the detected attribute.</p> 228 */ SetText(Aws::String && value)229 inline void SetText(Aws::String&& value) { m_textHasBeenSet = true; m_text = std::move(value); } 230 231 /** 232 * <p>The segment of input text which contains the detected attribute.</p> 233 */ SetText(const char * value)234 inline void SetText(const char* value) { m_textHasBeenSet = true; m_text.assign(value); } 235 236 /** 237 * <p>The segment of input text which contains the detected attribute.</p> 238 */ WithText(const Aws::String & value)239 inline ICD10CMAttribute& WithText(const Aws::String& value) { SetText(value); return *this;} 240 241 /** 242 * <p>The segment of input text which contains the detected attribute.</p> 243 */ WithText(Aws::String && value)244 inline ICD10CMAttribute& WithText(Aws::String&& value) { SetText(std::move(value)); return *this;} 245 246 /** 247 * <p>The segment of input text which contains the detected attribute.</p> 248 */ WithText(const char * value)249 inline ICD10CMAttribute& WithText(const char* value) { SetText(value); return *this;} 250 251 252 /** 253 * <p>The contextual information for the attribute. The traits recognized by 254 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 255 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 256 */ GetTraits()257 inline const Aws::Vector<ICD10CMTrait>& GetTraits() const{ return m_traits; } 258 259 /** 260 * <p>The contextual information for the attribute. The traits recognized by 261 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 262 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 263 */ TraitsHasBeenSet()264 inline bool TraitsHasBeenSet() const { return m_traitsHasBeenSet; } 265 266 /** 267 * <p>The contextual information for the attribute. The traits recognized by 268 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 269 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 270 */ SetTraits(const Aws::Vector<ICD10CMTrait> & value)271 inline void SetTraits(const Aws::Vector<ICD10CMTrait>& value) { m_traitsHasBeenSet = true; m_traits = value; } 272 273 /** 274 * <p>The contextual information for the attribute. The traits recognized by 275 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 276 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 277 */ SetTraits(Aws::Vector<ICD10CMTrait> && value)278 inline void SetTraits(Aws::Vector<ICD10CMTrait>&& value) { m_traitsHasBeenSet = true; m_traits = std::move(value); } 279 280 /** 281 * <p>The contextual information for the attribute. The traits recognized by 282 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 283 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 284 */ WithTraits(const Aws::Vector<ICD10CMTrait> & value)285 inline ICD10CMAttribute& WithTraits(const Aws::Vector<ICD10CMTrait>& value) { SetTraits(value); return *this;} 286 287 /** 288 * <p>The contextual information for the attribute. The traits recognized by 289 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 290 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 291 */ WithTraits(Aws::Vector<ICD10CMTrait> && value)292 inline ICD10CMAttribute& WithTraits(Aws::Vector<ICD10CMTrait>&& value) { SetTraits(std::move(value)); return *this;} 293 294 /** 295 * <p>The contextual information for the attribute. The traits recognized by 296 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 297 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 298 */ AddTraits(const ICD10CMTrait & value)299 inline ICD10CMAttribute& AddTraits(const ICD10CMTrait& value) { m_traitsHasBeenSet = true; m_traits.push_back(value); return *this; } 300 301 /** 302 * <p>The contextual information for the attribute. The traits recognized by 303 * InferICD10CM are <code>DIAGNOSIS</code>, <code>SIGN</code>, 304 * <code>SYMPTOM</code>, and <code>NEGATION</code>.</p> 305 */ AddTraits(ICD10CMTrait && value)306 inline ICD10CMAttribute& AddTraits(ICD10CMTrait&& value) { m_traitsHasBeenSet = true; m_traits.push_back(std::move(value)); return *this; } 307 308 309 /** 310 * <p>The category of attribute. Can be either of <code>DX_NAME</code> or 311 * <code>TIME_EXPRESSION</code>.</p> 312 */ GetCategory()313 inline const ICD10CMEntityType& GetCategory() const{ return m_category; } 314 315 /** 316 * <p>The category of attribute. Can be either of <code>DX_NAME</code> or 317 * <code>TIME_EXPRESSION</code>.</p> 318 */ CategoryHasBeenSet()319 inline bool CategoryHasBeenSet() const { return m_categoryHasBeenSet; } 320 321 /** 322 * <p>The category of attribute. Can be either of <code>DX_NAME</code> or 323 * <code>TIME_EXPRESSION</code>.</p> 324 */ SetCategory(const ICD10CMEntityType & value)325 inline void SetCategory(const ICD10CMEntityType& value) { m_categoryHasBeenSet = true; m_category = value; } 326 327 /** 328 * <p>The category of attribute. Can be either of <code>DX_NAME</code> or 329 * <code>TIME_EXPRESSION</code>.</p> 330 */ SetCategory(ICD10CMEntityType && value)331 inline void SetCategory(ICD10CMEntityType&& value) { m_categoryHasBeenSet = true; m_category = std::move(value); } 332 333 /** 334 * <p>The category of attribute. Can be either of <code>DX_NAME</code> or 335 * <code>TIME_EXPRESSION</code>.</p> 336 */ WithCategory(const ICD10CMEntityType & value)337 inline ICD10CMAttribute& WithCategory(const ICD10CMEntityType& value) { SetCategory(value); return *this;} 338 339 /** 340 * <p>The category of attribute. Can be either of <code>DX_NAME</code> or 341 * <code>TIME_EXPRESSION</code>.</p> 342 */ WithCategory(ICD10CMEntityType && value)343 inline ICD10CMAttribute& WithCategory(ICD10CMEntityType&& value) { SetCategory(std::move(value)); return *this;} 344 345 346 /** 347 * <p>The type of relationship between the entity and attribute. Type for the 348 * relationship can be either of <code>OVERLAP</code> or 349 * <code>SYSTEM_ORGAN_SITE</code>.</p> 350 */ GetRelationshipType()351 inline const ICD10CMRelationshipType& GetRelationshipType() const{ return m_relationshipType; } 352 353 /** 354 * <p>The type of relationship between the entity and attribute. Type for the 355 * relationship can be either of <code>OVERLAP</code> or 356 * <code>SYSTEM_ORGAN_SITE</code>.</p> 357 */ RelationshipTypeHasBeenSet()358 inline bool RelationshipTypeHasBeenSet() const { return m_relationshipTypeHasBeenSet; } 359 360 /** 361 * <p>The type of relationship between the entity and attribute. Type for the 362 * relationship can be either of <code>OVERLAP</code> or 363 * <code>SYSTEM_ORGAN_SITE</code>.</p> 364 */ SetRelationshipType(const ICD10CMRelationshipType & value)365 inline void SetRelationshipType(const ICD10CMRelationshipType& value) { m_relationshipTypeHasBeenSet = true; m_relationshipType = value; } 366 367 /** 368 * <p>The type of relationship between the entity and attribute. Type for the 369 * relationship can be either of <code>OVERLAP</code> or 370 * <code>SYSTEM_ORGAN_SITE</code>.</p> 371 */ SetRelationshipType(ICD10CMRelationshipType && value)372 inline void SetRelationshipType(ICD10CMRelationshipType&& value) { m_relationshipTypeHasBeenSet = true; m_relationshipType = std::move(value); } 373 374 /** 375 * <p>The type of relationship between the entity and attribute. Type for the 376 * relationship can be either of <code>OVERLAP</code> or 377 * <code>SYSTEM_ORGAN_SITE</code>.</p> 378 */ WithRelationshipType(const ICD10CMRelationshipType & value)379 inline ICD10CMAttribute& WithRelationshipType(const ICD10CMRelationshipType& value) { SetRelationshipType(value); return *this;} 380 381 /** 382 * <p>The type of relationship between the entity and attribute. Type for the 383 * relationship can be either of <code>OVERLAP</code> or 384 * <code>SYSTEM_ORGAN_SITE</code>.</p> 385 */ WithRelationshipType(ICD10CMRelationshipType && value)386 inline ICD10CMAttribute& WithRelationshipType(ICD10CMRelationshipType&& value) { SetRelationshipType(std::move(value)); return *this;} 387 388 private: 389 390 ICD10CMAttributeType m_type; 391 bool m_typeHasBeenSet; 392 393 double m_score; 394 bool m_scoreHasBeenSet; 395 396 double m_relationshipScore; 397 bool m_relationshipScoreHasBeenSet; 398 399 int m_id; 400 bool m_idHasBeenSet; 401 402 int m_beginOffset; 403 bool m_beginOffsetHasBeenSet; 404 405 int m_endOffset; 406 bool m_endOffsetHasBeenSet; 407 408 Aws::String m_text; 409 bool m_textHasBeenSet; 410 411 Aws::Vector<ICD10CMTrait> m_traits; 412 bool m_traitsHasBeenSet; 413 414 ICD10CMEntityType m_category; 415 bool m_categoryHasBeenSet; 416 417 ICD10CMRelationshipType m_relationshipType; 418 bool m_relationshipTypeHasBeenSet; 419 }; 420 421 } // namespace Model 422 } // namespace ComprehendMedical 423 } // namespace Aws 424