packages feed

amazonka-comprehendmedical (empty) → 2.0

raw patch · 129 files changed

+13447/−0 lines, 129 filesdep +amazonka-comprehendmedicaldep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-comprehendmedical, amazonka-core, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Comprehend Medical SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-10-30@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-comprehendmedical)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.ComprehendMedical](http://hackage.haskell.org/package/amazonka-comprehendmedical/docs/Amazonka-ComprehendMedical.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-comprehendmedical` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ amazonka-comprehendmedical.cabal view
@@ -0,0 +1,150 @@+cabal-version:      2.2+name:               amazonka-comprehendmedical+version:            2.0+synopsis:           Amazon Comprehend Medical SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2018-10-30@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.ComprehendMedical.Lens" and are+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+  .+  See "Amazonka.ComprehendMedical" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+  type:     git+  location: git://github.com/brendanhay/amazonka.git+  subdir:   amazonka-comprehendmedical++library+  default-language: Haskell2010+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields++  exposed-modules:+    Amazonka.ComprehendMedical+    Amazonka.ComprehendMedical.DescribeEntitiesDetectionV2Job+    Amazonka.ComprehendMedical.DescribeICD10CMInferenceJob+    Amazonka.ComprehendMedical.DescribePHIDetectionJob+    Amazonka.ComprehendMedical.DescribeRxNormInferenceJob+    Amazonka.ComprehendMedical.DescribeSNOMEDCTInferenceJob+    Amazonka.ComprehendMedical.DetectEntitiesV2+    Amazonka.ComprehendMedical.DetectPHI+    Amazonka.ComprehendMedical.InferICD10CM+    Amazonka.ComprehendMedical.InferRxNorm+    Amazonka.ComprehendMedical.InferSNOMEDCT+    Amazonka.ComprehendMedical.Lens+    Amazonka.ComprehendMedical.ListEntitiesDetectionV2Jobs+    Amazonka.ComprehendMedical.ListICD10CMInferenceJobs+    Amazonka.ComprehendMedical.ListPHIDetectionJobs+    Amazonka.ComprehendMedical.ListRxNormInferenceJobs+    Amazonka.ComprehendMedical.ListSNOMEDCTInferenceJobs+    Amazonka.ComprehendMedical.StartEntitiesDetectionV2Job+    Amazonka.ComprehendMedical.StartICD10CMInferenceJob+    Amazonka.ComprehendMedical.StartPHIDetectionJob+    Amazonka.ComprehendMedical.StartRxNormInferenceJob+    Amazonka.ComprehendMedical.StartSNOMEDCTInferenceJob+    Amazonka.ComprehendMedical.StopEntitiesDetectionV2Job+    Amazonka.ComprehendMedical.StopICD10CMInferenceJob+    Amazonka.ComprehendMedical.StopPHIDetectionJob+    Amazonka.ComprehendMedical.StopRxNormInferenceJob+    Amazonka.ComprehendMedical.StopSNOMEDCTInferenceJob+    Amazonka.ComprehendMedical.Types+    Amazonka.ComprehendMedical.Types.Attribute+    Amazonka.ComprehendMedical.Types.AttributeName+    Amazonka.ComprehendMedical.Types.Characters+    Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobFilter+    Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobProperties+    Amazonka.ComprehendMedical.Types.Entity+    Amazonka.ComprehendMedical.Types.EntitySubType+    Amazonka.ComprehendMedical.Types.EntityType+    Amazonka.ComprehendMedical.Types.ICD10CMAttribute+    Amazonka.ComprehendMedical.Types.ICD10CMAttributeType+    Amazonka.ComprehendMedical.Types.ICD10CMConcept+    Amazonka.ComprehendMedical.Types.ICD10CMEntity+    Amazonka.ComprehendMedical.Types.ICD10CMEntityCategory+    Amazonka.ComprehendMedical.Types.ICD10CMEntityType+    Amazonka.ComprehendMedical.Types.ICD10CMRelationshipType+    Amazonka.ComprehendMedical.Types.ICD10CMTrait+    Amazonka.ComprehendMedical.Types.ICD10CMTraitName+    Amazonka.ComprehendMedical.Types.InputDataConfig+    Amazonka.ComprehendMedical.Types.JobStatus+    Amazonka.ComprehendMedical.Types.LanguageCode+    Amazonka.ComprehendMedical.Types.OutputDataConfig+    Amazonka.ComprehendMedical.Types.RelationshipType+    Amazonka.ComprehendMedical.Types.RxNormAttribute+    Amazonka.ComprehendMedical.Types.RxNormAttributeType+    Amazonka.ComprehendMedical.Types.RxNormConcept+    Amazonka.ComprehendMedical.Types.RxNormEntity+    Amazonka.ComprehendMedical.Types.RxNormEntityCategory+    Amazonka.ComprehendMedical.Types.RxNormEntityType+    Amazonka.ComprehendMedical.Types.RxNormTrait+    Amazonka.ComprehendMedical.Types.RxNormTraitName+    Amazonka.ComprehendMedical.Types.SNOMEDCTAttribute+    Amazonka.ComprehendMedical.Types.SNOMEDCTAttributeType+    Amazonka.ComprehendMedical.Types.SNOMEDCTConcept+    Amazonka.ComprehendMedical.Types.SNOMEDCTDetails+    Amazonka.ComprehendMedical.Types.SNOMEDCTEntity+    Amazonka.ComprehendMedical.Types.SNOMEDCTEntityCategory+    Amazonka.ComprehendMedical.Types.SNOMEDCTEntityType+    Amazonka.ComprehendMedical.Types.SNOMEDCTRelationshipType+    Amazonka.ComprehendMedical.Types.SNOMEDCTTrait+    Amazonka.ComprehendMedical.Types.SNOMEDCTTraitName+    Amazonka.ComprehendMedical.Types.Trait+    Amazonka.ComprehendMedical.Types.UnmappedAttribute+    Amazonka.ComprehendMedical.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-comprehendmedical-test+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded++  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.ComprehendMedical+    Test.Amazonka.ComprehendMedical.Internal+    Test.Amazonka.Gen.ComprehendMedical++  build-depends:+    , amazonka-comprehendmedical+    , amazonka-core               >=2.0 && <2.1+    , amazonka-test               >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/DescribeEntitiesDetectionV2Job.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeEntitiesDetectionV2JobResponse.proto view
+ fixture/DescribeICD10CMInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeICD10CMInferenceJobResponse.proto view
+ fixture/DescribePHIDetectionJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribePHIDetectionJobResponse.proto view
+ fixture/DescribeRxNormInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeRxNormInferenceJobResponse.proto view
+ fixture/DescribeSNOMEDCTInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeSNOMEDCTInferenceJobResponse.proto view
+ fixture/DetectEntitiesV2.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DetectEntitiesV2Response.proto view
+ fixture/DetectPHI.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DetectPHIResponse.proto view
+ fixture/InferICD10CM.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/InferICD10CMResponse.proto view
+ fixture/InferRxNorm.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/InferRxNormResponse.proto view
+ fixture/InferSNOMEDCT.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/InferSNOMEDCTResponse.proto view
+ fixture/ListEntitiesDetectionV2Jobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListEntitiesDetectionV2JobsResponse.proto view
+ fixture/ListICD10CMInferenceJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListICD10CMInferenceJobsResponse.proto view
+ fixture/ListPHIDetectionJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListPHIDetectionJobsResponse.proto view
+ fixture/ListRxNormInferenceJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListRxNormInferenceJobsResponse.proto view
+ fixture/ListSNOMEDCTInferenceJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListSNOMEDCTInferenceJobsResponse.proto view
+ fixture/StartEntitiesDetectionV2Job.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartEntitiesDetectionV2JobResponse.proto view
+ fixture/StartICD10CMInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartICD10CMInferenceJobResponse.proto view
+ fixture/StartPHIDetectionJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartPHIDetectionJobResponse.proto view
+ fixture/StartRxNormInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartRxNormInferenceJobResponse.proto view
+ fixture/StartSNOMEDCTInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartSNOMEDCTInferenceJobResponse.proto view
+ fixture/StopEntitiesDetectionV2Job.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StopEntitiesDetectionV2JobResponse.proto view
+ fixture/StopICD10CMInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StopICD10CMInferenceJobResponse.proto view
+ fixture/StopPHIDetectionJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StopPHIDetectionJobResponse.proto view
+ fixture/StopRxNormInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StopRxNormInferenceJobResponse.proto view
+ fixture/StopSNOMEDCTInferenceJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/comprehendmedical/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  comprehendmedical.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StopSNOMEDCTInferenceJobResponse.proto view
+ gen/Amazonka/ComprehendMedical.hs view
@@ -0,0 +1,409 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.ComprehendMedical+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-10-30@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Comprehend Medical; extracts structured information from unstructured+-- clinical text. Use these actions to gain insight in your documents.+module Amazonka.ComprehendMedical+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** InternalServerException+    _InternalServerException,++    -- ** InvalidEncodingException+    _InvalidEncodingException,++    -- ** InvalidRequestException+    _InvalidRequestException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceUnavailableException+    _ServiceUnavailableException,++    -- ** TextSizeLimitExceededException+    _TextSizeLimitExceededException,++    -- ** TooManyRequestsException+    _TooManyRequestsException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** DescribeEntitiesDetectionV2Job+    DescribeEntitiesDetectionV2Job (DescribeEntitiesDetectionV2Job'),+    newDescribeEntitiesDetectionV2Job,+    DescribeEntitiesDetectionV2JobResponse (DescribeEntitiesDetectionV2JobResponse'),+    newDescribeEntitiesDetectionV2JobResponse,++    -- ** DescribeICD10CMInferenceJob+    DescribeICD10CMInferenceJob (DescribeICD10CMInferenceJob'),+    newDescribeICD10CMInferenceJob,+    DescribeICD10CMInferenceJobResponse (DescribeICD10CMInferenceJobResponse'),+    newDescribeICD10CMInferenceJobResponse,++    -- ** DescribePHIDetectionJob+    DescribePHIDetectionJob (DescribePHIDetectionJob'),+    newDescribePHIDetectionJob,+    DescribePHIDetectionJobResponse (DescribePHIDetectionJobResponse'),+    newDescribePHIDetectionJobResponse,++    -- ** DescribeRxNormInferenceJob+    DescribeRxNormInferenceJob (DescribeRxNormInferenceJob'),+    newDescribeRxNormInferenceJob,+    DescribeRxNormInferenceJobResponse (DescribeRxNormInferenceJobResponse'),+    newDescribeRxNormInferenceJobResponse,++    -- ** DescribeSNOMEDCTInferenceJob+    DescribeSNOMEDCTInferenceJob (DescribeSNOMEDCTInferenceJob'),+    newDescribeSNOMEDCTInferenceJob,+    DescribeSNOMEDCTInferenceJobResponse (DescribeSNOMEDCTInferenceJobResponse'),+    newDescribeSNOMEDCTInferenceJobResponse,++    -- ** DetectEntitiesV2+    DetectEntitiesV2 (DetectEntitiesV2'),+    newDetectEntitiesV2,+    DetectEntitiesV2Response (DetectEntitiesV2Response'),+    newDetectEntitiesV2Response,++    -- ** DetectPHI+    DetectPHI (DetectPHI'),+    newDetectPHI,+    DetectPHIResponse (DetectPHIResponse'),+    newDetectPHIResponse,++    -- ** InferICD10CM+    InferICD10CM (InferICD10CM'),+    newInferICD10CM,+    InferICD10CMResponse (InferICD10CMResponse'),+    newInferICD10CMResponse,++    -- ** InferRxNorm+    InferRxNorm (InferRxNorm'),+    newInferRxNorm,+    InferRxNormResponse (InferRxNormResponse'),+    newInferRxNormResponse,++    -- ** InferSNOMEDCT+    InferSNOMEDCT (InferSNOMEDCT'),+    newInferSNOMEDCT,+    InferSNOMEDCTResponse (InferSNOMEDCTResponse'),+    newInferSNOMEDCTResponse,++    -- ** ListEntitiesDetectionV2Jobs+    ListEntitiesDetectionV2Jobs (ListEntitiesDetectionV2Jobs'),+    newListEntitiesDetectionV2Jobs,+    ListEntitiesDetectionV2JobsResponse (ListEntitiesDetectionV2JobsResponse'),+    newListEntitiesDetectionV2JobsResponse,++    -- ** ListICD10CMInferenceJobs+    ListICD10CMInferenceJobs (ListICD10CMInferenceJobs'),+    newListICD10CMInferenceJobs,+    ListICD10CMInferenceJobsResponse (ListICD10CMInferenceJobsResponse'),+    newListICD10CMInferenceJobsResponse,++    -- ** ListPHIDetectionJobs+    ListPHIDetectionJobs (ListPHIDetectionJobs'),+    newListPHIDetectionJobs,+    ListPHIDetectionJobsResponse (ListPHIDetectionJobsResponse'),+    newListPHIDetectionJobsResponse,++    -- ** ListRxNormInferenceJobs+    ListRxNormInferenceJobs (ListRxNormInferenceJobs'),+    newListRxNormInferenceJobs,+    ListRxNormInferenceJobsResponse (ListRxNormInferenceJobsResponse'),+    newListRxNormInferenceJobsResponse,++    -- ** ListSNOMEDCTInferenceJobs+    ListSNOMEDCTInferenceJobs (ListSNOMEDCTInferenceJobs'),+    newListSNOMEDCTInferenceJobs,+    ListSNOMEDCTInferenceJobsResponse (ListSNOMEDCTInferenceJobsResponse'),+    newListSNOMEDCTInferenceJobsResponse,++    -- ** StartEntitiesDetectionV2Job+    StartEntitiesDetectionV2Job (StartEntitiesDetectionV2Job'),+    newStartEntitiesDetectionV2Job,+    StartEntitiesDetectionV2JobResponse (StartEntitiesDetectionV2JobResponse'),+    newStartEntitiesDetectionV2JobResponse,++    -- ** StartICD10CMInferenceJob+    StartICD10CMInferenceJob (StartICD10CMInferenceJob'),+    newStartICD10CMInferenceJob,+    StartICD10CMInferenceJobResponse (StartICD10CMInferenceJobResponse'),+    newStartICD10CMInferenceJobResponse,++    -- ** StartPHIDetectionJob+    StartPHIDetectionJob (StartPHIDetectionJob'),+    newStartPHIDetectionJob,+    StartPHIDetectionJobResponse (StartPHIDetectionJobResponse'),+    newStartPHIDetectionJobResponse,++    -- ** StartRxNormInferenceJob+    StartRxNormInferenceJob (StartRxNormInferenceJob'),+    newStartRxNormInferenceJob,+    StartRxNormInferenceJobResponse (StartRxNormInferenceJobResponse'),+    newStartRxNormInferenceJobResponse,++    -- ** StartSNOMEDCTInferenceJob+    StartSNOMEDCTInferenceJob (StartSNOMEDCTInferenceJob'),+    newStartSNOMEDCTInferenceJob,+    StartSNOMEDCTInferenceJobResponse (StartSNOMEDCTInferenceJobResponse'),+    newStartSNOMEDCTInferenceJobResponse,++    -- ** StopEntitiesDetectionV2Job+    StopEntitiesDetectionV2Job (StopEntitiesDetectionV2Job'),+    newStopEntitiesDetectionV2Job,+    StopEntitiesDetectionV2JobResponse (StopEntitiesDetectionV2JobResponse'),+    newStopEntitiesDetectionV2JobResponse,++    -- ** StopICD10CMInferenceJob+    StopICD10CMInferenceJob (StopICD10CMInferenceJob'),+    newStopICD10CMInferenceJob,+    StopICD10CMInferenceJobResponse (StopICD10CMInferenceJobResponse'),+    newStopICD10CMInferenceJobResponse,++    -- ** StopPHIDetectionJob+    StopPHIDetectionJob (StopPHIDetectionJob'),+    newStopPHIDetectionJob,+    StopPHIDetectionJobResponse (StopPHIDetectionJobResponse'),+    newStopPHIDetectionJobResponse,++    -- ** StopRxNormInferenceJob+    StopRxNormInferenceJob (StopRxNormInferenceJob'),+    newStopRxNormInferenceJob,+    StopRxNormInferenceJobResponse (StopRxNormInferenceJobResponse'),+    newStopRxNormInferenceJobResponse,++    -- ** StopSNOMEDCTInferenceJob+    StopSNOMEDCTInferenceJob (StopSNOMEDCTInferenceJob'),+    newStopSNOMEDCTInferenceJob,+    StopSNOMEDCTInferenceJobResponse (StopSNOMEDCTInferenceJobResponse'),+    newStopSNOMEDCTInferenceJobResponse,++    -- * Types++    -- ** AttributeName+    AttributeName (..),++    -- ** EntitySubType+    EntitySubType (..),++    -- ** EntityType+    EntityType (..),++    -- ** ICD10CMAttributeType+    ICD10CMAttributeType (..),++    -- ** ICD10CMEntityCategory+    ICD10CMEntityCategory (..),++    -- ** ICD10CMEntityType+    ICD10CMEntityType (..),++    -- ** ICD10CMRelationshipType+    ICD10CMRelationshipType (..),++    -- ** ICD10CMTraitName+    ICD10CMTraitName (..),++    -- ** JobStatus+    JobStatus (..),++    -- ** LanguageCode+    LanguageCode (..),++    -- ** RelationshipType+    RelationshipType (..),++    -- ** RxNormAttributeType+    RxNormAttributeType (..),++    -- ** RxNormEntityCategory+    RxNormEntityCategory (..),++    -- ** RxNormEntityType+    RxNormEntityType (..),++    -- ** RxNormTraitName+    RxNormTraitName (..),++    -- ** SNOMEDCTAttributeType+    SNOMEDCTAttributeType (..),++    -- ** SNOMEDCTEntityCategory+    SNOMEDCTEntityCategory (..),++    -- ** SNOMEDCTEntityType+    SNOMEDCTEntityType (..),++    -- ** SNOMEDCTRelationshipType+    SNOMEDCTRelationshipType (..),++    -- ** SNOMEDCTTraitName+    SNOMEDCTTraitName (..),++    -- ** Attribute+    Attribute (Attribute'),+    newAttribute,++    -- ** Characters+    Characters (Characters'),+    newCharacters,++    -- ** ComprehendMedicalAsyncJobFilter+    ComprehendMedicalAsyncJobFilter (ComprehendMedicalAsyncJobFilter'),+    newComprehendMedicalAsyncJobFilter,++    -- ** ComprehendMedicalAsyncJobProperties+    ComprehendMedicalAsyncJobProperties (ComprehendMedicalAsyncJobProperties'),+    newComprehendMedicalAsyncJobProperties,++    -- ** Entity+    Entity (Entity'),+    newEntity,++    -- ** ICD10CMAttribute+    ICD10CMAttribute (ICD10CMAttribute'),+    newICD10CMAttribute,++    -- ** ICD10CMConcept+    ICD10CMConcept (ICD10CMConcept'),+    newICD10CMConcept,++    -- ** ICD10CMEntity+    ICD10CMEntity (ICD10CMEntity'),+    newICD10CMEntity,++    -- ** ICD10CMTrait+    ICD10CMTrait (ICD10CMTrait'),+    newICD10CMTrait,++    -- ** InputDataConfig+    InputDataConfig (InputDataConfig'),+    newInputDataConfig,++    -- ** OutputDataConfig+    OutputDataConfig (OutputDataConfig'),+    newOutputDataConfig,++    -- ** RxNormAttribute+    RxNormAttribute (RxNormAttribute'),+    newRxNormAttribute,++    -- ** RxNormConcept+    RxNormConcept (RxNormConcept'),+    newRxNormConcept,++    -- ** RxNormEntity+    RxNormEntity (RxNormEntity'),+    newRxNormEntity,++    -- ** RxNormTrait+    RxNormTrait (RxNormTrait'),+    newRxNormTrait,++    -- ** SNOMEDCTAttribute+    SNOMEDCTAttribute (SNOMEDCTAttribute'),+    newSNOMEDCTAttribute,++    -- ** SNOMEDCTConcept+    SNOMEDCTConcept (SNOMEDCTConcept'),+    newSNOMEDCTConcept,++    -- ** SNOMEDCTDetails+    SNOMEDCTDetails (SNOMEDCTDetails'),+    newSNOMEDCTDetails,++    -- ** SNOMEDCTEntity+    SNOMEDCTEntity (SNOMEDCTEntity'),+    newSNOMEDCTEntity,++    -- ** SNOMEDCTTrait+    SNOMEDCTTrait (SNOMEDCTTrait'),+    newSNOMEDCTTrait,++    -- ** Trait+    Trait (Trait'),+    newTrait,++    -- ** UnmappedAttribute+    UnmappedAttribute (UnmappedAttribute'),+    newUnmappedAttribute,+  )+where++import Amazonka.ComprehendMedical.DescribeEntitiesDetectionV2Job+import Amazonka.ComprehendMedical.DescribeICD10CMInferenceJob+import Amazonka.ComprehendMedical.DescribePHIDetectionJob+import Amazonka.ComprehendMedical.DescribeRxNormInferenceJob+import Amazonka.ComprehendMedical.DescribeSNOMEDCTInferenceJob+import Amazonka.ComprehendMedical.DetectEntitiesV2+import Amazonka.ComprehendMedical.DetectPHI+import Amazonka.ComprehendMedical.InferICD10CM+import Amazonka.ComprehendMedical.InferRxNorm+import Amazonka.ComprehendMedical.InferSNOMEDCT+import Amazonka.ComprehendMedical.Lens+import Amazonka.ComprehendMedical.ListEntitiesDetectionV2Jobs+import Amazonka.ComprehendMedical.ListICD10CMInferenceJobs+import Amazonka.ComprehendMedical.ListPHIDetectionJobs+import Amazonka.ComprehendMedical.ListRxNormInferenceJobs+import Amazonka.ComprehendMedical.ListSNOMEDCTInferenceJobs+import Amazonka.ComprehendMedical.StartEntitiesDetectionV2Job+import Amazonka.ComprehendMedical.StartICD10CMInferenceJob+import Amazonka.ComprehendMedical.StartPHIDetectionJob+import Amazonka.ComprehendMedical.StartRxNormInferenceJob+import Amazonka.ComprehendMedical.StartSNOMEDCTInferenceJob+import Amazonka.ComprehendMedical.StopEntitiesDetectionV2Job+import Amazonka.ComprehendMedical.StopICD10CMInferenceJob+import Amazonka.ComprehendMedical.StopPHIDetectionJob+import Amazonka.ComprehendMedical.StopRxNormInferenceJob+import Amazonka.ComprehendMedical.StopSNOMEDCTInferenceJob+import Amazonka.ComprehendMedical.Types+import Amazonka.ComprehendMedical.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'ComprehendMedical'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/ComprehendMedical/DescribeEntitiesDetectionV2Job.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.DescribeEntitiesDetectionV2Job+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the properties associated with a medical entities detection job.+-- Use this operation to get the status of a detection job.+module Amazonka.ComprehendMedical.DescribeEntitiesDetectionV2Job+  ( -- * Creating a Request+    DescribeEntitiesDetectionV2Job (..),+    newDescribeEntitiesDetectionV2Job,++    -- * Request Lenses+    describeEntitiesDetectionV2Job_jobId,++    -- * Destructuring the Response+    DescribeEntitiesDetectionV2JobResponse (..),+    newDescribeEntitiesDetectionV2JobResponse,++    -- * Response Lenses+    describeEntitiesDetectionV2JobResponse_comprehendMedicalAsyncJobProperties,+    describeEntitiesDetectionV2JobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeEntitiesDetectionV2Job' smart constructor.+data DescribeEntitiesDetectionV2Job = DescribeEntitiesDetectionV2Job'+  { -- | The identifier that Comprehend Medical; generated for the job. The+    -- @StartEntitiesDetectionV2Job@ operation returns this identifier in its+    -- response.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEntitiesDetectionV2Job' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeEntitiesDetectionV2Job_jobId' - The identifier that Comprehend Medical; generated for the job. The+-- @StartEntitiesDetectionV2Job@ operation returns this identifier in its+-- response.+newDescribeEntitiesDetectionV2Job ::+  -- | 'jobId'+  Prelude.Text ->+  DescribeEntitiesDetectionV2Job+newDescribeEntitiesDetectionV2Job pJobId_ =+  DescribeEntitiesDetectionV2Job' {jobId = pJobId_}++-- | The identifier that Comprehend Medical; generated for the job. The+-- @StartEntitiesDetectionV2Job@ operation returns this identifier in its+-- response.+describeEntitiesDetectionV2Job_jobId :: Lens.Lens' DescribeEntitiesDetectionV2Job Prelude.Text+describeEntitiesDetectionV2Job_jobId = Lens.lens (\DescribeEntitiesDetectionV2Job' {jobId} -> jobId) (\s@DescribeEntitiesDetectionV2Job' {} a -> s {jobId = a} :: DescribeEntitiesDetectionV2Job)++instance+  Core.AWSRequest+    DescribeEntitiesDetectionV2Job+  where+  type+    AWSResponse DescribeEntitiesDetectionV2Job =+      DescribeEntitiesDetectionV2JobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeEntitiesDetectionV2JobResponse'+            Prelude.<$> (x Data..?> "ComprehendMedicalAsyncJobProperties")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeEntitiesDetectionV2Job+  where+  hashWithSalt+    _salt+    DescribeEntitiesDetectionV2Job' {..} =+      _salt `Prelude.hashWithSalt` jobId++instance+  Prelude.NFData+    DescribeEntitiesDetectionV2Job+  where+  rnf DescribeEntitiesDetectionV2Job' {..} =+    Prelude.rnf jobId++instance+  Data.ToHeaders+    DescribeEntitiesDetectionV2Job+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.DescribeEntitiesDetectionV2Job" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeEntitiesDetectionV2Job where+  toJSON DescribeEntitiesDetectionV2Job' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath DescribeEntitiesDetectionV2Job where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeEntitiesDetectionV2Job where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeEntitiesDetectionV2JobResponse' smart constructor.+data DescribeEntitiesDetectionV2JobResponse = DescribeEntitiesDetectionV2JobResponse'+  { -- | An object that contains the properties associated with a detection job.+    comprehendMedicalAsyncJobProperties :: Prelude.Maybe ComprehendMedicalAsyncJobProperties,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeEntitiesDetectionV2JobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobProperties', 'describeEntitiesDetectionV2JobResponse_comprehendMedicalAsyncJobProperties' - An object that contains the properties associated with a detection job.+--+-- 'httpStatus', 'describeEntitiesDetectionV2JobResponse_httpStatus' - The response's http status code.+newDescribeEntitiesDetectionV2JobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeEntitiesDetectionV2JobResponse+newDescribeEntitiesDetectionV2JobResponse+  pHttpStatus_ =+    DescribeEntitiesDetectionV2JobResponse'+      { comprehendMedicalAsyncJobProperties =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | An object that contains the properties associated with a detection job.+describeEntitiesDetectionV2JobResponse_comprehendMedicalAsyncJobProperties :: Lens.Lens' DescribeEntitiesDetectionV2JobResponse (Prelude.Maybe ComprehendMedicalAsyncJobProperties)+describeEntitiesDetectionV2JobResponse_comprehendMedicalAsyncJobProperties = Lens.lens (\DescribeEntitiesDetectionV2JobResponse' {comprehendMedicalAsyncJobProperties} -> comprehendMedicalAsyncJobProperties) (\s@DescribeEntitiesDetectionV2JobResponse' {} a -> s {comprehendMedicalAsyncJobProperties = a} :: DescribeEntitiesDetectionV2JobResponse)++-- | The response's http status code.+describeEntitiesDetectionV2JobResponse_httpStatus :: Lens.Lens' DescribeEntitiesDetectionV2JobResponse Prelude.Int+describeEntitiesDetectionV2JobResponse_httpStatus = Lens.lens (\DescribeEntitiesDetectionV2JobResponse' {httpStatus} -> httpStatus) (\s@DescribeEntitiesDetectionV2JobResponse' {} a -> s {httpStatus = a} :: DescribeEntitiesDetectionV2JobResponse)++instance+  Prelude.NFData+    DescribeEntitiesDetectionV2JobResponse+  where+  rnf DescribeEntitiesDetectionV2JobResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobProperties+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/DescribeICD10CMInferenceJob.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.DescribeICD10CMInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the properties associated with an InferICD10CM job. Use this+-- operation to get the status of an inference job.+module Amazonka.ComprehendMedical.DescribeICD10CMInferenceJob+  ( -- * Creating a Request+    DescribeICD10CMInferenceJob (..),+    newDescribeICD10CMInferenceJob,++    -- * Request Lenses+    describeICD10CMInferenceJob_jobId,++    -- * Destructuring the Response+    DescribeICD10CMInferenceJobResponse (..),+    newDescribeICD10CMInferenceJobResponse,++    -- * Response Lenses+    describeICD10CMInferenceJobResponse_comprehendMedicalAsyncJobProperties,+    describeICD10CMInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeICD10CMInferenceJob' smart constructor.+data DescribeICD10CMInferenceJob = DescribeICD10CMInferenceJob'+  { -- | The identifier that Amazon Comprehend Medical generated for the job.+    -- @The StartICD10CMInferenceJob@ operation returns this identifier in its+    -- response.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeICD10CMInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeICD10CMInferenceJob_jobId' - The identifier that Amazon Comprehend Medical generated for the job.+-- @The StartICD10CMInferenceJob@ operation returns this identifier in its+-- response.+newDescribeICD10CMInferenceJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribeICD10CMInferenceJob+newDescribeICD10CMInferenceJob pJobId_ =+  DescribeICD10CMInferenceJob' {jobId = pJobId_}++-- | The identifier that Amazon Comprehend Medical generated for the job.+-- @The StartICD10CMInferenceJob@ operation returns this identifier in its+-- response.+describeICD10CMInferenceJob_jobId :: Lens.Lens' DescribeICD10CMInferenceJob Prelude.Text+describeICD10CMInferenceJob_jobId = Lens.lens (\DescribeICD10CMInferenceJob' {jobId} -> jobId) (\s@DescribeICD10CMInferenceJob' {} a -> s {jobId = a} :: DescribeICD10CMInferenceJob)++instance Core.AWSRequest DescribeICD10CMInferenceJob where+  type+    AWSResponse DescribeICD10CMInferenceJob =+      DescribeICD10CMInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeICD10CMInferenceJobResponse'+            Prelude.<$> (x Data..?> "ComprehendMedicalAsyncJobProperties")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeICD10CMInferenceJob where+  hashWithSalt _salt DescribeICD10CMInferenceJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeICD10CMInferenceJob where+  rnf DescribeICD10CMInferenceJob' {..} =+    Prelude.rnf jobId++instance Data.ToHeaders DescribeICD10CMInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.DescribeICD10CMInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeICD10CMInferenceJob where+  toJSON DescribeICD10CMInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath DescribeICD10CMInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeICD10CMInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeICD10CMInferenceJobResponse' smart constructor.+data DescribeICD10CMInferenceJobResponse = DescribeICD10CMInferenceJobResponse'+  { -- | An object that contains the properties associated with a detection job.+    comprehendMedicalAsyncJobProperties :: Prelude.Maybe ComprehendMedicalAsyncJobProperties,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeICD10CMInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobProperties', 'describeICD10CMInferenceJobResponse_comprehendMedicalAsyncJobProperties' - An object that contains the properties associated with a detection job.+--+-- 'httpStatus', 'describeICD10CMInferenceJobResponse_httpStatus' - The response's http status code.+newDescribeICD10CMInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeICD10CMInferenceJobResponse+newDescribeICD10CMInferenceJobResponse pHttpStatus_ =+  DescribeICD10CMInferenceJobResponse'+    { comprehendMedicalAsyncJobProperties =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An object that contains the properties associated with a detection job.+describeICD10CMInferenceJobResponse_comprehendMedicalAsyncJobProperties :: Lens.Lens' DescribeICD10CMInferenceJobResponse (Prelude.Maybe ComprehendMedicalAsyncJobProperties)+describeICD10CMInferenceJobResponse_comprehendMedicalAsyncJobProperties = Lens.lens (\DescribeICD10CMInferenceJobResponse' {comprehendMedicalAsyncJobProperties} -> comprehendMedicalAsyncJobProperties) (\s@DescribeICD10CMInferenceJobResponse' {} a -> s {comprehendMedicalAsyncJobProperties = a} :: DescribeICD10CMInferenceJobResponse)++-- | The response's http status code.+describeICD10CMInferenceJobResponse_httpStatus :: Lens.Lens' DescribeICD10CMInferenceJobResponse Prelude.Int+describeICD10CMInferenceJobResponse_httpStatus = Lens.lens (\DescribeICD10CMInferenceJobResponse' {httpStatus} -> httpStatus) (\s@DescribeICD10CMInferenceJobResponse' {} a -> s {httpStatus = a} :: DescribeICD10CMInferenceJobResponse)++instance+  Prelude.NFData+    DescribeICD10CMInferenceJobResponse+  where+  rnf DescribeICD10CMInferenceJobResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobProperties+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/DescribePHIDetectionJob.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.DescribePHIDetectionJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the properties associated with a protected health information (PHI)+-- detection job. Use this operation to get the status of a detection job.+module Amazonka.ComprehendMedical.DescribePHIDetectionJob+  ( -- * Creating a Request+    DescribePHIDetectionJob (..),+    newDescribePHIDetectionJob,++    -- * Request Lenses+    describePHIDetectionJob_jobId,++    -- * Destructuring the Response+    DescribePHIDetectionJobResponse (..),+    newDescribePHIDetectionJobResponse,++    -- * Response Lenses+    describePHIDetectionJobResponse_comprehendMedicalAsyncJobProperties,+    describePHIDetectionJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePHIDetectionJob' smart constructor.+data DescribePHIDetectionJob = DescribePHIDetectionJob'+  { -- | The identifier that Comprehend Medical; generated for the job. The+    -- @StartPHIDetectionJob@ operation returns this identifier in its+    -- response.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePHIDetectionJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describePHIDetectionJob_jobId' - The identifier that Comprehend Medical; generated for the job. The+-- @StartPHIDetectionJob@ operation returns this identifier in its+-- response.+newDescribePHIDetectionJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribePHIDetectionJob+newDescribePHIDetectionJob pJobId_ =+  DescribePHIDetectionJob' {jobId = pJobId_}++-- | The identifier that Comprehend Medical; generated for the job. The+-- @StartPHIDetectionJob@ operation returns this identifier in its+-- response.+describePHIDetectionJob_jobId :: Lens.Lens' DescribePHIDetectionJob Prelude.Text+describePHIDetectionJob_jobId = Lens.lens (\DescribePHIDetectionJob' {jobId} -> jobId) (\s@DescribePHIDetectionJob' {} a -> s {jobId = a} :: DescribePHIDetectionJob)++instance Core.AWSRequest DescribePHIDetectionJob where+  type+    AWSResponse DescribePHIDetectionJob =+      DescribePHIDetectionJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePHIDetectionJobResponse'+            Prelude.<$> (x Data..?> "ComprehendMedicalAsyncJobProperties")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribePHIDetectionJob where+  hashWithSalt _salt DescribePHIDetectionJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribePHIDetectionJob where+  rnf DescribePHIDetectionJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders DescribePHIDetectionJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.DescribePHIDetectionJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribePHIDetectionJob where+  toJSON DescribePHIDetectionJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath DescribePHIDetectionJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribePHIDetectionJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePHIDetectionJobResponse' smart constructor.+data DescribePHIDetectionJobResponse = DescribePHIDetectionJobResponse'+  { -- | An object that contains the properties associated with a detection job.+    comprehendMedicalAsyncJobProperties :: Prelude.Maybe ComprehendMedicalAsyncJobProperties,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePHIDetectionJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobProperties', 'describePHIDetectionJobResponse_comprehendMedicalAsyncJobProperties' - An object that contains the properties associated with a detection job.+--+-- 'httpStatus', 'describePHIDetectionJobResponse_httpStatus' - The response's http status code.+newDescribePHIDetectionJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribePHIDetectionJobResponse+newDescribePHIDetectionJobResponse pHttpStatus_ =+  DescribePHIDetectionJobResponse'+    { comprehendMedicalAsyncJobProperties =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An object that contains the properties associated with a detection job.+describePHIDetectionJobResponse_comprehendMedicalAsyncJobProperties :: Lens.Lens' DescribePHIDetectionJobResponse (Prelude.Maybe ComprehendMedicalAsyncJobProperties)+describePHIDetectionJobResponse_comprehendMedicalAsyncJobProperties = Lens.lens (\DescribePHIDetectionJobResponse' {comprehendMedicalAsyncJobProperties} -> comprehendMedicalAsyncJobProperties) (\s@DescribePHIDetectionJobResponse' {} a -> s {comprehendMedicalAsyncJobProperties = a} :: DescribePHIDetectionJobResponse)++-- | The response's http status code.+describePHIDetectionJobResponse_httpStatus :: Lens.Lens' DescribePHIDetectionJobResponse Prelude.Int+describePHIDetectionJobResponse_httpStatus = Lens.lens (\DescribePHIDetectionJobResponse' {httpStatus} -> httpStatus) (\s@DescribePHIDetectionJobResponse' {} a -> s {httpStatus = a} :: DescribePHIDetectionJobResponse)++instance+  Prelude.NFData+    DescribePHIDetectionJobResponse+  where+  rnf DescribePHIDetectionJobResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobProperties+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/DescribeRxNormInferenceJob.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.DescribeRxNormInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the properties associated with an InferRxNorm job. Use this+-- operation to get the status of an inference job.+module Amazonka.ComprehendMedical.DescribeRxNormInferenceJob+  ( -- * Creating a Request+    DescribeRxNormInferenceJob (..),+    newDescribeRxNormInferenceJob,++    -- * Request Lenses+    describeRxNormInferenceJob_jobId,++    -- * Destructuring the Response+    DescribeRxNormInferenceJobResponse (..),+    newDescribeRxNormInferenceJobResponse,++    -- * Response Lenses+    describeRxNormInferenceJobResponse_comprehendMedicalAsyncJobProperties,+    describeRxNormInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeRxNormInferenceJob' smart constructor.+data DescribeRxNormInferenceJob = DescribeRxNormInferenceJob'+  { -- | The identifier that Amazon Comprehend Medical generated for the job. The+    -- StartRxNormInferenceJob operation returns this identifier in its+    -- response.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRxNormInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeRxNormInferenceJob_jobId' - The identifier that Amazon Comprehend Medical generated for the job. The+-- StartRxNormInferenceJob operation returns this identifier in its+-- response.+newDescribeRxNormInferenceJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribeRxNormInferenceJob+newDescribeRxNormInferenceJob pJobId_ =+  DescribeRxNormInferenceJob' {jobId = pJobId_}++-- | The identifier that Amazon Comprehend Medical generated for the job. The+-- StartRxNormInferenceJob operation returns this identifier in its+-- response.+describeRxNormInferenceJob_jobId :: Lens.Lens' DescribeRxNormInferenceJob Prelude.Text+describeRxNormInferenceJob_jobId = Lens.lens (\DescribeRxNormInferenceJob' {jobId} -> jobId) (\s@DescribeRxNormInferenceJob' {} a -> s {jobId = a} :: DescribeRxNormInferenceJob)++instance Core.AWSRequest DescribeRxNormInferenceJob where+  type+    AWSResponse DescribeRxNormInferenceJob =+      DescribeRxNormInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeRxNormInferenceJobResponse'+            Prelude.<$> (x Data..?> "ComprehendMedicalAsyncJobProperties")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeRxNormInferenceJob where+  hashWithSalt _salt DescribeRxNormInferenceJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeRxNormInferenceJob where+  rnf DescribeRxNormInferenceJob' {..} =+    Prelude.rnf jobId++instance Data.ToHeaders DescribeRxNormInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.DescribeRxNormInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeRxNormInferenceJob where+  toJSON DescribeRxNormInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath DescribeRxNormInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeRxNormInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeRxNormInferenceJobResponse' smart constructor.+data DescribeRxNormInferenceJobResponse = DescribeRxNormInferenceJobResponse'+  { -- | An object that contains the properties associated with a detection job.+    comprehendMedicalAsyncJobProperties :: Prelude.Maybe ComprehendMedicalAsyncJobProperties,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRxNormInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobProperties', 'describeRxNormInferenceJobResponse_comprehendMedicalAsyncJobProperties' - An object that contains the properties associated with a detection job.+--+-- 'httpStatus', 'describeRxNormInferenceJobResponse_httpStatus' - The response's http status code.+newDescribeRxNormInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeRxNormInferenceJobResponse+newDescribeRxNormInferenceJobResponse pHttpStatus_ =+  DescribeRxNormInferenceJobResponse'+    { comprehendMedicalAsyncJobProperties =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | An object that contains the properties associated with a detection job.+describeRxNormInferenceJobResponse_comprehendMedicalAsyncJobProperties :: Lens.Lens' DescribeRxNormInferenceJobResponse (Prelude.Maybe ComprehendMedicalAsyncJobProperties)+describeRxNormInferenceJobResponse_comprehendMedicalAsyncJobProperties = Lens.lens (\DescribeRxNormInferenceJobResponse' {comprehendMedicalAsyncJobProperties} -> comprehendMedicalAsyncJobProperties) (\s@DescribeRxNormInferenceJobResponse' {} a -> s {comprehendMedicalAsyncJobProperties = a} :: DescribeRxNormInferenceJobResponse)++-- | The response's http status code.+describeRxNormInferenceJobResponse_httpStatus :: Lens.Lens' DescribeRxNormInferenceJobResponse Prelude.Int+describeRxNormInferenceJobResponse_httpStatus = Lens.lens (\DescribeRxNormInferenceJobResponse' {httpStatus} -> httpStatus) (\s@DescribeRxNormInferenceJobResponse' {} a -> s {httpStatus = a} :: DescribeRxNormInferenceJobResponse)++instance+  Prelude.NFData+    DescribeRxNormInferenceJobResponse+  where+  rnf DescribeRxNormInferenceJobResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobProperties+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/DescribeSNOMEDCTInferenceJob.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.DescribeSNOMEDCTInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the properties associated with an InferSNOMEDCT job. Use this+-- operation to get the status of an inference job.+module Amazonka.ComprehendMedical.DescribeSNOMEDCTInferenceJob+  ( -- * Creating a Request+    DescribeSNOMEDCTInferenceJob (..),+    newDescribeSNOMEDCTInferenceJob,++    -- * Request Lenses+    describeSNOMEDCTInferenceJob_jobId,++    -- * Destructuring the Response+    DescribeSNOMEDCTInferenceJobResponse (..),+    newDescribeSNOMEDCTInferenceJobResponse,++    -- * Response Lenses+    describeSNOMEDCTInferenceJobResponse_comprehendMedicalAsyncJobProperties,+    describeSNOMEDCTInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeSNOMEDCTInferenceJob' smart constructor.+data DescribeSNOMEDCTInferenceJob = DescribeSNOMEDCTInferenceJob'+  { -- | The identifier that Amazon Comprehend Medical generated for the job. The+    -- StartSNOMEDCTInferenceJob operation returns this identifier in its+    -- response.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSNOMEDCTInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeSNOMEDCTInferenceJob_jobId' - The identifier that Amazon Comprehend Medical generated for the job. The+-- StartSNOMEDCTInferenceJob operation returns this identifier in its+-- response.+newDescribeSNOMEDCTInferenceJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribeSNOMEDCTInferenceJob+newDescribeSNOMEDCTInferenceJob pJobId_ =+  DescribeSNOMEDCTInferenceJob' {jobId = pJobId_}++-- | The identifier that Amazon Comprehend Medical generated for the job. The+-- StartSNOMEDCTInferenceJob operation returns this identifier in its+-- response.+describeSNOMEDCTInferenceJob_jobId :: Lens.Lens' DescribeSNOMEDCTInferenceJob Prelude.Text+describeSNOMEDCTInferenceJob_jobId = Lens.lens (\DescribeSNOMEDCTInferenceJob' {jobId} -> jobId) (\s@DescribeSNOMEDCTInferenceJob' {} a -> s {jobId = a} :: DescribeSNOMEDCTInferenceJob)++instance Core.AWSRequest DescribeSNOMEDCTInferenceJob where+  type+    AWSResponse DescribeSNOMEDCTInferenceJob =+      DescribeSNOMEDCTInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeSNOMEDCTInferenceJobResponse'+            Prelude.<$> (x Data..?> "ComprehendMedicalAsyncJobProperties")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeSNOMEDCTInferenceJob+  where+  hashWithSalt _salt DescribeSNOMEDCTInferenceJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeSNOMEDCTInferenceJob where+  rnf DescribeSNOMEDCTInferenceJob' {..} =+    Prelude.rnf jobId++instance Data.ToHeaders DescribeSNOMEDCTInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.DescribeSNOMEDCTInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DescribeSNOMEDCTInferenceJob where+  toJSON DescribeSNOMEDCTInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath DescribeSNOMEDCTInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery DescribeSNOMEDCTInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeSNOMEDCTInferenceJobResponse' smart constructor.+data DescribeSNOMEDCTInferenceJobResponse = DescribeSNOMEDCTInferenceJobResponse'+  { comprehendMedicalAsyncJobProperties :: Prelude.Maybe ComprehendMedicalAsyncJobProperties,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSNOMEDCTInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobProperties', 'describeSNOMEDCTInferenceJobResponse_comprehendMedicalAsyncJobProperties' - Undocumented member.+--+-- 'httpStatus', 'describeSNOMEDCTInferenceJobResponse_httpStatus' - The response's http status code.+newDescribeSNOMEDCTInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeSNOMEDCTInferenceJobResponse+newDescribeSNOMEDCTInferenceJobResponse pHttpStatus_ =+  DescribeSNOMEDCTInferenceJobResponse'+    { comprehendMedicalAsyncJobProperties =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+describeSNOMEDCTInferenceJobResponse_comprehendMedicalAsyncJobProperties :: Lens.Lens' DescribeSNOMEDCTInferenceJobResponse (Prelude.Maybe ComprehendMedicalAsyncJobProperties)+describeSNOMEDCTInferenceJobResponse_comprehendMedicalAsyncJobProperties = Lens.lens (\DescribeSNOMEDCTInferenceJobResponse' {comprehendMedicalAsyncJobProperties} -> comprehendMedicalAsyncJobProperties) (\s@DescribeSNOMEDCTInferenceJobResponse' {} a -> s {comprehendMedicalAsyncJobProperties = a} :: DescribeSNOMEDCTInferenceJobResponse)++-- | The response's http status code.+describeSNOMEDCTInferenceJobResponse_httpStatus :: Lens.Lens' DescribeSNOMEDCTInferenceJobResponse Prelude.Int+describeSNOMEDCTInferenceJobResponse_httpStatus = Lens.lens (\DescribeSNOMEDCTInferenceJobResponse' {httpStatus} -> httpStatus) (\s@DescribeSNOMEDCTInferenceJobResponse' {} a -> s {httpStatus = a} :: DescribeSNOMEDCTInferenceJobResponse)++instance+  Prelude.NFData+    DescribeSNOMEDCTInferenceJobResponse+  where+  rnf DescribeSNOMEDCTInferenceJobResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobProperties+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/DetectEntitiesV2.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.DetectEntitiesV2+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inspects the clinical text for a variety of medical entities and returns+-- specific information about them such as entity category, location, and+-- confidence score on that information. Amazon Comprehend Medical only+-- detects medical entities in English language texts.+--+-- The @DetectEntitiesV2@ operation replaces the DetectEntities operation.+-- This new action uses a different model for determining the entities in+-- your medical text and changes the way that some entities are returned in+-- the output. You should use the @DetectEntitiesV2@ operation in all new+-- applications.+--+-- The @DetectEntitiesV2@ operation returns the @Acuity@ and @Direction@+-- entities as attributes instead of types.+module Amazonka.ComprehendMedical.DetectEntitiesV2+  ( -- * Creating a Request+    DetectEntitiesV2 (..),+    newDetectEntitiesV2,++    -- * Request Lenses+    detectEntitiesV2_text,++    -- * Destructuring the Response+    DetectEntitiesV2Response (..),+    newDetectEntitiesV2Response,++    -- * Response Lenses+    detectEntitiesV2Response_paginationToken,+    detectEntitiesV2Response_unmappedAttributes,+    detectEntitiesV2Response_httpStatus,+    detectEntitiesV2Response_entities,+    detectEntitiesV2Response_modelVersion,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDetectEntitiesV2' smart constructor.+data DetectEntitiesV2 = DetectEntitiesV2'+  { -- | A UTF-8 string containing the clinical content being examined for+    -- entities. Each string must contain fewer than 20,000 bytes of+    -- characters.+    text :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectEntitiesV2' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'text', 'detectEntitiesV2_text' - A UTF-8 string containing the clinical content being examined for+-- entities. Each string must contain fewer than 20,000 bytes of+-- characters.+newDetectEntitiesV2 ::+  -- | 'text'+  Prelude.Text ->+  DetectEntitiesV2+newDetectEntitiesV2 pText_ =+  DetectEntitiesV2' {text = pText_}++-- | A UTF-8 string containing the clinical content being examined for+-- entities. Each string must contain fewer than 20,000 bytes of+-- characters.+detectEntitiesV2_text :: Lens.Lens' DetectEntitiesV2 Prelude.Text+detectEntitiesV2_text = Lens.lens (\DetectEntitiesV2' {text} -> text) (\s@DetectEntitiesV2' {} a -> s {text = a} :: DetectEntitiesV2)++instance Core.AWSRequest DetectEntitiesV2 where+  type+    AWSResponse DetectEntitiesV2 =+      DetectEntitiesV2Response+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DetectEntitiesV2Response'+            Prelude.<$> (x Data..?> "PaginationToken")+            Prelude.<*> ( x+                            Data..?> "UnmappedAttributes"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Entities" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..:> "ModelVersion")+      )++instance Prelude.Hashable DetectEntitiesV2 where+  hashWithSalt _salt DetectEntitiesV2' {..} =+    _salt `Prelude.hashWithSalt` text++instance Prelude.NFData DetectEntitiesV2 where+  rnf DetectEntitiesV2' {..} = Prelude.rnf text++instance Data.ToHeaders DetectEntitiesV2 where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.DetectEntitiesV2" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DetectEntitiesV2 where+  toJSON DetectEntitiesV2' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Text" Data..= text)]+      )++instance Data.ToPath DetectEntitiesV2 where+  toPath = Prelude.const "/"++instance Data.ToQuery DetectEntitiesV2 where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDetectEntitiesV2Response' smart constructor.+data DetectEntitiesV2Response = DetectEntitiesV2Response'+  { -- | If the result to the @DetectEntitiesV2@ operation was truncated, include+    -- the @PaginationToken@ to fetch the next page of entities.+    paginationToken :: Prelude.Maybe Prelude.Text,+    -- | Attributes extracted from the input text that couldn\'t be related to an+    -- entity.+    unmappedAttributes :: Prelude.Maybe [UnmappedAttribute],+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The collection of medical entities extracted from the input text and+    -- their associated information. For each entity, the response provides the+    -- entity text, the entity category, where the entity text begins and ends,+    -- and the level of confidence in the detection and analysis. Attributes+    -- and traits of the entity are also returned.+    entities :: [Entity],+    -- | The version of the model used to analyze the documents. The version+    -- number looks like X.X.X. You can use this information to track the model+    -- used for a particular batch of documents.+    modelVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectEntitiesV2Response' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'paginationToken', 'detectEntitiesV2Response_paginationToken' - If the result to the @DetectEntitiesV2@ operation was truncated, include+-- the @PaginationToken@ to fetch the next page of entities.+--+-- 'unmappedAttributes', 'detectEntitiesV2Response_unmappedAttributes' - Attributes extracted from the input text that couldn\'t be related to an+-- entity.+--+-- 'httpStatus', 'detectEntitiesV2Response_httpStatus' - The response's http status code.+--+-- 'entities', 'detectEntitiesV2Response_entities' - The collection of medical entities extracted from the input text and+-- their associated information. For each entity, the response provides the+-- entity text, the entity category, where the entity text begins and ends,+-- and the level of confidence in the detection and analysis. Attributes+-- and traits of the entity are also returned.+--+-- 'modelVersion', 'detectEntitiesV2Response_modelVersion' - The version of the model used to analyze the documents. The version+-- number looks like X.X.X. You can use this information to track the model+-- used for a particular batch of documents.+newDetectEntitiesV2Response ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'modelVersion'+  Prelude.Text ->+  DetectEntitiesV2Response+newDetectEntitiesV2Response+  pHttpStatus_+  pModelVersion_ =+    DetectEntitiesV2Response'+      { paginationToken =+          Prelude.Nothing,+        unmappedAttributes = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        entities = Prelude.mempty,+        modelVersion = pModelVersion_+      }++-- | If the result to the @DetectEntitiesV2@ operation was truncated, include+-- the @PaginationToken@ to fetch the next page of entities.+detectEntitiesV2Response_paginationToken :: Lens.Lens' DetectEntitiesV2Response (Prelude.Maybe Prelude.Text)+detectEntitiesV2Response_paginationToken = Lens.lens (\DetectEntitiesV2Response' {paginationToken} -> paginationToken) (\s@DetectEntitiesV2Response' {} a -> s {paginationToken = a} :: DetectEntitiesV2Response)++-- | Attributes extracted from the input text that couldn\'t be related to an+-- entity.+detectEntitiesV2Response_unmappedAttributes :: Lens.Lens' DetectEntitiesV2Response (Prelude.Maybe [UnmappedAttribute])+detectEntitiesV2Response_unmappedAttributes = Lens.lens (\DetectEntitiesV2Response' {unmappedAttributes} -> unmappedAttributes) (\s@DetectEntitiesV2Response' {} a -> s {unmappedAttributes = a} :: DetectEntitiesV2Response) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+detectEntitiesV2Response_httpStatus :: Lens.Lens' DetectEntitiesV2Response Prelude.Int+detectEntitiesV2Response_httpStatus = Lens.lens (\DetectEntitiesV2Response' {httpStatus} -> httpStatus) (\s@DetectEntitiesV2Response' {} a -> s {httpStatus = a} :: DetectEntitiesV2Response)++-- | The collection of medical entities extracted from the input text and+-- their associated information. For each entity, the response provides the+-- entity text, the entity category, where the entity text begins and ends,+-- and the level of confidence in the detection and analysis. Attributes+-- and traits of the entity are also returned.+detectEntitiesV2Response_entities :: Lens.Lens' DetectEntitiesV2Response [Entity]+detectEntitiesV2Response_entities = Lens.lens (\DetectEntitiesV2Response' {entities} -> entities) (\s@DetectEntitiesV2Response' {} a -> s {entities = a} :: DetectEntitiesV2Response) Prelude.. Lens.coerced++-- | The version of the model used to analyze the documents. The version+-- number looks like X.X.X. You can use this information to track the model+-- used for a particular batch of documents.+detectEntitiesV2Response_modelVersion :: Lens.Lens' DetectEntitiesV2Response Prelude.Text+detectEntitiesV2Response_modelVersion = Lens.lens (\DetectEntitiesV2Response' {modelVersion} -> modelVersion) (\s@DetectEntitiesV2Response' {} a -> s {modelVersion = a} :: DetectEntitiesV2Response)++instance Prelude.NFData DetectEntitiesV2Response where+  rnf DetectEntitiesV2Response' {..} =+    Prelude.rnf paginationToken+      `Prelude.seq` Prelude.rnf unmappedAttributes+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf entities+      `Prelude.seq` Prelude.rnf modelVersion
+ gen/Amazonka/ComprehendMedical/DetectPHI.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.DetectPHI+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Inspects the clinical text for protected health information (PHI)+-- entities and returns the entity category, location, and confidence score+-- for each entity. Amazon Comprehend Medical only detects entities in+-- English language texts.+module Amazonka.ComprehendMedical.DetectPHI+  ( -- * Creating a Request+    DetectPHI (..),+    newDetectPHI,++    -- * Request Lenses+    detectPHI_text,++    -- * Destructuring the Response+    DetectPHIResponse (..),+    newDetectPHIResponse,++    -- * Response Lenses+    detectPHIResponse_paginationToken,+    detectPHIResponse_httpStatus,+    detectPHIResponse_entities,+    detectPHIResponse_modelVersion,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDetectPHI' smart constructor.+data DetectPHI = DetectPHI'+  { -- | A UTF-8 text string containing the clinical content being examined for+    -- PHI entities. Each string must contain fewer than 20,000 bytes of+    -- characters.+    text :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectPHI' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'text', 'detectPHI_text' - A UTF-8 text string containing the clinical content being examined for+-- PHI entities. Each string must contain fewer than 20,000 bytes of+-- characters.+newDetectPHI ::+  -- | 'text'+  Prelude.Text ->+  DetectPHI+newDetectPHI pText_ = DetectPHI' {text = pText_}++-- | A UTF-8 text string containing the clinical content being examined for+-- PHI entities. Each string must contain fewer than 20,000 bytes of+-- characters.+detectPHI_text :: Lens.Lens' DetectPHI Prelude.Text+detectPHI_text = Lens.lens (\DetectPHI' {text} -> text) (\s@DetectPHI' {} a -> s {text = a} :: DetectPHI)++instance Core.AWSRequest DetectPHI where+  type AWSResponse DetectPHI = DetectPHIResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DetectPHIResponse'+            Prelude.<$> (x Data..?> "PaginationToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Entities" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..:> "ModelVersion")+      )++instance Prelude.Hashable DetectPHI where+  hashWithSalt _salt DetectPHI' {..} =+    _salt `Prelude.hashWithSalt` text++instance Prelude.NFData DetectPHI where+  rnf DetectPHI' {..} = Prelude.rnf text++instance Data.ToHeaders DetectPHI where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.DetectPHI" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DetectPHI where+  toJSON DetectPHI' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Text" Data..= text)]+      )++instance Data.ToPath DetectPHI where+  toPath = Prelude.const "/"++instance Data.ToQuery DetectPHI where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDetectPHIResponse' smart constructor.+data DetectPHIResponse = DetectPHIResponse'+  { -- | If the result of the previous request to @DetectPHI@ was truncated,+    -- include the @PaginationToken@ to fetch the next page of PHI entities.+    paginationToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The collection of PHI entities extracted from the input text and their+    -- associated information. For each entity, the response provides the+    -- entity text, the entity category, where the entity text begins and ends,+    -- and the level of confidence that Comprehend Medical; has in its+    -- detection.+    entities :: [Entity],+    -- | The version of the model used to analyze the documents. The version+    -- number looks like X.X.X. You can use this information to track the model+    -- used for a particular batch of documents.+    modelVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectPHIResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'paginationToken', 'detectPHIResponse_paginationToken' - If the result of the previous request to @DetectPHI@ was truncated,+-- include the @PaginationToken@ to fetch the next page of PHI entities.+--+-- 'httpStatus', 'detectPHIResponse_httpStatus' - The response's http status code.+--+-- 'entities', 'detectPHIResponse_entities' - The collection of PHI entities extracted from the input text and their+-- associated information. For each entity, the response provides the+-- entity text, the entity category, where the entity text begins and ends,+-- and the level of confidence that Comprehend Medical; has in its+-- detection.+--+-- 'modelVersion', 'detectPHIResponse_modelVersion' - The version of the model used to analyze the documents. The version+-- number looks like X.X.X. You can use this information to track the model+-- used for a particular batch of documents.+newDetectPHIResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'modelVersion'+  Prelude.Text ->+  DetectPHIResponse+newDetectPHIResponse pHttpStatus_ pModelVersion_ =+  DetectPHIResponse'+    { paginationToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      entities = Prelude.mempty,+      modelVersion = pModelVersion_+    }++-- | If the result of the previous request to @DetectPHI@ was truncated,+-- include the @PaginationToken@ to fetch the next page of PHI entities.+detectPHIResponse_paginationToken :: Lens.Lens' DetectPHIResponse (Prelude.Maybe Prelude.Text)+detectPHIResponse_paginationToken = Lens.lens (\DetectPHIResponse' {paginationToken} -> paginationToken) (\s@DetectPHIResponse' {} a -> s {paginationToken = a} :: DetectPHIResponse)++-- | The response's http status code.+detectPHIResponse_httpStatus :: Lens.Lens' DetectPHIResponse Prelude.Int+detectPHIResponse_httpStatus = Lens.lens (\DetectPHIResponse' {httpStatus} -> httpStatus) (\s@DetectPHIResponse' {} a -> s {httpStatus = a} :: DetectPHIResponse)++-- | The collection of PHI entities extracted from the input text and their+-- associated information. For each entity, the response provides the+-- entity text, the entity category, where the entity text begins and ends,+-- and the level of confidence that Comprehend Medical; has in its+-- detection.+detectPHIResponse_entities :: Lens.Lens' DetectPHIResponse [Entity]+detectPHIResponse_entities = Lens.lens (\DetectPHIResponse' {entities} -> entities) (\s@DetectPHIResponse' {} a -> s {entities = a} :: DetectPHIResponse) Prelude.. Lens.coerced++-- | The version of the model used to analyze the documents. The version+-- number looks like X.X.X. You can use this information to track the model+-- used for a particular batch of documents.+detectPHIResponse_modelVersion :: Lens.Lens' DetectPHIResponse Prelude.Text+detectPHIResponse_modelVersion = Lens.lens (\DetectPHIResponse' {modelVersion} -> modelVersion) (\s@DetectPHIResponse' {} a -> s {modelVersion = a} :: DetectPHIResponse)++instance Prelude.NFData DetectPHIResponse where+  rnf DetectPHIResponse' {..} =+    Prelude.rnf paginationToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf entities+      `Prelude.seq` Prelude.rnf modelVersion
+ gen/Amazonka/ComprehendMedical/InferICD10CM.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.InferICD10CM+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- InferICD10CM detects medical conditions as entities listed in a patient+-- record and links those entities to normalized concept identifiers in the+-- ICD-10-CM knowledge base from the Centers for Disease Control. Amazon+-- Comprehend Medical only detects medical entities in English language+-- texts.+module Amazonka.ComprehendMedical.InferICD10CM+  ( -- * Creating a Request+    InferICD10CM (..),+    newInferICD10CM,++    -- * Request Lenses+    inferICD10CM_text,++    -- * Destructuring the Response+    InferICD10CMResponse (..),+    newInferICD10CMResponse,++    -- * Response Lenses+    inferICD10CMResponse_modelVersion,+    inferICD10CMResponse_paginationToken,+    inferICD10CMResponse_httpStatus,+    inferICD10CMResponse_entities,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newInferICD10CM' smart constructor.+data InferICD10CM = InferICD10CM'+  { -- | The input text used for analysis. The input for InferICD10CM is a string+    -- from 1 to 10000 characters.+    text :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InferICD10CM' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'text', 'inferICD10CM_text' - The input text used for analysis. The input for InferICD10CM is a string+-- from 1 to 10000 characters.+newInferICD10CM ::+  -- | 'text'+  Prelude.Text ->+  InferICD10CM+newInferICD10CM pText_ = InferICD10CM' {text = pText_}++-- | The input text used for analysis. The input for InferICD10CM is a string+-- from 1 to 10000 characters.+inferICD10CM_text :: Lens.Lens' InferICD10CM Prelude.Text+inferICD10CM_text = Lens.lens (\InferICD10CM' {text} -> text) (\s@InferICD10CM' {} a -> s {text = a} :: InferICD10CM)++instance Core.AWSRequest InferICD10CM where+  type AWSResponse InferICD10CM = InferICD10CMResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          InferICD10CMResponse'+            Prelude.<$> (x Data..?> "ModelVersion")+            Prelude.<*> (x Data..?> "PaginationToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Entities" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable InferICD10CM where+  hashWithSalt _salt InferICD10CM' {..} =+    _salt `Prelude.hashWithSalt` text++instance Prelude.NFData InferICD10CM where+  rnf InferICD10CM' {..} = Prelude.rnf text++instance Data.ToHeaders InferICD10CM where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.InferICD10CM" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON InferICD10CM where+  toJSON InferICD10CM' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Text" Data..= text)]+      )++instance Data.ToPath InferICD10CM where+  toPath = Prelude.const "/"++instance Data.ToQuery InferICD10CM where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newInferICD10CMResponse' smart constructor.+data InferICD10CMResponse = InferICD10CMResponse'+  { -- | The version of the model used to analyze the documents, in the format+    -- /n/./n/./n/ You can use this information to track the model used for a+    -- particular batch of documents.+    modelVersion :: Prelude.Maybe Prelude.Text,+    -- | If the result of the previous request to @InferICD10CM@ was truncated,+    -- include the @PaginationToken@ to fetch the next page of medical+    -- condition entities.+    paginationToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The medical conditions detected in the text linked to ICD-10-CM+    -- concepts. If the action is successful, the service sends back an HTTP+    -- 200 response, as well as the entities detected.+    entities :: [ICD10CMEntity]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InferICD10CMResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelVersion', 'inferICD10CMResponse_modelVersion' - The version of the model used to analyze the documents, in the format+-- /n/./n/./n/ You can use this information to track the model used for a+-- particular batch of documents.+--+-- 'paginationToken', 'inferICD10CMResponse_paginationToken' - If the result of the previous request to @InferICD10CM@ was truncated,+-- include the @PaginationToken@ to fetch the next page of medical+-- condition entities.+--+-- 'httpStatus', 'inferICD10CMResponse_httpStatus' - The response's http status code.+--+-- 'entities', 'inferICD10CMResponse_entities' - The medical conditions detected in the text linked to ICD-10-CM+-- concepts. If the action is successful, the service sends back an HTTP+-- 200 response, as well as the entities detected.+newInferICD10CMResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  InferICD10CMResponse+newInferICD10CMResponse pHttpStatus_ =+  InferICD10CMResponse'+    { modelVersion =+        Prelude.Nothing,+      paginationToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      entities = Prelude.mempty+    }++-- | The version of the model used to analyze the documents, in the format+-- /n/./n/./n/ You can use this information to track the model used for a+-- particular batch of documents.+inferICD10CMResponse_modelVersion :: Lens.Lens' InferICD10CMResponse (Prelude.Maybe Prelude.Text)+inferICD10CMResponse_modelVersion = Lens.lens (\InferICD10CMResponse' {modelVersion} -> modelVersion) (\s@InferICD10CMResponse' {} a -> s {modelVersion = a} :: InferICD10CMResponse)++-- | If the result of the previous request to @InferICD10CM@ was truncated,+-- include the @PaginationToken@ to fetch the next page of medical+-- condition entities.+inferICD10CMResponse_paginationToken :: Lens.Lens' InferICD10CMResponse (Prelude.Maybe Prelude.Text)+inferICD10CMResponse_paginationToken = Lens.lens (\InferICD10CMResponse' {paginationToken} -> paginationToken) (\s@InferICD10CMResponse' {} a -> s {paginationToken = a} :: InferICD10CMResponse)++-- | The response's http status code.+inferICD10CMResponse_httpStatus :: Lens.Lens' InferICD10CMResponse Prelude.Int+inferICD10CMResponse_httpStatus = Lens.lens (\InferICD10CMResponse' {httpStatus} -> httpStatus) (\s@InferICD10CMResponse' {} a -> s {httpStatus = a} :: InferICD10CMResponse)++-- | The medical conditions detected in the text linked to ICD-10-CM+-- concepts. If the action is successful, the service sends back an HTTP+-- 200 response, as well as the entities detected.+inferICD10CMResponse_entities :: Lens.Lens' InferICD10CMResponse [ICD10CMEntity]+inferICD10CMResponse_entities = Lens.lens (\InferICD10CMResponse' {entities} -> entities) (\s@InferICD10CMResponse' {} a -> s {entities = a} :: InferICD10CMResponse) Prelude.. Lens.coerced++instance Prelude.NFData InferICD10CMResponse where+  rnf InferICD10CMResponse' {..} =+    Prelude.rnf modelVersion+      `Prelude.seq` Prelude.rnf paginationToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf entities
+ gen/Amazonka/ComprehendMedical/InferRxNorm.hs view
@@ -0,0 +1,213 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.InferRxNorm+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- InferRxNorm detects medications as entities listed in a patient record+-- and links to the normalized concept identifiers in the RxNorm database+-- from the National Library of Medicine. Amazon Comprehend Medical only+-- detects medical entities in English language texts.+module Amazonka.ComprehendMedical.InferRxNorm+  ( -- * Creating a Request+    InferRxNorm (..),+    newInferRxNorm,++    -- * Request Lenses+    inferRxNorm_text,++    -- * Destructuring the Response+    InferRxNormResponse (..),+    newInferRxNormResponse,++    -- * Response Lenses+    inferRxNormResponse_modelVersion,+    inferRxNormResponse_paginationToken,+    inferRxNormResponse_httpStatus,+    inferRxNormResponse_entities,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newInferRxNorm' smart constructor.+data InferRxNorm = InferRxNorm'+  { -- | The input text used for analysis. The input for InferRxNorm is a string+    -- from 1 to 10000 characters.+    text :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InferRxNorm' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'text', 'inferRxNorm_text' - The input text used for analysis. The input for InferRxNorm is a string+-- from 1 to 10000 characters.+newInferRxNorm ::+  -- | 'text'+  Prelude.Text ->+  InferRxNorm+newInferRxNorm pText_ = InferRxNorm' {text = pText_}++-- | The input text used for analysis. The input for InferRxNorm is a string+-- from 1 to 10000 characters.+inferRxNorm_text :: Lens.Lens' InferRxNorm Prelude.Text+inferRxNorm_text = Lens.lens (\InferRxNorm' {text} -> text) (\s@InferRxNorm' {} a -> s {text = a} :: InferRxNorm)++instance Core.AWSRequest InferRxNorm where+  type AWSResponse InferRxNorm = InferRxNormResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          InferRxNormResponse'+            Prelude.<$> (x Data..?> "ModelVersion")+            Prelude.<*> (x Data..?> "PaginationToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Entities" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable InferRxNorm where+  hashWithSalt _salt InferRxNorm' {..} =+    _salt `Prelude.hashWithSalt` text++instance Prelude.NFData InferRxNorm where+  rnf InferRxNorm' {..} = Prelude.rnf text++instance Data.ToHeaders InferRxNorm where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.InferRxNorm" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON InferRxNorm where+  toJSON InferRxNorm' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Text" Data..= text)]+      )++instance Data.ToPath InferRxNorm where+  toPath = Prelude.const "/"++instance Data.ToQuery InferRxNorm where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newInferRxNormResponse' smart constructor.+data InferRxNormResponse = InferRxNormResponse'+  { -- | The version of the model used to analyze the documents, in the format+    -- /n/./n/./n/ You can use this information to track the model used for a+    -- particular batch of documents.+    modelVersion :: Prelude.Maybe Prelude.Text,+    -- | If the result of the previous request to @InferRxNorm@ was truncated,+    -- include the @PaginationToken@ to fetch the next page of medication+    -- entities.+    paginationToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The medication entities detected in the text linked to RxNorm concepts.+    -- If the action is successful, the service sends back an HTTP 200+    -- response, as well as the entities detected.+    entities :: [RxNormEntity]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InferRxNormResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelVersion', 'inferRxNormResponse_modelVersion' - The version of the model used to analyze the documents, in the format+-- /n/./n/./n/ You can use this information to track the model used for a+-- particular batch of documents.+--+-- 'paginationToken', 'inferRxNormResponse_paginationToken' - If the result of the previous request to @InferRxNorm@ was truncated,+-- include the @PaginationToken@ to fetch the next page of medication+-- entities.+--+-- 'httpStatus', 'inferRxNormResponse_httpStatus' - The response's http status code.+--+-- 'entities', 'inferRxNormResponse_entities' - The medication entities detected in the text linked to RxNorm concepts.+-- If the action is successful, the service sends back an HTTP 200+-- response, as well as the entities detected.+newInferRxNormResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  InferRxNormResponse+newInferRxNormResponse pHttpStatus_ =+  InferRxNormResponse'+    { modelVersion =+        Prelude.Nothing,+      paginationToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      entities = Prelude.mempty+    }++-- | The version of the model used to analyze the documents, in the format+-- /n/./n/./n/ You can use this information to track the model used for a+-- particular batch of documents.+inferRxNormResponse_modelVersion :: Lens.Lens' InferRxNormResponse (Prelude.Maybe Prelude.Text)+inferRxNormResponse_modelVersion = Lens.lens (\InferRxNormResponse' {modelVersion} -> modelVersion) (\s@InferRxNormResponse' {} a -> s {modelVersion = a} :: InferRxNormResponse)++-- | If the result of the previous request to @InferRxNorm@ was truncated,+-- include the @PaginationToken@ to fetch the next page of medication+-- entities.+inferRxNormResponse_paginationToken :: Lens.Lens' InferRxNormResponse (Prelude.Maybe Prelude.Text)+inferRxNormResponse_paginationToken = Lens.lens (\InferRxNormResponse' {paginationToken} -> paginationToken) (\s@InferRxNormResponse' {} a -> s {paginationToken = a} :: InferRxNormResponse)++-- | The response's http status code.+inferRxNormResponse_httpStatus :: Lens.Lens' InferRxNormResponse Prelude.Int+inferRxNormResponse_httpStatus = Lens.lens (\InferRxNormResponse' {httpStatus} -> httpStatus) (\s@InferRxNormResponse' {} a -> s {httpStatus = a} :: InferRxNormResponse)++-- | The medication entities detected in the text linked to RxNorm concepts.+-- If the action is successful, the service sends back an HTTP 200+-- response, as well as the entities detected.+inferRxNormResponse_entities :: Lens.Lens' InferRxNormResponse [RxNormEntity]+inferRxNormResponse_entities = Lens.lens (\InferRxNormResponse' {entities} -> entities) (\s@InferRxNormResponse' {} a -> s {entities = a} :: InferRxNormResponse) Prelude.. Lens.coerced++instance Prelude.NFData InferRxNormResponse where+  rnf InferRxNormResponse' {..} =+    Prelude.rnf modelVersion+      `Prelude.seq` Prelude.rnf paginationToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf entities
+ gen/Amazonka/ComprehendMedical/InferSNOMEDCT.hs view
@@ -0,0 +1,248 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.InferSNOMEDCT+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- InferSNOMEDCT detects possible medical concepts as entities and links+-- them to codes from the Systematized Nomenclature of Medicine, Clinical+-- Terms (SNOMED-CT) ontology+module Amazonka.ComprehendMedical.InferSNOMEDCT+  ( -- * Creating a Request+    InferSNOMEDCT (..),+    newInferSNOMEDCT,++    -- * Request Lenses+    inferSNOMEDCT_text,++    -- * Destructuring the Response+    InferSNOMEDCTResponse (..),+    newInferSNOMEDCTResponse,++    -- * Response Lenses+    inferSNOMEDCTResponse_characters,+    inferSNOMEDCTResponse_modelVersion,+    inferSNOMEDCTResponse_paginationToken,+    inferSNOMEDCTResponse_sNOMEDCTDetails,+    inferSNOMEDCTResponse_httpStatus,+    inferSNOMEDCTResponse_entities,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newInferSNOMEDCT' smart constructor.+data InferSNOMEDCT = InferSNOMEDCT'+  { -- | The input text to be analyzed using InferSNOMEDCT. The text should be a+    -- string with 1 to 10000 characters.+    text :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InferSNOMEDCT' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'text', 'inferSNOMEDCT_text' - The input text to be analyzed using InferSNOMEDCT. The text should be a+-- string with 1 to 10000 characters.+newInferSNOMEDCT ::+  -- | 'text'+  Prelude.Text ->+  InferSNOMEDCT+newInferSNOMEDCT pText_ =+  InferSNOMEDCT' {text = pText_}++-- | The input text to be analyzed using InferSNOMEDCT. The text should be a+-- string with 1 to 10000 characters.+inferSNOMEDCT_text :: Lens.Lens' InferSNOMEDCT Prelude.Text+inferSNOMEDCT_text = Lens.lens (\InferSNOMEDCT' {text} -> text) (\s@InferSNOMEDCT' {} a -> s {text = a} :: InferSNOMEDCT)++instance Core.AWSRequest InferSNOMEDCT where+  type+    AWSResponse InferSNOMEDCT =+      InferSNOMEDCTResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          InferSNOMEDCTResponse'+            Prelude.<$> (x Data..?> "Characters")+            Prelude.<*> (x Data..?> "ModelVersion")+            Prelude.<*> (x Data..?> "PaginationToken")+            Prelude.<*> (x Data..?> "SNOMEDCTDetails")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Entities" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable InferSNOMEDCT where+  hashWithSalt _salt InferSNOMEDCT' {..} =+    _salt `Prelude.hashWithSalt` text++instance Prelude.NFData InferSNOMEDCT where+  rnf InferSNOMEDCT' {..} = Prelude.rnf text++instance Data.ToHeaders InferSNOMEDCT where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.InferSNOMEDCT" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON InferSNOMEDCT where+  toJSON InferSNOMEDCT' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Text" Data..= text)]+      )++instance Data.ToPath InferSNOMEDCT where+  toPath = Prelude.const "/"++instance Data.ToQuery InferSNOMEDCT where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newInferSNOMEDCTResponse' smart constructor.+data InferSNOMEDCTResponse = InferSNOMEDCTResponse'+  { -- | The number of characters in the input request documentation.+    characters :: Prelude.Maybe Characters,+    -- | The version of the model used to analyze the documents, in the format+    -- n.n.n You can use this information to track the model used for a+    -- particular batch of documents.+    modelVersion :: Prelude.Maybe Prelude.Text,+    -- | If the result of the request is truncated, the pagination token can be+    -- used to fetch the next page of entities.+    paginationToken :: Prelude.Maybe Prelude.Text,+    -- | The details of the SNOMED-CT revision, including the edition, language,+    -- and version date.+    sNOMEDCTDetails :: Prelude.Maybe SNOMEDCTDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The collection of medical concept entities extracted from the input text+    -- and their associated information. For each entity, the response provides+    -- the entity text, the entity category, where the entity text begins and+    -- ends, and the level of confidence that Comprehend Medical has in the+    -- detection and analysis. Attributes and traits of the entity are also+    -- returned.+    entities :: [SNOMEDCTEntity]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InferSNOMEDCTResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'characters', 'inferSNOMEDCTResponse_characters' - The number of characters in the input request documentation.+--+-- 'modelVersion', 'inferSNOMEDCTResponse_modelVersion' - The version of the model used to analyze the documents, in the format+-- n.n.n You can use this information to track the model used for a+-- particular batch of documents.+--+-- 'paginationToken', 'inferSNOMEDCTResponse_paginationToken' - If the result of the request is truncated, the pagination token can be+-- used to fetch the next page of entities.+--+-- 'sNOMEDCTDetails', 'inferSNOMEDCTResponse_sNOMEDCTDetails' - The details of the SNOMED-CT revision, including the edition, language,+-- and version date.+--+-- 'httpStatus', 'inferSNOMEDCTResponse_httpStatus' - The response's http status code.+--+-- 'entities', 'inferSNOMEDCTResponse_entities' - The collection of medical concept entities extracted from the input text+-- and their associated information. For each entity, the response provides+-- the entity text, the entity category, where the entity text begins and+-- ends, and the level of confidence that Comprehend Medical has in the+-- detection and analysis. Attributes and traits of the entity are also+-- returned.+newInferSNOMEDCTResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  InferSNOMEDCTResponse+newInferSNOMEDCTResponse pHttpStatus_ =+  InferSNOMEDCTResponse'+    { characters =+        Prelude.Nothing,+      modelVersion = Prelude.Nothing,+      paginationToken = Prelude.Nothing,+      sNOMEDCTDetails = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      entities = Prelude.mempty+    }++-- | The number of characters in the input request documentation.+inferSNOMEDCTResponse_characters :: Lens.Lens' InferSNOMEDCTResponse (Prelude.Maybe Characters)+inferSNOMEDCTResponse_characters = Lens.lens (\InferSNOMEDCTResponse' {characters} -> characters) (\s@InferSNOMEDCTResponse' {} a -> s {characters = a} :: InferSNOMEDCTResponse)++-- | The version of the model used to analyze the documents, in the format+-- n.n.n You can use this information to track the model used for a+-- particular batch of documents.+inferSNOMEDCTResponse_modelVersion :: Lens.Lens' InferSNOMEDCTResponse (Prelude.Maybe Prelude.Text)+inferSNOMEDCTResponse_modelVersion = Lens.lens (\InferSNOMEDCTResponse' {modelVersion} -> modelVersion) (\s@InferSNOMEDCTResponse' {} a -> s {modelVersion = a} :: InferSNOMEDCTResponse)++-- | If the result of the request is truncated, the pagination token can be+-- used to fetch the next page of entities.+inferSNOMEDCTResponse_paginationToken :: Lens.Lens' InferSNOMEDCTResponse (Prelude.Maybe Prelude.Text)+inferSNOMEDCTResponse_paginationToken = Lens.lens (\InferSNOMEDCTResponse' {paginationToken} -> paginationToken) (\s@InferSNOMEDCTResponse' {} a -> s {paginationToken = a} :: InferSNOMEDCTResponse)++-- | The details of the SNOMED-CT revision, including the edition, language,+-- and version date.+inferSNOMEDCTResponse_sNOMEDCTDetails :: Lens.Lens' InferSNOMEDCTResponse (Prelude.Maybe SNOMEDCTDetails)+inferSNOMEDCTResponse_sNOMEDCTDetails = Lens.lens (\InferSNOMEDCTResponse' {sNOMEDCTDetails} -> sNOMEDCTDetails) (\s@InferSNOMEDCTResponse' {} a -> s {sNOMEDCTDetails = a} :: InferSNOMEDCTResponse)++-- | The response's http status code.+inferSNOMEDCTResponse_httpStatus :: Lens.Lens' InferSNOMEDCTResponse Prelude.Int+inferSNOMEDCTResponse_httpStatus = Lens.lens (\InferSNOMEDCTResponse' {httpStatus} -> httpStatus) (\s@InferSNOMEDCTResponse' {} a -> s {httpStatus = a} :: InferSNOMEDCTResponse)++-- | The collection of medical concept entities extracted from the input text+-- and their associated information. For each entity, the response provides+-- the entity text, the entity category, where the entity text begins and+-- ends, and the level of confidence that Comprehend Medical has in the+-- detection and analysis. Attributes and traits of the entity are also+-- returned.+inferSNOMEDCTResponse_entities :: Lens.Lens' InferSNOMEDCTResponse [SNOMEDCTEntity]+inferSNOMEDCTResponse_entities = Lens.lens (\InferSNOMEDCTResponse' {entities} -> entities) (\s@InferSNOMEDCTResponse' {} a -> s {entities = a} :: InferSNOMEDCTResponse) Prelude.. Lens.coerced++instance Prelude.NFData InferSNOMEDCTResponse where+  rnf InferSNOMEDCTResponse' {..} =+    Prelude.rnf characters+      `Prelude.seq` Prelude.rnf modelVersion+      `Prelude.seq` Prelude.rnf paginationToken+      `Prelude.seq` Prelude.rnf sNOMEDCTDetails+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf entities
+ gen/Amazonka/ComprehendMedical/Lens.hs view
@@ -0,0 +1,417 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Lens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Lens+  ( -- * Operations++    -- ** DescribeEntitiesDetectionV2Job+    describeEntitiesDetectionV2Job_jobId,+    describeEntitiesDetectionV2JobResponse_comprehendMedicalAsyncJobProperties,+    describeEntitiesDetectionV2JobResponse_httpStatus,++    -- ** DescribeICD10CMInferenceJob+    describeICD10CMInferenceJob_jobId,+    describeICD10CMInferenceJobResponse_comprehendMedicalAsyncJobProperties,+    describeICD10CMInferenceJobResponse_httpStatus,++    -- ** DescribePHIDetectionJob+    describePHIDetectionJob_jobId,+    describePHIDetectionJobResponse_comprehendMedicalAsyncJobProperties,+    describePHIDetectionJobResponse_httpStatus,++    -- ** DescribeRxNormInferenceJob+    describeRxNormInferenceJob_jobId,+    describeRxNormInferenceJobResponse_comprehendMedicalAsyncJobProperties,+    describeRxNormInferenceJobResponse_httpStatus,++    -- ** DescribeSNOMEDCTInferenceJob+    describeSNOMEDCTInferenceJob_jobId,+    describeSNOMEDCTInferenceJobResponse_comprehendMedicalAsyncJobProperties,+    describeSNOMEDCTInferenceJobResponse_httpStatus,++    -- ** DetectEntitiesV2+    detectEntitiesV2_text,+    detectEntitiesV2Response_paginationToken,+    detectEntitiesV2Response_unmappedAttributes,+    detectEntitiesV2Response_httpStatus,+    detectEntitiesV2Response_entities,+    detectEntitiesV2Response_modelVersion,++    -- ** DetectPHI+    detectPHI_text,+    detectPHIResponse_paginationToken,+    detectPHIResponse_httpStatus,+    detectPHIResponse_entities,+    detectPHIResponse_modelVersion,++    -- ** InferICD10CM+    inferICD10CM_text,+    inferICD10CMResponse_modelVersion,+    inferICD10CMResponse_paginationToken,+    inferICD10CMResponse_httpStatus,+    inferICD10CMResponse_entities,++    -- ** InferRxNorm+    inferRxNorm_text,+    inferRxNormResponse_modelVersion,+    inferRxNormResponse_paginationToken,+    inferRxNormResponse_httpStatus,+    inferRxNormResponse_entities,++    -- ** InferSNOMEDCT+    inferSNOMEDCT_text,+    inferSNOMEDCTResponse_characters,+    inferSNOMEDCTResponse_modelVersion,+    inferSNOMEDCTResponse_paginationToken,+    inferSNOMEDCTResponse_sNOMEDCTDetails,+    inferSNOMEDCTResponse_httpStatus,+    inferSNOMEDCTResponse_entities,++    -- ** ListEntitiesDetectionV2Jobs+    listEntitiesDetectionV2Jobs_filter,+    listEntitiesDetectionV2Jobs_maxResults,+    listEntitiesDetectionV2Jobs_nextToken,+    listEntitiesDetectionV2JobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listEntitiesDetectionV2JobsResponse_nextToken,+    listEntitiesDetectionV2JobsResponse_httpStatus,++    -- ** ListICD10CMInferenceJobs+    listICD10CMInferenceJobs_filter,+    listICD10CMInferenceJobs_maxResults,+    listICD10CMInferenceJobs_nextToken,+    listICD10CMInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listICD10CMInferenceJobsResponse_nextToken,+    listICD10CMInferenceJobsResponse_httpStatus,++    -- ** ListPHIDetectionJobs+    listPHIDetectionJobs_filter,+    listPHIDetectionJobs_maxResults,+    listPHIDetectionJobs_nextToken,+    listPHIDetectionJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listPHIDetectionJobsResponse_nextToken,+    listPHIDetectionJobsResponse_httpStatus,++    -- ** ListRxNormInferenceJobs+    listRxNormInferenceJobs_filter,+    listRxNormInferenceJobs_maxResults,+    listRxNormInferenceJobs_nextToken,+    listRxNormInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listRxNormInferenceJobsResponse_nextToken,+    listRxNormInferenceJobsResponse_httpStatus,++    -- ** ListSNOMEDCTInferenceJobs+    listSNOMEDCTInferenceJobs_filter,+    listSNOMEDCTInferenceJobs_maxResults,+    listSNOMEDCTInferenceJobs_nextToken,+    listSNOMEDCTInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listSNOMEDCTInferenceJobsResponse_nextToken,+    listSNOMEDCTInferenceJobsResponse_httpStatus,++    -- ** StartEntitiesDetectionV2Job+    startEntitiesDetectionV2Job_clientRequestToken,+    startEntitiesDetectionV2Job_jobName,+    startEntitiesDetectionV2Job_kmsKey,+    startEntitiesDetectionV2Job_inputDataConfig,+    startEntitiesDetectionV2Job_outputDataConfig,+    startEntitiesDetectionV2Job_dataAccessRoleArn,+    startEntitiesDetectionV2Job_languageCode,+    startEntitiesDetectionV2JobResponse_jobId,+    startEntitiesDetectionV2JobResponse_httpStatus,++    -- ** StartICD10CMInferenceJob+    startICD10CMInferenceJob_clientRequestToken,+    startICD10CMInferenceJob_jobName,+    startICD10CMInferenceJob_kmsKey,+    startICD10CMInferenceJob_inputDataConfig,+    startICD10CMInferenceJob_outputDataConfig,+    startICD10CMInferenceJob_dataAccessRoleArn,+    startICD10CMInferenceJob_languageCode,+    startICD10CMInferenceJobResponse_jobId,+    startICD10CMInferenceJobResponse_httpStatus,++    -- ** StartPHIDetectionJob+    startPHIDetectionJob_clientRequestToken,+    startPHIDetectionJob_jobName,+    startPHIDetectionJob_kmsKey,+    startPHIDetectionJob_inputDataConfig,+    startPHIDetectionJob_outputDataConfig,+    startPHIDetectionJob_dataAccessRoleArn,+    startPHIDetectionJob_languageCode,+    startPHIDetectionJobResponse_jobId,+    startPHIDetectionJobResponse_httpStatus,++    -- ** StartRxNormInferenceJob+    startRxNormInferenceJob_clientRequestToken,+    startRxNormInferenceJob_jobName,+    startRxNormInferenceJob_kmsKey,+    startRxNormInferenceJob_inputDataConfig,+    startRxNormInferenceJob_outputDataConfig,+    startRxNormInferenceJob_dataAccessRoleArn,+    startRxNormInferenceJob_languageCode,+    startRxNormInferenceJobResponse_jobId,+    startRxNormInferenceJobResponse_httpStatus,++    -- ** StartSNOMEDCTInferenceJob+    startSNOMEDCTInferenceJob_clientRequestToken,+    startSNOMEDCTInferenceJob_jobName,+    startSNOMEDCTInferenceJob_kmsKey,+    startSNOMEDCTInferenceJob_inputDataConfig,+    startSNOMEDCTInferenceJob_outputDataConfig,+    startSNOMEDCTInferenceJob_dataAccessRoleArn,+    startSNOMEDCTInferenceJob_languageCode,+    startSNOMEDCTInferenceJobResponse_jobId,+    startSNOMEDCTInferenceJobResponse_httpStatus,++    -- ** StopEntitiesDetectionV2Job+    stopEntitiesDetectionV2Job_jobId,+    stopEntitiesDetectionV2JobResponse_jobId,+    stopEntitiesDetectionV2JobResponse_httpStatus,++    -- ** StopICD10CMInferenceJob+    stopICD10CMInferenceJob_jobId,+    stopICD10CMInferenceJobResponse_jobId,+    stopICD10CMInferenceJobResponse_httpStatus,++    -- ** StopPHIDetectionJob+    stopPHIDetectionJob_jobId,+    stopPHIDetectionJobResponse_jobId,+    stopPHIDetectionJobResponse_httpStatus,++    -- ** StopRxNormInferenceJob+    stopRxNormInferenceJob_jobId,+    stopRxNormInferenceJobResponse_jobId,+    stopRxNormInferenceJobResponse_httpStatus,++    -- ** StopSNOMEDCTInferenceJob+    stopSNOMEDCTInferenceJob_jobId,+    stopSNOMEDCTInferenceJobResponse_jobId,+    stopSNOMEDCTInferenceJobResponse_httpStatus,++    -- * Types++    -- ** Attribute+    attribute_beginOffset,+    attribute_category,+    attribute_endOffset,+    attribute_id,+    attribute_relationshipScore,+    attribute_relationshipType,+    attribute_score,+    attribute_text,+    attribute_traits,+    attribute_type,++    -- ** Characters+    characters_originalTextCharacters,++    -- ** ComprehendMedicalAsyncJobFilter+    comprehendMedicalAsyncJobFilter_jobName,+    comprehendMedicalAsyncJobFilter_jobStatus,+    comprehendMedicalAsyncJobFilter_submitTimeAfter,+    comprehendMedicalAsyncJobFilter_submitTimeBefore,++    -- ** ComprehendMedicalAsyncJobProperties+    comprehendMedicalAsyncJobProperties_dataAccessRoleArn,+    comprehendMedicalAsyncJobProperties_endTime,+    comprehendMedicalAsyncJobProperties_expirationTime,+    comprehendMedicalAsyncJobProperties_inputDataConfig,+    comprehendMedicalAsyncJobProperties_jobId,+    comprehendMedicalAsyncJobProperties_jobName,+    comprehendMedicalAsyncJobProperties_jobStatus,+    comprehendMedicalAsyncJobProperties_kmsKey,+    comprehendMedicalAsyncJobProperties_languageCode,+    comprehendMedicalAsyncJobProperties_manifestFilePath,+    comprehendMedicalAsyncJobProperties_message,+    comprehendMedicalAsyncJobProperties_modelVersion,+    comprehendMedicalAsyncJobProperties_outputDataConfig,+    comprehendMedicalAsyncJobProperties_submitTime,++    -- ** Entity+    entity_attributes,+    entity_beginOffset,+    entity_category,+    entity_endOffset,+    entity_id,+    entity_score,+    entity_text,+    entity_traits,+    entity_type,++    -- ** ICD10CMAttribute+    iCD10CMAttribute_beginOffset,+    iCD10CMAttribute_category,+    iCD10CMAttribute_endOffset,+    iCD10CMAttribute_id,+    iCD10CMAttribute_relationshipScore,+    iCD10CMAttribute_relationshipType,+    iCD10CMAttribute_score,+    iCD10CMAttribute_text,+    iCD10CMAttribute_traits,+    iCD10CMAttribute_type,++    -- ** ICD10CMConcept+    iCD10CMConcept_code,+    iCD10CMConcept_description,+    iCD10CMConcept_score,++    -- ** ICD10CMEntity+    iCD10CMEntity_attributes,+    iCD10CMEntity_beginOffset,+    iCD10CMEntity_category,+    iCD10CMEntity_endOffset,+    iCD10CMEntity_iCD10CMConcepts,+    iCD10CMEntity_id,+    iCD10CMEntity_score,+    iCD10CMEntity_text,+    iCD10CMEntity_traits,+    iCD10CMEntity_type,++    -- ** ICD10CMTrait+    iCD10CMTrait_name,+    iCD10CMTrait_score,++    -- ** InputDataConfig+    inputDataConfig_s3Key,+    inputDataConfig_s3Bucket,++    -- ** OutputDataConfig+    outputDataConfig_s3Key,+    outputDataConfig_s3Bucket,++    -- ** RxNormAttribute+    rxNormAttribute_beginOffset,+    rxNormAttribute_endOffset,+    rxNormAttribute_id,+    rxNormAttribute_relationshipScore,+    rxNormAttribute_score,+    rxNormAttribute_text,+    rxNormAttribute_traits,+    rxNormAttribute_type,++    -- ** RxNormConcept+    rxNormConcept_code,+    rxNormConcept_description,+    rxNormConcept_score,++    -- ** RxNormEntity+    rxNormEntity_attributes,+    rxNormEntity_beginOffset,+    rxNormEntity_category,+    rxNormEntity_endOffset,+    rxNormEntity_id,+    rxNormEntity_rxNormConcepts,+    rxNormEntity_score,+    rxNormEntity_text,+    rxNormEntity_traits,+    rxNormEntity_type,++    -- ** RxNormTrait+    rxNormTrait_name,+    rxNormTrait_score,++    -- ** SNOMEDCTAttribute+    sNOMEDCTAttribute_beginOffset,+    sNOMEDCTAttribute_category,+    sNOMEDCTAttribute_endOffset,+    sNOMEDCTAttribute_id,+    sNOMEDCTAttribute_relationshipScore,+    sNOMEDCTAttribute_relationshipType,+    sNOMEDCTAttribute_sNOMEDCTConcepts,+    sNOMEDCTAttribute_score,+    sNOMEDCTAttribute_text,+    sNOMEDCTAttribute_traits,+    sNOMEDCTAttribute_type,++    -- ** SNOMEDCTConcept+    sNOMEDCTConcept_code,+    sNOMEDCTConcept_description,+    sNOMEDCTConcept_score,++    -- ** SNOMEDCTDetails+    sNOMEDCTDetails_edition,+    sNOMEDCTDetails_language,+    sNOMEDCTDetails_versionDate,++    -- ** SNOMEDCTEntity+    sNOMEDCTEntity_attributes,+    sNOMEDCTEntity_beginOffset,+    sNOMEDCTEntity_category,+    sNOMEDCTEntity_endOffset,+    sNOMEDCTEntity_id,+    sNOMEDCTEntity_sNOMEDCTConcepts,+    sNOMEDCTEntity_score,+    sNOMEDCTEntity_text,+    sNOMEDCTEntity_traits,+    sNOMEDCTEntity_type,++    -- ** SNOMEDCTTrait+    sNOMEDCTTrait_name,+    sNOMEDCTTrait_score,++    -- ** Trait+    trait_name,+    trait_score,++    -- ** UnmappedAttribute+    unmappedAttribute_attribute,+    unmappedAttribute_type,+  )+where++import Amazonka.ComprehendMedical.DescribeEntitiesDetectionV2Job+import Amazonka.ComprehendMedical.DescribeICD10CMInferenceJob+import Amazonka.ComprehendMedical.DescribePHIDetectionJob+import Amazonka.ComprehendMedical.DescribeRxNormInferenceJob+import Amazonka.ComprehendMedical.DescribeSNOMEDCTInferenceJob+import Amazonka.ComprehendMedical.DetectEntitiesV2+import Amazonka.ComprehendMedical.DetectPHI+import Amazonka.ComprehendMedical.InferICD10CM+import Amazonka.ComprehendMedical.InferRxNorm+import Amazonka.ComprehendMedical.InferSNOMEDCT+import Amazonka.ComprehendMedical.ListEntitiesDetectionV2Jobs+import Amazonka.ComprehendMedical.ListICD10CMInferenceJobs+import Amazonka.ComprehendMedical.ListPHIDetectionJobs+import Amazonka.ComprehendMedical.ListRxNormInferenceJobs+import Amazonka.ComprehendMedical.ListSNOMEDCTInferenceJobs+import Amazonka.ComprehendMedical.StartEntitiesDetectionV2Job+import Amazonka.ComprehendMedical.StartICD10CMInferenceJob+import Amazonka.ComprehendMedical.StartPHIDetectionJob+import Amazonka.ComprehendMedical.StartRxNormInferenceJob+import Amazonka.ComprehendMedical.StartSNOMEDCTInferenceJob+import Amazonka.ComprehendMedical.StopEntitiesDetectionV2Job+import Amazonka.ComprehendMedical.StopICD10CMInferenceJob+import Amazonka.ComprehendMedical.StopPHIDetectionJob+import Amazonka.ComprehendMedical.StopRxNormInferenceJob+import Amazonka.ComprehendMedical.StopSNOMEDCTInferenceJob+import Amazonka.ComprehendMedical.Types.Attribute+import Amazonka.ComprehendMedical.Types.Characters+import Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobFilter+import Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobProperties+import Amazonka.ComprehendMedical.Types.Entity+import Amazonka.ComprehendMedical.Types.ICD10CMAttribute+import Amazonka.ComprehendMedical.Types.ICD10CMConcept+import Amazonka.ComprehendMedical.Types.ICD10CMEntity+import Amazonka.ComprehendMedical.Types.ICD10CMTrait+import Amazonka.ComprehendMedical.Types.InputDataConfig+import Amazonka.ComprehendMedical.Types.OutputDataConfig+import Amazonka.ComprehendMedical.Types.RxNormAttribute+import Amazonka.ComprehendMedical.Types.RxNormConcept+import Amazonka.ComprehendMedical.Types.RxNormEntity+import Amazonka.ComprehendMedical.Types.RxNormTrait+import Amazonka.ComprehendMedical.Types.SNOMEDCTAttribute+import Amazonka.ComprehendMedical.Types.SNOMEDCTConcept+import Amazonka.ComprehendMedical.Types.SNOMEDCTDetails+import Amazonka.ComprehendMedical.Types.SNOMEDCTEntity+import Amazonka.ComprehendMedical.Types.SNOMEDCTTrait+import Amazonka.ComprehendMedical.Types.Trait+import Amazonka.ComprehendMedical.Types.UnmappedAttribute
+ gen/Amazonka/ComprehendMedical/ListEntitiesDetectionV2Jobs.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.ListEntitiesDetectionV2Jobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a list of medical entity detection jobs that you have submitted.+module Amazonka.ComprehendMedical.ListEntitiesDetectionV2Jobs+  ( -- * Creating a Request+    ListEntitiesDetectionV2Jobs (..),+    newListEntitiesDetectionV2Jobs,++    -- * Request Lenses+    listEntitiesDetectionV2Jobs_filter,+    listEntitiesDetectionV2Jobs_maxResults,+    listEntitiesDetectionV2Jobs_nextToken,++    -- * Destructuring the Response+    ListEntitiesDetectionV2JobsResponse (..),+    newListEntitiesDetectionV2JobsResponse,++    -- * Response Lenses+    listEntitiesDetectionV2JobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listEntitiesDetectionV2JobsResponse_nextToken,+    listEntitiesDetectionV2JobsResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEntitiesDetectionV2Jobs' smart constructor.+data ListEntitiesDetectionV2Jobs = ListEntitiesDetectionV2Jobs'+  { -- | Filters the jobs that are returned. You can filter jobs based on their+    -- names, status, or the date and time that they were submitted. You can+    -- only set one filter at a time.+    filter' :: Prelude.Maybe ComprehendMedicalAsyncJobFilter,+    -- | The maximum number of results to return in each page. The default is+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEntitiesDetectionV2Jobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listEntitiesDetectionV2Jobs_filter' - Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+--+-- 'maxResults', 'listEntitiesDetectionV2Jobs_maxResults' - The maximum number of results to return in each page. The default is+-- 100.+--+-- 'nextToken', 'listEntitiesDetectionV2Jobs_nextToken' - Identifies the next page of results to return.+newListEntitiesDetectionV2Jobs ::+  ListEntitiesDetectionV2Jobs+newListEntitiesDetectionV2Jobs =+  ListEntitiesDetectionV2Jobs'+    { filter' =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+listEntitiesDetectionV2Jobs_filter :: Lens.Lens' ListEntitiesDetectionV2Jobs (Prelude.Maybe ComprehendMedicalAsyncJobFilter)+listEntitiesDetectionV2Jobs_filter = Lens.lens (\ListEntitiesDetectionV2Jobs' {filter'} -> filter') (\s@ListEntitiesDetectionV2Jobs' {} a -> s {filter' = a} :: ListEntitiesDetectionV2Jobs)++-- | The maximum number of results to return in each page. The default is+-- 100.+listEntitiesDetectionV2Jobs_maxResults :: Lens.Lens' ListEntitiesDetectionV2Jobs (Prelude.Maybe Prelude.Natural)+listEntitiesDetectionV2Jobs_maxResults = Lens.lens (\ListEntitiesDetectionV2Jobs' {maxResults} -> maxResults) (\s@ListEntitiesDetectionV2Jobs' {} a -> s {maxResults = a} :: ListEntitiesDetectionV2Jobs)++-- | Identifies the next page of results to return.+listEntitiesDetectionV2Jobs_nextToken :: Lens.Lens' ListEntitiesDetectionV2Jobs (Prelude.Maybe Prelude.Text)+listEntitiesDetectionV2Jobs_nextToken = Lens.lens (\ListEntitiesDetectionV2Jobs' {nextToken} -> nextToken) (\s@ListEntitiesDetectionV2Jobs' {} a -> s {nextToken = a} :: ListEntitiesDetectionV2Jobs)++instance Core.AWSRequest ListEntitiesDetectionV2Jobs where+  type+    AWSResponse ListEntitiesDetectionV2Jobs =+      ListEntitiesDetectionV2JobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEntitiesDetectionV2JobsResponse'+            Prelude.<$> ( x+                            Data..?> "ComprehendMedicalAsyncJobPropertiesList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListEntitiesDetectionV2Jobs where+  hashWithSalt _salt ListEntitiesDetectionV2Jobs' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListEntitiesDetectionV2Jobs where+  rnf ListEntitiesDetectionV2Jobs' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListEntitiesDetectionV2Jobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.ListEntitiesDetectionV2Jobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListEntitiesDetectionV2Jobs where+  toJSON ListEntitiesDetectionV2Jobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filter" Data..=) Prelude.<$> filter',+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListEntitiesDetectionV2Jobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListEntitiesDetectionV2Jobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListEntitiesDetectionV2JobsResponse' smart constructor.+data ListEntitiesDetectionV2JobsResponse = ListEntitiesDetectionV2JobsResponse'+  { -- | A list containing the properties of each job returned.+    comprehendMedicalAsyncJobPropertiesList :: Prelude.Maybe [ComprehendMedicalAsyncJobProperties],+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEntitiesDetectionV2JobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobPropertiesList', 'listEntitiesDetectionV2JobsResponse_comprehendMedicalAsyncJobPropertiesList' - A list containing the properties of each job returned.+--+-- 'nextToken', 'listEntitiesDetectionV2JobsResponse_nextToken' - Identifies the next page of results to return.+--+-- 'httpStatus', 'listEntitiesDetectionV2JobsResponse_httpStatus' - The response's http status code.+newListEntitiesDetectionV2JobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEntitiesDetectionV2JobsResponse+newListEntitiesDetectionV2JobsResponse pHttpStatus_ =+  ListEntitiesDetectionV2JobsResponse'+    { comprehendMedicalAsyncJobPropertiesList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list containing the properties of each job returned.+listEntitiesDetectionV2JobsResponse_comprehendMedicalAsyncJobPropertiesList :: Lens.Lens' ListEntitiesDetectionV2JobsResponse (Prelude.Maybe [ComprehendMedicalAsyncJobProperties])+listEntitiesDetectionV2JobsResponse_comprehendMedicalAsyncJobPropertiesList = Lens.lens (\ListEntitiesDetectionV2JobsResponse' {comprehendMedicalAsyncJobPropertiesList} -> comprehendMedicalAsyncJobPropertiesList) (\s@ListEntitiesDetectionV2JobsResponse' {} a -> s {comprehendMedicalAsyncJobPropertiesList = a} :: ListEntitiesDetectionV2JobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Identifies the next page of results to return.+listEntitiesDetectionV2JobsResponse_nextToken :: Lens.Lens' ListEntitiesDetectionV2JobsResponse (Prelude.Maybe Prelude.Text)+listEntitiesDetectionV2JobsResponse_nextToken = Lens.lens (\ListEntitiesDetectionV2JobsResponse' {nextToken} -> nextToken) (\s@ListEntitiesDetectionV2JobsResponse' {} a -> s {nextToken = a} :: ListEntitiesDetectionV2JobsResponse)++-- | The response's http status code.+listEntitiesDetectionV2JobsResponse_httpStatus :: Lens.Lens' ListEntitiesDetectionV2JobsResponse Prelude.Int+listEntitiesDetectionV2JobsResponse_httpStatus = Lens.lens (\ListEntitiesDetectionV2JobsResponse' {httpStatus} -> httpStatus) (\s@ListEntitiesDetectionV2JobsResponse' {} a -> s {httpStatus = a} :: ListEntitiesDetectionV2JobsResponse)++instance+  Prelude.NFData+    ListEntitiesDetectionV2JobsResponse+  where+  rnf ListEntitiesDetectionV2JobsResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobPropertiesList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/ListICD10CMInferenceJobs.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.ListICD10CMInferenceJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a list of InferICD10CM jobs that you have submitted.+module Amazonka.ComprehendMedical.ListICD10CMInferenceJobs+  ( -- * Creating a Request+    ListICD10CMInferenceJobs (..),+    newListICD10CMInferenceJobs,++    -- * Request Lenses+    listICD10CMInferenceJobs_filter,+    listICD10CMInferenceJobs_maxResults,+    listICD10CMInferenceJobs_nextToken,++    -- * Destructuring the Response+    ListICD10CMInferenceJobsResponse (..),+    newListICD10CMInferenceJobsResponse,++    -- * Response Lenses+    listICD10CMInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listICD10CMInferenceJobsResponse_nextToken,+    listICD10CMInferenceJobsResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListICD10CMInferenceJobs' smart constructor.+data ListICD10CMInferenceJobs = ListICD10CMInferenceJobs'+  { -- | Filters the jobs that are returned. You can filter jobs based on their+    -- names, status, or the date and time that they were submitted. You can+    -- only set one filter at a time.+    filter' :: Prelude.Maybe ComprehendMedicalAsyncJobFilter,+    -- | The maximum number of results to return in each page. The default is+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListICD10CMInferenceJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listICD10CMInferenceJobs_filter' - Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+--+-- 'maxResults', 'listICD10CMInferenceJobs_maxResults' - The maximum number of results to return in each page. The default is+-- 100.+--+-- 'nextToken', 'listICD10CMInferenceJobs_nextToken' - Identifies the next page of results to return.+newListICD10CMInferenceJobs ::+  ListICD10CMInferenceJobs+newListICD10CMInferenceJobs =+  ListICD10CMInferenceJobs'+    { filter' =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+listICD10CMInferenceJobs_filter :: Lens.Lens' ListICD10CMInferenceJobs (Prelude.Maybe ComprehendMedicalAsyncJobFilter)+listICD10CMInferenceJobs_filter = Lens.lens (\ListICD10CMInferenceJobs' {filter'} -> filter') (\s@ListICD10CMInferenceJobs' {} a -> s {filter' = a} :: ListICD10CMInferenceJobs)++-- | The maximum number of results to return in each page. The default is+-- 100.+listICD10CMInferenceJobs_maxResults :: Lens.Lens' ListICD10CMInferenceJobs (Prelude.Maybe Prelude.Natural)+listICD10CMInferenceJobs_maxResults = Lens.lens (\ListICD10CMInferenceJobs' {maxResults} -> maxResults) (\s@ListICD10CMInferenceJobs' {} a -> s {maxResults = a} :: ListICD10CMInferenceJobs)++-- | Identifies the next page of results to return.+listICD10CMInferenceJobs_nextToken :: Lens.Lens' ListICD10CMInferenceJobs (Prelude.Maybe Prelude.Text)+listICD10CMInferenceJobs_nextToken = Lens.lens (\ListICD10CMInferenceJobs' {nextToken} -> nextToken) (\s@ListICD10CMInferenceJobs' {} a -> s {nextToken = a} :: ListICD10CMInferenceJobs)++instance Core.AWSRequest ListICD10CMInferenceJobs where+  type+    AWSResponse ListICD10CMInferenceJobs =+      ListICD10CMInferenceJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListICD10CMInferenceJobsResponse'+            Prelude.<$> ( x+                            Data..?> "ComprehendMedicalAsyncJobPropertiesList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListICD10CMInferenceJobs where+  hashWithSalt _salt ListICD10CMInferenceJobs' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListICD10CMInferenceJobs where+  rnf ListICD10CMInferenceJobs' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListICD10CMInferenceJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.ListICD10CMInferenceJobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListICD10CMInferenceJobs where+  toJSON ListICD10CMInferenceJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filter" Data..=) Prelude.<$> filter',+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListICD10CMInferenceJobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListICD10CMInferenceJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListICD10CMInferenceJobsResponse' smart constructor.+data ListICD10CMInferenceJobsResponse = ListICD10CMInferenceJobsResponse'+  { -- | A list containing the properties of each job that is returned.+    comprehendMedicalAsyncJobPropertiesList :: Prelude.Maybe [ComprehendMedicalAsyncJobProperties],+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListICD10CMInferenceJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobPropertiesList', 'listICD10CMInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList' - A list containing the properties of each job that is returned.+--+-- 'nextToken', 'listICD10CMInferenceJobsResponse_nextToken' - Identifies the next page of results to return.+--+-- 'httpStatus', 'listICD10CMInferenceJobsResponse_httpStatus' - The response's http status code.+newListICD10CMInferenceJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListICD10CMInferenceJobsResponse+newListICD10CMInferenceJobsResponse pHttpStatus_ =+  ListICD10CMInferenceJobsResponse'+    { comprehendMedicalAsyncJobPropertiesList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list containing the properties of each job that is returned.+listICD10CMInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList :: Lens.Lens' ListICD10CMInferenceJobsResponse (Prelude.Maybe [ComprehendMedicalAsyncJobProperties])+listICD10CMInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList = Lens.lens (\ListICD10CMInferenceJobsResponse' {comprehendMedicalAsyncJobPropertiesList} -> comprehendMedicalAsyncJobPropertiesList) (\s@ListICD10CMInferenceJobsResponse' {} a -> s {comprehendMedicalAsyncJobPropertiesList = a} :: ListICD10CMInferenceJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Identifies the next page of results to return.+listICD10CMInferenceJobsResponse_nextToken :: Lens.Lens' ListICD10CMInferenceJobsResponse (Prelude.Maybe Prelude.Text)+listICD10CMInferenceJobsResponse_nextToken = Lens.lens (\ListICD10CMInferenceJobsResponse' {nextToken} -> nextToken) (\s@ListICD10CMInferenceJobsResponse' {} a -> s {nextToken = a} :: ListICD10CMInferenceJobsResponse)++-- | The response's http status code.+listICD10CMInferenceJobsResponse_httpStatus :: Lens.Lens' ListICD10CMInferenceJobsResponse Prelude.Int+listICD10CMInferenceJobsResponse_httpStatus = Lens.lens (\ListICD10CMInferenceJobsResponse' {httpStatus} -> httpStatus) (\s@ListICD10CMInferenceJobsResponse' {} a -> s {httpStatus = a} :: ListICD10CMInferenceJobsResponse)++instance+  Prelude.NFData+    ListICD10CMInferenceJobsResponse+  where+  rnf ListICD10CMInferenceJobsResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobPropertiesList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/ListPHIDetectionJobs.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.ListPHIDetectionJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a list of protected health information (PHI) detection jobs that+-- you have submitted.+module Amazonka.ComprehendMedical.ListPHIDetectionJobs+  ( -- * Creating a Request+    ListPHIDetectionJobs (..),+    newListPHIDetectionJobs,++    -- * Request Lenses+    listPHIDetectionJobs_filter,+    listPHIDetectionJobs_maxResults,+    listPHIDetectionJobs_nextToken,++    -- * Destructuring the Response+    ListPHIDetectionJobsResponse (..),+    newListPHIDetectionJobsResponse,++    -- * Response Lenses+    listPHIDetectionJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listPHIDetectionJobsResponse_nextToken,+    listPHIDetectionJobsResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPHIDetectionJobs' smart constructor.+data ListPHIDetectionJobs = ListPHIDetectionJobs'+  { -- | Filters the jobs that are returned. You can filter jobs based on their+    -- names, status, or the date and time that they were submitted. You can+    -- only set one filter at a time.+    filter' :: Prelude.Maybe ComprehendMedicalAsyncJobFilter,+    -- | The maximum number of results to return in each page. The default is+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPHIDetectionJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listPHIDetectionJobs_filter' - Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+--+-- 'maxResults', 'listPHIDetectionJobs_maxResults' - The maximum number of results to return in each page. The default is+-- 100.+--+-- 'nextToken', 'listPHIDetectionJobs_nextToken' - Identifies the next page of results to return.+newListPHIDetectionJobs ::+  ListPHIDetectionJobs+newListPHIDetectionJobs =+  ListPHIDetectionJobs'+    { filter' = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+listPHIDetectionJobs_filter :: Lens.Lens' ListPHIDetectionJobs (Prelude.Maybe ComprehendMedicalAsyncJobFilter)+listPHIDetectionJobs_filter = Lens.lens (\ListPHIDetectionJobs' {filter'} -> filter') (\s@ListPHIDetectionJobs' {} a -> s {filter' = a} :: ListPHIDetectionJobs)++-- | The maximum number of results to return in each page. The default is+-- 100.+listPHIDetectionJobs_maxResults :: Lens.Lens' ListPHIDetectionJobs (Prelude.Maybe Prelude.Natural)+listPHIDetectionJobs_maxResults = Lens.lens (\ListPHIDetectionJobs' {maxResults} -> maxResults) (\s@ListPHIDetectionJobs' {} a -> s {maxResults = a} :: ListPHIDetectionJobs)++-- | Identifies the next page of results to return.+listPHIDetectionJobs_nextToken :: Lens.Lens' ListPHIDetectionJobs (Prelude.Maybe Prelude.Text)+listPHIDetectionJobs_nextToken = Lens.lens (\ListPHIDetectionJobs' {nextToken} -> nextToken) (\s@ListPHIDetectionJobs' {} a -> s {nextToken = a} :: ListPHIDetectionJobs)++instance Core.AWSRequest ListPHIDetectionJobs where+  type+    AWSResponse ListPHIDetectionJobs =+      ListPHIDetectionJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPHIDetectionJobsResponse'+            Prelude.<$> ( x+                            Data..?> "ComprehendMedicalAsyncJobPropertiesList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPHIDetectionJobs where+  hashWithSalt _salt ListPHIDetectionJobs' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPHIDetectionJobs where+  rnf ListPHIDetectionJobs' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPHIDetectionJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.ListPHIDetectionJobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListPHIDetectionJobs where+  toJSON ListPHIDetectionJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filter" Data..=) Prelude.<$> filter',+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListPHIDetectionJobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListPHIDetectionJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPHIDetectionJobsResponse' smart constructor.+data ListPHIDetectionJobsResponse = ListPHIDetectionJobsResponse'+  { -- | A list containing the properties of each job returned.+    comprehendMedicalAsyncJobPropertiesList :: Prelude.Maybe [ComprehendMedicalAsyncJobProperties],+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPHIDetectionJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobPropertiesList', 'listPHIDetectionJobsResponse_comprehendMedicalAsyncJobPropertiesList' - A list containing the properties of each job returned.+--+-- 'nextToken', 'listPHIDetectionJobsResponse_nextToken' - Identifies the next page of results to return.+--+-- 'httpStatus', 'listPHIDetectionJobsResponse_httpStatus' - The response's http status code.+newListPHIDetectionJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPHIDetectionJobsResponse+newListPHIDetectionJobsResponse pHttpStatus_ =+  ListPHIDetectionJobsResponse'+    { comprehendMedicalAsyncJobPropertiesList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list containing the properties of each job returned.+listPHIDetectionJobsResponse_comprehendMedicalAsyncJobPropertiesList :: Lens.Lens' ListPHIDetectionJobsResponse (Prelude.Maybe [ComprehendMedicalAsyncJobProperties])+listPHIDetectionJobsResponse_comprehendMedicalAsyncJobPropertiesList = Lens.lens (\ListPHIDetectionJobsResponse' {comprehendMedicalAsyncJobPropertiesList} -> comprehendMedicalAsyncJobPropertiesList) (\s@ListPHIDetectionJobsResponse' {} a -> s {comprehendMedicalAsyncJobPropertiesList = a} :: ListPHIDetectionJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Identifies the next page of results to return.+listPHIDetectionJobsResponse_nextToken :: Lens.Lens' ListPHIDetectionJobsResponse (Prelude.Maybe Prelude.Text)+listPHIDetectionJobsResponse_nextToken = Lens.lens (\ListPHIDetectionJobsResponse' {nextToken} -> nextToken) (\s@ListPHIDetectionJobsResponse' {} a -> s {nextToken = a} :: ListPHIDetectionJobsResponse)++-- | The response's http status code.+listPHIDetectionJobsResponse_httpStatus :: Lens.Lens' ListPHIDetectionJobsResponse Prelude.Int+listPHIDetectionJobsResponse_httpStatus = Lens.lens (\ListPHIDetectionJobsResponse' {httpStatus} -> httpStatus) (\s@ListPHIDetectionJobsResponse' {} a -> s {httpStatus = a} :: ListPHIDetectionJobsResponse)++instance Prelude.NFData ListPHIDetectionJobsResponse where+  rnf ListPHIDetectionJobsResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobPropertiesList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/ListRxNormInferenceJobs.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.ListRxNormInferenceJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a list of InferRxNorm jobs that you have submitted.+module Amazonka.ComprehendMedical.ListRxNormInferenceJobs+  ( -- * Creating a Request+    ListRxNormInferenceJobs (..),+    newListRxNormInferenceJobs,++    -- * Request Lenses+    listRxNormInferenceJobs_filter,+    listRxNormInferenceJobs_maxResults,+    listRxNormInferenceJobs_nextToken,++    -- * Destructuring the Response+    ListRxNormInferenceJobsResponse (..),+    newListRxNormInferenceJobsResponse,++    -- * Response Lenses+    listRxNormInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listRxNormInferenceJobsResponse_nextToken,+    listRxNormInferenceJobsResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListRxNormInferenceJobs' smart constructor.+data ListRxNormInferenceJobs = ListRxNormInferenceJobs'+  { -- | Filters the jobs that are returned. You can filter jobs based on their+    -- names, status, or the date and time that they were submitted. You can+    -- only set one filter at a time.+    filter' :: Prelude.Maybe ComprehendMedicalAsyncJobFilter,+    -- | Identifies the next page of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRxNormInferenceJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listRxNormInferenceJobs_filter' - Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+--+-- 'maxResults', 'listRxNormInferenceJobs_maxResults' - Identifies the next page of results to return.+--+-- 'nextToken', 'listRxNormInferenceJobs_nextToken' - Identifies the next page of results to return.+newListRxNormInferenceJobs ::+  ListRxNormInferenceJobs+newListRxNormInferenceJobs =+  ListRxNormInferenceJobs'+    { filter' = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters the jobs that are returned. You can filter jobs based on their+-- names, status, or the date and time that they were submitted. You can+-- only set one filter at a time.+listRxNormInferenceJobs_filter :: Lens.Lens' ListRxNormInferenceJobs (Prelude.Maybe ComprehendMedicalAsyncJobFilter)+listRxNormInferenceJobs_filter = Lens.lens (\ListRxNormInferenceJobs' {filter'} -> filter') (\s@ListRxNormInferenceJobs' {} a -> s {filter' = a} :: ListRxNormInferenceJobs)++-- | Identifies the next page of results to return.+listRxNormInferenceJobs_maxResults :: Lens.Lens' ListRxNormInferenceJobs (Prelude.Maybe Prelude.Natural)+listRxNormInferenceJobs_maxResults = Lens.lens (\ListRxNormInferenceJobs' {maxResults} -> maxResults) (\s@ListRxNormInferenceJobs' {} a -> s {maxResults = a} :: ListRxNormInferenceJobs)++-- | Identifies the next page of results to return.+listRxNormInferenceJobs_nextToken :: Lens.Lens' ListRxNormInferenceJobs (Prelude.Maybe Prelude.Text)+listRxNormInferenceJobs_nextToken = Lens.lens (\ListRxNormInferenceJobs' {nextToken} -> nextToken) (\s@ListRxNormInferenceJobs' {} a -> s {nextToken = a} :: ListRxNormInferenceJobs)++instance Core.AWSRequest ListRxNormInferenceJobs where+  type+    AWSResponse ListRxNormInferenceJobs =+      ListRxNormInferenceJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRxNormInferenceJobsResponse'+            Prelude.<$> ( x+                            Data..?> "ComprehendMedicalAsyncJobPropertiesList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRxNormInferenceJobs where+  hashWithSalt _salt ListRxNormInferenceJobs' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListRxNormInferenceJobs where+  rnf ListRxNormInferenceJobs' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListRxNormInferenceJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.ListRxNormInferenceJobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListRxNormInferenceJobs where+  toJSON ListRxNormInferenceJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filter" Data..=) Prelude.<$> filter',+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListRxNormInferenceJobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListRxNormInferenceJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRxNormInferenceJobsResponse' smart constructor.+data ListRxNormInferenceJobsResponse = ListRxNormInferenceJobsResponse'+  { -- | The maximum number of results to return in each page. The default is+    -- 100.+    comprehendMedicalAsyncJobPropertiesList :: Prelude.Maybe [ComprehendMedicalAsyncJobProperties],+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRxNormInferenceJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobPropertiesList', 'listRxNormInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList' - The maximum number of results to return in each page. The default is+-- 100.+--+-- 'nextToken', 'listRxNormInferenceJobsResponse_nextToken' - Identifies the next page of results to return.+--+-- 'httpStatus', 'listRxNormInferenceJobsResponse_httpStatus' - The response's http status code.+newListRxNormInferenceJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRxNormInferenceJobsResponse+newListRxNormInferenceJobsResponse pHttpStatus_ =+  ListRxNormInferenceJobsResponse'+    { comprehendMedicalAsyncJobPropertiesList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The maximum number of results to return in each page. The default is+-- 100.+listRxNormInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList :: Lens.Lens' ListRxNormInferenceJobsResponse (Prelude.Maybe [ComprehendMedicalAsyncJobProperties])+listRxNormInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList = Lens.lens (\ListRxNormInferenceJobsResponse' {comprehendMedicalAsyncJobPropertiesList} -> comprehendMedicalAsyncJobPropertiesList) (\s@ListRxNormInferenceJobsResponse' {} a -> s {comprehendMedicalAsyncJobPropertiesList = a} :: ListRxNormInferenceJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Identifies the next page of results to return.+listRxNormInferenceJobsResponse_nextToken :: Lens.Lens' ListRxNormInferenceJobsResponse (Prelude.Maybe Prelude.Text)+listRxNormInferenceJobsResponse_nextToken = Lens.lens (\ListRxNormInferenceJobsResponse' {nextToken} -> nextToken) (\s@ListRxNormInferenceJobsResponse' {} a -> s {nextToken = a} :: ListRxNormInferenceJobsResponse)++-- | The response's http status code.+listRxNormInferenceJobsResponse_httpStatus :: Lens.Lens' ListRxNormInferenceJobsResponse Prelude.Int+listRxNormInferenceJobsResponse_httpStatus = Lens.lens (\ListRxNormInferenceJobsResponse' {httpStatus} -> httpStatus) (\s@ListRxNormInferenceJobsResponse' {} a -> s {httpStatus = a} :: ListRxNormInferenceJobsResponse)++instance+  Prelude.NFData+    ListRxNormInferenceJobsResponse+  where+  rnf ListRxNormInferenceJobsResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobPropertiesList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/ListSNOMEDCTInferenceJobs.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.ListSNOMEDCTInferenceJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a list of InferSNOMEDCT jobs a user has submitted.+module Amazonka.ComprehendMedical.ListSNOMEDCTInferenceJobs+  ( -- * Creating a Request+    ListSNOMEDCTInferenceJobs (..),+    newListSNOMEDCTInferenceJobs,++    -- * Request Lenses+    listSNOMEDCTInferenceJobs_filter,+    listSNOMEDCTInferenceJobs_maxResults,+    listSNOMEDCTInferenceJobs_nextToken,++    -- * Destructuring the Response+    ListSNOMEDCTInferenceJobsResponse (..),+    newListSNOMEDCTInferenceJobsResponse,++    -- * Response Lenses+    listSNOMEDCTInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList,+    listSNOMEDCTInferenceJobsResponse_nextToken,+    listSNOMEDCTInferenceJobsResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSNOMEDCTInferenceJobs' smart constructor.+data ListSNOMEDCTInferenceJobs = ListSNOMEDCTInferenceJobs'+  { filter' :: Prelude.Maybe ComprehendMedicalAsyncJobFilter,+    -- | The maximum number of results to return in each page. The default is+    -- 100.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Identifies the next page of InferSNOMEDCT results to return.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSNOMEDCTInferenceJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'listSNOMEDCTInferenceJobs_filter' - Undocumented member.+--+-- 'maxResults', 'listSNOMEDCTInferenceJobs_maxResults' - The maximum number of results to return in each page. The default is+-- 100.+--+-- 'nextToken', 'listSNOMEDCTInferenceJobs_nextToken' - Identifies the next page of InferSNOMEDCT results to return.+newListSNOMEDCTInferenceJobs ::+  ListSNOMEDCTInferenceJobs+newListSNOMEDCTInferenceJobs =+  ListSNOMEDCTInferenceJobs'+    { filter' =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Undocumented member.+listSNOMEDCTInferenceJobs_filter :: Lens.Lens' ListSNOMEDCTInferenceJobs (Prelude.Maybe ComprehendMedicalAsyncJobFilter)+listSNOMEDCTInferenceJobs_filter = Lens.lens (\ListSNOMEDCTInferenceJobs' {filter'} -> filter') (\s@ListSNOMEDCTInferenceJobs' {} a -> s {filter' = a} :: ListSNOMEDCTInferenceJobs)++-- | The maximum number of results to return in each page. The default is+-- 100.+listSNOMEDCTInferenceJobs_maxResults :: Lens.Lens' ListSNOMEDCTInferenceJobs (Prelude.Maybe Prelude.Natural)+listSNOMEDCTInferenceJobs_maxResults = Lens.lens (\ListSNOMEDCTInferenceJobs' {maxResults} -> maxResults) (\s@ListSNOMEDCTInferenceJobs' {} a -> s {maxResults = a} :: ListSNOMEDCTInferenceJobs)++-- | Identifies the next page of InferSNOMEDCT results to return.+listSNOMEDCTInferenceJobs_nextToken :: Lens.Lens' ListSNOMEDCTInferenceJobs (Prelude.Maybe Prelude.Text)+listSNOMEDCTInferenceJobs_nextToken = Lens.lens (\ListSNOMEDCTInferenceJobs' {nextToken} -> nextToken) (\s@ListSNOMEDCTInferenceJobs' {} a -> s {nextToken = a} :: ListSNOMEDCTInferenceJobs)++instance Core.AWSRequest ListSNOMEDCTInferenceJobs where+  type+    AWSResponse ListSNOMEDCTInferenceJobs =+      ListSNOMEDCTInferenceJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSNOMEDCTInferenceJobsResponse'+            Prelude.<$> ( x+                            Data..?> "ComprehendMedicalAsyncJobPropertiesList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSNOMEDCTInferenceJobs where+  hashWithSalt _salt ListSNOMEDCTInferenceJobs' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListSNOMEDCTInferenceJobs where+  rnf ListSNOMEDCTInferenceJobs' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListSNOMEDCTInferenceJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.ListSNOMEDCTInferenceJobs" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListSNOMEDCTInferenceJobs where+  toJSON ListSNOMEDCTInferenceJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Filter" Data..=) Prelude.<$> filter',+            ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListSNOMEDCTInferenceJobs where+  toPath = Prelude.const "/"++instance Data.ToQuery ListSNOMEDCTInferenceJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSNOMEDCTInferenceJobsResponse' smart constructor.+data ListSNOMEDCTInferenceJobsResponse = ListSNOMEDCTInferenceJobsResponse'+  { -- | A list containing the properties of each job that is returned.+    comprehendMedicalAsyncJobPropertiesList :: Prelude.Maybe [ComprehendMedicalAsyncJobProperties],+    -- | Identifies the next page of results to return.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSNOMEDCTInferenceJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comprehendMedicalAsyncJobPropertiesList', 'listSNOMEDCTInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList' - A list containing the properties of each job that is returned.+--+-- 'nextToken', 'listSNOMEDCTInferenceJobsResponse_nextToken' - Identifies the next page of results to return.+--+-- 'httpStatus', 'listSNOMEDCTInferenceJobsResponse_httpStatus' - The response's http status code.+newListSNOMEDCTInferenceJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSNOMEDCTInferenceJobsResponse+newListSNOMEDCTInferenceJobsResponse pHttpStatus_ =+  ListSNOMEDCTInferenceJobsResponse'+    { comprehendMedicalAsyncJobPropertiesList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list containing the properties of each job that is returned.+listSNOMEDCTInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList :: Lens.Lens' ListSNOMEDCTInferenceJobsResponse (Prelude.Maybe [ComprehendMedicalAsyncJobProperties])+listSNOMEDCTInferenceJobsResponse_comprehendMedicalAsyncJobPropertiesList = Lens.lens (\ListSNOMEDCTInferenceJobsResponse' {comprehendMedicalAsyncJobPropertiesList} -> comprehendMedicalAsyncJobPropertiesList) (\s@ListSNOMEDCTInferenceJobsResponse' {} a -> s {comprehendMedicalAsyncJobPropertiesList = a} :: ListSNOMEDCTInferenceJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Identifies the next page of results to return.+listSNOMEDCTInferenceJobsResponse_nextToken :: Lens.Lens' ListSNOMEDCTInferenceJobsResponse (Prelude.Maybe Prelude.Text)+listSNOMEDCTInferenceJobsResponse_nextToken = Lens.lens (\ListSNOMEDCTInferenceJobsResponse' {nextToken} -> nextToken) (\s@ListSNOMEDCTInferenceJobsResponse' {} a -> s {nextToken = a} :: ListSNOMEDCTInferenceJobsResponse)++-- | The response's http status code.+listSNOMEDCTInferenceJobsResponse_httpStatus :: Lens.Lens' ListSNOMEDCTInferenceJobsResponse Prelude.Int+listSNOMEDCTInferenceJobsResponse_httpStatus = Lens.lens (\ListSNOMEDCTInferenceJobsResponse' {httpStatus} -> httpStatus) (\s@ListSNOMEDCTInferenceJobsResponse' {} a -> s {httpStatus = a} :: ListSNOMEDCTInferenceJobsResponse)++instance+  Prelude.NFData+    ListSNOMEDCTInferenceJobsResponse+  where+  rnf ListSNOMEDCTInferenceJobsResponse' {..} =+    Prelude.rnf comprehendMedicalAsyncJobPropertiesList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StartEntitiesDetectionV2Job.hs view
@@ -0,0 +1,295 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StartEntitiesDetectionV2Job+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an asynchronous medical entity detection job for a collection of+-- documents. Use the @DescribeEntitiesDetectionV2Job@ operation to track+-- the status of a job.+module Amazonka.ComprehendMedical.StartEntitiesDetectionV2Job+  ( -- * Creating a Request+    StartEntitiesDetectionV2Job (..),+    newStartEntitiesDetectionV2Job,++    -- * Request Lenses+    startEntitiesDetectionV2Job_clientRequestToken,+    startEntitiesDetectionV2Job_jobName,+    startEntitiesDetectionV2Job_kmsKey,+    startEntitiesDetectionV2Job_inputDataConfig,+    startEntitiesDetectionV2Job_outputDataConfig,+    startEntitiesDetectionV2Job_dataAccessRoleArn,+    startEntitiesDetectionV2Job_languageCode,++    -- * Destructuring the Response+    StartEntitiesDetectionV2JobResponse (..),+    newStartEntitiesDetectionV2JobResponse,++    -- * Response Lenses+    startEntitiesDetectionV2JobResponse_jobId,+    startEntitiesDetectionV2JobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartEntitiesDetectionV2Job' smart constructor.+data StartEntitiesDetectionV2Job = StartEntitiesDetectionV2Job'+  { -- | A unique identifier for the request. If you don\'t set the client+    -- request token, Comprehend Medical; generates one for you.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the job.+    jobName :: Prelude.Maybe Prelude.Text,+    -- | An AWS Key Management Service key to encrypt your output files. If you+    -- do not specify a key, the files are written in plain text.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | The input configuration that specifies the format and location of the+    -- input data for the job.+    inputDataConfig :: InputDataConfig,+    -- | The output configuration that specifies where to send the output files.+    outputDataConfig :: OutputDataConfig,+    -- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+    -- (IAM) role that grants Comprehend Medical; read access to your input+    -- data. For more information, see+    -- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+    dataAccessRoleArn :: Prelude.Text,+    -- | The language of the input documents. All documents must be in the same+    -- language. Comprehend Medical; processes files in US English (en).+    languageCode :: LanguageCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartEntitiesDetectionV2Job' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'startEntitiesDetectionV2Job_clientRequestToken' - A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one for you.+--+-- 'jobName', 'startEntitiesDetectionV2Job_jobName' - The identifier of the job.+--+-- 'kmsKey', 'startEntitiesDetectionV2Job_kmsKey' - An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+--+-- 'inputDataConfig', 'startEntitiesDetectionV2Job_inputDataConfig' - The input configuration that specifies the format and location of the+-- input data for the job.+--+-- 'outputDataConfig', 'startEntitiesDetectionV2Job_outputDataConfig' - The output configuration that specifies where to send the output files.+--+-- 'dataAccessRoleArn', 'startEntitiesDetectionV2Job_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+--+-- 'languageCode', 'startEntitiesDetectionV2Job_languageCode' - The language of the input documents. All documents must be in the same+-- language. Comprehend Medical; processes files in US English (en).+newStartEntitiesDetectionV2Job ::+  -- | 'inputDataConfig'+  InputDataConfig ->+  -- | 'outputDataConfig'+  OutputDataConfig ->+  -- | 'dataAccessRoleArn'+  Prelude.Text ->+  -- | 'languageCode'+  LanguageCode ->+  StartEntitiesDetectionV2Job+newStartEntitiesDetectionV2Job+  pInputDataConfig_+  pOutputDataConfig_+  pDataAccessRoleArn_+  pLanguageCode_ =+    StartEntitiesDetectionV2Job'+      { clientRequestToken =+          Prelude.Nothing,+        jobName = Prelude.Nothing,+        kmsKey = Prelude.Nothing,+        inputDataConfig = pInputDataConfig_,+        outputDataConfig = pOutputDataConfig_,+        dataAccessRoleArn = pDataAccessRoleArn_,+        languageCode = pLanguageCode_+      }++-- | A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one for you.+startEntitiesDetectionV2Job_clientRequestToken :: Lens.Lens' StartEntitiesDetectionV2Job (Prelude.Maybe Prelude.Text)+startEntitiesDetectionV2Job_clientRequestToken = Lens.lens (\StartEntitiesDetectionV2Job' {clientRequestToken} -> clientRequestToken) (\s@StartEntitiesDetectionV2Job' {} a -> s {clientRequestToken = a} :: StartEntitiesDetectionV2Job)++-- | The identifier of the job.+startEntitiesDetectionV2Job_jobName :: Lens.Lens' StartEntitiesDetectionV2Job (Prelude.Maybe Prelude.Text)+startEntitiesDetectionV2Job_jobName = Lens.lens (\StartEntitiesDetectionV2Job' {jobName} -> jobName) (\s@StartEntitiesDetectionV2Job' {} a -> s {jobName = a} :: StartEntitiesDetectionV2Job)++-- | An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+startEntitiesDetectionV2Job_kmsKey :: Lens.Lens' StartEntitiesDetectionV2Job (Prelude.Maybe Prelude.Text)+startEntitiesDetectionV2Job_kmsKey = Lens.lens (\StartEntitiesDetectionV2Job' {kmsKey} -> kmsKey) (\s@StartEntitiesDetectionV2Job' {} a -> s {kmsKey = a} :: StartEntitiesDetectionV2Job)++-- | The input configuration that specifies the format and location of the+-- input data for the job.+startEntitiesDetectionV2Job_inputDataConfig :: Lens.Lens' StartEntitiesDetectionV2Job InputDataConfig+startEntitiesDetectionV2Job_inputDataConfig = Lens.lens (\StartEntitiesDetectionV2Job' {inputDataConfig} -> inputDataConfig) (\s@StartEntitiesDetectionV2Job' {} a -> s {inputDataConfig = a} :: StartEntitiesDetectionV2Job)++-- | The output configuration that specifies where to send the output files.+startEntitiesDetectionV2Job_outputDataConfig :: Lens.Lens' StartEntitiesDetectionV2Job OutputDataConfig+startEntitiesDetectionV2Job_outputDataConfig = Lens.lens (\StartEntitiesDetectionV2Job' {outputDataConfig} -> outputDataConfig) (\s@StartEntitiesDetectionV2Job' {} a -> s {outputDataConfig = a} :: StartEntitiesDetectionV2Job)++-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+startEntitiesDetectionV2Job_dataAccessRoleArn :: Lens.Lens' StartEntitiesDetectionV2Job Prelude.Text+startEntitiesDetectionV2Job_dataAccessRoleArn = Lens.lens (\StartEntitiesDetectionV2Job' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@StartEntitiesDetectionV2Job' {} a -> s {dataAccessRoleArn = a} :: StartEntitiesDetectionV2Job)++-- | The language of the input documents. All documents must be in the same+-- language. Comprehend Medical; processes files in US English (en).+startEntitiesDetectionV2Job_languageCode :: Lens.Lens' StartEntitiesDetectionV2Job LanguageCode+startEntitiesDetectionV2Job_languageCode = Lens.lens (\StartEntitiesDetectionV2Job' {languageCode} -> languageCode) (\s@StartEntitiesDetectionV2Job' {} a -> s {languageCode = a} :: StartEntitiesDetectionV2Job)++instance Core.AWSRequest StartEntitiesDetectionV2Job where+  type+    AWSResponse StartEntitiesDetectionV2Job =+      StartEntitiesDetectionV2JobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartEntitiesDetectionV2JobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartEntitiesDetectionV2Job where+  hashWithSalt _salt StartEntitiesDetectionV2Job' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` jobName+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` inputDataConfig+      `Prelude.hashWithSalt` outputDataConfig+      `Prelude.hashWithSalt` dataAccessRoleArn+      `Prelude.hashWithSalt` languageCode++instance Prelude.NFData StartEntitiesDetectionV2Job where+  rnf StartEntitiesDetectionV2Job' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf jobName+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf outputDataConfig+      `Prelude.seq` Prelude.rnf dataAccessRoleArn+      `Prelude.seq` Prelude.rnf languageCode++instance Data.ToHeaders StartEntitiesDetectionV2Job where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StartEntitiesDetectionV2Job" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartEntitiesDetectionV2Job where+  toJSON StartEntitiesDetectionV2Job' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("JobName" Data..=) Prelude.<$> jobName,+            ("KMSKey" Data..=) Prelude.<$> kmsKey,+            Prelude.Just+              ("InputDataConfig" Data..= inputDataConfig),+            Prelude.Just+              ("OutputDataConfig" Data..= outputDataConfig),+            Prelude.Just+              ("DataAccessRoleArn" Data..= dataAccessRoleArn),+            Prelude.Just ("LanguageCode" Data..= languageCode)+          ]+      )++instance Data.ToPath StartEntitiesDetectionV2Job where+  toPath = Prelude.const "/"++instance Data.ToQuery StartEntitiesDetectionV2Job where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartEntitiesDetectionV2JobResponse' smart constructor.+data StartEntitiesDetectionV2JobResponse = StartEntitiesDetectionV2JobResponse'+  { -- | The identifier generated for the job. To get the status of a job, use+    -- this identifier with the @DescribeEntitiesDetectionV2Job@ operation.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartEntitiesDetectionV2JobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'startEntitiesDetectionV2JobResponse_jobId' - The identifier generated for the job. To get the status of a job, use+-- this identifier with the @DescribeEntitiesDetectionV2Job@ operation.+--+-- 'httpStatus', 'startEntitiesDetectionV2JobResponse_httpStatus' - The response's http status code.+newStartEntitiesDetectionV2JobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartEntitiesDetectionV2JobResponse+newStartEntitiesDetectionV2JobResponse pHttpStatus_ =+  StartEntitiesDetectionV2JobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier generated for the job. To get the status of a job, use+-- this identifier with the @DescribeEntitiesDetectionV2Job@ operation.+startEntitiesDetectionV2JobResponse_jobId :: Lens.Lens' StartEntitiesDetectionV2JobResponse (Prelude.Maybe Prelude.Text)+startEntitiesDetectionV2JobResponse_jobId = Lens.lens (\StartEntitiesDetectionV2JobResponse' {jobId} -> jobId) (\s@StartEntitiesDetectionV2JobResponse' {} a -> s {jobId = a} :: StartEntitiesDetectionV2JobResponse)++-- | The response's http status code.+startEntitiesDetectionV2JobResponse_httpStatus :: Lens.Lens' StartEntitiesDetectionV2JobResponse Prelude.Int+startEntitiesDetectionV2JobResponse_httpStatus = Lens.lens (\StartEntitiesDetectionV2JobResponse' {httpStatus} -> httpStatus) (\s@StartEntitiesDetectionV2JobResponse' {} a -> s {httpStatus = a} :: StartEntitiesDetectionV2JobResponse)++instance+  Prelude.NFData+    StartEntitiesDetectionV2JobResponse+  where+  rnf StartEntitiesDetectionV2JobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StartICD10CMInferenceJob.hs view
@@ -0,0 +1,292 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StartICD10CMInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an asynchronous job to detect medical conditions and link them to+-- the ICD-10-CM ontology. Use the @DescribeICD10CMInferenceJob@ operation+-- to track the status of a job.+module Amazonka.ComprehendMedical.StartICD10CMInferenceJob+  ( -- * Creating a Request+    StartICD10CMInferenceJob (..),+    newStartICD10CMInferenceJob,++    -- * Request Lenses+    startICD10CMInferenceJob_clientRequestToken,+    startICD10CMInferenceJob_jobName,+    startICD10CMInferenceJob_kmsKey,+    startICD10CMInferenceJob_inputDataConfig,+    startICD10CMInferenceJob_outputDataConfig,+    startICD10CMInferenceJob_dataAccessRoleArn,+    startICD10CMInferenceJob_languageCode,++    -- * Destructuring the Response+    StartICD10CMInferenceJobResponse (..),+    newStartICD10CMInferenceJobResponse,++    -- * Response Lenses+    startICD10CMInferenceJobResponse_jobId,+    startICD10CMInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartICD10CMInferenceJob' smart constructor.+data StartICD10CMInferenceJob = StartICD10CMInferenceJob'+  { -- | A unique identifier for the request. If you don\'t set the client+    -- request token, Comprehend Medical; generates one.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the job.+    jobName :: Prelude.Maybe Prelude.Text,+    -- | An AWS Key Management Service key to encrypt your output files. If you+    -- do not specify a key, the files are written in plain text.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | Specifies the format and location of the input data for the job.+    inputDataConfig :: InputDataConfig,+    -- | Specifies where to send the output files.+    outputDataConfig :: OutputDataConfig,+    -- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+    -- (IAM) role that grants Comprehend Medical; read access to your input+    -- data. For more information, see+    -- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+    dataAccessRoleArn :: Prelude.Text,+    -- | The language of the input documents. All documents must be in the same+    -- language.+    languageCode :: LanguageCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartICD10CMInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'startICD10CMInferenceJob_clientRequestToken' - A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one.+--+-- 'jobName', 'startICD10CMInferenceJob_jobName' - The identifier of the job.+--+-- 'kmsKey', 'startICD10CMInferenceJob_kmsKey' - An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+--+-- 'inputDataConfig', 'startICD10CMInferenceJob_inputDataConfig' - Specifies the format and location of the input data for the job.+--+-- 'outputDataConfig', 'startICD10CMInferenceJob_outputDataConfig' - Specifies where to send the output files.+--+-- 'dataAccessRoleArn', 'startICD10CMInferenceJob_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+--+-- 'languageCode', 'startICD10CMInferenceJob_languageCode' - The language of the input documents. All documents must be in the same+-- language.+newStartICD10CMInferenceJob ::+  -- | 'inputDataConfig'+  InputDataConfig ->+  -- | 'outputDataConfig'+  OutputDataConfig ->+  -- | 'dataAccessRoleArn'+  Prelude.Text ->+  -- | 'languageCode'+  LanguageCode ->+  StartICD10CMInferenceJob+newStartICD10CMInferenceJob+  pInputDataConfig_+  pOutputDataConfig_+  pDataAccessRoleArn_+  pLanguageCode_ =+    StartICD10CMInferenceJob'+      { clientRequestToken =+          Prelude.Nothing,+        jobName = Prelude.Nothing,+        kmsKey = Prelude.Nothing,+        inputDataConfig = pInputDataConfig_,+        outputDataConfig = pOutputDataConfig_,+        dataAccessRoleArn = pDataAccessRoleArn_,+        languageCode = pLanguageCode_+      }++-- | A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one.+startICD10CMInferenceJob_clientRequestToken :: Lens.Lens' StartICD10CMInferenceJob (Prelude.Maybe Prelude.Text)+startICD10CMInferenceJob_clientRequestToken = Lens.lens (\StartICD10CMInferenceJob' {clientRequestToken} -> clientRequestToken) (\s@StartICD10CMInferenceJob' {} a -> s {clientRequestToken = a} :: StartICD10CMInferenceJob)++-- | The identifier of the job.+startICD10CMInferenceJob_jobName :: Lens.Lens' StartICD10CMInferenceJob (Prelude.Maybe Prelude.Text)+startICD10CMInferenceJob_jobName = Lens.lens (\StartICD10CMInferenceJob' {jobName} -> jobName) (\s@StartICD10CMInferenceJob' {} a -> s {jobName = a} :: StartICD10CMInferenceJob)++-- | An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+startICD10CMInferenceJob_kmsKey :: Lens.Lens' StartICD10CMInferenceJob (Prelude.Maybe Prelude.Text)+startICD10CMInferenceJob_kmsKey = Lens.lens (\StartICD10CMInferenceJob' {kmsKey} -> kmsKey) (\s@StartICD10CMInferenceJob' {} a -> s {kmsKey = a} :: StartICD10CMInferenceJob)++-- | Specifies the format and location of the input data for the job.+startICD10CMInferenceJob_inputDataConfig :: Lens.Lens' StartICD10CMInferenceJob InputDataConfig+startICD10CMInferenceJob_inputDataConfig = Lens.lens (\StartICD10CMInferenceJob' {inputDataConfig} -> inputDataConfig) (\s@StartICD10CMInferenceJob' {} a -> s {inputDataConfig = a} :: StartICD10CMInferenceJob)++-- | Specifies where to send the output files.+startICD10CMInferenceJob_outputDataConfig :: Lens.Lens' StartICD10CMInferenceJob OutputDataConfig+startICD10CMInferenceJob_outputDataConfig = Lens.lens (\StartICD10CMInferenceJob' {outputDataConfig} -> outputDataConfig) (\s@StartICD10CMInferenceJob' {} a -> s {outputDataConfig = a} :: StartICD10CMInferenceJob)++-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+startICD10CMInferenceJob_dataAccessRoleArn :: Lens.Lens' StartICD10CMInferenceJob Prelude.Text+startICD10CMInferenceJob_dataAccessRoleArn = Lens.lens (\StartICD10CMInferenceJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@StartICD10CMInferenceJob' {} a -> s {dataAccessRoleArn = a} :: StartICD10CMInferenceJob)++-- | The language of the input documents. All documents must be in the same+-- language.+startICD10CMInferenceJob_languageCode :: Lens.Lens' StartICD10CMInferenceJob LanguageCode+startICD10CMInferenceJob_languageCode = Lens.lens (\StartICD10CMInferenceJob' {languageCode} -> languageCode) (\s@StartICD10CMInferenceJob' {} a -> s {languageCode = a} :: StartICD10CMInferenceJob)++instance Core.AWSRequest StartICD10CMInferenceJob where+  type+    AWSResponse StartICD10CMInferenceJob =+      StartICD10CMInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartICD10CMInferenceJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartICD10CMInferenceJob where+  hashWithSalt _salt StartICD10CMInferenceJob' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` jobName+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` inputDataConfig+      `Prelude.hashWithSalt` outputDataConfig+      `Prelude.hashWithSalt` dataAccessRoleArn+      `Prelude.hashWithSalt` languageCode++instance Prelude.NFData StartICD10CMInferenceJob where+  rnf StartICD10CMInferenceJob' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf jobName+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf outputDataConfig+      `Prelude.seq` Prelude.rnf dataAccessRoleArn+      `Prelude.seq` Prelude.rnf languageCode++instance Data.ToHeaders StartICD10CMInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StartICD10CMInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartICD10CMInferenceJob where+  toJSON StartICD10CMInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("JobName" Data..=) Prelude.<$> jobName,+            ("KMSKey" Data..=) Prelude.<$> kmsKey,+            Prelude.Just+              ("InputDataConfig" Data..= inputDataConfig),+            Prelude.Just+              ("OutputDataConfig" Data..= outputDataConfig),+            Prelude.Just+              ("DataAccessRoleArn" Data..= dataAccessRoleArn),+            Prelude.Just ("LanguageCode" Data..= languageCode)+          ]+      )++instance Data.ToPath StartICD10CMInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StartICD10CMInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartICD10CMInferenceJobResponse' smart constructor.+data StartICD10CMInferenceJobResponse = StartICD10CMInferenceJobResponse'+  { -- | The identifier generated for the job. To get the status of a job, use+    -- this identifier with the @StartICD10CMInferenceJob@ operation.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartICD10CMInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'startICD10CMInferenceJobResponse_jobId' - The identifier generated for the job. To get the status of a job, use+-- this identifier with the @StartICD10CMInferenceJob@ operation.+--+-- 'httpStatus', 'startICD10CMInferenceJobResponse_httpStatus' - The response's http status code.+newStartICD10CMInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartICD10CMInferenceJobResponse+newStartICD10CMInferenceJobResponse pHttpStatus_ =+  StartICD10CMInferenceJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier generated for the job. To get the status of a job, use+-- this identifier with the @StartICD10CMInferenceJob@ operation.+startICD10CMInferenceJobResponse_jobId :: Lens.Lens' StartICD10CMInferenceJobResponse (Prelude.Maybe Prelude.Text)+startICD10CMInferenceJobResponse_jobId = Lens.lens (\StartICD10CMInferenceJobResponse' {jobId} -> jobId) (\s@StartICD10CMInferenceJobResponse' {} a -> s {jobId = a} :: StartICD10CMInferenceJobResponse)++-- | The response's http status code.+startICD10CMInferenceJobResponse_httpStatus :: Lens.Lens' StartICD10CMInferenceJobResponse Prelude.Int+startICD10CMInferenceJobResponse_httpStatus = Lens.lens (\StartICD10CMInferenceJobResponse' {httpStatus} -> httpStatus) (\s@StartICD10CMInferenceJobResponse' {} a -> s {httpStatus = a} :: StartICD10CMInferenceJobResponse)++instance+  Prelude.NFData+    StartICD10CMInferenceJobResponse+  where+  rnf StartICD10CMInferenceJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StartPHIDetectionJob.hs view
@@ -0,0 +1,289 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StartPHIDetectionJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an asynchronous job to detect protected health information (PHI).+-- Use the @DescribePHIDetectionJob@ operation to track the status of a+-- job.+module Amazonka.ComprehendMedical.StartPHIDetectionJob+  ( -- * Creating a Request+    StartPHIDetectionJob (..),+    newStartPHIDetectionJob,++    -- * Request Lenses+    startPHIDetectionJob_clientRequestToken,+    startPHIDetectionJob_jobName,+    startPHIDetectionJob_kmsKey,+    startPHIDetectionJob_inputDataConfig,+    startPHIDetectionJob_outputDataConfig,+    startPHIDetectionJob_dataAccessRoleArn,+    startPHIDetectionJob_languageCode,++    -- * Destructuring the Response+    StartPHIDetectionJobResponse (..),+    newStartPHIDetectionJobResponse,++    -- * Response Lenses+    startPHIDetectionJobResponse_jobId,+    startPHIDetectionJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartPHIDetectionJob' smart constructor.+data StartPHIDetectionJob = StartPHIDetectionJob'+  { -- | A unique identifier for the request. If you don\'t set the client+    -- request token, Comprehend Medical; generates one.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the job.+    jobName :: Prelude.Maybe Prelude.Text,+    -- | An AWS Key Management Service key to encrypt your output files. If you+    -- do not specify a key, the files are written in plain text.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | Specifies the format and location of the input data for the job.+    inputDataConfig :: InputDataConfig,+    -- | Specifies where to send the output files.+    outputDataConfig :: OutputDataConfig,+    -- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+    -- (IAM) role that grants Comprehend Medical; read access to your input+    -- data. For more information, see+    -- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+    dataAccessRoleArn :: Prelude.Text,+    -- | The language of the input documents. All documents must be in the same+    -- language.+    languageCode :: LanguageCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartPHIDetectionJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'startPHIDetectionJob_clientRequestToken' - A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one.+--+-- 'jobName', 'startPHIDetectionJob_jobName' - The identifier of the job.+--+-- 'kmsKey', 'startPHIDetectionJob_kmsKey' - An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+--+-- 'inputDataConfig', 'startPHIDetectionJob_inputDataConfig' - Specifies the format and location of the input data for the job.+--+-- 'outputDataConfig', 'startPHIDetectionJob_outputDataConfig' - Specifies where to send the output files.+--+-- 'dataAccessRoleArn', 'startPHIDetectionJob_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+--+-- 'languageCode', 'startPHIDetectionJob_languageCode' - The language of the input documents. All documents must be in the same+-- language.+newStartPHIDetectionJob ::+  -- | 'inputDataConfig'+  InputDataConfig ->+  -- | 'outputDataConfig'+  OutputDataConfig ->+  -- | 'dataAccessRoleArn'+  Prelude.Text ->+  -- | 'languageCode'+  LanguageCode ->+  StartPHIDetectionJob+newStartPHIDetectionJob+  pInputDataConfig_+  pOutputDataConfig_+  pDataAccessRoleArn_+  pLanguageCode_ =+    StartPHIDetectionJob'+      { clientRequestToken =+          Prelude.Nothing,+        jobName = Prelude.Nothing,+        kmsKey = Prelude.Nothing,+        inputDataConfig = pInputDataConfig_,+        outputDataConfig = pOutputDataConfig_,+        dataAccessRoleArn = pDataAccessRoleArn_,+        languageCode = pLanguageCode_+      }++-- | A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one.+startPHIDetectionJob_clientRequestToken :: Lens.Lens' StartPHIDetectionJob (Prelude.Maybe Prelude.Text)+startPHIDetectionJob_clientRequestToken = Lens.lens (\StartPHIDetectionJob' {clientRequestToken} -> clientRequestToken) (\s@StartPHIDetectionJob' {} a -> s {clientRequestToken = a} :: StartPHIDetectionJob)++-- | The identifier of the job.+startPHIDetectionJob_jobName :: Lens.Lens' StartPHIDetectionJob (Prelude.Maybe Prelude.Text)+startPHIDetectionJob_jobName = Lens.lens (\StartPHIDetectionJob' {jobName} -> jobName) (\s@StartPHIDetectionJob' {} a -> s {jobName = a} :: StartPHIDetectionJob)++-- | An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+startPHIDetectionJob_kmsKey :: Lens.Lens' StartPHIDetectionJob (Prelude.Maybe Prelude.Text)+startPHIDetectionJob_kmsKey = Lens.lens (\StartPHIDetectionJob' {kmsKey} -> kmsKey) (\s@StartPHIDetectionJob' {} a -> s {kmsKey = a} :: StartPHIDetectionJob)++-- | Specifies the format and location of the input data for the job.+startPHIDetectionJob_inputDataConfig :: Lens.Lens' StartPHIDetectionJob InputDataConfig+startPHIDetectionJob_inputDataConfig = Lens.lens (\StartPHIDetectionJob' {inputDataConfig} -> inputDataConfig) (\s@StartPHIDetectionJob' {} a -> s {inputDataConfig = a} :: StartPHIDetectionJob)++-- | Specifies where to send the output files.+startPHIDetectionJob_outputDataConfig :: Lens.Lens' StartPHIDetectionJob OutputDataConfig+startPHIDetectionJob_outputDataConfig = Lens.lens (\StartPHIDetectionJob' {outputDataConfig} -> outputDataConfig) (\s@StartPHIDetectionJob' {} a -> s {outputDataConfig = a} :: StartPHIDetectionJob)++-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+startPHIDetectionJob_dataAccessRoleArn :: Lens.Lens' StartPHIDetectionJob Prelude.Text+startPHIDetectionJob_dataAccessRoleArn = Lens.lens (\StartPHIDetectionJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@StartPHIDetectionJob' {} a -> s {dataAccessRoleArn = a} :: StartPHIDetectionJob)++-- | The language of the input documents. All documents must be in the same+-- language.+startPHIDetectionJob_languageCode :: Lens.Lens' StartPHIDetectionJob LanguageCode+startPHIDetectionJob_languageCode = Lens.lens (\StartPHIDetectionJob' {languageCode} -> languageCode) (\s@StartPHIDetectionJob' {} a -> s {languageCode = a} :: StartPHIDetectionJob)++instance Core.AWSRequest StartPHIDetectionJob where+  type+    AWSResponse StartPHIDetectionJob =+      StartPHIDetectionJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartPHIDetectionJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartPHIDetectionJob where+  hashWithSalt _salt StartPHIDetectionJob' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` jobName+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` inputDataConfig+      `Prelude.hashWithSalt` outputDataConfig+      `Prelude.hashWithSalt` dataAccessRoleArn+      `Prelude.hashWithSalt` languageCode++instance Prelude.NFData StartPHIDetectionJob where+  rnf StartPHIDetectionJob' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf jobName+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf outputDataConfig+      `Prelude.seq` Prelude.rnf dataAccessRoleArn+      `Prelude.seq` Prelude.rnf languageCode++instance Data.ToHeaders StartPHIDetectionJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StartPHIDetectionJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartPHIDetectionJob where+  toJSON StartPHIDetectionJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("JobName" Data..=) Prelude.<$> jobName,+            ("KMSKey" Data..=) Prelude.<$> kmsKey,+            Prelude.Just+              ("InputDataConfig" Data..= inputDataConfig),+            Prelude.Just+              ("OutputDataConfig" Data..= outputDataConfig),+            Prelude.Just+              ("DataAccessRoleArn" Data..= dataAccessRoleArn),+            Prelude.Just ("LanguageCode" Data..= languageCode)+          ]+      )++instance Data.ToPath StartPHIDetectionJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StartPHIDetectionJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartPHIDetectionJobResponse' smart constructor.+data StartPHIDetectionJobResponse = StartPHIDetectionJobResponse'+  { -- | The identifier generated for the job. To get the status of a job, use+    -- this identifier with the @DescribePHIDetectionJob@ operation.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartPHIDetectionJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'startPHIDetectionJobResponse_jobId' - The identifier generated for the job. To get the status of a job, use+-- this identifier with the @DescribePHIDetectionJob@ operation.+--+-- 'httpStatus', 'startPHIDetectionJobResponse_httpStatus' - The response's http status code.+newStartPHIDetectionJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartPHIDetectionJobResponse+newStartPHIDetectionJobResponse pHttpStatus_ =+  StartPHIDetectionJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier generated for the job. To get the status of a job, use+-- this identifier with the @DescribePHIDetectionJob@ operation.+startPHIDetectionJobResponse_jobId :: Lens.Lens' StartPHIDetectionJobResponse (Prelude.Maybe Prelude.Text)+startPHIDetectionJobResponse_jobId = Lens.lens (\StartPHIDetectionJobResponse' {jobId} -> jobId) (\s@StartPHIDetectionJobResponse' {} a -> s {jobId = a} :: StartPHIDetectionJobResponse)++-- | The response's http status code.+startPHIDetectionJobResponse_httpStatus :: Lens.Lens' StartPHIDetectionJobResponse Prelude.Int+startPHIDetectionJobResponse_httpStatus = Lens.lens (\StartPHIDetectionJobResponse' {httpStatus} -> httpStatus) (\s@StartPHIDetectionJobResponse' {} a -> s {httpStatus = a} :: StartPHIDetectionJobResponse)++instance Prelude.NFData StartPHIDetectionJobResponse where+  rnf StartPHIDetectionJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StartRxNormInferenceJob.hs view
@@ -0,0 +1,289 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StartRxNormInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an asynchronous job to detect medication entities and link them+-- to the RxNorm ontology. Use the @DescribeRxNormInferenceJob@ operation+-- to track the status of a job.+module Amazonka.ComprehendMedical.StartRxNormInferenceJob+  ( -- * Creating a Request+    StartRxNormInferenceJob (..),+    newStartRxNormInferenceJob,++    -- * Request Lenses+    startRxNormInferenceJob_clientRequestToken,+    startRxNormInferenceJob_jobName,+    startRxNormInferenceJob_kmsKey,+    startRxNormInferenceJob_inputDataConfig,+    startRxNormInferenceJob_outputDataConfig,+    startRxNormInferenceJob_dataAccessRoleArn,+    startRxNormInferenceJob_languageCode,++    -- * Destructuring the Response+    StartRxNormInferenceJobResponse (..),+    newStartRxNormInferenceJobResponse,++    -- * Response Lenses+    startRxNormInferenceJobResponse_jobId,+    startRxNormInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartRxNormInferenceJob' smart constructor.+data StartRxNormInferenceJob = StartRxNormInferenceJob'+  { -- | A unique identifier for the request. If you don\'t set the client+    -- request token, Comprehend Medical; generates one.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the job.+    jobName :: Prelude.Maybe Prelude.Text,+    -- | An AWS Key Management Service key to encrypt your output files. If you+    -- do not specify a key, the files are written in plain text.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | Specifies the format and location of the input data for the job.+    inputDataConfig :: InputDataConfig,+    -- | Specifies where to send the output files.+    outputDataConfig :: OutputDataConfig,+    -- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+    -- (IAM) role that grants Comprehend Medical; read access to your input+    -- data. For more information, see+    -- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+    dataAccessRoleArn :: Prelude.Text,+    -- | The language of the input documents. All documents must be in the same+    -- language.+    languageCode :: LanguageCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartRxNormInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'startRxNormInferenceJob_clientRequestToken' - A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one.+--+-- 'jobName', 'startRxNormInferenceJob_jobName' - The identifier of the job.+--+-- 'kmsKey', 'startRxNormInferenceJob_kmsKey' - An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+--+-- 'inputDataConfig', 'startRxNormInferenceJob_inputDataConfig' - Specifies the format and location of the input data for the job.+--+-- 'outputDataConfig', 'startRxNormInferenceJob_outputDataConfig' - Specifies where to send the output files.+--+-- 'dataAccessRoleArn', 'startRxNormInferenceJob_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+--+-- 'languageCode', 'startRxNormInferenceJob_languageCode' - The language of the input documents. All documents must be in the same+-- language.+newStartRxNormInferenceJob ::+  -- | 'inputDataConfig'+  InputDataConfig ->+  -- | 'outputDataConfig'+  OutputDataConfig ->+  -- | 'dataAccessRoleArn'+  Prelude.Text ->+  -- | 'languageCode'+  LanguageCode ->+  StartRxNormInferenceJob+newStartRxNormInferenceJob+  pInputDataConfig_+  pOutputDataConfig_+  pDataAccessRoleArn_+  pLanguageCode_ =+    StartRxNormInferenceJob'+      { clientRequestToken =+          Prelude.Nothing,+        jobName = Prelude.Nothing,+        kmsKey = Prelude.Nothing,+        inputDataConfig = pInputDataConfig_,+        outputDataConfig = pOutputDataConfig_,+        dataAccessRoleArn = pDataAccessRoleArn_,+        languageCode = pLanguageCode_+      }++-- | A unique identifier for the request. If you don\'t set the client+-- request token, Comprehend Medical; generates one.+startRxNormInferenceJob_clientRequestToken :: Lens.Lens' StartRxNormInferenceJob (Prelude.Maybe Prelude.Text)+startRxNormInferenceJob_clientRequestToken = Lens.lens (\StartRxNormInferenceJob' {clientRequestToken} -> clientRequestToken) (\s@StartRxNormInferenceJob' {} a -> s {clientRequestToken = a} :: StartRxNormInferenceJob)++-- | The identifier of the job.+startRxNormInferenceJob_jobName :: Lens.Lens' StartRxNormInferenceJob (Prelude.Maybe Prelude.Text)+startRxNormInferenceJob_jobName = Lens.lens (\StartRxNormInferenceJob' {jobName} -> jobName) (\s@StartRxNormInferenceJob' {} a -> s {jobName = a} :: StartRxNormInferenceJob)++-- | An AWS Key Management Service key to encrypt your output files. If you+-- do not specify a key, the files are written in plain text.+startRxNormInferenceJob_kmsKey :: Lens.Lens' StartRxNormInferenceJob (Prelude.Maybe Prelude.Text)+startRxNormInferenceJob_kmsKey = Lens.lens (\StartRxNormInferenceJob' {kmsKey} -> kmsKey) (\s@StartRxNormInferenceJob' {} a -> s {kmsKey = a} :: StartRxNormInferenceJob)++-- | Specifies the format and location of the input data for the job.+startRxNormInferenceJob_inputDataConfig :: Lens.Lens' StartRxNormInferenceJob InputDataConfig+startRxNormInferenceJob_inputDataConfig = Lens.lens (\StartRxNormInferenceJob' {inputDataConfig} -> inputDataConfig) (\s@StartRxNormInferenceJob' {} a -> s {inputDataConfig = a} :: StartRxNormInferenceJob)++-- | Specifies where to send the output files.+startRxNormInferenceJob_outputDataConfig :: Lens.Lens' StartRxNormInferenceJob OutputDataConfig+startRxNormInferenceJob_outputDataConfig = Lens.lens (\StartRxNormInferenceJob' {outputDataConfig} -> outputDataConfig) (\s@StartRxNormInferenceJob' {} a -> s {outputDataConfig = a} :: StartRxNormInferenceJob)++-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Comprehend Medical; read access to your input+-- data. For more information, see+-- <https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions-med.html#auth-role-permissions-med Role-Based Permissions Required for Asynchronous Operations>.+startRxNormInferenceJob_dataAccessRoleArn :: Lens.Lens' StartRxNormInferenceJob Prelude.Text+startRxNormInferenceJob_dataAccessRoleArn = Lens.lens (\StartRxNormInferenceJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@StartRxNormInferenceJob' {} a -> s {dataAccessRoleArn = a} :: StartRxNormInferenceJob)++-- | The language of the input documents. All documents must be in the same+-- language.+startRxNormInferenceJob_languageCode :: Lens.Lens' StartRxNormInferenceJob LanguageCode+startRxNormInferenceJob_languageCode = Lens.lens (\StartRxNormInferenceJob' {languageCode} -> languageCode) (\s@StartRxNormInferenceJob' {} a -> s {languageCode = a} :: StartRxNormInferenceJob)++instance Core.AWSRequest StartRxNormInferenceJob where+  type+    AWSResponse StartRxNormInferenceJob =+      StartRxNormInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartRxNormInferenceJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartRxNormInferenceJob where+  hashWithSalt _salt StartRxNormInferenceJob' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` jobName+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` inputDataConfig+      `Prelude.hashWithSalt` outputDataConfig+      `Prelude.hashWithSalt` dataAccessRoleArn+      `Prelude.hashWithSalt` languageCode++instance Prelude.NFData StartRxNormInferenceJob where+  rnf StartRxNormInferenceJob' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf jobName+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf outputDataConfig+      `Prelude.seq` Prelude.rnf dataAccessRoleArn+      `Prelude.seq` Prelude.rnf languageCode++instance Data.ToHeaders StartRxNormInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StartRxNormInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartRxNormInferenceJob where+  toJSON StartRxNormInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("JobName" Data..=) Prelude.<$> jobName,+            ("KMSKey" Data..=) Prelude.<$> kmsKey,+            Prelude.Just+              ("InputDataConfig" Data..= inputDataConfig),+            Prelude.Just+              ("OutputDataConfig" Data..= outputDataConfig),+            Prelude.Just+              ("DataAccessRoleArn" Data..= dataAccessRoleArn),+            Prelude.Just ("LanguageCode" Data..= languageCode)+          ]+      )++instance Data.ToPath StartRxNormInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StartRxNormInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartRxNormInferenceJobResponse' smart constructor.+data StartRxNormInferenceJobResponse = StartRxNormInferenceJobResponse'+  { -- | The identifier of the job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartRxNormInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'startRxNormInferenceJobResponse_jobId' - The identifier of the job.+--+-- 'httpStatus', 'startRxNormInferenceJobResponse_httpStatus' - The response's http status code.+newStartRxNormInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartRxNormInferenceJobResponse+newStartRxNormInferenceJobResponse pHttpStatus_ =+  StartRxNormInferenceJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier of the job.+startRxNormInferenceJobResponse_jobId :: Lens.Lens' StartRxNormInferenceJobResponse (Prelude.Maybe Prelude.Text)+startRxNormInferenceJobResponse_jobId = Lens.lens (\StartRxNormInferenceJobResponse' {jobId} -> jobId) (\s@StartRxNormInferenceJobResponse' {} a -> s {jobId = a} :: StartRxNormInferenceJobResponse)++-- | The response's http status code.+startRxNormInferenceJobResponse_httpStatus :: Lens.Lens' StartRxNormInferenceJobResponse Prelude.Int+startRxNormInferenceJobResponse_httpStatus = Lens.lens (\StartRxNormInferenceJobResponse' {httpStatus} -> httpStatus) (\s@StartRxNormInferenceJobResponse' {} a -> s {httpStatus = a} :: StartRxNormInferenceJobResponse)++instance+  Prelude.NFData+    StartRxNormInferenceJobResponse+  where+  rnf StartRxNormInferenceJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StartSNOMEDCTInferenceJob.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StartSNOMEDCTInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an asynchronous job to detect medical concepts and link them to+-- the SNOMED-CT ontology. Use the DescribeSNOMEDCTInferenceJob operation+-- to track the status of a job.+module Amazonka.ComprehendMedical.StartSNOMEDCTInferenceJob+  ( -- * Creating a Request+    StartSNOMEDCTInferenceJob (..),+    newStartSNOMEDCTInferenceJob,++    -- * Request Lenses+    startSNOMEDCTInferenceJob_clientRequestToken,+    startSNOMEDCTInferenceJob_jobName,+    startSNOMEDCTInferenceJob_kmsKey,+    startSNOMEDCTInferenceJob_inputDataConfig,+    startSNOMEDCTInferenceJob_outputDataConfig,+    startSNOMEDCTInferenceJob_dataAccessRoleArn,+    startSNOMEDCTInferenceJob_languageCode,++    -- * Destructuring the Response+    StartSNOMEDCTInferenceJobResponse (..),+    newStartSNOMEDCTInferenceJobResponse,++    -- * Response Lenses+    startSNOMEDCTInferenceJobResponse_jobId,+    startSNOMEDCTInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartSNOMEDCTInferenceJob' smart constructor.+data StartSNOMEDCTInferenceJob = StartSNOMEDCTInferenceJob'+  { -- | A unique identifier for the request. If you don\'t set the client+    -- request token, Amazon Comprehend Medical generates one.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The user generated name the asynchronous InferSNOMEDCT job.+    jobName :: Prelude.Maybe Prelude.Text,+    -- | An AWS Key Management Service key used to encrypt your output files. If+    -- you do not specify a key, the files are written in plain text.+    kmsKey :: Prelude.Maybe Prelude.Text,+    inputDataConfig :: InputDataConfig,+    outputDataConfig :: OutputDataConfig,+    -- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+    -- (IAM) role that grants Amazon Comprehend Medical read access to your+    -- input data.+    dataAccessRoleArn :: Prelude.Text,+    -- | The language of the input documents. All documents must be in the same+    -- language.+    languageCode :: LanguageCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSNOMEDCTInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'startSNOMEDCTInferenceJob_clientRequestToken' - A unique identifier for the request. If you don\'t set the client+-- request token, Amazon Comprehend Medical generates one.+--+-- 'jobName', 'startSNOMEDCTInferenceJob_jobName' - The user generated name the asynchronous InferSNOMEDCT job.+--+-- 'kmsKey', 'startSNOMEDCTInferenceJob_kmsKey' - An AWS Key Management Service key used to encrypt your output files. If+-- you do not specify a key, the files are written in plain text.+--+-- 'inputDataConfig', 'startSNOMEDCTInferenceJob_inputDataConfig' - Undocumented member.+--+-- 'outputDataConfig', 'startSNOMEDCTInferenceJob_outputDataConfig' - Undocumented member.+--+-- 'dataAccessRoleArn', 'startSNOMEDCTInferenceJob_dataAccessRoleArn' - The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Amazon Comprehend Medical read access to your+-- input data.+--+-- 'languageCode', 'startSNOMEDCTInferenceJob_languageCode' - The language of the input documents. All documents must be in the same+-- language.+newStartSNOMEDCTInferenceJob ::+  -- | 'inputDataConfig'+  InputDataConfig ->+  -- | 'outputDataConfig'+  OutputDataConfig ->+  -- | 'dataAccessRoleArn'+  Prelude.Text ->+  -- | 'languageCode'+  LanguageCode ->+  StartSNOMEDCTInferenceJob+newStartSNOMEDCTInferenceJob+  pInputDataConfig_+  pOutputDataConfig_+  pDataAccessRoleArn_+  pLanguageCode_ =+    StartSNOMEDCTInferenceJob'+      { clientRequestToken =+          Prelude.Nothing,+        jobName = Prelude.Nothing,+        kmsKey = Prelude.Nothing,+        inputDataConfig = pInputDataConfig_,+        outputDataConfig = pOutputDataConfig_,+        dataAccessRoleArn = pDataAccessRoleArn_,+        languageCode = pLanguageCode_+      }++-- | A unique identifier for the request. If you don\'t set the client+-- request token, Amazon Comprehend Medical generates one.+startSNOMEDCTInferenceJob_clientRequestToken :: Lens.Lens' StartSNOMEDCTInferenceJob (Prelude.Maybe Prelude.Text)+startSNOMEDCTInferenceJob_clientRequestToken = Lens.lens (\StartSNOMEDCTInferenceJob' {clientRequestToken} -> clientRequestToken) (\s@StartSNOMEDCTInferenceJob' {} a -> s {clientRequestToken = a} :: StartSNOMEDCTInferenceJob)++-- | The user generated name the asynchronous InferSNOMEDCT job.+startSNOMEDCTInferenceJob_jobName :: Lens.Lens' StartSNOMEDCTInferenceJob (Prelude.Maybe Prelude.Text)+startSNOMEDCTInferenceJob_jobName = Lens.lens (\StartSNOMEDCTInferenceJob' {jobName} -> jobName) (\s@StartSNOMEDCTInferenceJob' {} a -> s {jobName = a} :: StartSNOMEDCTInferenceJob)++-- | An AWS Key Management Service key used to encrypt your output files. If+-- you do not specify a key, the files are written in plain text.+startSNOMEDCTInferenceJob_kmsKey :: Lens.Lens' StartSNOMEDCTInferenceJob (Prelude.Maybe Prelude.Text)+startSNOMEDCTInferenceJob_kmsKey = Lens.lens (\StartSNOMEDCTInferenceJob' {kmsKey} -> kmsKey) (\s@StartSNOMEDCTInferenceJob' {} a -> s {kmsKey = a} :: StartSNOMEDCTInferenceJob)++-- | Undocumented member.+startSNOMEDCTInferenceJob_inputDataConfig :: Lens.Lens' StartSNOMEDCTInferenceJob InputDataConfig+startSNOMEDCTInferenceJob_inputDataConfig = Lens.lens (\StartSNOMEDCTInferenceJob' {inputDataConfig} -> inputDataConfig) (\s@StartSNOMEDCTInferenceJob' {} a -> s {inputDataConfig = a} :: StartSNOMEDCTInferenceJob)++-- | Undocumented member.+startSNOMEDCTInferenceJob_outputDataConfig :: Lens.Lens' StartSNOMEDCTInferenceJob OutputDataConfig+startSNOMEDCTInferenceJob_outputDataConfig = Lens.lens (\StartSNOMEDCTInferenceJob' {outputDataConfig} -> outputDataConfig) (\s@StartSNOMEDCTInferenceJob' {} a -> s {outputDataConfig = a} :: StartSNOMEDCTInferenceJob)++-- | The Amazon Resource Name (ARN) of the AWS Identity and Access Management+-- (IAM) role that grants Amazon Comprehend Medical read access to your+-- input data.+startSNOMEDCTInferenceJob_dataAccessRoleArn :: Lens.Lens' StartSNOMEDCTInferenceJob Prelude.Text+startSNOMEDCTInferenceJob_dataAccessRoleArn = Lens.lens (\StartSNOMEDCTInferenceJob' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@StartSNOMEDCTInferenceJob' {} a -> s {dataAccessRoleArn = a} :: StartSNOMEDCTInferenceJob)++-- | The language of the input documents. All documents must be in the same+-- language.+startSNOMEDCTInferenceJob_languageCode :: Lens.Lens' StartSNOMEDCTInferenceJob LanguageCode+startSNOMEDCTInferenceJob_languageCode = Lens.lens (\StartSNOMEDCTInferenceJob' {languageCode} -> languageCode) (\s@StartSNOMEDCTInferenceJob' {} a -> s {languageCode = a} :: StartSNOMEDCTInferenceJob)++instance Core.AWSRequest StartSNOMEDCTInferenceJob where+  type+    AWSResponse StartSNOMEDCTInferenceJob =+      StartSNOMEDCTInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartSNOMEDCTInferenceJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartSNOMEDCTInferenceJob where+  hashWithSalt _salt StartSNOMEDCTInferenceJob' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` jobName+      `Prelude.hashWithSalt` kmsKey+      `Prelude.hashWithSalt` inputDataConfig+      `Prelude.hashWithSalt` outputDataConfig+      `Prelude.hashWithSalt` dataAccessRoleArn+      `Prelude.hashWithSalt` languageCode++instance Prelude.NFData StartSNOMEDCTInferenceJob where+  rnf StartSNOMEDCTInferenceJob' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf jobName+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf outputDataConfig+      `Prelude.seq` Prelude.rnf dataAccessRoleArn+      `Prelude.seq` Prelude.rnf languageCode++instance Data.ToHeaders StartSNOMEDCTInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StartSNOMEDCTInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartSNOMEDCTInferenceJob where+  toJSON StartSNOMEDCTInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("JobName" Data..=) Prelude.<$> jobName,+            ("KMSKey" Data..=) Prelude.<$> kmsKey,+            Prelude.Just+              ("InputDataConfig" Data..= inputDataConfig),+            Prelude.Just+              ("OutputDataConfig" Data..= outputDataConfig),+            Prelude.Just+              ("DataAccessRoleArn" Data..= dataAccessRoleArn),+            Prelude.Just ("LanguageCode" Data..= languageCode)+          ]+      )++instance Data.ToPath StartSNOMEDCTInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StartSNOMEDCTInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartSNOMEDCTInferenceJobResponse' smart constructor.+data StartSNOMEDCTInferenceJobResponse = StartSNOMEDCTInferenceJobResponse'+  { -- | The identifier generated for the job. To get the status of a job, use+    -- this identifier with the StartSNOMEDCTInferenceJob operation.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSNOMEDCTInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'startSNOMEDCTInferenceJobResponse_jobId' - The identifier generated for the job. To get the status of a job, use+-- this identifier with the StartSNOMEDCTInferenceJob operation.+--+-- 'httpStatus', 'startSNOMEDCTInferenceJobResponse_httpStatus' - The response's http status code.+newStartSNOMEDCTInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartSNOMEDCTInferenceJobResponse+newStartSNOMEDCTInferenceJobResponse pHttpStatus_ =+  StartSNOMEDCTInferenceJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier generated for the job. To get the status of a job, use+-- this identifier with the StartSNOMEDCTInferenceJob operation.+startSNOMEDCTInferenceJobResponse_jobId :: Lens.Lens' StartSNOMEDCTInferenceJobResponse (Prelude.Maybe Prelude.Text)+startSNOMEDCTInferenceJobResponse_jobId = Lens.lens (\StartSNOMEDCTInferenceJobResponse' {jobId} -> jobId) (\s@StartSNOMEDCTInferenceJobResponse' {} a -> s {jobId = a} :: StartSNOMEDCTInferenceJobResponse)++-- | The response's http status code.+startSNOMEDCTInferenceJobResponse_httpStatus :: Lens.Lens' StartSNOMEDCTInferenceJobResponse Prelude.Int+startSNOMEDCTInferenceJobResponse_httpStatus = Lens.lens (\StartSNOMEDCTInferenceJobResponse' {httpStatus} -> httpStatus) (\s@StartSNOMEDCTInferenceJobResponse' {} a -> s {httpStatus = a} :: StartSNOMEDCTInferenceJobResponse)++instance+  Prelude.NFData+    StartSNOMEDCTInferenceJobResponse+  where+  rnf StartSNOMEDCTInferenceJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StopEntitiesDetectionV2Job.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StopEntitiesDetectionV2Job+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops a medical entities detection job in progress.+module Amazonka.ComprehendMedical.StopEntitiesDetectionV2Job+  ( -- * Creating a Request+    StopEntitiesDetectionV2Job (..),+    newStopEntitiesDetectionV2Job,++    -- * Request Lenses+    stopEntitiesDetectionV2Job_jobId,++    -- * Destructuring the Response+    StopEntitiesDetectionV2JobResponse (..),+    newStopEntitiesDetectionV2JobResponse,++    -- * Response Lenses+    stopEntitiesDetectionV2JobResponse_jobId,+    stopEntitiesDetectionV2JobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopEntitiesDetectionV2Job' smart constructor.+data StopEntitiesDetectionV2Job = StopEntitiesDetectionV2Job'+  { -- | The identifier of the medical entities job to stop.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopEntitiesDetectionV2Job' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopEntitiesDetectionV2Job_jobId' - The identifier of the medical entities job to stop.+newStopEntitiesDetectionV2Job ::+  -- | 'jobId'+  Prelude.Text ->+  StopEntitiesDetectionV2Job+newStopEntitiesDetectionV2Job pJobId_ =+  StopEntitiesDetectionV2Job' {jobId = pJobId_}++-- | The identifier of the medical entities job to stop.+stopEntitiesDetectionV2Job_jobId :: Lens.Lens' StopEntitiesDetectionV2Job Prelude.Text+stopEntitiesDetectionV2Job_jobId = Lens.lens (\StopEntitiesDetectionV2Job' {jobId} -> jobId) (\s@StopEntitiesDetectionV2Job' {} a -> s {jobId = a} :: StopEntitiesDetectionV2Job)++instance Core.AWSRequest StopEntitiesDetectionV2Job where+  type+    AWSResponse StopEntitiesDetectionV2Job =+      StopEntitiesDetectionV2JobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopEntitiesDetectionV2JobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopEntitiesDetectionV2Job where+  hashWithSalt _salt StopEntitiesDetectionV2Job' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData StopEntitiesDetectionV2Job where+  rnf StopEntitiesDetectionV2Job' {..} =+    Prelude.rnf jobId++instance Data.ToHeaders StopEntitiesDetectionV2Job where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StopEntitiesDetectionV2Job" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopEntitiesDetectionV2Job where+  toJSON StopEntitiesDetectionV2Job' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath StopEntitiesDetectionV2Job where+  toPath = Prelude.const "/"++instance Data.ToQuery StopEntitiesDetectionV2Job where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopEntitiesDetectionV2JobResponse' smart constructor.+data StopEntitiesDetectionV2JobResponse = StopEntitiesDetectionV2JobResponse'+  { -- | The identifier of the medical entities detection job that was stopped.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopEntitiesDetectionV2JobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopEntitiesDetectionV2JobResponse_jobId' - The identifier of the medical entities detection job that was stopped.+--+-- 'httpStatus', 'stopEntitiesDetectionV2JobResponse_httpStatus' - The response's http status code.+newStopEntitiesDetectionV2JobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopEntitiesDetectionV2JobResponse+newStopEntitiesDetectionV2JobResponse pHttpStatus_ =+  StopEntitiesDetectionV2JobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier of the medical entities detection job that was stopped.+stopEntitiesDetectionV2JobResponse_jobId :: Lens.Lens' StopEntitiesDetectionV2JobResponse (Prelude.Maybe Prelude.Text)+stopEntitiesDetectionV2JobResponse_jobId = Lens.lens (\StopEntitiesDetectionV2JobResponse' {jobId} -> jobId) (\s@StopEntitiesDetectionV2JobResponse' {} a -> s {jobId = a} :: StopEntitiesDetectionV2JobResponse)++-- | The response's http status code.+stopEntitiesDetectionV2JobResponse_httpStatus :: Lens.Lens' StopEntitiesDetectionV2JobResponse Prelude.Int+stopEntitiesDetectionV2JobResponse_httpStatus = Lens.lens (\StopEntitiesDetectionV2JobResponse' {httpStatus} -> httpStatus) (\s@StopEntitiesDetectionV2JobResponse' {} a -> s {httpStatus = a} :: StopEntitiesDetectionV2JobResponse)++instance+  Prelude.NFData+    StopEntitiesDetectionV2JobResponse+  where+  rnf StopEntitiesDetectionV2JobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StopICD10CMInferenceJob.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StopICD10CMInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops an InferICD10CM inference job in progress.+module Amazonka.ComprehendMedical.StopICD10CMInferenceJob+  ( -- * Creating a Request+    StopICD10CMInferenceJob (..),+    newStopICD10CMInferenceJob,++    -- * Request Lenses+    stopICD10CMInferenceJob_jobId,++    -- * Destructuring the Response+    StopICD10CMInferenceJobResponse (..),+    newStopICD10CMInferenceJobResponse,++    -- * Response Lenses+    stopICD10CMInferenceJobResponse_jobId,+    stopICD10CMInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopICD10CMInferenceJob' smart constructor.+data StopICD10CMInferenceJob = StopICD10CMInferenceJob'+  { -- | The identifier of the job.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopICD10CMInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopICD10CMInferenceJob_jobId' - The identifier of the job.+newStopICD10CMInferenceJob ::+  -- | 'jobId'+  Prelude.Text ->+  StopICD10CMInferenceJob+newStopICD10CMInferenceJob pJobId_ =+  StopICD10CMInferenceJob' {jobId = pJobId_}++-- | The identifier of the job.+stopICD10CMInferenceJob_jobId :: Lens.Lens' StopICD10CMInferenceJob Prelude.Text+stopICD10CMInferenceJob_jobId = Lens.lens (\StopICD10CMInferenceJob' {jobId} -> jobId) (\s@StopICD10CMInferenceJob' {} a -> s {jobId = a} :: StopICD10CMInferenceJob)++instance Core.AWSRequest StopICD10CMInferenceJob where+  type+    AWSResponse StopICD10CMInferenceJob =+      StopICD10CMInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopICD10CMInferenceJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopICD10CMInferenceJob where+  hashWithSalt _salt StopICD10CMInferenceJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData StopICD10CMInferenceJob where+  rnf StopICD10CMInferenceJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders StopICD10CMInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StopICD10CMInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopICD10CMInferenceJob where+  toJSON StopICD10CMInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath StopICD10CMInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StopICD10CMInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopICD10CMInferenceJobResponse' smart constructor.+data StopICD10CMInferenceJobResponse = StopICD10CMInferenceJobResponse'+  { -- | The identifier generated for the job. To get the status of job, use this+    -- identifier with the @DescribeICD10CMInferenceJob@ operation.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopICD10CMInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopICD10CMInferenceJobResponse_jobId' - The identifier generated for the job. To get the status of job, use this+-- identifier with the @DescribeICD10CMInferenceJob@ operation.+--+-- 'httpStatus', 'stopICD10CMInferenceJobResponse_httpStatus' - The response's http status code.+newStopICD10CMInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopICD10CMInferenceJobResponse+newStopICD10CMInferenceJobResponse pHttpStatus_ =+  StopICD10CMInferenceJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier generated for the job. To get the status of job, use this+-- identifier with the @DescribeICD10CMInferenceJob@ operation.+stopICD10CMInferenceJobResponse_jobId :: Lens.Lens' StopICD10CMInferenceJobResponse (Prelude.Maybe Prelude.Text)+stopICD10CMInferenceJobResponse_jobId = Lens.lens (\StopICD10CMInferenceJobResponse' {jobId} -> jobId) (\s@StopICD10CMInferenceJobResponse' {} a -> s {jobId = a} :: StopICD10CMInferenceJobResponse)++-- | The response's http status code.+stopICD10CMInferenceJobResponse_httpStatus :: Lens.Lens' StopICD10CMInferenceJobResponse Prelude.Int+stopICD10CMInferenceJobResponse_httpStatus = Lens.lens (\StopICD10CMInferenceJobResponse' {httpStatus} -> httpStatus) (\s@StopICD10CMInferenceJobResponse' {} a -> s {httpStatus = a} :: StopICD10CMInferenceJobResponse)++instance+  Prelude.NFData+    StopICD10CMInferenceJobResponse+  where+  rnf StopICD10CMInferenceJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StopPHIDetectionJob.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StopPHIDetectionJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops a protected health information (PHI) detection job in progress.+module Amazonka.ComprehendMedical.StopPHIDetectionJob+  ( -- * Creating a Request+    StopPHIDetectionJob (..),+    newStopPHIDetectionJob,++    -- * Request Lenses+    stopPHIDetectionJob_jobId,++    -- * Destructuring the Response+    StopPHIDetectionJobResponse (..),+    newStopPHIDetectionJobResponse,++    -- * Response Lenses+    stopPHIDetectionJobResponse_jobId,+    stopPHIDetectionJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopPHIDetectionJob' smart constructor.+data StopPHIDetectionJob = StopPHIDetectionJob'+  { -- | The identifier of the PHI detection job to stop.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopPHIDetectionJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopPHIDetectionJob_jobId' - The identifier of the PHI detection job to stop.+newStopPHIDetectionJob ::+  -- | 'jobId'+  Prelude.Text ->+  StopPHIDetectionJob+newStopPHIDetectionJob pJobId_ =+  StopPHIDetectionJob' {jobId = pJobId_}++-- | The identifier of the PHI detection job to stop.+stopPHIDetectionJob_jobId :: Lens.Lens' StopPHIDetectionJob Prelude.Text+stopPHIDetectionJob_jobId = Lens.lens (\StopPHIDetectionJob' {jobId} -> jobId) (\s@StopPHIDetectionJob' {} a -> s {jobId = a} :: StopPHIDetectionJob)++instance Core.AWSRequest StopPHIDetectionJob where+  type+    AWSResponse StopPHIDetectionJob =+      StopPHIDetectionJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopPHIDetectionJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopPHIDetectionJob where+  hashWithSalt _salt StopPHIDetectionJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData StopPHIDetectionJob where+  rnf StopPHIDetectionJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders StopPHIDetectionJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StopPHIDetectionJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopPHIDetectionJob where+  toJSON StopPHIDetectionJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath StopPHIDetectionJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StopPHIDetectionJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopPHIDetectionJobResponse' smart constructor.+data StopPHIDetectionJobResponse = StopPHIDetectionJobResponse'+  { -- | The identifier of the PHI detection job that was stopped.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopPHIDetectionJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopPHIDetectionJobResponse_jobId' - The identifier of the PHI detection job that was stopped.+--+-- 'httpStatus', 'stopPHIDetectionJobResponse_httpStatus' - The response's http status code.+newStopPHIDetectionJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopPHIDetectionJobResponse+newStopPHIDetectionJobResponse pHttpStatus_ =+  StopPHIDetectionJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier of the PHI detection job that was stopped.+stopPHIDetectionJobResponse_jobId :: Lens.Lens' StopPHIDetectionJobResponse (Prelude.Maybe Prelude.Text)+stopPHIDetectionJobResponse_jobId = Lens.lens (\StopPHIDetectionJobResponse' {jobId} -> jobId) (\s@StopPHIDetectionJobResponse' {} a -> s {jobId = a} :: StopPHIDetectionJobResponse)++-- | The response's http status code.+stopPHIDetectionJobResponse_httpStatus :: Lens.Lens' StopPHIDetectionJobResponse Prelude.Int+stopPHIDetectionJobResponse_httpStatus = Lens.lens (\StopPHIDetectionJobResponse' {httpStatus} -> httpStatus) (\s@StopPHIDetectionJobResponse' {} a -> s {httpStatus = a} :: StopPHIDetectionJobResponse)++instance Prelude.NFData StopPHIDetectionJobResponse where+  rnf StopPHIDetectionJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StopRxNormInferenceJob.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StopRxNormInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops an InferRxNorm inference job in progress.+module Amazonka.ComprehendMedical.StopRxNormInferenceJob+  ( -- * Creating a Request+    StopRxNormInferenceJob (..),+    newStopRxNormInferenceJob,++    -- * Request Lenses+    stopRxNormInferenceJob_jobId,++    -- * Destructuring the Response+    StopRxNormInferenceJobResponse (..),+    newStopRxNormInferenceJobResponse,++    -- * Response Lenses+    stopRxNormInferenceJobResponse_jobId,+    stopRxNormInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopRxNormInferenceJob' smart constructor.+data StopRxNormInferenceJob = StopRxNormInferenceJob'+  { -- | The identifier of the job.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopRxNormInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopRxNormInferenceJob_jobId' - The identifier of the job.+newStopRxNormInferenceJob ::+  -- | 'jobId'+  Prelude.Text ->+  StopRxNormInferenceJob+newStopRxNormInferenceJob pJobId_ =+  StopRxNormInferenceJob' {jobId = pJobId_}++-- | The identifier of the job.+stopRxNormInferenceJob_jobId :: Lens.Lens' StopRxNormInferenceJob Prelude.Text+stopRxNormInferenceJob_jobId = Lens.lens (\StopRxNormInferenceJob' {jobId} -> jobId) (\s@StopRxNormInferenceJob' {} a -> s {jobId = a} :: StopRxNormInferenceJob)++instance Core.AWSRequest StopRxNormInferenceJob where+  type+    AWSResponse StopRxNormInferenceJob =+      StopRxNormInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopRxNormInferenceJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopRxNormInferenceJob where+  hashWithSalt _salt StopRxNormInferenceJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData StopRxNormInferenceJob where+  rnf StopRxNormInferenceJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders StopRxNormInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StopRxNormInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopRxNormInferenceJob where+  toJSON StopRxNormInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath StopRxNormInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StopRxNormInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopRxNormInferenceJobResponse' smart constructor.+data StopRxNormInferenceJobResponse = StopRxNormInferenceJobResponse'+  { -- | The identifier generated for the job. To get the status of job, use this+    -- identifier with the @DescribeRxNormInferenceJob@ operation.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopRxNormInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopRxNormInferenceJobResponse_jobId' - The identifier generated for the job. To get the status of job, use this+-- identifier with the @DescribeRxNormInferenceJob@ operation.+--+-- 'httpStatus', 'stopRxNormInferenceJobResponse_httpStatus' - The response's http status code.+newStopRxNormInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopRxNormInferenceJobResponse+newStopRxNormInferenceJobResponse pHttpStatus_ =+  StopRxNormInferenceJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier generated for the job. To get the status of job, use this+-- identifier with the @DescribeRxNormInferenceJob@ operation.+stopRxNormInferenceJobResponse_jobId :: Lens.Lens' StopRxNormInferenceJobResponse (Prelude.Maybe Prelude.Text)+stopRxNormInferenceJobResponse_jobId = Lens.lens (\StopRxNormInferenceJobResponse' {jobId} -> jobId) (\s@StopRxNormInferenceJobResponse' {} a -> s {jobId = a} :: StopRxNormInferenceJobResponse)++-- | The response's http status code.+stopRxNormInferenceJobResponse_httpStatus :: Lens.Lens' StopRxNormInferenceJobResponse Prelude.Int+stopRxNormInferenceJobResponse_httpStatus = Lens.lens (\StopRxNormInferenceJobResponse' {httpStatus} -> httpStatus) (\s@StopRxNormInferenceJobResponse' {} a -> s {httpStatus = a} :: StopRxNormInferenceJobResponse)++instance+  Prelude.NFData+    StopRxNormInferenceJobResponse+  where+  rnf StopRxNormInferenceJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/StopSNOMEDCTInferenceJob.hs view
@@ -0,0 +1,174 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.StopSNOMEDCTInferenceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops an InferSNOMEDCT inference job in progress.+module Amazonka.ComprehendMedical.StopSNOMEDCTInferenceJob+  ( -- * Creating a Request+    StopSNOMEDCTInferenceJob (..),+    newStopSNOMEDCTInferenceJob,++    -- * Request Lenses+    stopSNOMEDCTInferenceJob_jobId,++    -- * Destructuring the Response+    StopSNOMEDCTInferenceJobResponse (..),+    newStopSNOMEDCTInferenceJobResponse,++    -- * Response Lenses+    stopSNOMEDCTInferenceJobResponse_jobId,+    stopSNOMEDCTInferenceJobResponse_httpStatus,+  )+where++import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopSNOMEDCTInferenceJob' smart constructor.+data StopSNOMEDCTInferenceJob = StopSNOMEDCTInferenceJob'+  { -- | The job id of the asynchronous InferSNOMEDCT job to be stopped.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopSNOMEDCTInferenceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopSNOMEDCTInferenceJob_jobId' - The job id of the asynchronous InferSNOMEDCT job to be stopped.+newStopSNOMEDCTInferenceJob ::+  -- | 'jobId'+  Prelude.Text ->+  StopSNOMEDCTInferenceJob+newStopSNOMEDCTInferenceJob pJobId_ =+  StopSNOMEDCTInferenceJob' {jobId = pJobId_}++-- | The job id of the asynchronous InferSNOMEDCT job to be stopped.+stopSNOMEDCTInferenceJob_jobId :: Lens.Lens' StopSNOMEDCTInferenceJob Prelude.Text+stopSNOMEDCTInferenceJob_jobId = Lens.lens (\StopSNOMEDCTInferenceJob' {jobId} -> jobId) (\s@StopSNOMEDCTInferenceJob' {} a -> s {jobId = a} :: StopSNOMEDCTInferenceJob)++instance Core.AWSRequest StopSNOMEDCTInferenceJob where+  type+    AWSResponse StopSNOMEDCTInferenceJob =+      StopSNOMEDCTInferenceJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopSNOMEDCTInferenceJobResponse'+            Prelude.<$> (x Data..?> "JobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopSNOMEDCTInferenceJob where+  hashWithSalt _salt StopSNOMEDCTInferenceJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData StopSNOMEDCTInferenceJob where+  rnf StopSNOMEDCTInferenceJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders StopSNOMEDCTInferenceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "X-Amz-Target"+              Data.=# ( "ComprehendMedical_20181030.StopSNOMEDCTInferenceJob" ::+                          Prelude.ByteString+                      ),+            "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopSNOMEDCTInferenceJob where+  toJSON StopSNOMEDCTInferenceJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("JobId" Data..= jobId)]+      )++instance Data.ToPath StopSNOMEDCTInferenceJob where+  toPath = Prelude.const "/"++instance Data.ToQuery StopSNOMEDCTInferenceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopSNOMEDCTInferenceJobResponse' smart constructor.+data StopSNOMEDCTInferenceJobResponse = StopSNOMEDCTInferenceJobResponse'+  { -- | The identifier generated for the job. To get the status of job, use this+    -- identifier with the DescribeSNOMEDCTInferenceJob operation.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopSNOMEDCTInferenceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'stopSNOMEDCTInferenceJobResponse_jobId' - The identifier generated for the job. To get the status of job, use this+-- identifier with the DescribeSNOMEDCTInferenceJob operation.+--+-- 'httpStatus', 'stopSNOMEDCTInferenceJobResponse_httpStatus' - The response's http status code.+newStopSNOMEDCTInferenceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopSNOMEDCTInferenceJobResponse+newStopSNOMEDCTInferenceJobResponse pHttpStatus_ =+  StopSNOMEDCTInferenceJobResponse'+    { jobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier generated for the job. To get the status of job, use this+-- identifier with the DescribeSNOMEDCTInferenceJob operation.+stopSNOMEDCTInferenceJobResponse_jobId :: Lens.Lens' StopSNOMEDCTInferenceJobResponse (Prelude.Maybe Prelude.Text)+stopSNOMEDCTInferenceJobResponse_jobId = Lens.lens (\StopSNOMEDCTInferenceJobResponse' {jobId} -> jobId) (\s@StopSNOMEDCTInferenceJobResponse' {} a -> s {jobId = a} :: StopSNOMEDCTInferenceJobResponse)++-- | The response's http status code.+stopSNOMEDCTInferenceJobResponse_httpStatus :: Lens.Lens' StopSNOMEDCTInferenceJobResponse Prelude.Int+stopSNOMEDCTInferenceJobResponse_httpStatus = Lens.lens (\StopSNOMEDCTInferenceJobResponse' {httpStatus} -> httpStatus) (\s@StopSNOMEDCTInferenceJobResponse' {} a -> s {httpStatus = a} :: StopSNOMEDCTInferenceJobResponse)++instance+  Prelude.NFData+    StopSNOMEDCTInferenceJobResponse+  where+  rnf StopSNOMEDCTInferenceJobResponse' {..} =+    Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ComprehendMedical/Types.hs view
@@ -0,0 +1,482 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _InternalServerException,+    _InvalidEncodingException,+    _InvalidRequestException,+    _ResourceNotFoundException,+    _ServiceUnavailableException,+    _TextSizeLimitExceededException,+    _TooManyRequestsException,+    _ValidationException,++    -- * AttributeName+    AttributeName (..),++    -- * EntitySubType+    EntitySubType (..),++    -- * EntityType+    EntityType (..),++    -- * ICD10CMAttributeType+    ICD10CMAttributeType (..),++    -- * ICD10CMEntityCategory+    ICD10CMEntityCategory (..),++    -- * ICD10CMEntityType+    ICD10CMEntityType (..),++    -- * ICD10CMRelationshipType+    ICD10CMRelationshipType (..),++    -- * ICD10CMTraitName+    ICD10CMTraitName (..),++    -- * JobStatus+    JobStatus (..),++    -- * LanguageCode+    LanguageCode (..),++    -- * RelationshipType+    RelationshipType (..),++    -- * RxNormAttributeType+    RxNormAttributeType (..),++    -- * RxNormEntityCategory+    RxNormEntityCategory (..),++    -- * RxNormEntityType+    RxNormEntityType (..),++    -- * RxNormTraitName+    RxNormTraitName (..),++    -- * SNOMEDCTAttributeType+    SNOMEDCTAttributeType (..),++    -- * SNOMEDCTEntityCategory+    SNOMEDCTEntityCategory (..),++    -- * SNOMEDCTEntityType+    SNOMEDCTEntityType (..),++    -- * SNOMEDCTRelationshipType+    SNOMEDCTRelationshipType (..),++    -- * SNOMEDCTTraitName+    SNOMEDCTTraitName (..),++    -- * Attribute+    Attribute (..),+    newAttribute,+    attribute_beginOffset,+    attribute_category,+    attribute_endOffset,+    attribute_id,+    attribute_relationshipScore,+    attribute_relationshipType,+    attribute_score,+    attribute_text,+    attribute_traits,+    attribute_type,++    -- * Characters+    Characters (..),+    newCharacters,+    characters_originalTextCharacters,++    -- * ComprehendMedicalAsyncJobFilter+    ComprehendMedicalAsyncJobFilter (..),+    newComprehendMedicalAsyncJobFilter,+    comprehendMedicalAsyncJobFilter_jobName,+    comprehendMedicalAsyncJobFilter_jobStatus,+    comprehendMedicalAsyncJobFilter_submitTimeAfter,+    comprehendMedicalAsyncJobFilter_submitTimeBefore,++    -- * ComprehendMedicalAsyncJobProperties+    ComprehendMedicalAsyncJobProperties (..),+    newComprehendMedicalAsyncJobProperties,+    comprehendMedicalAsyncJobProperties_dataAccessRoleArn,+    comprehendMedicalAsyncJobProperties_endTime,+    comprehendMedicalAsyncJobProperties_expirationTime,+    comprehendMedicalAsyncJobProperties_inputDataConfig,+    comprehendMedicalAsyncJobProperties_jobId,+    comprehendMedicalAsyncJobProperties_jobName,+    comprehendMedicalAsyncJobProperties_jobStatus,+    comprehendMedicalAsyncJobProperties_kmsKey,+    comprehendMedicalAsyncJobProperties_languageCode,+    comprehendMedicalAsyncJobProperties_manifestFilePath,+    comprehendMedicalAsyncJobProperties_message,+    comprehendMedicalAsyncJobProperties_modelVersion,+    comprehendMedicalAsyncJobProperties_outputDataConfig,+    comprehendMedicalAsyncJobProperties_submitTime,++    -- * Entity+    Entity (..),+    newEntity,+    entity_attributes,+    entity_beginOffset,+    entity_category,+    entity_endOffset,+    entity_id,+    entity_score,+    entity_text,+    entity_traits,+    entity_type,++    -- * ICD10CMAttribute+    ICD10CMAttribute (..),+    newICD10CMAttribute,+    iCD10CMAttribute_beginOffset,+    iCD10CMAttribute_category,+    iCD10CMAttribute_endOffset,+    iCD10CMAttribute_id,+    iCD10CMAttribute_relationshipScore,+    iCD10CMAttribute_relationshipType,+    iCD10CMAttribute_score,+    iCD10CMAttribute_text,+    iCD10CMAttribute_traits,+    iCD10CMAttribute_type,++    -- * ICD10CMConcept+    ICD10CMConcept (..),+    newICD10CMConcept,+    iCD10CMConcept_code,+    iCD10CMConcept_description,+    iCD10CMConcept_score,++    -- * ICD10CMEntity+    ICD10CMEntity (..),+    newICD10CMEntity,+    iCD10CMEntity_attributes,+    iCD10CMEntity_beginOffset,+    iCD10CMEntity_category,+    iCD10CMEntity_endOffset,+    iCD10CMEntity_iCD10CMConcepts,+    iCD10CMEntity_id,+    iCD10CMEntity_score,+    iCD10CMEntity_text,+    iCD10CMEntity_traits,+    iCD10CMEntity_type,++    -- * ICD10CMTrait+    ICD10CMTrait (..),+    newICD10CMTrait,+    iCD10CMTrait_name,+    iCD10CMTrait_score,++    -- * InputDataConfig+    InputDataConfig (..),+    newInputDataConfig,+    inputDataConfig_s3Key,+    inputDataConfig_s3Bucket,++    -- * OutputDataConfig+    OutputDataConfig (..),+    newOutputDataConfig,+    outputDataConfig_s3Key,+    outputDataConfig_s3Bucket,++    -- * RxNormAttribute+    RxNormAttribute (..),+    newRxNormAttribute,+    rxNormAttribute_beginOffset,+    rxNormAttribute_endOffset,+    rxNormAttribute_id,+    rxNormAttribute_relationshipScore,+    rxNormAttribute_score,+    rxNormAttribute_text,+    rxNormAttribute_traits,+    rxNormAttribute_type,++    -- * RxNormConcept+    RxNormConcept (..),+    newRxNormConcept,+    rxNormConcept_code,+    rxNormConcept_description,+    rxNormConcept_score,++    -- * RxNormEntity+    RxNormEntity (..),+    newRxNormEntity,+    rxNormEntity_attributes,+    rxNormEntity_beginOffset,+    rxNormEntity_category,+    rxNormEntity_endOffset,+    rxNormEntity_id,+    rxNormEntity_rxNormConcepts,+    rxNormEntity_score,+    rxNormEntity_text,+    rxNormEntity_traits,+    rxNormEntity_type,++    -- * RxNormTrait+    RxNormTrait (..),+    newRxNormTrait,+    rxNormTrait_name,+    rxNormTrait_score,++    -- * SNOMEDCTAttribute+    SNOMEDCTAttribute (..),+    newSNOMEDCTAttribute,+    sNOMEDCTAttribute_beginOffset,+    sNOMEDCTAttribute_category,+    sNOMEDCTAttribute_endOffset,+    sNOMEDCTAttribute_id,+    sNOMEDCTAttribute_relationshipScore,+    sNOMEDCTAttribute_relationshipType,+    sNOMEDCTAttribute_sNOMEDCTConcepts,+    sNOMEDCTAttribute_score,+    sNOMEDCTAttribute_text,+    sNOMEDCTAttribute_traits,+    sNOMEDCTAttribute_type,++    -- * SNOMEDCTConcept+    SNOMEDCTConcept (..),+    newSNOMEDCTConcept,+    sNOMEDCTConcept_code,+    sNOMEDCTConcept_description,+    sNOMEDCTConcept_score,++    -- * SNOMEDCTDetails+    SNOMEDCTDetails (..),+    newSNOMEDCTDetails,+    sNOMEDCTDetails_edition,+    sNOMEDCTDetails_language,+    sNOMEDCTDetails_versionDate,++    -- * SNOMEDCTEntity+    SNOMEDCTEntity (..),+    newSNOMEDCTEntity,+    sNOMEDCTEntity_attributes,+    sNOMEDCTEntity_beginOffset,+    sNOMEDCTEntity_category,+    sNOMEDCTEntity_endOffset,+    sNOMEDCTEntity_id,+    sNOMEDCTEntity_sNOMEDCTConcepts,+    sNOMEDCTEntity_score,+    sNOMEDCTEntity_text,+    sNOMEDCTEntity_traits,+    sNOMEDCTEntity_type,++    -- * SNOMEDCTTrait+    SNOMEDCTTrait (..),+    newSNOMEDCTTrait,+    sNOMEDCTTrait_name,+    sNOMEDCTTrait_score,++    -- * Trait+    Trait (..),+    newTrait,+    trait_name,+    trait_score,++    -- * UnmappedAttribute+    UnmappedAttribute (..),+    newUnmappedAttribute,+    unmappedAttribute_attribute,+    unmappedAttribute_type,+  )+where++import Amazonka.ComprehendMedical.Types.Attribute+import Amazonka.ComprehendMedical.Types.AttributeName+import Amazonka.ComprehendMedical.Types.Characters+import Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobFilter+import Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobProperties+import Amazonka.ComprehendMedical.Types.Entity+import Amazonka.ComprehendMedical.Types.EntitySubType+import Amazonka.ComprehendMedical.Types.EntityType+import Amazonka.ComprehendMedical.Types.ICD10CMAttribute+import Amazonka.ComprehendMedical.Types.ICD10CMAttributeType+import Amazonka.ComprehendMedical.Types.ICD10CMConcept+import Amazonka.ComprehendMedical.Types.ICD10CMEntity+import Amazonka.ComprehendMedical.Types.ICD10CMEntityCategory+import Amazonka.ComprehendMedical.Types.ICD10CMEntityType+import Amazonka.ComprehendMedical.Types.ICD10CMRelationshipType+import Amazonka.ComprehendMedical.Types.ICD10CMTrait+import Amazonka.ComprehendMedical.Types.ICD10CMTraitName+import Amazonka.ComprehendMedical.Types.InputDataConfig+import Amazonka.ComprehendMedical.Types.JobStatus+import Amazonka.ComprehendMedical.Types.LanguageCode+import Amazonka.ComprehendMedical.Types.OutputDataConfig+import Amazonka.ComprehendMedical.Types.RelationshipType+import Amazonka.ComprehendMedical.Types.RxNormAttribute+import Amazonka.ComprehendMedical.Types.RxNormAttributeType+import Amazonka.ComprehendMedical.Types.RxNormConcept+import Amazonka.ComprehendMedical.Types.RxNormEntity+import Amazonka.ComprehendMedical.Types.RxNormEntityCategory+import Amazonka.ComprehendMedical.Types.RxNormEntityType+import Amazonka.ComprehendMedical.Types.RxNormTrait+import Amazonka.ComprehendMedical.Types.RxNormTraitName+import Amazonka.ComprehendMedical.Types.SNOMEDCTAttribute+import Amazonka.ComprehendMedical.Types.SNOMEDCTAttributeType+import Amazonka.ComprehendMedical.Types.SNOMEDCTConcept+import Amazonka.ComprehendMedical.Types.SNOMEDCTDetails+import Amazonka.ComprehendMedical.Types.SNOMEDCTEntity+import Amazonka.ComprehendMedical.Types.SNOMEDCTEntityCategory+import Amazonka.ComprehendMedical.Types.SNOMEDCTEntityType+import Amazonka.ComprehendMedical.Types.SNOMEDCTRelationshipType+import Amazonka.ComprehendMedical.Types.SNOMEDCTTrait+import Amazonka.ComprehendMedical.Types.SNOMEDCTTraitName+import Amazonka.ComprehendMedical.Types.Trait+import Amazonka.ComprehendMedical.Types.UnmappedAttribute+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-10-30@ of the Amazon Comprehend Medical SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "ComprehendMedical",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "comprehendmedical",+      Core.signingName = "comprehendmedical",+      Core.version = "2018-10-30",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "ComprehendMedical",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | An internal server error occurred. Retry your request.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"++-- | The input text was not in valid UTF-8 character encoding. Check your+-- text then retry your request.+_InvalidEncodingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidEncodingException =+  Core._MatchServiceError+    defaultService+    "InvalidEncodingException"++-- | The request that you made is invalid. Check your request to determine+-- why it\'s invalid and then retry the request.+_InvalidRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidRequestException =+  Core._MatchServiceError+    defaultService+    "InvalidRequestException"++-- | The resource identified by the specified Amazon Resource Name (ARN) was+-- not found. Check the ARN and try your request again.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"++-- | The Comprehend Medical; service is temporarily unavailable. Please wait+-- and then retry your request.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+  Core._MatchServiceError+    defaultService+    "ServiceUnavailableException"++-- | The size of the text you submitted exceeds the size limit. Reduce the+-- size of the text or use a smaller document and then retry your request.+_TextSizeLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TextSizeLimitExceededException =+  Core._MatchServiceError+    defaultService+    "TextSizeLimitExceededException"++-- | You have made too many requests within a short period of time. Wait for+-- a short time and then try your request again. Contact customer support+-- for more information about a service limit increase.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+  Core._MatchServiceError+    defaultService+    "TooManyRequestsException"++-- | The filter that you specified for the operation is invalid. Check the+-- filter values that you entered and try your request again.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"
+ gen/Amazonka/ComprehendMedical/Types/Attribute.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.Attribute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.Attribute where++import Amazonka.ComprehendMedical.Types.EntitySubType+import Amazonka.ComprehendMedical.Types.EntityType+import Amazonka.ComprehendMedical.Types.RelationshipType+import Amazonka.ComprehendMedical.Types.Trait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An extracted segment of the text that is an attribute of an entity, or+-- otherwise related to an entity, such as the dosage of a medication+-- taken. It contains information about the attribute such as id, begin and+-- end offset within the input text, and the segment of the input text.+--+-- /See:/ 'newAttribute' smart constructor.+data Attribute = Attribute'+  { -- | The 0-based character offset in the input text that shows where the+    -- attribute begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The category of attribute.+    category :: Prelude.Maybe EntityType,+    -- | The 0-based character offset in the input text that shows where the+    -- attribute ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The numeric identifier for this attribute. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The level of confidence that Comprehend Medical; has that this attribute+    -- is correctly related to this entity.+    relationshipScore :: Prelude.Maybe Prelude.Double,+    -- | The type of relationship between the entity and attribute. Type for the+    -- relationship is @OVERLAP@, indicating that the entity occurred at the+    -- same time as the @Date_Expression@.+    relationshipType :: Prelude.Maybe RelationshipType,+    -- | The level of confidence that Comprehend Medical; has that the segment of+    -- text is correctly recognized as an attribute.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text extracted as this attribute.+    text :: Prelude.Maybe Prelude.Text,+    -- | Contextual information for this attribute.+    traits :: Prelude.Maybe [Trait],+    -- | The type of attribute.+    type' :: Prelude.Maybe EntitySubType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Attribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'beginOffset', 'attribute_beginOffset' - The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+--+-- 'category', 'attribute_category' - The category of attribute.+--+-- 'endOffset', 'attribute_endOffset' - The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+--+-- 'id', 'attribute_id' - The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'relationshipScore', 'attribute_relationshipScore' - The level of confidence that Comprehend Medical; has that this attribute+-- is correctly related to this entity.+--+-- 'relationshipType', 'attribute_relationshipType' - The type of relationship between the entity and attribute. Type for the+-- relationship is @OVERLAP@, indicating that the entity occurred at the+-- same time as the @Date_Expression@.+--+-- 'score', 'attribute_score' - The level of confidence that Comprehend Medical; has that the segment of+-- text is correctly recognized as an attribute.+--+-- 'text', 'attribute_text' - The segment of input text extracted as this attribute.+--+-- 'traits', 'attribute_traits' - Contextual information for this attribute.+--+-- 'type'', 'attribute_type' - The type of attribute.+newAttribute ::+  Attribute+newAttribute =+  Attribute'+    { beginOffset = Prelude.Nothing,+      category = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      id = Prelude.Nothing,+      relationshipScore = Prelude.Nothing,+      relationshipType = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+attribute_beginOffset :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Int)+attribute_beginOffset = Lens.lens (\Attribute' {beginOffset} -> beginOffset) (\s@Attribute' {} a -> s {beginOffset = a} :: Attribute)++-- | The category of attribute.+attribute_category :: Lens.Lens' Attribute (Prelude.Maybe EntityType)+attribute_category = Lens.lens (\Attribute' {category} -> category) (\s@Attribute' {} a -> s {category = a} :: Attribute)++-- | The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+attribute_endOffset :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Int)+attribute_endOffset = Lens.lens (\Attribute' {endOffset} -> endOffset) (\s@Attribute' {} a -> s {endOffset = a} :: Attribute)++-- | The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+attribute_id :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Int)+attribute_id = Lens.lens (\Attribute' {id} -> id) (\s@Attribute' {} a -> s {id = a} :: Attribute)++-- | The level of confidence that Comprehend Medical; has that this attribute+-- is correctly related to this entity.+attribute_relationshipScore :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Double)+attribute_relationshipScore = Lens.lens (\Attribute' {relationshipScore} -> relationshipScore) (\s@Attribute' {} a -> s {relationshipScore = a} :: Attribute)++-- | The type of relationship between the entity and attribute. Type for the+-- relationship is @OVERLAP@, indicating that the entity occurred at the+-- same time as the @Date_Expression@.+attribute_relationshipType :: Lens.Lens' Attribute (Prelude.Maybe RelationshipType)+attribute_relationshipType = Lens.lens (\Attribute' {relationshipType} -> relationshipType) (\s@Attribute' {} a -> s {relationshipType = a} :: Attribute)++-- | The level of confidence that Comprehend Medical; has that the segment of+-- text is correctly recognized as an attribute.+attribute_score :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Double)+attribute_score = Lens.lens (\Attribute' {score} -> score) (\s@Attribute' {} a -> s {score = a} :: Attribute)++-- | The segment of input text extracted as this attribute.+attribute_text :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Text)+attribute_text = Lens.lens (\Attribute' {text} -> text) (\s@Attribute' {} a -> s {text = a} :: Attribute)++-- | Contextual information for this attribute.+attribute_traits :: Lens.Lens' Attribute (Prelude.Maybe [Trait])+attribute_traits = Lens.lens (\Attribute' {traits} -> traits) (\s@Attribute' {} a -> s {traits = a} :: Attribute) Prelude.. Lens.mapping Lens.coerced++-- | The type of attribute.+attribute_type :: Lens.Lens' Attribute (Prelude.Maybe EntitySubType)+attribute_type = Lens.lens (\Attribute' {type'} -> type') (\s@Attribute' {} a -> s {type' = a} :: Attribute)++instance Data.FromJSON Attribute where+  parseJSON =+    Data.withObject+      "Attribute"+      ( \x ->+          Attribute'+            Prelude.<$> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "Category")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "RelationshipScore")+            Prelude.<*> (x Data..:? "RelationshipType")+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable Attribute where+  hashWithSalt _salt Attribute' {..} =+    _salt+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` relationshipScore+      `Prelude.hashWithSalt` relationshipType+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Attribute where+  rnf Attribute' {..} =+    Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf relationshipScore+      `Prelude.seq` Prelude.rnf relationshipType+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/AttributeName.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.AttributeName+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.AttributeName+  ( AttributeName+      ( ..,+        AttributeName_DIAGNOSIS,+        AttributeName_FUTURE,+        AttributeName_HYPOTHETICAL,+        AttributeName_LOW_CONFIDENCE,+        AttributeName_NEGATION,+        AttributeName_PAST_HISTORY,+        AttributeName_PERTAINS_TO_FAMILY,+        AttributeName_SIGN,+        AttributeName_SYMPTOM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AttributeName = AttributeName'+  { fromAttributeName ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern AttributeName_DIAGNOSIS :: AttributeName+pattern AttributeName_DIAGNOSIS = AttributeName' "DIAGNOSIS"++pattern AttributeName_FUTURE :: AttributeName+pattern AttributeName_FUTURE = AttributeName' "FUTURE"++pattern AttributeName_HYPOTHETICAL :: AttributeName+pattern AttributeName_HYPOTHETICAL = AttributeName' "HYPOTHETICAL"++pattern AttributeName_LOW_CONFIDENCE :: AttributeName+pattern AttributeName_LOW_CONFIDENCE = AttributeName' "LOW_CONFIDENCE"++pattern AttributeName_NEGATION :: AttributeName+pattern AttributeName_NEGATION = AttributeName' "NEGATION"++pattern AttributeName_PAST_HISTORY :: AttributeName+pattern AttributeName_PAST_HISTORY = AttributeName' "PAST_HISTORY"++pattern AttributeName_PERTAINS_TO_FAMILY :: AttributeName+pattern AttributeName_PERTAINS_TO_FAMILY = AttributeName' "PERTAINS_TO_FAMILY"++pattern AttributeName_SIGN :: AttributeName+pattern AttributeName_SIGN = AttributeName' "SIGN"++pattern AttributeName_SYMPTOM :: AttributeName+pattern AttributeName_SYMPTOM = AttributeName' "SYMPTOM"++{-# COMPLETE+  AttributeName_DIAGNOSIS,+  AttributeName_FUTURE,+  AttributeName_HYPOTHETICAL,+  AttributeName_LOW_CONFIDENCE,+  AttributeName_NEGATION,+  AttributeName_PAST_HISTORY,+  AttributeName_PERTAINS_TO_FAMILY,+  AttributeName_SIGN,+  AttributeName_SYMPTOM,+  AttributeName'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/Characters.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.Characters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.Characters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The number of characters in the input text to be analyzed.+--+-- /See:/ 'newCharacters' smart constructor.+data Characters = Characters'+  { -- | The number of characters present in the input text document as processed+    -- by Comprehend Medical.+    originalTextCharacters :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Characters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'originalTextCharacters', 'characters_originalTextCharacters' - The number of characters present in the input text document as processed+-- by Comprehend Medical.+newCharacters ::+  Characters+newCharacters =+  Characters'+    { originalTextCharacters =+        Prelude.Nothing+    }++-- | The number of characters present in the input text document as processed+-- by Comprehend Medical.+characters_originalTextCharacters :: Lens.Lens' Characters (Prelude.Maybe Prelude.Int)+characters_originalTextCharacters = Lens.lens (\Characters' {originalTextCharacters} -> originalTextCharacters) (\s@Characters' {} a -> s {originalTextCharacters = a} :: Characters)++instance Data.FromJSON Characters where+  parseJSON =+    Data.withObject+      "Characters"+      ( \x ->+          Characters'+            Prelude.<$> (x Data..:? "OriginalTextCharacters")+      )++instance Prelude.Hashable Characters where+  hashWithSalt _salt Characters' {..} =+    _salt `Prelude.hashWithSalt` originalTextCharacters++instance Prelude.NFData Characters where+  rnf Characters' {..} =+    Prelude.rnf originalTextCharacters
+ gen/Amazonka/ComprehendMedical/Types/ComprehendMedicalAsyncJobFilter.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobFilter where++import Amazonka.ComprehendMedical.Types.JobStatus+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides information for filtering a list of detection jobs.+--+-- /See:/ 'newComprehendMedicalAsyncJobFilter' smart constructor.+data ComprehendMedicalAsyncJobFilter = ComprehendMedicalAsyncJobFilter'+  { -- | Filters on the name of the job.+    jobName :: Prelude.Maybe Prelude.Text,+    -- | Filters the list of jobs based on job status. Returns only jobs with the+    -- specified status.+    jobStatus :: Prelude.Maybe JobStatus,+    -- | Filters the list of jobs based on the time that the job was submitted+    -- for processing. Returns only jobs submitted after the specified time.+    -- Jobs are returned in descending order, newest to oldest.+    submitTimeAfter :: Prelude.Maybe Data.POSIX,+    -- | Filters the list of jobs based on the time that the job was submitted+    -- for processing. Returns only jobs submitted before the specified time.+    -- Jobs are returned in ascending order, oldest to newest.+    submitTimeBefore :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComprehendMedicalAsyncJobFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobName', 'comprehendMedicalAsyncJobFilter_jobName' - Filters on the name of the job.+--+-- 'jobStatus', 'comprehendMedicalAsyncJobFilter_jobStatus' - Filters the list of jobs based on job status. Returns only jobs with the+-- specified status.+--+-- 'submitTimeAfter', 'comprehendMedicalAsyncJobFilter_submitTimeAfter' - Filters the list of jobs based on the time that the job was submitted+-- for processing. Returns only jobs submitted after the specified time.+-- Jobs are returned in descending order, newest to oldest.+--+-- 'submitTimeBefore', 'comprehendMedicalAsyncJobFilter_submitTimeBefore' - Filters the list of jobs based on the time that the job was submitted+-- for processing. Returns only jobs submitted before the specified time.+-- Jobs are returned in ascending order, oldest to newest.+newComprehendMedicalAsyncJobFilter ::+  ComprehendMedicalAsyncJobFilter+newComprehendMedicalAsyncJobFilter =+  ComprehendMedicalAsyncJobFilter'+    { jobName =+        Prelude.Nothing,+      jobStatus = Prelude.Nothing,+      submitTimeAfter = Prelude.Nothing,+      submitTimeBefore = Prelude.Nothing+    }++-- | Filters on the name of the job.+comprehendMedicalAsyncJobFilter_jobName :: Lens.Lens' ComprehendMedicalAsyncJobFilter (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobFilter_jobName = Lens.lens (\ComprehendMedicalAsyncJobFilter' {jobName} -> jobName) (\s@ComprehendMedicalAsyncJobFilter' {} a -> s {jobName = a} :: ComprehendMedicalAsyncJobFilter)++-- | Filters the list of jobs based on job status. Returns only jobs with the+-- specified status.+comprehendMedicalAsyncJobFilter_jobStatus :: Lens.Lens' ComprehendMedicalAsyncJobFilter (Prelude.Maybe JobStatus)+comprehendMedicalAsyncJobFilter_jobStatus = Lens.lens (\ComprehendMedicalAsyncJobFilter' {jobStatus} -> jobStatus) (\s@ComprehendMedicalAsyncJobFilter' {} a -> s {jobStatus = a} :: ComprehendMedicalAsyncJobFilter)++-- | Filters the list of jobs based on the time that the job was submitted+-- for processing. Returns only jobs submitted after the specified time.+-- Jobs are returned in descending order, newest to oldest.+comprehendMedicalAsyncJobFilter_submitTimeAfter :: Lens.Lens' ComprehendMedicalAsyncJobFilter (Prelude.Maybe Prelude.UTCTime)+comprehendMedicalAsyncJobFilter_submitTimeAfter = Lens.lens (\ComprehendMedicalAsyncJobFilter' {submitTimeAfter} -> submitTimeAfter) (\s@ComprehendMedicalAsyncJobFilter' {} a -> s {submitTimeAfter = a} :: ComprehendMedicalAsyncJobFilter) Prelude.. Lens.mapping Data._Time++-- | Filters the list of jobs based on the time that the job was submitted+-- for processing. Returns only jobs submitted before the specified time.+-- Jobs are returned in ascending order, oldest to newest.+comprehendMedicalAsyncJobFilter_submitTimeBefore :: Lens.Lens' ComprehendMedicalAsyncJobFilter (Prelude.Maybe Prelude.UTCTime)+comprehendMedicalAsyncJobFilter_submitTimeBefore = Lens.lens (\ComprehendMedicalAsyncJobFilter' {submitTimeBefore} -> submitTimeBefore) (\s@ComprehendMedicalAsyncJobFilter' {} a -> s {submitTimeBefore = a} :: ComprehendMedicalAsyncJobFilter) Prelude.. Lens.mapping Data._Time++instance+  Prelude.Hashable+    ComprehendMedicalAsyncJobFilter+  where+  hashWithSalt+    _salt+    ComprehendMedicalAsyncJobFilter' {..} =+      _salt+        `Prelude.hashWithSalt` jobName+        `Prelude.hashWithSalt` jobStatus+        `Prelude.hashWithSalt` submitTimeAfter+        `Prelude.hashWithSalt` submitTimeBefore++instance+  Prelude.NFData+    ComprehendMedicalAsyncJobFilter+  where+  rnf ComprehendMedicalAsyncJobFilter' {..} =+    Prelude.rnf jobName+      `Prelude.seq` Prelude.rnf jobStatus+      `Prelude.seq` Prelude.rnf submitTimeAfter+      `Prelude.seq` Prelude.rnf submitTimeBefore++instance Data.ToJSON ComprehendMedicalAsyncJobFilter where+  toJSON ComprehendMedicalAsyncJobFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("JobName" Data..=) Prelude.<$> jobName,+            ("JobStatus" Data..=) Prelude.<$> jobStatus,+            ("SubmitTimeAfter" Data..=)+              Prelude.<$> submitTimeAfter,+            ("SubmitTimeBefore" Data..=)+              Prelude.<$> submitTimeBefore+          ]+      )
+ gen/Amazonka/ComprehendMedical/Types/ComprehendMedicalAsyncJobProperties.hs view
@@ -0,0 +1,274 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ComprehendMedicalAsyncJobProperties where++import Amazonka.ComprehendMedical.Types.InputDataConfig+import Amazonka.ComprehendMedical.Types.JobStatus+import Amazonka.ComprehendMedical.Types.LanguageCode+import Amazonka.ComprehendMedical.Types.OutputDataConfig+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a detection job.+--+-- /See:/ 'newComprehendMedicalAsyncJobProperties' smart constructor.+data ComprehendMedicalAsyncJobProperties = ComprehendMedicalAsyncJobProperties'+  { -- | The Amazon Resource Name (ARN) that gives Comprehend Medical; read+    -- access to your input data.+    dataAccessRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The time that the detection job completed.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The date and time that job metadata is deleted from the server. Output+    -- files in your S3 bucket will not be deleted. After the metadata is+    -- deleted, the job will no longer appear in the results of the+    -- @ListEntitiesDetectionV2Job@ or the @ListPHIDetectionJobs@ operation.+    expirationTime :: Prelude.Maybe Data.POSIX,+    -- | The input data configuration that you supplied when you created the+    -- detection job.+    inputDataConfig :: Prelude.Maybe InputDataConfig,+    -- | The identifier assigned to the detection job.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The name that you assigned to the detection job.+    jobName :: Prelude.Maybe Prelude.Text,+    -- | The current status of the detection job. If the status is @FAILED@, the+    -- @Message@ field shows the reason for the failure.+    jobStatus :: Prelude.Maybe JobStatus,+    -- | The AWS Key Management Service key, if any, used to encrypt the output+    -- files.+    kmsKey :: Prelude.Maybe Prelude.Text,+    -- | The language code of the input documents.+    languageCode :: Prelude.Maybe LanguageCode,+    -- | The path to the file that describes the results of a batch job.+    manifestFilePath :: Prelude.Maybe Prelude.Text,+    -- | A description of the status of a job.+    message :: Prelude.Maybe Prelude.Text,+    -- | The version of the model used to analyze the documents. The version+    -- number looks like X.X.X. You can use this information to track the model+    -- used for a particular batch of documents.+    modelVersion :: Prelude.Maybe Prelude.Text,+    -- | The output data configuration that you supplied when you created the+    -- detection job.+    outputDataConfig :: Prelude.Maybe OutputDataConfig,+    -- | The time that the detection job was submitted for processing.+    submitTime :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComprehendMedicalAsyncJobProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataAccessRoleArn', 'comprehendMedicalAsyncJobProperties_dataAccessRoleArn' - The Amazon Resource Name (ARN) that gives Comprehend Medical; read+-- access to your input data.+--+-- 'endTime', 'comprehendMedicalAsyncJobProperties_endTime' - The time that the detection job completed.+--+-- 'expirationTime', 'comprehendMedicalAsyncJobProperties_expirationTime' - The date and time that job metadata is deleted from the server. Output+-- files in your S3 bucket will not be deleted. After the metadata is+-- deleted, the job will no longer appear in the results of the+-- @ListEntitiesDetectionV2Job@ or the @ListPHIDetectionJobs@ operation.+--+-- 'inputDataConfig', 'comprehendMedicalAsyncJobProperties_inputDataConfig' - The input data configuration that you supplied when you created the+-- detection job.+--+-- 'jobId', 'comprehendMedicalAsyncJobProperties_jobId' - The identifier assigned to the detection job.+--+-- 'jobName', 'comprehendMedicalAsyncJobProperties_jobName' - The name that you assigned to the detection job.+--+-- 'jobStatus', 'comprehendMedicalAsyncJobProperties_jobStatus' - The current status of the detection job. If the status is @FAILED@, the+-- @Message@ field shows the reason for the failure.+--+-- 'kmsKey', 'comprehendMedicalAsyncJobProperties_kmsKey' - The AWS Key Management Service key, if any, used to encrypt the output+-- files.+--+-- 'languageCode', 'comprehendMedicalAsyncJobProperties_languageCode' - The language code of the input documents.+--+-- 'manifestFilePath', 'comprehendMedicalAsyncJobProperties_manifestFilePath' - The path to the file that describes the results of a batch job.+--+-- 'message', 'comprehendMedicalAsyncJobProperties_message' - A description of the status of a job.+--+-- 'modelVersion', 'comprehendMedicalAsyncJobProperties_modelVersion' - The version of the model used to analyze the documents. The version+-- number looks like X.X.X. You can use this information to track the model+-- used for a particular batch of documents.+--+-- 'outputDataConfig', 'comprehendMedicalAsyncJobProperties_outputDataConfig' - The output data configuration that you supplied when you created the+-- detection job.+--+-- 'submitTime', 'comprehendMedicalAsyncJobProperties_submitTime' - The time that the detection job was submitted for processing.+newComprehendMedicalAsyncJobProperties ::+  ComprehendMedicalAsyncJobProperties+newComprehendMedicalAsyncJobProperties =+  ComprehendMedicalAsyncJobProperties'+    { dataAccessRoleArn =+        Prelude.Nothing,+      endTime = Prelude.Nothing,+      expirationTime = Prelude.Nothing,+      inputDataConfig = Prelude.Nothing,+      jobId = Prelude.Nothing,+      jobName = Prelude.Nothing,+      jobStatus = Prelude.Nothing,+      kmsKey = Prelude.Nothing,+      languageCode = Prelude.Nothing,+      manifestFilePath = Prelude.Nothing,+      message = Prelude.Nothing,+      modelVersion = Prelude.Nothing,+      outputDataConfig = Prelude.Nothing,+      submitTime = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) that gives Comprehend Medical; read+-- access to your input data.+comprehendMedicalAsyncJobProperties_dataAccessRoleArn :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobProperties_dataAccessRoleArn = Lens.lens (\ComprehendMedicalAsyncJobProperties' {dataAccessRoleArn} -> dataAccessRoleArn) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {dataAccessRoleArn = a} :: ComprehendMedicalAsyncJobProperties)++-- | The time that the detection job completed.+comprehendMedicalAsyncJobProperties_endTime :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.UTCTime)+comprehendMedicalAsyncJobProperties_endTime = Lens.lens (\ComprehendMedicalAsyncJobProperties' {endTime} -> endTime) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {endTime = a} :: ComprehendMedicalAsyncJobProperties) Prelude.. Lens.mapping Data._Time++-- | The date and time that job metadata is deleted from the server. Output+-- files in your S3 bucket will not be deleted. After the metadata is+-- deleted, the job will no longer appear in the results of the+-- @ListEntitiesDetectionV2Job@ or the @ListPHIDetectionJobs@ operation.+comprehendMedicalAsyncJobProperties_expirationTime :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.UTCTime)+comprehendMedicalAsyncJobProperties_expirationTime = Lens.lens (\ComprehendMedicalAsyncJobProperties' {expirationTime} -> expirationTime) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {expirationTime = a} :: ComprehendMedicalAsyncJobProperties) Prelude.. Lens.mapping Data._Time++-- | The input data configuration that you supplied when you created the+-- detection job.+comprehendMedicalAsyncJobProperties_inputDataConfig :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe InputDataConfig)+comprehendMedicalAsyncJobProperties_inputDataConfig = Lens.lens (\ComprehendMedicalAsyncJobProperties' {inputDataConfig} -> inputDataConfig) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {inputDataConfig = a} :: ComprehendMedicalAsyncJobProperties)++-- | The identifier assigned to the detection job.+comprehendMedicalAsyncJobProperties_jobId :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobProperties_jobId = Lens.lens (\ComprehendMedicalAsyncJobProperties' {jobId} -> jobId) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {jobId = a} :: ComprehendMedicalAsyncJobProperties)++-- | The name that you assigned to the detection job.+comprehendMedicalAsyncJobProperties_jobName :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobProperties_jobName = Lens.lens (\ComprehendMedicalAsyncJobProperties' {jobName} -> jobName) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {jobName = a} :: ComprehendMedicalAsyncJobProperties)++-- | The current status of the detection job. If the status is @FAILED@, the+-- @Message@ field shows the reason for the failure.+comprehendMedicalAsyncJobProperties_jobStatus :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe JobStatus)+comprehendMedicalAsyncJobProperties_jobStatus = Lens.lens (\ComprehendMedicalAsyncJobProperties' {jobStatus} -> jobStatus) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {jobStatus = a} :: ComprehendMedicalAsyncJobProperties)++-- | The AWS Key Management Service key, if any, used to encrypt the output+-- files.+comprehendMedicalAsyncJobProperties_kmsKey :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobProperties_kmsKey = Lens.lens (\ComprehendMedicalAsyncJobProperties' {kmsKey} -> kmsKey) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {kmsKey = a} :: ComprehendMedicalAsyncJobProperties)++-- | The language code of the input documents.+comprehendMedicalAsyncJobProperties_languageCode :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe LanguageCode)+comprehendMedicalAsyncJobProperties_languageCode = Lens.lens (\ComprehendMedicalAsyncJobProperties' {languageCode} -> languageCode) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {languageCode = a} :: ComprehendMedicalAsyncJobProperties)++-- | The path to the file that describes the results of a batch job.+comprehendMedicalAsyncJobProperties_manifestFilePath :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobProperties_manifestFilePath = Lens.lens (\ComprehendMedicalAsyncJobProperties' {manifestFilePath} -> manifestFilePath) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {manifestFilePath = a} :: ComprehendMedicalAsyncJobProperties)++-- | A description of the status of a job.+comprehendMedicalAsyncJobProperties_message :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobProperties_message = Lens.lens (\ComprehendMedicalAsyncJobProperties' {message} -> message) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {message = a} :: ComprehendMedicalAsyncJobProperties)++-- | The version of the model used to analyze the documents. The version+-- number looks like X.X.X. You can use this information to track the model+-- used for a particular batch of documents.+comprehendMedicalAsyncJobProperties_modelVersion :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.Text)+comprehendMedicalAsyncJobProperties_modelVersion = Lens.lens (\ComprehendMedicalAsyncJobProperties' {modelVersion} -> modelVersion) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {modelVersion = a} :: ComprehendMedicalAsyncJobProperties)++-- | The output data configuration that you supplied when you created the+-- detection job.+comprehendMedicalAsyncJobProperties_outputDataConfig :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe OutputDataConfig)+comprehendMedicalAsyncJobProperties_outputDataConfig = Lens.lens (\ComprehendMedicalAsyncJobProperties' {outputDataConfig} -> outputDataConfig) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {outputDataConfig = a} :: ComprehendMedicalAsyncJobProperties)++-- | The time that the detection job was submitted for processing.+comprehendMedicalAsyncJobProperties_submitTime :: Lens.Lens' ComprehendMedicalAsyncJobProperties (Prelude.Maybe Prelude.UTCTime)+comprehendMedicalAsyncJobProperties_submitTime = Lens.lens (\ComprehendMedicalAsyncJobProperties' {submitTime} -> submitTime) (\s@ComprehendMedicalAsyncJobProperties' {} a -> s {submitTime = a} :: ComprehendMedicalAsyncJobProperties) Prelude.. Lens.mapping Data._Time++instance+  Data.FromJSON+    ComprehendMedicalAsyncJobProperties+  where+  parseJSON =+    Data.withObject+      "ComprehendMedicalAsyncJobProperties"+      ( \x ->+          ComprehendMedicalAsyncJobProperties'+            Prelude.<$> (x Data..:? "DataAccessRoleArn")+            Prelude.<*> (x Data..:? "EndTime")+            Prelude.<*> (x Data..:? "ExpirationTime")+            Prelude.<*> (x Data..:? "InputDataConfig")+            Prelude.<*> (x Data..:? "JobId")+            Prelude.<*> (x Data..:? "JobName")+            Prelude.<*> (x Data..:? "JobStatus")+            Prelude.<*> (x Data..:? "KMSKey")+            Prelude.<*> (x Data..:? "LanguageCode")+            Prelude.<*> (x Data..:? "ManifestFilePath")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "ModelVersion")+            Prelude.<*> (x Data..:? "OutputDataConfig")+            Prelude.<*> (x Data..:? "SubmitTime")+      )++instance+  Prelude.Hashable+    ComprehendMedicalAsyncJobProperties+  where+  hashWithSalt+    _salt+    ComprehendMedicalAsyncJobProperties' {..} =+      _salt+        `Prelude.hashWithSalt` dataAccessRoleArn+        `Prelude.hashWithSalt` endTime+        `Prelude.hashWithSalt` expirationTime+        `Prelude.hashWithSalt` inputDataConfig+        `Prelude.hashWithSalt` jobId+        `Prelude.hashWithSalt` jobName+        `Prelude.hashWithSalt` jobStatus+        `Prelude.hashWithSalt` kmsKey+        `Prelude.hashWithSalt` languageCode+        `Prelude.hashWithSalt` manifestFilePath+        `Prelude.hashWithSalt` message+        `Prelude.hashWithSalt` modelVersion+        `Prelude.hashWithSalt` outputDataConfig+        `Prelude.hashWithSalt` submitTime++instance+  Prelude.NFData+    ComprehendMedicalAsyncJobProperties+  where+  rnf ComprehendMedicalAsyncJobProperties' {..} =+    Prelude.rnf dataAccessRoleArn+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf expirationTime+      `Prelude.seq` Prelude.rnf inputDataConfig+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobName+      `Prelude.seq` Prelude.rnf jobStatus+      `Prelude.seq` Prelude.rnf kmsKey+      `Prelude.seq` Prelude.rnf languageCode+      `Prelude.seq` Prelude.rnf manifestFilePath+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf modelVersion+      `Prelude.seq` Prelude.rnf outputDataConfig+      `Prelude.seq` Prelude.rnf submitTime
+ gen/Amazonka/ComprehendMedical/Types/Entity.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.Entity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.Entity where++import Amazonka.ComprehendMedical.Types.Attribute+import Amazonka.ComprehendMedical.Types.EntitySubType+import Amazonka.ComprehendMedical.Types.EntityType+import Amazonka.ComprehendMedical.Types.Trait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an extracted medical entity.+--+-- /See:/ 'newEntity' smart constructor.+data Entity = Entity'+  { -- | The extracted attributes that relate to this entity.+    attributes :: Prelude.Maybe [Attribute],+    -- | The 0-based character offset in the input text that shows where the+    -- entity begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The category of the entity.+    category :: Prelude.Maybe EntityType,+    -- | The 0-based character offset in the input text that shows where the+    -- entity ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The numeric identifier for the entity. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The level of confidence that Comprehend Medical; has in the accuracy of+    -- the detection.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text extracted as this entity.+    text :: Prelude.Maybe Prelude.Text,+    -- | Contextual information for the entity.+    traits :: Prelude.Maybe [Trait],+    -- | Describes the specific type of entity with category of entities.+    type' :: Prelude.Maybe EntitySubType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Entity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'entity_attributes' - The extracted attributes that relate to this entity.+--+-- 'beginOffset', 'entity_beginOffset' - The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+--+-- 'category', 'entity_category' - The category of the entity.+--+-- 'endOffset', 'entity_endOffset' - The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+--+-- 'id', 'entity_id' - The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'score', 'entity_score' - The level of confidence that Comprehend Medical; has in the accuracy of+-- the detection.+--+-- 'text', 'entity_text' - The segment of input text extracted as this entity.+--+-- 'traits', 'entity_traits' - Contextual information for the entity.+--+-- 'type'', 'entity_type' - Describes the specific type of entity with category of entities.+newEntity ::+  Entity+newEntity =+  Entity'+    { attributes = Prelude.Nothing,+      beginOffset = Prelude.Nothing,+      category = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      id = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The extracted attributes that relate to this entity.+entity_attributes :: Lens.Lens' Entity (Prelude.Maybe [Attribute])+entity_attributes = Lens.lens (\Entity' {attributes} -> attributes) (\s@Entity' {} a -> s {attributes = a} :: Entity) Prelude.. Lens.mapping Lens.coerced++-- | The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+entity_beginOffset :: Lens.Lens' Entity (Prelude.Maybe Prelude.Int)+entity_beginOffset = Lens.lens (\Entity' {beginOffset} -> beginOffset) (\s@Entity' {} a -> s {beginOffset = a} :: Entity)++-- | The category of the entity.+entity_category :: Lens.Lens' Entity (Prelude.Maybe EntityType)+entity_category = Lens.lens (\Entity' {category} -> category) (\s@Entity' {} a -> s {category = a} :: Entity)++-- | The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+entity_endOffset :: Lens.Lens' Entity (Prelude.Maybe Prelude.Int)+entity_endOffset = Lens.lens (\Entity' {endOffset} -> endOffset) (\s@Entity' {} a -> s {endOffset = a} :: Entity)++-- | The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+entity_id :: Lens.Lens' Entity (Prelude.Maybe Prelude.Int)+entity_id = Lens.lens (\Entity' {id} -> id) (\s@Entity' {} a -> s {id = a} :: Entity)++-- | The level of confidence that Comprehend Medical; has in the accuracy of+-- the detection.+entity_score :: Lens.Lens' Entity (Prelude.Maybe Prelude.Double)+entity_score = Lens.lens (\Entity' {score} -> score) (\s@Entity' {} a -> s {score = a} :: Entity)++-- | The segment of input text extracted as this entity.+entity_text :: Lens.Lens' Entity (Prelude.Maybe Prelude.Text)+entity_text = Lens.lens (\Entity' {text} -> text) (\s@Entity' {} a -> s {text = a} :: Entity)++-- | Contextual information for the entity.+entity_traits :: Lens.Lens' Entity (Prelude.Maybe [Trait])+entity_traits = Lens.lens (\Entity' {traits} -> traits) (\s@Entity' {} a -> s {traits = a} :: Entity) Prelude.. Lens.mapping Lens.coerced++-- | Describes the specific type of entity with category of entities.+entity_type :: Lens.Lens' Entity (Prelude.Maybe EntitySubType)+entity_type = Lens.lens (\Entity' {type'} -> type') (\s@Entity' {} a -> s {type' = a} :: Entity)++instance Data.FromJSON Entity where+  parseJSON =+    Data.withObject+      "Entity"+      ( \x ->+          Entity'+            Prelude.<$> (x Data..:? "Attributes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "Category")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable Entity where+  hashWithSalt _salt Entity' {..} =+    _salt+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Entity where+  rnf Entity' {..} =+    Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/EntitySubType.hs view
@@ -0,0 +1,286 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.EntitySubType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.EntitySubType+  ( EntitySubType+      ( ..,+        EntitySubType_ACUITY,+        EntitySubType_ADDRESS,+        EntitySubType_AGE,+        EntitySubType_ALCOHOL_CONSUMPTION,+        EntitySubType_ALLERGIES,+        EntitySubType_AMOUNT,+        EntitySubType_BRAND_NAME,+        EntitySubType_CONTACT_POINT,+        EntitySubType_DATE,+        EntitySubType_DIRECTION,+        EntitySubType_DOSAGE,+        EntitySubType_DURATION,+        EntitySubType_DX_NAME,+        EntitySubType_EMAIL,+        EntitySubType_FORM,+        EntitySubType_FREQUENCY,+        EntitySubType_GENDER,+        EntitySubType_GENERIC_NAME,+        EntitySubType_ID,+        EntitySubType_IDENTIFIER,+        EntitySubType_NAME,+        EntitySubType_PHONE_OR_FAX,+        EntitySubType_PROCEDURE_NAME,+        EntitySubType_PROFESSION,+        EntitySubType_QUALITY,+        EntitySubType_QUANTITY,+        EntitySubType_RACE_ETHNICITY,+        EntitySubType_RATE,+        EntitySubType_REC_DRUG_USE,+        EntitySubType_ROUTE_OR_MODE,+        EntitySubType_STRENGTH,+        EntitySubType_SYSTEM_ORGAN_SITE,+        EntitySubType_TEST_NAME,+        EntitySubType_TEST_UNIT,+        EntitySubType_TEST_UNITS,+        EntitySubType_TEST_VALUE,+        EntitySubType_TIME_EXPRESSION,+        EntitySubType_TIME_TO_DX_NAME,+        EntitySubType_TIME_TO_MEDICATION_NAME,+        EntitySubType_TIME_TO_PROCEDURE_NAME,+        EntitySubType_TIME_TO_TEST_NAME,+        EntitySubType_TIME_TO_TREATMENT_NAME,+        EntitySubType_TOBACCO_USE,+        EntitySubType_TREATMENT_NAME,+        EntitySubType_URL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EntitySubType = EntitySubType'+  { fromEntitySubType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern EntitySubType_ACUITY :: EntitySubType+pattern EntitySubType_ACUITY = EntitySubType' "ACUITY"++pattern EntitySubType_ADDRESS :: EntitySubType+pattern EntitySubType_ADDRESS = EntitySubType' "ADDRESS"++pattern EntitySubType_AGE :: EntitySubType+pattern EntitySubType_AGE = EntitySubType' "AGE"++pattern EntitySubType_ALCOHOL_CONSUMPTION :: EntitySubType+pattern EntitySubType_ALCOHOL_CONSUMPTION = EntitySubType' "ALCOHOL_CONSUMPTION"++pattern EntitySubType_ALLERGIES :: EntitySubType+pattern EntitySubType_ALLERGIES = EntitySubType' "ALLERGIES"++pattern EntitySubType_AMOUNT :: EntitySubType+pattern EntitySubType_AMOUNT = EntitySubType' "AMOUNT"++pattern EntitySubType_BRAND_NAME :: EntitySubType+pattern EntitySubType_BRAND_NAME = EntitySubType' "BRAND_NAME"++pattern EntitySubType_CONTACT_POINT :: EntitySubType+pattern EntitySubType_CONTACT_POINT = EntitySubType' "CONTACT_POINT"++pattern EntitySubType_DATE :: EntitySubType+pattern EntitySubType_DATE = EntitySubType' "DATE"++pattern EntitySubType_DIRECTION :: EntitySubType+pattern EntitySubType_DIRECTION = EntitySubType' "DIRECTION"++pattern EntitySubType_DOSAGE :: EntitySubType+pattern EntitySubType_DOSAGE = EntitySubType' "DOSAGE"++pattern EntitySubType_DURATION :: EntitySubType+pattern EntitySubType_DURATION = EntitySubType' "DURATION"++pattern EntitySubType_DX_NAME :: EntitySubType+pattern EntitySubType_DX_NAME = EntitySubType' "DX_NAME"++pattern EntitySubType_EMAIL :: EntitySubType+pattern EntitySubType_EMAIL = EntitySubType' "EMAIL"++pattern EntitySubType_FORM :: EntitySubType+pattern EntitySubType_FORM = EntitySubType' "FORM"++pattern EntitySubType_FREQUENCY :: EntitySubType+pattern EntitySubType_FREQUENCY = EntitySubType' "FREQUENCY"++pattern EntitySubType_GENDER :: EntitySubType+pattern EntitySubType_GENDER = EntitySubType' "GENDER"++pattern EntitySubType_GENERIC_NAME :: EntitySubType+pattern EntitySubType_GENERIC_NAME = EntitySubType' "GENERIC_NAME"++pattern EntitySubType_ID :: EntitySubType+pattern EntitySubType_ID = EntitySubType' "ID"++pattern EntitySubType_IDENTIFIER :: EntitySubType+pattern EntitySubType_IDENTIFIER = EntitySubType' "IDENTIFIER"++pattern EntitySubType_NAME :: EntitySubType+pattern EntitySubType_NAME = EntitySubType' "NAME"++pattern EntitySubType_PHONE_OR_FAX :: EntitySubType+pattern EntitySubType_PHONE_OR_FAX = EntitySubType' "PHONE_OR_FAX"++pattern EntitySubType_PROCEDURE_NAME :: EntitySubType+pattern EntitySubType_PROCEDURE_NAME = EntitySubType' "PROCEDURE_NAME"++pattern EntitySubType_PROFESSION :: EntitySubType+pattern EntitySubType_PROFESSION = EntitySubType' "PROFESSION"++pattern EntitySubType_QUALITY :: EntitySubType+pattern EntitySubType_QUALITY = EntitySubType' "QUALITY"++pattern EntitySubType_QUANTITY :: EntitySubType+pattern EntitySubType_QUANTITY = EntitySubType' "QUANTITY"++pattern EntitySubType_RACE_ETHNICITY :: EntitySubType+pattern EntitySubType_RACE_ETHNICITY = EntitySubType' "RACE_ETHNICITY"++pattern EntitySubType_RATE :: EntitySubType+pattern EntitySubType_RATE = EntitySubType' "RATE"++pattern EntitySubType_REC_DRUG_USE :: EntitySubType+pattern EntitySubType_REC_DRUG_USE = EntitySubType' "REC_DRUG_USE"++pattern EntitySubType_ROUTE_OR_MODE :: EntitySubType+pattern EntitySubType_ROUTE_OR_MODE = EntitySubType' "ROUTE_OR_MODE"++pattern EntitySubType_STRENGTH :: EntitySubType+pattern EntitySubType_STRENGTH = EntitySubType' "STRENGTH"++pattern EntitySubType_SYSTEM_ORGAN_SITE :: EntitySubType+pattern EntitySubType_SYSTEM_ORGAN_SITE = EntitySubType' "SYSTEM_ORGAN_SITE"++pattern EntitySubType_TEST_NAME :: EntitySubType+pattern EntitySubType_TEST_NAME = EntitySubType' "TEST_NAME"++pattern EntitySubType_TEST_UNIT :: EntitySubType+pattern EntitySubType_TEST_UNIT = EntitySubType' "TEST_UNIT"++pattern EntitySubType_TEST_UNITS :: EntitySubType+pattern EntitySubType_TEST_UNITS = EntitySubType' "TEST_UNITS"++pattern EntitySubType_TEST_VALUE :: EntitySubType+pattern EntitySubType_TEST_VALUE = EntitySubType' "TEST_VALUE"++pattern EntitySubType_TIME_EXPRESSION :: EntitySubType+pattern EntitySubType_TIME_EXPRESSION = EntitySubType' "TIME_EXPRESSION"++pattern EntitySubType_TIME_TO_DX_NAME :: EntitySubType+pattern EntitySubType_TIME_TO_DX_NAME = EntitySubType' "TIME_TO_DX_NAME"++pattern EntitySubType_TIME_TO_MEDICATION_NAME :: EntitySubType+pattern EntitySubType_TIME_TO_MEDICATION_NAME = EntitySubType' "TIME_TO_MEDICATION_NAME"++pattern EntitySubType_TIME_TO_PROCEDURE_NAME :: EntitySubType+pattern EntitySubType_TIME_TO_PROCEDURE_NAME = EntitySubType' "TIME_TO_PROCEDURE_NAME"++pattern EntitySubType_TIME_TO_TEST_NAME :: EntitySubType+pattern EntitySubType_TIME_TO_TEST_NAME = EntitySubType' "TIME_TO_TEST_NAME"++pattern EntitySubType_TIME_TO_TREATMENT_NAME :: EntitySubType+pattern EntitySubType_TIME_TO_TREATMENT_NAME = EntitySubType' "TIME_TO_TREATMENT_NAME"++pattern EntitySubType_TOBACCO_USE :: EntitySubType+pattern EntitySubType_TOBACCO_USE = EntitySubType' "TOBACCO_USE"++pattern EntitySubType_TREATMENT_NAME :: EntitySubType+pattern EntitySubType_TREATMENT_NAME = EntitySubType' "TREATMENT_NAME"++pattern EntitySubType_URL :: EntitySubType+pattern EntitySubType_URL = EntitySubType' "URL"++{-# COMPLETE+  EntitySubType_ACUITY,+  EntitySubType_ADDRESS,+  EntitySubType_AGE,+  EntitySubType_ALCOHOL_CONSUMPTION,+  EntitySubType_ALLERGIES,+  EntitySubType_AMOUNT,+  EntitySubType_BRAND_NAME,+  EntitySubType_CONTACT_POINT,+  EntitySubType_DATE,+  EntitySubType_DIRECTION,+  EntitySubType_DOSAGE,+  EntitySubType_DURATION,+  EntitySubType_DX_NAME,+  EntitySubType_EMAIL,+  EntitySubType_FORM,+  EntitySubType_FREQUENCY,+  EntitySubType_GENDER,+  EntitySubType_GENERIC_NAME,+  EntitySubType_ID,+  EntitySubType_IDENTIFIER,+  EntitySubType_NAME,+  EntitySubType_PHONE_OR_FAX,+  EntitySubType_PROCEDURE_NAME,+  EntitySubType_PROFESSION,+  EntitySubType_QUALITY,+  EntitySubType_QUANTITY,+  EntitySubType_RACE_ETHNICITY,+  EntitySubType_RATE,+  EntitySubType_REC_DRUG_USE,+  EntitySubType_ROUTE_OR_MODE,+  EntitySubType_STRENGTH,+  EntitySubType_SYSTEM_ORGAN_SITE,+  EntitySubType_TEST_NAME,+  EntitySubType_TEST_UNIT,+  EntitySubType_TEST_UNITS,+  EntitySubType_TEST_VALUE,+  EntitySubType_TIME_EXPRESSION,+  EntitySubType_TIME_TO_DX_NAME,+  EntitySubType_TIME_TO_MEDICATION_NAME,+  EntitySubType_TIME_TO_PROCEDURE_NAME,+  EntitySubType_TIME_TO_TEST_NAME,+  EntitySubType_TIME_TO_TREATMENT_NAME,+  EntitySubType_TOBACCO_USE,+  EntitySubType_TREATMENT_NAME,+  EntitySubType_URL,+  EntitySubType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/EntityType.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.EntityType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.EntityType+  ( EntityType+      ( ..,+        EntityType_ANATOMY,+        EntityType_BEHAVIORAL_ENVIRONMENTAL_SOCIAL,+        EntityType_MEDICAL_CONDITION,+        EntityType_MEDICATION,+        EntityType_PROTECTED_HEALTH_INFORMATION,+        EntityType_TEST_TREATMENT_PROCEDURE,+        EntityType_TIME_EXPRESSION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EntityType = EntityType'+  { fromEntityType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern EntityType_ANATOMY :: EntityType+pattern EntityType_ANATOMY = EntityType' "ANATOMY"++pattern EntityType_BEHAVIORAL_ENVIRONMENTAL_SOCIAL :: EntityType+pattern EntityType_BEHAVIORAL_ENVIRONMENTAL_SOCIAL = EntityType' "BEHAVIORAL_ENVIRONMENTAL_SOCIAL"++pattern EntityType_MEDICAL_CONDITION :: EntityType+pattern EntityType_MEDICAL_CONDITION = EntityType' "MEDICAL_CONDITION"++pattern EntityType_MEDICATION :: EntityType+pattern EntityType_MEDICATION = EntityType' "MEDICATION"++pattern EntityType_PROTECTED_HEALTH_INFORMATION :: EntityType+pattern EntityType_PROTECTED_HEALTH_INFORMATION = EntityType' "PROTECTED_HEALTH_INFORMATION"++pattern EntityType_TEST_TREATMENT_PROCEDURE :: EntityType+pattern EntityType_TEST_TREATMENT_PROCEDURE = EntityType' "TEST_TREATMENT_PROCEDURE"++pattern EntityType_TIME_EXPRESSION :: EntityType+pattern EntityType_TIME_EXPRESSION = EntityType' "TIME_EXPRESSION"++{-# COMPLETE+  EntityType_ANATOMY,+  EntityType_BEHAVIORAL_ENVIRONMENTAL_SOCIAL,+  EntityType_MEDICAL_CONDITION,+  EntityType_MEDICATION,+  EntityType_PROTECTED_HEALTH_INFORMATION,+  EntityType_TEST_TREATMENT_PROCEDURE,+  EntityType_TIME_EXPRESSION,+  EntityType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMAttribute.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMAttribute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMAttribute where++import Amazonka.ComprehendMedical.Types.ICD10CMAttributeType+import Amazonka.ComprehendMedical.Types.ICD10CMEntityType+import Amazonka.ComprehendMedical.Types.ICD10CMRelationshipType+import Amazonka.ComprehendMedical.Types.ICD10CMTrait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The detected attributes that relate to an entity. This includes an+-- extracted segment of the text that is an attribute of an entity, or+-- otherwise related to an entity. InferICD10CM detects the following+-- attributes: @Direction@, @System, Organ or Site@, and @Acuity@.+--+-- /See:/ 'newICD10CMAttribute' smart constructor.+data ICD10CMAttribute = ICD10CMAttribute'+  { -- | The 0-based character offset in the input text that shows where the+    -- attribute begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The category of attribute. Can be either of @DX_NAME@ or+    -- @TIME_EXPRESSION@.+    category :: Prelude.Maybe ICD10CMEntityType,+    -- | The 0-based character offset in the input text that shows where the+    -- attribute ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The numeric identifier for this attribute. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The level of confidence that Amazon Comprehend Medical has that this+    -- attribute is correctly related to this entity.+    relationshipScore :: Prelude.Maybe Prelude.Double,+    -- | The type of relationship between the entity and attribute. Type for the+    -- relationship can be either of @OVERLAP@ or @SYSTEM_ORGAN_SITE@.+    relationshipType :: Prelude.Maybe ICD10CMRelationshipType,+    -- | The level of confidence that Amazon Comprehend Medical has that the+    -- segment of text is correctly recognized as an attribute.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text which contains the detected attribute.+    text :: Prelude.Maybe Prelude.Text,+    -- | The contextual information for the attribute. The traits recognized by+    -- InferICD10CM are @DIAGNOSIS@, @SIGN@, @SYMPTOM@, and @NEGATION@.+    traits :: Prelude.Maybe [ICD10CMTrait],+    -- | The type of attribute. InferICD10CM detects entities of the type+    -- @DX_NAME@.+    type' :: Prelude.Maybe ICD10CMAttributeType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ICD10CMAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'beginOffset', 'iCD10CMAttribute_beginOffset' - The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+--+-- 'category', 'iCD10CMAttribute_category' - The category of attribute. Can be either of @DX_NAME@ or+-- @TIME_EXPRESSION@.+--+-- 'endOffset', 'iCD10CMAttribute_endOffset' - The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+--+-- 'id', 'iCD10CMAttribute_id' - The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'relationshipScore', 'iCD10CMAttribute_relationshipScore' - The level of confidence that Amazon Comprehend Medical has that this+-- attribute is correctly related to this entity.+--+-- 'relationshipType', 'iCD10CMAttribute_relationshipType' - The type of relationship between the entity and attribute. Type for the+-- relationship can be either of @OVERLAP@ or @SYSTEM_ORGAN_SITE@.+--+-- 'score', 'iCD10CMAttribute_score' - The level of confidence that Amazon Comprehend Medical has that the+-- segment of text is correctly recognized as an attribute.+--+-- 'text', 'iCD10CMAttribute_text' - The segment of input text which contains the detected attribute.+--+-- 'traits', 'iCD10CMAttribute_traits' - The contextual information for the attribute. The traits recognized by+-- InferICD10CM are @DIAGNOSIS@, @SIGN@, @SYMPTOM@, and @NEGATION@.+--+-- 'type'', 'iCD10CMAttribute_type' - The type of attribute. InferICD10CM detects entities of the type+-- @DX_NAME@.+newICD10CMAttribute ::+  ICD10CMAttribute+newICD10CMAttribute =+  ICD10CMAttribute'+    { beginOffset = Prelude.Nothing,+      category = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      id = Prelude.Nothing,+      relationshipScore = Prelude.Nothing,+      relationshipType = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+iCD10CMAttribute_beginOffset :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe Prelude.Int)+iCD10CMAttribute_beginOffset = Lens.lens (\ICD10CMAttribute' {beginOffset} -> beginOffset) (\s@ICD10CMAttribute' {} a -> s {beginOffset = a} :: ICD10CMAttribute)++-- | The category of attribute. Can be either of @DX_NAME@ or+-- @TIME_EXPRESSION@.+iCD10CMAttribute_category :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe ICD10CMEntityType)+iCD10CMAttribute_category = Lens.lens (\ICD10CMAttribute' {category} -> category) (\s@ICD10CMAttribute' {} a -> s {category = a} :: ICD10CMAttribute)++-- | The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+iCD10CMAttribute_endOffset :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe Prelude.Int)+iCD10CMAttribute_endOffset = Lens.lens (\ICD10CMAttribute' {endOffset} -> endOffset) (\s@ICD10CMAttribute' {} a -> s {endOffset = a} :: ICD10CMAttribute)++-- | The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+iCD10CMAttribute_id :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe Prelude.Int)+iCD10CMAttribute_id = Lens.lens (\ICD10CMAttribute' {id} -> id) (\s@ICD10CMAttribute' {} a -> s {id = a} :: ICD10CMAttribute)++-- | The level of confidence that Amazon Comprehend Medical has that this+-- attribute is correctly related to this entity.+iCD10CMAttribute_relationshipScore :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe Prelude.Double)+iCD10CMAttribute_relationshipScore = Lens.lens (\ICD10CMAttribute' {relationshipScore} -> relationshipScore) (\s@ICD10CMAttribute' {} a -> s {relationshipScore = a} :: ICD10CMAttribute)++-- | The type of relationship between the entity and attribute. Type for the+-- relationship can be either of @OVERLAP@ or @SYSTEM_ORGAN_SITE@.+iCD10CMAttribute_relationshipType :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe ICD10CMRelationshipType)+iCD10CMAttribute_relationshipType = Lens.lens (\ICD10CMAttribute' {relationshipType} -> relationshipType) (\s@ICD10CMAttribute' {} a -> s {relationshipType = a} :: ICD10CMAttribute)++-- | The level of confidence that Amazon Comprehend Medical has that the+-- segment of text is correctly recognized as an attribute.+iCD10CMAttribute_score :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe Prelude.Double)+iCD10CMAttribute_score = Lens.lens (\ICD10CMAttribute' {score} -> score) (\s@ICD10CMAttribute' {} a -> s {score = a} :: ICD10CMAttribute)++-- | The segment of input text which contains the detected attribute.+iCD10CMAttribute_text :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe Prelude.Text)+iCD10CMAttribute_text = Lens.lens (\ICD10CMAttribute' {text} -> text) (\s@ICD10CMAttribute' {} a -> s {text = a} :: ICD10CMAttribute)++-- | The contextual information for the attribute. The traits recognized by+-- InferICD10CM are @DIAGNOSIS@, @SIGN@, @SYMPTOM@, and @NEGATION@.+iCD10CMAttribute_traits :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe [ICD10CMTrait])+iCD10CMAttribute_traits = Lens.lens (\ICD10CMAttribute' {traits} -> traits) (\s@ICD10CMAttribute' {} a -> s {traits = a} :: ICD10CMAttribute) Prelude.. Lens.mapping Lens.coerced++-- | The type of attribute. InferICD10CM detects entities of the type+-- @DX_NAME@.+iCD10CMAttribute_type :: Lens.Lens' ICD10CMAttribute (Prelude.Maybe ICD10CMAttributeType)+iCD10CMAttribute_type = Lens.lens (\ICD10CMAttribute' {type'} -> type') (\s@ICD10CMAttribute' {} a -> s {type' = a} :: ICD10CMAttribute)++instance Data.FromJSON ICD10CMAttribute where+  parseJSON =+    Data.withObject+      "ICD10CMAttribute"+      ( \x ->+          ICD10CMAttribute'+            Prelude.<$> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "Category")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "RelationshipScore")+            Prelude.<*> (x Data..:? "RelationshipType")+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ICD10CMAttribute where+  hashWithSalt _salt ICD10CMAttribute' {..} =+    _salt+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` relationshipScore+      `Prelude.hashWithSalt` relationshipType+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ICD10CMAttribute where+  rnf ICD10CMAttribute' {..} =+    Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf relationshipScore+      `Prelude.seq` Prelude.rnf relationshipType+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMAttributeType.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMAttributeType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMAttributeType+  ( ICD10CMAttributeType+      ( ..,+        ICD10CMAttributeType_ACUITY,+        ICD10CMAttributeType_DIRECTION,+        ICD10CMAttributeType_QUALITY,+        ICD10CMAttributeType_QUANTITY,+        ICD10CMAttributeType_SYSTEM_ORGAN_SITE,+        ICD10CMAttributeType_TIME_EXPRESSION,+        ICD10CMAttributeType_TIME_TO_DX_NAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ICD10CMAttributeType = ICD10CMAttributeType'+  { fromICD10CMAttributeType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ICD10CMAttributeType_ACUITY :: ICD10CMAttributeType+pattern ICD10CMAttributeType_ACUITY = ICD10CMAttributeType' "ACUITY"++pattern ICD10CMAttributeType_DIRECTION :: ICD10CMAttributeType+pattern ICD10CMAttributeType_DIRECTION = ICD10CMAttributeType' "DIRECTION"++pattern ICD10CMAttributeType_QUALITY :: ICD10CMAttributeType+pattern ICD10CMAttributeType_QUALITY = ICD10CMAttributeType' "QUALITY"++pattern ICD10CMAttributeType_QUANTITY :: ICD10CMAttributeType+pattern ICD10CMAttributeType_QUANTITY = ICD10CMAttributeType' "QUANTITY"++pattern ICD10CMAttributeType_SYSTEM_ORGAN_SITE :: ICD10CMAttributeType+pattern ICD10CMAttributeType_SYSTEM_ORGAN_SITE = ICD10CMAttributeType' "SYSTEM_ORGAN_SITE"++pattern ICD10CMAttributeType_TIME_EXPRESSION :: ICD10CMAttributeType+pattern ICD10CMAttributeType_TIME_EXPRESSION = ICD10CMAttributeType' "TIME_EXPRESSION"++pattern ICD10CMAttributeType_TIME_TO_DX_NAME :: ICD10CMAttributeType+pattern ICD10CMAttributeType_TIME_TO_DX_NAME = ICD10CMAttributeType' "TIME_TO_DX_NAME"++{-# COMPLETE+  ICD10CMAttributeType_ACUITY,+  ICD10CMAttributeType_DIRECTION,+  ICD10CMAttributeType_QUALITY,+  ICD10CMAttributeType_QUANTITY,+  ICD10CMAttributeType_SYSTEM_ORGAN_SITE,+  ICD10CMAttributeType_TIME_EXPRESSION,+  ICD10CMAttributeType_TIME_TO_DX_NAME,+  ICD10CMAttributeType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMConcept.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMConcept+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMConcept where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The ICD-10-CM concepts that the entity could refer to, along with a+-- score indicating the likelihood of the match.+--+-- /See:/ 'newICD10CMConcept' smart constructor.+data ICD10CMConcept = ICD10CMConcept'+  { -- | The ICD-10-CM code that identifies the concept found in the knowledge+    -- base from the Centers for Disease Control.+    code :: Prelude.Maybe Prelude.Text,+    -- | The long description of the ICD-10-CM code in the ontology.+    description :: Prelude.Maybe Prelude.Text,+    -- | The level of confidence that Amazon Comprehend Medical has that the+    -- entity is accurately linked to an ICD-10-CM concept.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ICD10CMConcept' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'iCD10CMConcept_code' - The ICD-10-CM code that identifies the concept found in the knowledge+-- base from the Centers for Disease Control.+--+-- 'description', 'iCD10CMConcept_description' - The long description of the ICD-10-CM code in the ontology.+--+-- 'score', 'iCD10CMConcept_score' - The level of confidence that Amazon Comprehend Medical has that the+-- entity is accurately linked to an ICD-10-CM concept.+newICD10CMConcept ::+  ICD10CMConcept+newICD10CMConcept =+  ICD10CMConcept'+    { code = Prelude.Nothing,+      description = Prelude.Nothing,+      score = Prelude.Nothing+    }++-- | The ICD-10-CM code that identifies the concept found in the knowledge+-- base from the Centers for Disease Control.+iCD10CMConcept_code :: Lens.Lens' ICD10CMConcept (Prelude.Maybe Prelude.Text)+iCD10CMConcept_code = Lens.lens (\ICD10CMConcept' {code} -> code) (\s@ICD10CMConcept' {} a -> s {code = a} :: ICD10CMConcept)++-- | The long description of the ICD-10-CM code in the ontology.+iCD10CMConcept_description :: Lens.Lens' ICD10CMConcept (Prelude.Maybe Prelude.Text)+iCD10CMConcept_description = Lens.lens (\ICD10CMConcept' {description} -> description) (\s@ICD10CMConcept' {} a -> s {description = a} :: ICD10CMConcept)++-- | The level of confidence that Amazon Comprehend Medical has that the+-- entity is accurately linked to an ICD-10-CM concept.+iCD10CMConcept_score :: Lens.Lens' ICD10CMConcept (Prelude.Maybe Prelude.Double)+iCD10CMConcept_score = Lens.lens (\ICD10CMConcept' {score} -> score) (\s@ICD10CMConcept' {} a -> s {score = a} :: ICD10CMConcept)++instance Data.FromJSON ICD10CMConcept where+  parseJSON =+    Data.withObject+      "ICD10CMConcept"+      ( \x ->+          ICD10CMConcept'+            Prelude.<$> (x Data..:? "Code")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Score")+      )++instance Prelude.Hashable ICD10CMConcept where+  hashWithSalt _salt ICD10CMConcept' {..} =+    _salt+      `Prelude.hashWithSalt` code+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` score++instance Prelude.NFData ICD10CMConcept where+  rnf ICD10CMConcept' {..} =+    Prelude.rnf code+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMEntity.hs view
@@ -0,0 +1,229 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMEntity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMEntity where++import Amazonka.ComprehendMedical.Types.ICD10CMAttribute+import Amazonka.ComprehendMedical.Types.ICD10CMConcept+import Amazonka.ComprehendMedical.Types.ICD10CMEntityCategory+import Amazonka.ComprehendMedical.Types.ICD10CMEntityType+import Amazonka.ComprehendMedical.Types.ICD10CMTrait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The collection of medical entities extracted from the input text and+-- their associated information. For each entity, the response provides the+-- entity text, the entity category, where the entity text begins and ends,+-- and the level of confidence that Amazon Comprehend Medical has in the+-- detection and analysis. Attributes and traits of the entity are also+-- returned.+--+-- /See:/ 'newICD10CMEntity' smart constructor.+data ICD10CMEntity = ICD10CMEntity'+  { -- | The detected attributes that relate to the entity. An extracted segment+    -- of the text that is an attribute of an entity, or otherwise related to+    -- an entity, such as the nature of a medical condition.+    attributes :: Prelude.Maybe [ICD10CMAttribute],+    -- | The 0-based character offset in the input text that shows where the+    -- entity begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The category of the entity. InferICD10CM detects entities in the+    -- @MEDICAL_CONDITION@ category.+    category :: Prelude.Maybe ICD10CMEntityCategory,+    -- | The 0-based character offset in the input text that shows where the+    -- entity ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The ICD-10-CM concepts that the entity could refer to, along with a+    -- score indicating the likelihood of the match.+    iCD10CMConcepts :: Prelude.Maybe [ICD10CMConcept],+    -- | The numeric identifier for the entity. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The level of confidence that Amazon Comprehend Medical has in the+    -- accuracy of the detection.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text that is matched to the detected entity.+    text :: Prelude.Maybe Prelude.Text,+    -- | Provides Contextual information for the entity. The traits recognized by+    -- InferICD10CM are @DIAGNOSIS@, @SIGN@, @SYMPTOM@, and @NEGATION.@+    traits :: Prelude.Maybe [ICD10CMTrait],+    -- | Describes the specific type of entity with category of entities.+    -- InferICD10CM detects entities of the type @DX_NAME@ and+    -- @TIME_EXPRESSION@.+    type' :: Prelude.Maybe ICD10CMEntityType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ICD10CMEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'iCD10CMEntity_attributes' - The detected attributes that relate to the entity. An extracted segment+-- of the text that is an attribute of an entity, or otherwise related to+-- an entity, such as the nature of a medical condition.+--+-- 'beginOffset', 'iCD10CMEntity_beginOffset' - The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+--+-- 'category', 'iCD10CMEntity_category' - The category of the entity. InferICD10CM detects entities in the+-- @MEDICAL_CONDITION@ category.+--+-- 'endOffset', 'iCD10CMEntity_endOffset' - The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+--+-- 'iCD10CMConcepts', 'iCD10CMEntity_iCD10CMConcepts' - The ICD-10-CM concepts that the entity could refer to, along with a+-- score indicating the likelihood of the match.+--+-- 'id', 'iCD10CMEntity_id' - The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'score', 'iCD10CMEntity_score' - The level of confidence that Amazon Comprehend Medical has in the+-- accuracy of the detection.+--+-- 'text', 'iCD10CMEntity_text' - The segment of input text that is matched to the detected entity.+--+-- 'traits', 'iCD10CMEntity_traits' - Provides Contextual information for the entity. The traits recognized by+-- InferICD10CM are @DIAGNOSIS@, @SIGN@, @SYMPTOM@, and @NEGATION.@+--+-- 'type'', 'iCD10CMEntity_type' - Describes the specific type of entity with category of entities.+-- InferICD10CM detects entities of the type @DX_NAME@ and+-- @TIME_EXPRESSION@.+newICD10CMEntity ::+  ICD10CMEntity+newICD10CMEntity =+  ICD10CMEntity'+    { attributes = Prelude.Nothing,+      beginOffset = Prelude.Nothing,+      category = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      iCD10CMConcepts = Prelude.Nothing,+      id = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The detected attributes that relate to the entity. An extracted segment+-- of the text that is an attribute of an entity, or otherwise related to+-- an entity, such as the nature of a medical condition.+iCD10CMEntity_attributes :: Lens.Lens' ICD10CMEntity (Prelude.Maybe [ICD10CMAttribute])+iCD10CMEntity_attributes = Lens.lens (\ICD10CMEntity' {attributes} -> attributes) (\s@ICD10CMEntity' {} a -> s {attributes = a} :: ICD10CMEntity) Prelude.. Lens.mapping Lens.coerced++-- | The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+iCD10CMEntity_beginOffset :: Lens.Lens' ICD10CMEntity (Prelude.Maybe Prelude.Int)+iCD10CMEntity_beginOffset = Lens.lens (\ICD10CMEntity' {beginOffset} -> beginOffset) (\s@ICD10CMEntity' {} a -> s {beginOffset = a} :: ICD10CMEntity)++-- | The category of the entity. InferICD10CM detects entities in the+-- @MEDICAL_CONDITION@ category.+iCD10CMEntity_category :: Lens.Lens' ICD10CMEntity (Prelude.Maybe ICD10CMEntityCategory)+iCD10CMEntity_category = Lens.lens (\ICD10CMEntity' {category} -> category) (\s@ICD10CMEntity' {} a -> s {category = a} :: ICD10CMEntity)++-- | The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+iCD10CMEntity_endOffset :: Lens.Lens' ICD10CMEntity (Prelude.Maybe Prelude.Int)+iCD10CMEntity_endOffset = Lens.lens (\ICD10CMEntity' {endOffset} -> endOffset) (\s@ICD10CMEntity' {} a -> s {endOffset = a} :: ICD10CMEntity)++-- | The ICD-10-CM concepts that the entity could refer to, along with a+-- score indicating the likelihood of the match.+iCD10CMEntity_iCD10CMConcepts :: Lens.Lens' ICD10CMEntity (Prelude.Maybe [ICD10CMConcept])+iCD10CMEntity_iCD10CMConcepts = Lens.lens (\ICD10CMEntity' {iCD10CMConcepts} -> iCD10CMConcepts) (\s@ICD10CMEntity' {} a -> s {iCD10CMConcepts = a} :: ICD10CMEntity) Prelude.. Lens.mapping Lens.coerced++-- | The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+iCD10CMEntity_id :: Lens.Lens' ICD10CMEntity (Prelude.Maybe Prelude.Int)+iCD10CMEntity_id = Lens.lens (\ICD10CMEntity' {id} -> id) (\s@ICD10CMEntity' {} a -> s {id = a} :: ICD10CMEntity)++-- | The level of confidence that Amazon Comprehend Medical has in the+-- accuracy of the detection.+iCD10CMEntity_score :: Lens.Lens' ICD10CMEntity (Prelude.Maybe Prelude.Double)+iCD10CMEntity_score = Lens.lens (\ICD10CMEntity' {score} -> score) (\s@ICD10CMEntity' {} a -> s {score = a} :: ICD10CMEntity)++-- | The segment of input text that is matched to the detected entity.+iCD10CMEntity_text :: Lens.Lens' ICD10CMEntity (Prelude.Maybe Prelude.Text)+iCD10CMEntity_text = Lens.lens (\ICD10CMEntity' {text} -> text) (\s@ICD10CMEntity' {} a -> s {text = a} :: ICD10CMEntity)++-- | Provides Contextual information for the entity. The traits recognized by+-- InferICD10CM are @DIAGNOSIS@, @SIGN@, @SYMPTOM@, and @NEGATION.@+iCD10CMEntity_traits :: Lens.Lens' ICD10CMEntity (Prelude.Maybe [ICD10CMTrait])+iCD10CMEntity_traits = Lens.lens (\ICD10CMEntity' {traits} -> traits) (\s@ICD10CMEntity' {} a -> s {traits = a} :: ICD10CMEntity) Prelude.. Lens.mapping Lens.coerced++-- | Describes the specific type of entity with category of entities.+-- InferICD10CM detects entities of the type @DX_NAME@ and+-- @TIME_EXPRESSION@.+iCD10CMEntity_type :: Lens.Lens' ICD10CMEntity (Prelude.Maybe ICD10CMEntityType)+iCD10CMEntity_type = Lens.lens (\ICD10CMEntity' {type'} -> type') (\s@ICD10CMEntity' {} a -> s {type' = a} :: ICD10CMEntity)++instance Data.FromJSON ICD10CMEntity where+  parseJSON =+    Data.withObject+      "ICD10CMEntity"+      ( \x ->+          ICD10CMEntity'+            Prelude.<$> (x Data..:? "Attributes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "Category")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> ( x+                            Data..:? "ICD10CMConcepts"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ICD10CMEntity where+  hashWithSalt _salt ICD10CMEntity' {..} =+    _salt+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` iCD10CMConcepts+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ICD10CMEntity where+  rnf ICD10CMEntity' {..} =+    Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf iCD10CMConcepts+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMEntityCategory.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMEntityCategory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMEntityCategory+  ( ICD10CMEntityCategory+      ( ..,+        ICD10CMEntityCategory_MEDICAL_CONDITION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ICD10CMEntityCategory = ICD10CMEntityCategory'+  { fromICD10CMEntityCategory ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ICD10CMEntityCategory_MEDICAL_CONDITION :: ICD10CMEntityCategory+pattern ICD10CMEntityCategory_MEDICAL_CONDITION = ICD10CMEntityCategory' "MEDICAL_CONDITION"++{-# COMPLETE+  ICD10CMEntityCategory_MEDICAL_CONDITION,+  ICD10CMEntityCategory'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMEntityType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMEntityType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMEntityType+  ( ICD10CMEntityType+      ( ..,+        ICD10CMEntityType_DX_NAME,+        ICD10CMEntityType_TIME_EXPRESSION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ICD10CMEntityType = ICD10CMEntityType'+  { fromICD10CMEntityType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ICD10CMEntityType_DX_NAME :: ICD10CMEntityType+pattern ICD10CMEntityType_DX_NAME = ICD10CMEntityType' "DX_NAME"++pattern ICD10CMEntityType_TIME_EXPRESSION :: ICD10CMEntityType+pattern ICD10CMEntityType_TIME_EXPRESSION = ICD10CMEntityType' "TIME_EXPRESSION"++{-# COMPLETE+  ICD10CMEntityType_DX_NAME,+  ICD10CMEntityType_TIME_EXPRESSION,+  ICD10CMEntityType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMRelationshipType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMRelationshipType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMRelationshipType+  ( ICD10CMRelationshipType+      ( ..,+        ICD10CMRelationshipType_OVERLAP,+        ICD10CMRelationshipType_SYSTEM_ORGAN_SITE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ICD10CMRelationshipType = ICD10CMRelationshipType'+  { fromICD10CMRelationshipType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ICD10CMRelationshipType_OVERLAP :: ICD10CMRelationshipType+pattern ICD10CMRelationshipType_OVERLAP = ICD10CMRelationshipType' "OVERLAP"++pattern ICD10CMRelationshipType_SYSTEM_ORGAN_SITE :: ICD10CMRelationshipType+pattern ICD10CMRelationshipType_SYSTEM_ORGAN_SITE = ICD10CMRelationshipType' "SYSTEM_ORGAN_SITE"++{-# COMPLETE+  ICD10CMRelationshipType_OVERLAP,+  ICD10CMRelationshipType_SYSTEM_ORGAN_SITE,+  ICD10CMRelationshipType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMTrait.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMTrait+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMTrait where++import Amazonka.ComprehendMedical.Types.ICD10CMTraitName+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contextual information for the entity. The traits recognized by+-- InferICD10CM are @DIAGNOSIS@, @SIGN@, @SYMPTOM@, and @NEGATION@.+--+-- /See:/ 'newICD10CMTrait' smart constructor.+data ICD10CMTrait = ICD10CMTrait'+  { -- | Provides a name or contextual description about the trait.+    name :: Prelude.Maybe ICD10CMTraitName,+    -- | The level of confidence that Comprehend Medical; has that the segment of+    -- text is correctly recognized as a trait.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ICD10CMTrait' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'iCD10CMTrait_name' - Provides a name or contextual description about the trait.+--+-- 'score', 'iCD10CMTrait_score' - The level of confidence that Comprehend Medical; has that the segment of+-- text is correctly recognized as a trait.+newICD10CMTrait ::+  ICD10CMTrait+newICD10CMTrait =+  ICD10CMTrait'+    { name = Prelude.Nothing,+      score = Prelude.Nothing+    }++-- | Provides a name or contextual description about the trait.+iCD10CMTrait_name :: Lens.Lens' ICD10CMTrait (Prelude.Maybe ICD10CMTraitName)+iCD10CMTrait_name = Lens.lens (\ICD10CMTrait' {name} -> name) (\s@ICD10CMTrait' {} a -> s {name = a} :: ICD10CMTrait)++-- | The level of confidence that Comprehend Medical; has that the segment of+-- text is correctly recognized as a trait.+iCD10CMTrait_score :: Lens.Lens' ICD10CMTrait (Prelude.Maybe Prelude.Double)+iCD10CMTrait_score = Lens.lens (\ICD10CMTrait' {score} -> score) (\s@ICD10CMTrait' {} a -> s {score = a} :: ICD10CMTrait)++instance Data.FromJSON ICD10CMTrait where+  parseJSON =+    Data.withObject+      "ICD10CMTrait"+      ( \x ->+          ICD10CMTrait'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Score")+      )++instance Prelude.Hashable ICD10CMTrait where+  hashWithSalt _salt ICD10CMTrait' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` score++instance Prelude.NFData ICD10CMTrait where+  rnf ICD10CMTrait' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/ComprehendMedical/Types/ICD10CMTraitName.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.ICD10CMTraitName+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.ICD10CMTraitName+  ( ICD10CMTraitName+      ( ..,+        ICD10CMTraitName_DIAGNOSIS,+        ICD10CMTraitName_HYPOTHETICAL,+        ICD10CMTraitName_LOW_CONFIDENCE,+        ICD10CMTraitName_NEGATION,+        ICD10CMTraitName_PERTAINS_TO_FAMILY,+        ICD10CMTraitName_SIGN,+        ICD10CMTraitName_SYMPTOM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ICD10CMTraitName = ICD10CMTraitName'+  { fromICD10CMTraitName ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ICD10CMTraitName_DIAGNOSIS :: ICD10CMTraitName+pattern ICD10CMTraitName_DIAGNOSIS = ICD10CMTraitName' "DIAGNOSIS"++pattern ICD10CMTraitName_HYPOTHETICAL :: ICD10CMTraitName+pattern ICD10CMTraitName_HYPOTHETICAL = ICD10CMTraitName' "HYPOTHETICAL"++pattern ICD10CMTraitName_LOW_CONFIDENCE :: ICD10CMTraitName+pattern ICD10CMTraitName_LOW_CONFIDENCE = ICD10CMTraitName' "LOW_CONFIDENCE"++pattern ICD10CMTraitName_NEGATION :: ICD10CMTraitName+pattern ICD10CMTraitName_NEGATION = ICD10CMTraitName' "NEGATION"++pattern ICD10CMTraitName_PERTAINS_TO_FAMILY :: ICD10CMTraitName+pattern ICD10CMTraitName_PERTAINS_TO_FAMILY = ICD10CMTraitName' "PERTAINS_TO_FAMILY"++pattern ICD10CMTraitName_SIGN :: ICD10CMTraitName+pattern ICD10CMTraitName_SIGN = ICD10CMTraitName' "SIGN"++pattern ICD10CMTraitName_SYMPTOM :: ICD10CMTraitName+pattern ICD10CMTraitName_SYMPTOM = ICD10CMTraitName' "SYMPTOM"++{-# COMPLETE+  ICD10CMTraitName_DIAGNOSIS,+  ICD10CMTraitName_HYPOTHETICAL,+  ICD10CMTraitName_LOW_CONFIDENCE,+  ICD10CMTraitName_NEGATION,+  ICD10CMTraitName_PERTAINS_TO_FAMILY,+  ICD10CMTraitName_SIGN,+  ICD10CMTraitName_SYMPTOM,+  ICD10CMTraitName'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/InputDataConfig.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.InputDataConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.InputDataConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The input properties for an entities detection job. This includes the+-- name of the S3 bucket and the path to the files to be analyzed.+--+-- /See:/ 'newInputDataConfig' smart constructor.+data InputDataConfig = InputDataConfig'+  { -- | The path to the input data files in the S3 bucket.+    s3Key :: Prelude.Maybe Prelude.Text,+    -- | The URI of the S3 bucket that contains the input data. The bucket must+    -- be in the same region as the API endpoint that you are calling.+    --+    -- Each file in the document collection must be less than 40 KB. You can+    -- store a maximum of 30 GB in the bucket.+    s3Bucket :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputDataConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Key', 'inputDataConfig_s3Key' - The path to the input data files in the S3 bucket.+--+-- 's3Bucket', 'inputDataConfig_s3Bucket' - The URI of the S3 bucket that contains the input data. The bucket must+-- be in the same region as the API endpoint that you are calling.+--+-- Each file in the document collection must be less than 40 KB. You can+-- store a maximum of 30 GB in the bucket.+newInputDataConfig ::+  -- | 's3Bucket'+  Prelude.Text ->+  InputDataConfig+newInputDataConfig pS3Bucket_ =+  InputDataConfig'+    { s3Key = Prelude.Nothing,+      s3Bucket = pS3Bucket_+    }++-- | The path to the input data files in the S3 bucket.+inputDataConfig_s3Key :: Lens.Lens' InputDataConfig (Prelude.Maybe Prelude.Text)+inputDataConfig_s3Key = Lens.lens (\InputDataConfig' {s3Key} -> s3Key) (\s@InputDataConfig' {} a -> s {s3Key = a} :: InputDataConfig)++-- | The URI of the S3 bucket that contains the input data. The bucket must+-- be in the same region as the API endpoint that you are calling.+--+-- Each file in the document collection must be less than 40 KB. You can+-- store a maximum of 30 GB in the bucket.+inputDataConfig_s3Bucket :: Lens.Lens' InputDataConfig Prelude.Text+inputDataConfig_s3Bucket = Lens.lens (\InputDataConfig' {s3Bucket} -> s3Bucket) (\s@InputDataConfig' {} a -> s {s3Bucket = a} :: InputDataConfig)++instance Data.FromJSON InputDataConfig where+  parseJSON =+    Data.withObject+      "InputDataConfig"+      ( \x ->+          InputDataConfig'+            Prelude.<$> (x Data..:? "S3Key")+            Prelude.<*> (x Data..: "S3Bucket")+      )++instance Prelude.Hashable InputDataConfig where+  hashWithSalt _salt InputDataConfig' {..} =+    _salt+      `Prelude.hashWithSalt` s3Key+      `Prelude.hashWithSalt` s3Bucket++instance Prelude.NFData InputDataConfig where+  rnf InputDataConfig' {..} =+    Prelude.rnf s3Key+      `Prelude.seq` Prelude.rnf s3Bucket++instance Data.ToJSON InputDataConfig where+  toJSON InputDataConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("S3Key" Data..=) Prelude.<$> s3Key,+            Prelude.Just ("S3Bucket" Data..= s3Bucket)+          ]+      )
+ gen/Amazonka/ComprehendMedical/Types/JobStatus.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.JobStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.JobStatus+  ( JobStatus+      ( ..,+        JobStatus_COMPLETED,+        JobStatus_FAILED,+        JobStatus_IN_PROGRESS,+        JobStatus_PARTIAL_SUCCESS,+        JobStatus_STOPPED,+        JobStatus_STOP_REQUESTED,+        JobStatus_SUBMITTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobStatus = JobStatus'+  { fromJobStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern JobStatus_COMPLETED :: JobStatus+pattern JobStatus_COMPLETED = JobStatus' "COMPLETED"++pattern JobStatus_FAILED :: JobStatus+pattern JobStatus_FAILED = JobStatus' "FAILED"++pattern JobStatus_IN_PROGRESS :: JobStatus+pattern JobStatus_IN_PROGRESS = JobStatus' "IN_PROGRESS"++pattern JobStatus_PARTIAL_SUCCESS :: JobStatus+pattern JobStatus_PARTIAL_SUCCESS = JobStatus' "PARTIAL_SUCCESS"++pattern JobStatus_STOPPED :: JobStatus+pattern JobStatus_STOPPED = JobStatus' "STOPPED"++pattern JobStatus_STOP_REQUESTED :: JobStatus+pattern JobStatus_STOP_REQUESTED = JobStatus' "STOP_REQUESTED"++pattern JobStatus_SUBMITTED :: JobStatus+pattern JobStatus_SUBMITTED = JobStatus' "SUBMITTED"++{-# COMPLETE+  JobStatus_COMPLETED,+  JobStatus_FAILED,+  JobStatus_IN_PROGRESS,+  JobStatus_PARTIAL_SUCCESS,+  JobStatus_STOPPED,+  JobStatus_STOP_REQUESTED,+  JobStatus_SUBMITTED,+  JobStatus'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/LanguageCode.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.LanguageCode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.LanguageCode+  ( LanguageCode+      ( ..,+        LanguageCode_En+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LanguageCode = LanguageCode'+  { fromLanguageCode ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern LanguageCode_En :: LanguageCode+pattern LanguageCode_En = LanguageCode' "en"++{-# COMPLETE+  LanguageCode_En,+  LanguageCode'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/OutputDataConfig.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.OutputDataConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.OutputDataConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The output properties for a detection job.+--+-- /See:/ 'newOutputDataConfig' smart constructor.+data OutputDataConfig = OutputDataConfig'+  { -- | The path to the output data files in the S3 bucket. Comprehend Medical;+    -- creates an output directory using the job ID so that the output from one+    -- job does not overwrite the output of another.+    s3Key :: Prelude.Maybe Prelude.Text,+    -- | When you use the @OutputDataConfig@ object with asynchronous operations,+    -- you specify the Amazon S3 location where you want to write the output+    -- data. The URI must be in the same region as the API endpoint that you+    -- are calling. The location is used as the prefix for the actual location+    -- of the output.+    s3Bucket :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputDataConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Key', 'outputDataConfig_s3Key' - The path to the output data files in the S3 bucket. Comprehend Medical;+-- creates an output directory using the job ID so that the output from one+-- job does not overwrite the output of another.+--+-- 's3Bucket', 'outputDataConfig_s3Bucket' - When you use the @OutputDataConfig@ object with asynchronous operations,+-- you specify the Amazon S3 location where you want to write the output+-- data. The URI must be in the same region as the API endpoint that you+-- are calling. The location is used as the prefix for the actual location+-- of the output.+newOutputDataConfig ::+  -- | 's3Bucket'+  Prelude.Text ->+  OutputDataConfig+newOutputDataConfig pS3Bucket_ =+  OutputDataConfig'+    { s3Key = Prelude.Nothing,+      s3Bucket = pS3Bucket_+    }++-- | The path to the output data files in the S3 bucket. Comprehend Medical;+-- creates an output directory using the job ID so that the output from one+-- job does not overwrite the output of another.+outputDataConfig_s3Key :: Lens.Lens' OutputDataConfig (Prelude.Maybe Prelude.Text)+outputDataConfig_s3Key = Lens.lens (\OutputDataConfig' {s3Key} -> s3Key) (\s@OutputDataConfig' {} a -> s {s3Key = a} :: OutputDataConfig)++-- | When you use the @OutputDataConfig@ object with asynchronous operations,+-- you specify the Amazon S3 location where you want to write the output+-- data. The URI must be in the same region as the API endpoint that you+-- are calling. The location is used as the prefix for the actual location+-- of the output.+outputDataConfig_s3Bucket :: Lens.Lens' OutputDataConfig Prelude.Text+outputDataConfig_s3Bucket = Lens.lens (\OutputDataConfig' {s3Bucket} -> s3Bucket) (\s@OutputDataConfig' {} a -> s {s3Bucket = a} :: OutputDataConfig)++instance Data.FromJSON OutputDataConfig where+  parseJSON =+    Data.withObject+      "OutputDataConfig"+      ( \x ->+          OutputDataConfig'+            Prelude.<$> (x Data..:? "S3Key")+            Prelude.<*> (x Data..: "S3Bucket")+      )++instance Prelude.Hashable OutputDataConfig where+  hashWithSalt _salt OutputDataConfig' {..} =+    _salt+      `Prelude.hashWithSalt` s3Key+      `Prelude.hashWithSalt` s3Bucket++instance Prelude.NFData OutputDataConfig where+  rnf OutputDataConfig' {..} =+    Prelude.rnf s3Key+      `Prelude.seq` Prelude.rnf s3Bucket++instance Data.ToJSON OutputDataConfig where+  toJSON OutputDataConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("S3Key" Data..=) Prelude.<$> s3Key,+            Prelude.Just ("S3Bucket" Data..= s3Bucket)+          ]+      )
+ gen/Amazonka/ComprehendMedical/Types/RelationshipType.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RelationshipType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RelationshipType+  ( RelationshipType+      ( ..,+        RelationshipType_ACUITY,+        RelationshipType_ADMINISTERED_VIA,+        RelationshipType_AMOUNT,+        RelationshipType_DIRECTION,+        RelationshipType_DOSAGE,+        RelationshipType_DURATION,+        RelationshipType_EVERY,+        RelationshipType_FOR,+        RelationshipType_FORM,+        RelationshipType_FREQUENCY,+        RelationshipType_NEGATIVE,+        RelationshipType_OVERLAP,+        RelationshipType_RATE,+        RelationshipType_ROUTE_OR_MODE,+        RelationshipType_STRENGTH,+        RelationshipType_SYSTEM_ORGAN_SITE,+        RelationshipType_TEST_UNIT,+        RelationshipType_TEST_UNITS,+        RelationshipType_TEST_VALUE,+        RelationshipType_WITH_DOSAGE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RelationshipType = RelationshipType'+  { fromRelationshipType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RelationshipType_ACUITY :: RelationshipType+pattern RelationshipType_ACUITY = RelationshipType' "ACUITY"++pattern RelationshipType_ADMINISTERED_VIA :: RelationshipType+pattern RelationshipType_ADMINISTERED_VIA = RelationshipType' "ADMINISTERED_VIA"++pattern RelationshipType_AMOUNT :: RelationshipType+pattern RelationshipType_AMOUNT = RelationshipType' "AMOUNT"++pattern RelationshipType_DIRECTION :: RelationshipType+pattern RelationshipType_DIRECTION = RelationshipType' "DIRECTION"++pattern RelationshipType_DOSAGE :: RelationshipType+pattern RelationshipType_DOSAGE = RelationshipType' "DOSAGE"++pattern RelationshipType_DURATION :: RelationshipType+pattern RelationshipType_DURATION = RelationshipType' "DURATION"++pattern RelationshipType_EVERY :: RelationshipType+pattern RelationshipType_EVERY = RelationshipType' "EVERY"++pattern RelationshipType_FOR :: RelationshipType+pattern RelationshipType_FOR = RelationshipType' "FOR"++pattern RelationshipType_FORM :: RelationshipType+pattern RelationshipType_FORM = RelationshipType' "FORM"++pattern RelationshipType_FREQUENCY :: RelationshipType+pattern RelationshipType_FREQUENCY = RelationshipType' "FREQUENCY"++pattern RelationshipType_NEGATIVE :: RelationshipType+pattern RelationshipType_NEGATIVE = RelationshipType' "NEGATIVE"++pattern RelationshipType_OVERLAP :: RelationshipType+pattern RelationshipType_OVERLAP = RelationshipType' "OVERLAP"++pattern RelationshipType_RATE :: RelationshipType+pattern RelationshipType_RATE = RelationshipType' "RATE"++pattern RelationshipType_ROUTE_OR_MODE :: RelationshipType+pattern RelationshipType_ROUTE_OR_MODE = RelationshipType' "ROUTE_OR_MODE"++pattern RelationshipType_STRENGTH :: RelationshipType+pattern RelationshipType_STRENGTH = RelationshipType' "STRENGTH"++pattern RelationshipType_SYSTEM_ORGAN_SITE :: RelationshipType+pattern RelationshipType_SYSTEM_ORGAN_SITE = RelationshipType' "SYSTEM_ORGAN_SITE"++pattern RelationshipType_TEST_UNIT :: RelationshipType+pattern RelationshipType_TEST_UNIT = RelationshipType' "TEST_UNIT"++pattern RelationshipType_TEST_UNITS :: RelationshipType+pattern RelationshipType_TEST_UNITS = RelationshipType' "TEST_UNITS"++pattern RelationshipType_TEST_VALUE :: RelationshipType+pattern RelationshipType_TEST_VALUE = RelationshipType' "TEST_VALUE"++pattern RelationshipType_WITH_DOSAGE :: RelationshipType+pattern RelationshipType_WITH_DOSAGE = RelationshipType' "WITH_DOSAGE"++{-# COMPLETE+  RelationshipType_ACUITY,+  RelationshipType_ADMINISTERED_VIA,+  RelationshipType_AMOUNT,+  RelationshipType_DIRECTION,+  RelationshipType_DOSAGE,+  RelationshipType_DURATION,+  RelationshipType_EVERY,+  RelationshipType_FOR,+  RelationshipType_FORM,+  RelationshipType_FREQUENCY,+  RelationshipType_NEGATIVE,+  RelationshipType_OVERLAP,+  RelationshipType_RATE,+  RelationshipType_ROUTE_OR_MODE,+  RelationshipType_STRENGTH,+  RelationshipType_SYSTEM_ORGAN_SITE,+  RelationshipType_TEST_UNIT,+  RelationshipType_TEST_UNITS,+  RelationshipType_TEST_VALUE,+  RelationshipType_WITH_DOSAGE,+  RelationshipType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/RxNormAttribute.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormAttribute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormAttribute where++import Amazonka.ComprehendMedical.Types.RxNormAttributeType+import Amazonka.ComprehendMedical.Types.RxNormTrait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The extracted attributes that relate to this entity. The attributes+-- recognized by InferRxNorm are @DOSAGE@, @DURATION@, @FORM@, @FREQUENCY@,+-- @RATE@, @ROUTE_OR_MODE@.+--+-- /See:/ 'newRxNormAttribute' smart constructor.+data RxNormAttribute = RxNormAttribute'+  { -- | The 0-based character offset in the input text that shows where the+    -- attribute begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The 0-based character offset in the input text that shows where the+    -- attribute ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The numeric identifier for this attribute. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The level of confidence that Amazon Comprehend Medical has that the+    -- attribute is accurately linked to an entity.+    relationshipScore :: Prelude.Maybe Prelude.Double,+    -- | The level of confidence that Comprehend Medical has that the segment of+    -- text is correctly recognized as an attribute.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text which corresponds to the detected attribute.+    text :: Prelude.Maybe Prelude.Text,+    -- | Contextual information for the attribute. InferRxNorm recognizes the+    -- trait @NEGATION@ for attributes, i.e. that the patient is not taking a+    -- specific dose or form of a medication.+    traits :: Prelude.Maybe [RxNormTrait],+    -- | The type of attribute. The types of attributes recognized by InferRxNorm+    -- are @BRAND_NAME@ and @GENERIC_NAME@.+    type' :: Prelude.Maybe RxNormAttributeType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RxNormAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'beginOffset', 'rxNormAttribute_beginOffset' - The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+--+-- 'endOffset', 'rxNormAttribute_endOffset' - The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+--+-- 'id', 'rxNormAttribute_id' - The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'relationshipScore', 'rxNormAttribute_relationshipScore' - The level of confidence that Amazon Comprehend Medical has that the+-- attribute is accurately linked to an entity.+--+-- 'score', 'rxNormAttribute_score' - The level of confidence that Comprehend Medical has that the segment of+-- text is correctly recognized as an attribute.+--+-- 'text', 'rxNormAttribute_text' - The segment of input text which corresponds to the detected attribute.+--+-- 'traits', 'rxNormAttribute_traits' - Contextual information for the attribute. InferRxNorm recognizes the+-- trait @NEGATION@ for attributes, i.e. that the patient is not taking a+-- specific dose or form of a medication.+--+-- 'type'', 'rxNormAttribute_type' - The type of attribute. The types of attributes recognized by InferRxNorm+-- are @BRAND_NAME@ and @GENERIC_NAME@.+newRxNormAttribute ::+  RxNormAttribute+newRxNormAttribute =+  RxNormAttribute'+    { beginOffset = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      id = Prelude.Nothing,+      relationshipScore = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+rxNormAttribute_beginOffset :: Lens.Lens' RxNormAttribute (Prelude.Maybe Prelude.Int)+rxNormAttribute_beginOffset = Lens.lens (\RxNormAttribute' {beginOffset} -> beginOffset) (\s@RxNormAttribute' {} a -> s {beginOffset = a} :: RxNormAttribute)++-- | The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+rxNormAttribute_endOffset :: Lens.Lens' RxNormAttribute (Prelude.Maybe Prelude.Int)+rxNormAttribute_endOffset = Lens.lens (\RxNormAttribute' {endOffset} -> endOffset) (\s@RxNormAttribute' {} a -> s {endOffset = a} :: RxNormAttribute)++-- | The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+rxNormAttribute_id :: Lens.Lens' RxNormAttribute (Prelude.Maybe Prelude.Int)+rxNormAttribute_id = Lens.lens (\RxNormAttribute' {id} -> id) (\s@RxNormAttribute' {} a -> s {id = a} :: RxNormAttribute)++-- | The level of confidence that Amazon Comprehend Medical has that the+-- attribute is accurately linked to an entity.+rxNormAttribute_relationshipScore :: Lens.Lens' RxNormAttribute (Prelude.Maybe Prelude.Double)+rxNormAttribute_relationshipScore = Lens.lens (\RxNormAttribute' {relationshipScore} -> relationshipScore) (\s@RxNormAttribute' {} a -> s {relationshipScore = a} :: RxNormAttribute)++-- | The level of confidence that Comprehend Medical has that the segment of+-- text is correctly recognized as an attribute.+rxNormAttribute_score :: Lens.Lens' RxNormAttribute (Prelude.Maybe Prelude.Double)+rxNormAttribute_score = Lens.lens (\RxNormAttribute' {score} -> score) (\s@RxNormAttribute' {} a -> s {score = a} :: RxNormAttribute)++-- | The segment of input text which corresponds to the detected attribute.+rxNormAttribute_text :: Lens.Lens' RxNormAttribute (Prelude.Maybe Prelude.Text)+rxNormAttribute_text = Lens.lens (\RxNormAttribute' {text} -> text) (\s@RxNormAttribute' {} a -> s {text = a} :: RxNormAttribute)++-- | Contextual information for the attribute. InferRxNorm recognizes the+-- trait @NEGATION@ for attributes, i.e. that the patient is not taking a+-- specific dose or form of a medication.+rxNormAttribute_traits :: Lens.Lens' RxNormAttribute (Prelude.Maybe [RxNormTrait])+rxNormAttribute_traits = Lens.lens (\RxNormAttribute' {traits} -> traits) (\s@RxNormAttribute' {} a -> s {traits = a} :: RxNormAttribute) Prelude.. Lens.mapping Lens.coerced++-- | The type of attribute. The types of attributes recognized by InferRxNorm+-- are @BRAND_NAME@ and @GENERIC_NAME@.+rxNormAttribute_type :: Lens.Lens' RxNormAttribute (Prelude.Maybe RxNormAttributeType)+rxNormAttribute_type = Lens.lens (\RxNormAttribute' {type'} -> type') (\s@RxNormAttribute' {} a -> s {type' = a} :: RxNormAttribute)++instance Data.FromJSON RxNormAttribute where+  parseJSON =+    Data.withObject+      "RxNormAttribute"+      ( \x ->+          RxNormAttribute'+            Prelude.<$> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "RelationshipScore")+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable RxNormAttribute where+  hashWithSalt _salt RxNormAttribute' {..} =+    _salt+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` relationshipScore+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData RxNormAttribute where+  rnf RxNormAttribute' {..} =+    Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf relationshipScore+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/RxNormAttributeType.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormAttributeType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormAttributeType+  ( RxNormAttributeType+      ( ..,+        RxNormAttributeType_DOSAGE,+        RxNormAttributeType_DURATION,+        RxNormAttributeType_FORM,+        RxNormAttributeType_FREQUENCY,+        RxNormAttributeType_RATE,+        RxNormAttributeType_ROUTE_OR_MODE,+        RxNormAttributeType_STRENGTH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RxNormAttributeType = RxNormAttributeType'+  { fromRxNormAttributeType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RxNormAttributeType_DOSAGE :: RxNormAttributeType+pattern RxNormAttributeType_DOSAGE = RxNormAttributeType' "DOSAGE"++pattern RxNormAttributeType_DURATION :: RxNormAttributeType+pattern RxNormAttributeType_DURATION = RxNormAttributeType' "DURATION"++pattern RxNormAttributeType_FORM :: RxNormAttributeType+pattern RxNormAttributeType_FORM = RxNormAttributeType' "FORM"++pattern RxNormAttributeType_FREQUENCY :: RxNormAttributeType+pattern RxNormAttributeType_FREQUENCY = RxNormAttributeType' "FREQUENCY"++pattern RxNormAttributeType_RATE :: RxNormAttributeType+pattern RxNormAttributeType_RATE = RxNormAttributeType' "RATE"++pattern RxNormAttributeType_ROUTE_OR_MODE :: RxNormAttributeType+pattern RxNormAttributeType_ROUTE_OR_MODE = RxNormAttributeType' "ROUTE_OR_MODE"++pattern RxNormAttributeType_STRENGTH :: RxNormAttributeType+pattern RxNormAttributeType_STRENGTH = RxNormAttributeType' "STRENGTH"++{-# COMPLETE+  RxNormAttributeType_DOSAGE,+  RxNormAttributeType_DURATION,+  RxNormAttributeType_FORM,+  RxNormAttributeType_FREQUENCY,+  RxNormAttributeType_RATE,+  RxNormAttributeType_ROUTE_OR_MODE,+  RxNormAttributeType_STRENGTH,+  RxNormAttributeType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/RxNormConcept.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormConcept+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormConcept where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The RxNorm concept that the entity could refer to, along with a score+-- indicating the likelihood of the match.+--+-- /See:/ 'newRxNormConcept' smart constructor.+data RxNormConcept = RxNormConcept'+  { -- | RxNorm concept ID, also known as the RxCUI.+    code :: Prelude.Maybe Prelude.Text,+    -- | The description of the RxNorm concept.+    description :: Prelude.Maybe Prelude.Text,+    -- | The level of confidence that Amazon Comprehend Medical has that the+    -- entity is accurately linked to the reported RxNorm concept.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RxNormConcept' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'rxNormConcept_code' - RxNorm concept ID, also known as the RxCUI.+--+-- 'description', 'rxNormConcept_description' - The description of the RxNorm concept.+--+-- 'score', 'rxNormConcept_score' - The level of confidence that Amazon Comprehend Medical has that the+-- entity is accurately linked to the reported RxNorm concept.+newRxNormConcept ::+  RxNormConcept+newRxNormConcept =+  RxNormConcept'+    { code = Prelude.Nothing,+      description = Prelude.Nothing,+      score = Prelude.Nothing+    }++-- | RxNorm concept ID, also known as the RxCUI.+rxNormConcept_code :: Lens.Lens' RxNormConcept (Prelude.Maybe Prelude.Text)+rxNormConcept_code = Lens.lens (\RxNormConcept' {code} -> code) (\s@RxNormConcept' {} a -> s {code = a} :: RxNormConcept)++-- | The description of the RxNorm concept.+rxNormConcept_description :: Lens.Lens' RxNormConcept (Prelude.Maybe Prelude.Text)+rxNormConcept_description = Lens.lens (\RxNormConcept' {description} -> description) (\s@RxNormConcept' {} a -> s {description = a} :: RxNormConcept)++-- | The level of confidence that Amazon Comprehend Medical has that the+-- entity is accurately linked to the reported RxNorm concept.+rxNormConcept_score :: Lens.Lens' RxNormConcept (Prelude.Maybe Prelude.Double)+rxNormConcept_score = Lens.lens (\RxNormConcept' {score} -> score) (\s@RxNormConcept' {} a -> s {score = a} :: RxNormConcept)++instance Data.FromJSON RxNormConcept where+  parseJSON =+    Data.withObject+      "RxNormConcept"+      ( \x ->+          RxNormConcept'+            Prelude.<$> (x Data..:? "Code")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Score")+      )++instance Prelude.Hashable RxNormConcept where+  hashWithSalt _salt RxNormConcept' {..} =+    _salt+      `Prelude.hashWithSalt` code+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` score++instance Prelude.NFData RxNormConcept where+  rnf RxNormConcept' {..} =+    Prelude.rnf code+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/ComprehendMedical/Types/RxNormEntity.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormEntity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormEntity where++import Amazonka.ComprehendMedical.Types.RxNormAttribute+import Amazonka.ComprehendMedical.Types.RxNormConcept+import Amazonka.ComprehendMedical.Types.RxNormEntityCategory+import Amazonka.ComprehendMedical.Types.RxNormEntityType+import Amazonka.ComprehendMedical.Types.RxNormTrait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The collection of medical entities extracted from the input text and+-- their associated information. For each entity, the response provides the+-- entity text, the entity category, where the entity text begins and ends,+-- and the level of confidence that Amazon Comprehend Medical has in the+-- detection and analysis. Attributes and traits of the entity are also+-- returned.+--+-- /See:/ 'newRxNormEntity' smart constructor.+data RxNormEntity = RxNormEntity'+  { -- | The extracted attributes that relate to the entity. The attributes+    -- recognized by InferRxNorm are @DOSAGE@, @DURATION@, @FORM@, @FREQUENCY@,+    -- @RATE@, @ROUTE_OR_MODE@, and @STRENGTH@.+    attributes :: Prelude.Maybe [RxNormAttribute],+    -- | The 0-based character offset in the input text that shows where the+    -- entity begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The category of the entity. The recognized categories are @GENERIC@ or+    -- @BRAND_NAME@.+    category :: Prelude.Maybe RxNormEntityCategory,+    -- | The 0-based character offset in the input text that shows where the+    -- entity ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The numeric identifier for the entity. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The RxNorm concepts that the entity could refer to, along with a score+    -- indicating the likelihood of the match.+    rxNormConcepts :: Prelude.Maybe [RxNormConcept],+    -- | The level of confidence that Amazon Comprehend Medical has in the+    -- accuracy of the detected entity.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text extracted from which the entity was detected.+    text :: Prelude.Maybe Prelude.Text,+    -- | Contextual information for the entity.+    traits :: Prelude.Maybe [RxNormTrait],+    -- | Describes the specific type of entity. For InferRxNorm, the recognized+    -- entity type is @MEDICATION@.+    type' :: Prelude.Maybe RxNormEntityType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RxNormEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'rxNormEntity_attributes' - The extracted attributes that relate to the entity. The attributes+-- recognized by InferRxNorm are @DOSAGE@, @DURATION@, @FORM@, @FREQUENCY@,+-- @RATE@, @ROUTE_OR_MODE@, and @STRENGTH@.+--+-- 'beginOffset', 'rxNormEntity_beginOffset' - The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+--+-- 'category', 'rxNormEntity_category' - The category of the entity. The recognized categories are @GENERIC@ or+-- @BRAND_NAME@.+--+-- 'endOffset', 'rxNormEntity_endOffset' - The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+--+-- 'id', 'rxNormEntity_id' - The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'rxNormConcepts', 'rxNormEntity_rxNormConcepts' - The RxNorm concepts that the entity could refer to, along with a score+-- indicating the likelihood of the match.+--+-- 'score', 'rxNormEntity_score' - The level of confidence that Amazon Comprehend Medical has in the+-- accuracy of the detected entity.+--+-- 'text', 'rxNormEntity_text' - The segment of input text extracted from which the entity was detected.+--+-- 'traits', 'rxNormEntity_traits' - Contextual information for the entity.+--+-- 'type'', 'rxNormEntity_type' - Describes the specific type of entity. For InferRxNorm, the recognized+-- entity type is @MEDICATION@.+newRxNormEntity ::+  RxNormEntity+newRxNormEntity =+  RxNormEntity'+    { attributes = Prelude.Nothing,+      beginOffset = Prelude.Nothing,+      category = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      id = Prelude.Nothing,+      rxNormConcepts = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The extracted attributes that relate to the entity. The attributes+-- recognized by InferRxNorm are @DOSAGE@, @DURATION@, @FORM@, @FREQUENCY@,+-- @RATE@, @ROUTE_OR_MODE@, and @STRENGTH@.+rxNormEntity_attributes :: Lens.Lens' RxNormEntity (Prelude.Maybe [RxNormAttribute])+rxNormEntity_attributes = Lens.lens (\RxNormEntity' {attributes} -> attributes) (\s@RxNormEntity' {} a -> s {attributes = a} :: RxNormEntity) Prelude.. Lens.mapping Lens.coerced++-- | The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+rxNormEntity_beginOffset :: Lens.Lens' RxNormEntity (Prelude.Maybe Prelude.Int)+rxNormEntity_beginOffset = Lens.lens (\RxNormEntity' {beginOffset} -> beginOffset) (\s@RxNormEntity' {} a -> s {beginOffset = a} :: RxNormEntity)++-- | The category of the entity. The recognized categories are @GENERIC@ or+-- @BRAND_NAME@.+rxNormEntity_category :: Lens.Lens' RxNormEntity (Prelude.Maybe RxNormEntityCategory)+rxNormEntity_category = Lens.lens (\RxNormEntity' {category} -> category) (\s@RxNormEntity' {} a -> s {category = a} :: RxNormEntity)++-- | The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+rxNormEntity_endOffset :: Lens.Lens' RxNormEntity (Prelude.Maybe Prelude.Int)+rxNormEntity_endOffset = Lens.lens (\RxNormEntity' {endOffset} -> endOffset) (\s@RxNormEntity' {} a -> s {endOffset = a} :: RxNormEntity)++-- | The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+rxNormEntity_id :: Lens.Lens' RxNormEntity (Prelude.Maybe Prelude.Int)+rxNormEntity_id = Lens.lens (\RxNormEntity' {id} -> id) (\s@RxNormEntity' {} a -> s {id = a} :: RxNormEntity)++-- | The RxNorm concepts that the entity could refer to, along with a score+-- indicating the likelihood of the match.+rxNormEntity_rxNormConcepts :: Lens.Lens' RxNormEntity (Prelude.Maybe [RxNormConcept])+rxNormEntity_rxNormConcepts = Lens.lens (\RxNormEntity' {rxNormConcepts} -> rxNormConcepts) (\s@RxNormEntity' {} a -> s {rxNormConcepts = a} :: RxNormEntity) Prelude.. Lens.mapping Lens.coerced++-- | The level of confidence that Amazon Comprehend Medical has in the+-- accuracy of the detected entity.+rxNormEntity_score :: Lens.Lens' RxNormEntity (Prelude.Maybe Prelude.Double)+rxNormEntity_score = Lens.lens (\RxNormEntity' {score} -> score) (\s@RxNormEntity' {} a -> s {score = a} :: RxNormEntity)++-- | The segment of input text extracted from which the entity was detected.+rxNormEntity_text :: Lens.Lens' RxNormEntity (Prelude.Maybe Prelude.Text)+rxNormEntity_text = Lens.lens (\RxNormEntity' {text} -> text) (\s@RxNormEntity' {} a -> s {text = a} :: RxNormEntity)++-- | Contextual information for the entity.+rxNormEntity_traits :: Lens.Lens' RxNormEntity (Prelude.Maybe [RxNormTrait])+rxNormEntity_traits = Lens.lens (\RxNormEntity' {traits} -> traits) (\s@RxNormEntity' {} a -> s {traits = a} :: RxNormEntity) Prelude.. Lens.mapping Lens.coerced++-- | Describes the specific type of entity. For InferRxNorm, the recognized+-- entity type is @MEDICATION@.+rxNormEntity_type :: Lens.Lens' RxNormEntity (Prelude.Maybe RxNormEntityType)+rxNormEntity_type = Lens.lens (\RxNormEntity' {type'} -> type') (\s@RxNormEntity' {} a -> s {type' = a} :: RxNormEntity)++instance Data.FromJSON RxNormEntity where+  parseJSON =+    Data.withObject+      "RxNormEntity"+      ( \x ->+          RxNormEntity'+            Prelude.<$> (x Data..:? "Attributes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "Category")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "RxNormConcepts" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable RxNormEntity where+  hashWithSalt _salt RxNormEntity' {..} =+    _salt+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` rxNormConcepts+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData RxNormEntity where+  rnf RxNormEntity' {..} =+    Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf rxNormConcepts+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/RxNormEntityCategory.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormEntityCategory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormEntityCategory+  ( RxNormEntityCategory+      ( ..,+        RxNormEntityCategory_MEDICATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RxNormEntityCategory = RxNormEntityCategory'+  { fromRxNormEntityCategory ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RxNormEntityCategory_MEDICATION :: RxNormEntityCategory+pattern RxNormEntityCategory_MEDICATION = RxNormEntityCategory' "MEDICATION"++{-# COMPLETE+  RxNormEntityCategory_MEDICATION,+  RxNormEntityCategory'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/RxNormEntityType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormEntityType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormEntityType+  ( RxNormEntityType+      ( ..,+        RxNormEntityType_BRAND_NAME,+        RxNormEntityType_GENERIC_NAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RxNormEntityType = RxNormEntityType'+  { fromRxNormEntityType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RxNormEntityType_BRAND_NAME :: RxNormEntityType+pattern RxNormEntityType_BRAND_NAME = RxNormEntityType' "BRAND_NAME"++pattern RxNormEntityType_GENERIC_NAME :: RxNormEntityType+pattern RxNormEntityType_GENERIC_NAME = RxNormEntityType' "GENERIC_NAME"++{-# COMPLETE+  RxNormEntityType_BRAND_NAME,+  RxNormEntityType_GENERIC_NAME,+  RxNormEntityType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/RxNormTrait.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormTrait+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormTrait where++import Amazonka.ComprehendMedical.Types.RxNormTraitName+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The contextual information for the entity. InferRxNorm recognizes the+-- trait @NEGATION@, which is any indication that the patient is not taking+-- a medication.+--+-- /See:/ 'newRxNormTrait' smart constructor.+data RxNormTrait = RxNormTrait'+  { -- | Provides a name or contextual description about the trait.+    name :: Prelude.Maybe RxNormTraitName,+    -- | The level of confidence that Amazon Comprehend Medical has in the+    -- accuracy of the detected trait.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RxNormTrait' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'rxNormTrait_name' - Provides a name or contextual description about the trait.+--+-- 'score', 'rxNormTrait_score' - The level of confidence that Amazon Comprehend Medical has in the+-- accuracy of the detected trait.+newRxNormTrait ::+  RxNormTrait+newRxNormTrait =+  RxNormTrait'+    { name = Prelude.Nothing,+      score = Prelude.Nothing+    }++-- | Provides a name or contextual description about the trait.+rxNormTrait_name :: Lens.Lens' RxNormTrait (Prelude.Maybe RxNormTraitName)+rxNormTrait_name = Lens.lens (\RxNormTrait' {name} -> name) (\s@RxNormTrait' {} a -> s {name = a} :: RxNormTrait)++-- | The level of confidence that Amazon Comprehend Medical has in the+-- accuracy of the detected trait.+rxNormTrait_score :: Lens.Lens' RxNormTrait (Prelude.Maybe Prelude.Double)+rxNormTrait_score = Lens.lens (\RxNormTrait' {score} -> score) (\s@RxNormTrait' {} a -> s {score = a} :: RxNormTrait)++instance Data.FromJSON RxNormTrait where+  parseJSON =+    Data.withObject+      "RxNormTrait"+      ( \x ->+          RxNormTrait'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Score")+      )++instance Prelude.Hashable RxNormTrait where+  hashWithSalt _salt RxNormTrait' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` score++instance Prelude.NFData RxNormTrait where+  rnf RxNormTrait' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/ComprehendMedical/Types/RxNormTraitName.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.RxNormTraitName+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.RxNormTraitName+  ( RxNormTraitName+      ( ..,+        RxNormTraitName_NEGATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RxNormTraitName = RxNormTraitName'+  { fromRxNormTraitName ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RxNormTraitName_NEGATION :: RxNormTraitName+pattern RxNormTraitName_NEGATION = RxNormTraitName' "NEGATION"++{-# COMPLETE+  RxNormTraitName_NEGATION,+  RxNormTraitName'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTAttribute.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTAttribute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTAttribute where++import Amazonka.ComprehendMedical.Types.SNOMEDCTAttributeType+import Amazonka.ComprehendMedical.Types.SNOMEDCTConcept+import Amazonka.ComprehendMedical.Types.SNOMEDCTEntityCategory+import Amazonka.ComprehendMedical.Types.SNOMEDCTRelationshipType+import Amazonka.ComprehendMedical.Types.SNOMEDCTTrait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The extracted attributes that relate to an entity. An extracted segment+-- of the text that is an attribute of an entity, or otherwise related to+-- an entity, such as the dosage of a medication taken.+--+-- /See:/ 'newSNOMEDCTAttribute' smart constructor.+data SNOMEDCTAttribute = SNOMEDCTAttribute'+  { -- | The 0-based character offset in the input text that shows where the+    -- attribute begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The category of the detected attribute. Possible categories include+    -- MEDICAL_CONDITION, ANATOMY, and TEST_TREATMENT_PROCEDURE.+    category :: Prelude.Maybe SNOMEDCTEntityCategory,+    -- | The 0-based character offset in the input text that shows where the+    -- attribute ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The numeric identifier for this attribute. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The level of confidence that Comprehend Medical has that this attribute+    -- is correctly related to this entity.+    relationshipScore :: Prelude.Maybe Prelude.Double,+    -- | The type of relationship that exists between the entity and the related+    -- attribute.+    relationshipType :: Prelude.Maybe SNOMEDCTRelationshipType,+    -- | The SNOMED-CT concepts specific to an attribute, along with a score+    -- indicating the likelihood of the match.+    sNOMEDCTConcepts :: Prelude.Maybe [SNOMEDCTConcept],+    -- | The level of confidence that Comprehend Medical has that the segment of+    -- text is correctly recognized as an attribute.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text extracted as this attribute.+    text :: Prelude.Maybe Prelude.Text,+    -- | Contextual information for an attribute. Examples include signs,+    -- symptoms, diagnosis, and negation.+    traits :: Prelude.Maybe [SNOMEDCTTrait],+    -- | The type of attribute. Possible types include DX_NAME, ACUITY,+    -- DIRECTION, SYSTEM_ORGAN_SITE,TEST_NAME, TEST_VALUE, TEST_UNIT,+    -- PROCEDURE_NAME, and TREATMENT_NAME.+    type' :: Prelude.Maybe SNOMEDCTAttributeType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SNOMEDCTAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'beginOffset', 'sNOMEDCTAttribute_beginOffset' - The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+--+-- 'category', 'sNOMEDCTAttribute_category' - The category of the detected attribute. Possible categories include+-- MEDICAL_CONDITION, ANATOMY, and TEST_TREATMENT_PROCEDURE.+--+-- 'endOffset', 'sNOMEDCTAttribute_endOffset' - The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+--+-- 'id', 'sNOMEDCTAttribute_id' - The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'relationshipScore', 'sNOMEDCTAttribute_relationshipScore' - The level of confidence that Comprehend Medical has that this attribute+-- is correctly related to this entity.+--+-- 'relationshipType', 'sNOMEDCTAttribute_relationshipType' - The type of relationship that exists between the entity and the related+-- attribute.+--+-- 'sNOMEDCTConcepts', 'sNOMEDCTAttribute_sNOMEDCTConcepts' - The SNOMED-CT concepts specific to an attribute, along with a score+-- indicating the likelihood of the match.+--+-- 'score', 'sNOMEDCTAttribute_score' - The level of confidence that Comprehend Medical has that the segment of+-- text is correctly recognized as an attribute.+--+-- 'text', 'sNOMEDCTAttribute_text' - The segment of input text extracted as this attribute.+--+-- 'traits', 'sNOMEDCTAttribute_traits' - Contextual information for an attribute. Examples include signs,+-- symptoms, diagnosis, and negation.+--+-- 'type'', 'sNOMEDCTAttribute_type' - The type of attribute. Possible types include DX_NAME, ACUITY,+-- DIRECTION, SYSTEM_ORGAN_SITE,TEST_NAME, TEST_VALUE, TEST_UNIT,+-- PROCEDURE_NAME, and TREATMENT_NAME.+newSNOMEDCTAttribute ::+  SNOMEDCTAttribute+newSNOMEDCTAttribute =+  SNOMEDCTAttribute'+    { beginOffset = Prelude.Nothing,+      category = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      id = Prelude.Nothing,+      relationshipScore = Prelude.Nothing,+      relationshipType = Prelude.Nothing,+      sNOMEDCTConcepts = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The 0-based character offset in the input text that shows where the+-- attribute begins. The offset returns the UTF-8 code point in the string.+sNOMEDCTAttribute_beginOffset :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe Prelude.Int)+sNOMEDCTAttribute_beginOffset = Lens.lens (\SNOMEDCTAttribute' {beginOffset} -> beginOffset) (\s@SNOMEDCTAttribute' {} a -> s {beginOffset = a} :: SNOMEDCTAttribute)++-- | The category of the detected attribute. Possible categories include+-- MEDICAL_CONDITION, ANATOMY, and TEST_TREATMENT_PROCEDURE.+sNOMEDCTAttribute_category :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe SNOMEDCTEntityCategory)+sNOMEDCTAttribute_category = Lens.lens (\SNOMEDCTAttribute' {category} -> category) (\s@SNOMEDCTAttribute' {} a -> s {category = a} :: SNOMEDCTAttribute)++-- | The 0-based character offset in the input text that shows where the+-- attribute ends. The offset returns the UTF-8 code point in the string.+sNOMEDCTAttribute_endOffset :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe Prelude.Int)+sNOMEDCTAttribute_endOffset = Lens.lens (\SNOMEDCTAttribute' {endOffset} -> endOffset) (\s@SNOMEDCTAttribute' {} a -> s {endOffset = a} :: SNOMEDCTAttribute)++-- | The numeric identifier for this attribute. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+sNOMEDCTAttribute_id :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe Prelude.Int)+sNOMEDCTAttribute_id = Lens.lens (\SNOMEDCTAttribute' {id} -> id) (\s@SNOMEDCTAttribute' {} a -> s {id = a} :: SNOMEDCTAttribute)++-- | The level of confidence that Comprehend Medical has that this attribute+-- is correctly related to this entity.+sNOMEDCTAttribute_relationshipScore :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe Prelude.Double)+sNOMEDCTAttribute_relationshipScore = Lens.lens (\SNOMEDCTAttribute' {relationshipScore} -> relationshipScore) (\s@SNOMEDCTAttribute' {} a -> s {relationshipScore = a} :: SNOMEDCTAttribute)++-- | The type of relationship that exists between the entity and the related+-- attribute.+sNOMEDCTAttribute_relationshipType :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe SNOMEDCTRelationshipType)+sNOMEDCTAttribute_relationshipType = Lens.lens (\SNOMEDCTAttribute' {relationshipType} -> relationshipType) (\s@SNOMEDCTAttribute' {} a -> s {relationshipType = a} :: SNOMEDCTAttribute)++-- | The SNOMED-CT concepts specific to an attribute, along with a score+-- indicating the likelihood of the match.+sNOMEDCTAttribute_sNOMEDCTConcepts :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe [SNOMEDCTConcept])+sNOMEDCTAttribute_sNOMEDCTConcepts = Lens.lens (\SNOMEDCTAttribute' {sNOMEDCTConcepts} -> sNOMEDCTConcepts) (\s@SNOMEDCTAttribute' {} a -> s {sNOMEDCTConcepts = a} :: SNOMEDCTAttribute) Prelude.. Lens.mapping Lens.coerced++-- | The level of confidence that Comprehend Medical has that the segment of+-- text is correctly recognized as an attribute.+sNOMEDCTAttribute_score :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe Prelude.Double)+sNOMEDCTAttribute_score = Lens.lens (\SNOMEDCTAttribute' {score} -> score) (\s@SNOMEDCTAttribute' {} a -> s {score = a} :: SNOMEDCTAttribute)++-- | The segment of input text extracted as this attribute.+sNOMEDCTAttribute_text :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe Prelude.Text)+sNOMEDCTAttribute_text = Lens.lens (\SNOMEDCTAttribute' {text} -> text) (\s@SNOMEDCTAttribute' {} a -> s {text = a} :: SNOMEDCTAttribute)++-- | Contextual information for an attribute. Examples include signs,+-- symptoms, diagnosis, and negation.+sNOMEDCTAttribute_traits :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe [SNOMEDCTTrait])+sNOMEDCTAttribute_traits = Lens.lens (\SNOMEDCTAttribute' {traits} -> traits) (\s@SNOMEDCTAttribute' {} a -> s {traits = a} :: SNOMEDCTAttribute) Prelude.. Lens.mapping Lens.coerced++-- | The type of attribute. Possible types include DX_NAME, ACUITY,+-- DIRECTION, SYSTEM_ORGAN_SITE,TEST_NAME, TEST_VALUE, TEST_UNIT,+-- PROCEDURE_NAME, and TREATMENT_NAME.+sNOMEDCTAttribute_type :: Lens.Lens' SNOMEDCTAttribute (Prelude.Maybe SNOMEDCTAttributeType)+sNOMEDCTAttribute_type = Lens.lens (\SNOMEDCTAttribute' {type'} -> type') (\s@SNOMEDCTAttribute' {} a -> s {type' = a} :: SNOMEDCTAttribute)++instance Data.FromJSON SNOMEDCTAttribute where+  parseJSON =+    Data.withObject+      "SNOMEDCTAttribute"+      ( \x ->+          SNOMEDCTAttribute'+            Prelude.<$> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "Category")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "RelationshipScore")+            Prelude.<*> (x Data..:? "RelationshipType")+            Prelude.<*> ( x+                            Data..:? "SNOMEDCTConcepts"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable SNOMEDCTAttribute where+  hashWithSalt _salt SNOMEDCTAttribute' {..} =+    _salt+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` relationshipScore+      `Prelude.hashWithSalt` relationshipType+      `Prelude.hashWithSalt` sNOMEDCTConcepts+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData SNOMEDCTAttribute where+  rnf SNOMEDCTAttribute' {..} =+    Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf relationshipScore+      `Prelude.seq` Prelude.rnf relationshipType+      `Prelude.seq` Prelude.rnf sNOMEDCTConcepts+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTAttributeType.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTAttributeType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTAttributeType+  ( SNOMEDCTAttributeType+      ( ..,+        SNOMEDCTAttributeType_ACUITY,+        SNOMEDCTAttributeType_DIRECTION,+        SNOMEDCTAttributeType_QUALITY,+        SNOMEDCTAttributeType_SYSTEM_ORGAN_SITE,+        SNOMEDCTAttributeType_TEST_UNIT,+        SNOMEDCTAttributeType_TEST_VALUE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SNOMEDCTAttributeType = SNOMEDCTAttributeType'+  { fromSNOMEDCTAttributeType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SNOMEDCTAttributeType_ACUITY :: SNOMEDCTAttributeType+pattern SNOMEDCTAttributeType_ACUITY = SNOMEDCTAttributeType' "ACUITY"++pattern SNOMEDCTAttributeType_DIRECTION :: SNOMEDCTAttributeType+pattern SNOMEDCTAttributeType_DIRECTION = SNOMEDCTAttributeType' "DIRECTION"++pattern SNOMEDCTAttributeType_QUALITY :: SNOMEDCTAttributeType+pattern SNOMEDCTAttributeType_QUALITY = SNOMEDCTAttributeType' "QUALITY"++pattern SNOMEDCTAttributeType_SYSTEM_ORGAN_SITE :: SNOMEDCTAttributeType+pattern SNOMEDCTAttributeType_SYSTEM_ORGAN_SITE = SNOMEDCTAttributeType' "SYSTEM_ORGAN_SITE"++pattern SNOMEDCTAttributeType_TEST_UNIT :: SNOMEDCTAttributeType+pattern SNOMEDCTAttributeType_TEST_UNIT = SNOMEDCTAttributeType' "TEST_UNIT"++pattern SNOMEDCTAttributeType_TEST_VALUE :: SNOMEDCTAttributeType+pattern SNOMEDCTAttributeType_TEST_VALUE = SNOMEDCTAttributeType' "TEST_VALUE"++{-# COMPLETE+  SNOMEDCTAttributeType_ACUITY,+  SNOMEDCTAttributeType_DIRECTION,+  SNOMEDCTAttributeType_QUALITY,+  SNOMEDCTAttributeType_SYSTEM_ORGAN_SITE,+  SNOMEDCTAttributeType_TEST_UNIT,+  SNOMEDCTAttributeType_TEST_VALUE,+  SNOMEDCTAttributeType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTConcept.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTConcept+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTConcept where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The SNOMED-CT concepts that the entity could refer to, along with a+-- score indicating the likelihood of the match.+--+-- /See:/ 'newSNOMEDCTConcept' smart constructor.+data SNOMEDCTConcept = SNOMEDCTConcept'+  { -- | The numeric ID for the SNOMED-CT concept.+    code :: Prelude.Maybe Prelude.Text,+    -- | The description of the SNOMED-CT concept.+    description :: Prelude.Maybe Prelude.Text,+    -- | The level of confidence Comprehend Medical has that the entity should be+    -- linked to the identified SNOMED-CT concept.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SNOMEDCTConcept' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'sNOMEDCTConcept_code' - The numeric ID for the SNOMED-CT concept.+--+-- 'description', 'sNOMEDCTConcept_description' - The description of the SNOMED-CT concept.+--+-- 'score', 'sNOMEDCTConcept_score' - The level of confidence Comprehend Medical has that the entity should be+-- linked to the identified SNOMED-CT concept.+newSNOMEDCTConcept ::+  SNOMEDCTConcept+newSNOMEDCTConcept =+  SNOMEDCTConcept'+    { code = Prelude.Nothing,+      description = Prelude.Nothing,+      score = Prelude.Nothing+    }++-- | The numeric ID for the SNOMED-CT concept.+sNOMEDCTConcept_code :: Lens.Lens' SNOMEDCTConcept (Prelude.Maybe Prelude.Text)+sNOMEDCTConcept_code = Lens.lens (\SNOMEDCTConcept' {code} -> code) (\s@SNOMEDCTConcept' {} a -> s {code = a} :: SNOMEDCTConcept)++-- | The description of the SNOMED-CT concept.+sNOMEDCTConcept_description :: Lens.Lens' SNOMEDCTConcept (Prelude.Maybe Prelude.Text)+sNOMEDCTConcept_description = Lens.lens (\SNOMEDCTConcept' {description} -> description) (\s@SNOMEDCTConcept' {} a -> s {description = a} :: SNOMEDCTConcept)++-- | The level of confidence Comprehend Medical has that the entity should be+-- linked to the identified SNOMED-CT concept.+sNOMEDCTConcept_score :: Lens.Lens' SNOMEDCTConcept (Prelude.Maybe Prelude.Double)+sNOMEDCTConcept_score = Lens.lens (\SNOMEDCTConcept' {score} -> score) (\s@SNOMEDCTConcept' {} a -> s {score = a} :: SNOMEDCTConcept)++instance Data.FromJSON SNOMEDCTConcept where+  parseJSON =+    Data.withObject+      "SNOMEDCTConcept"+      ( \x ->+          SNOMEDCTConcept'+            Prelude.<$> (x Data..:? "Code")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Score")+      )++instance Prelude.Hashable SNOMEDCTConcept where+  hashWithSalt _salt SNOMEDCTConcept' {..} =+    _salt+      `Prelude.hashWithSalt` code+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` score++instance Prelude.NFData SNOMEDCTConcept where+  rnf SNOMEDCTConcept' {..} =+    Prelude.rnf code+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTDetails.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The information about the revision of the SNOMED-CT ontology in the+-- response. Specifically, the details include the SNOMED-CT edition,+-- language, and version date.+--+-- /See:/ 'newSNOMEDCTDetails' smart constructor.+data SNOMEDCTDetails = SNOMEDCTDetails'+  { -- | The edition of SNOMED-CT used. The edition used for the InferSNOMEDCT+    -- editions is the US edition.+    edition :: Prelude.Maybe Prelude.Text,+    -- | The language used in the SNOMED-CT ontology. All Amazon Comprehend+    -- Medical operations are US English (en).+    language :: Prelude.Maybe Prelude.Text,+    -- | The version date of the SNOMED-CT ontology used.+    versionDate :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SNOMEDCTDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'edition', 'sNOMEDCTDetails_edition' - The edition of SNOMED-CT used. The edition used for the InferSNOMEDCT+-- editions is the US edition.+--+-- 'language', 'sNOMEDCTDetails_language' - The language used in the SNOMED-CT ontology. All Amazon Comprehend+-- Medical operations are US English (en).+--+-- 'versionDate', 'sNOMEDCTDetails_versionDate' - The version date of the SNOMED-CT ontology used.+newSNOMEDCTDetails ::+  SNOMEDCTDetails+newSNOMEDCTDetails =+  SNOMEDCTDetails'+    { edition = Prelude.Nothing,+      language = Prelude.Nothing,+      versionDate = Prelude.Nothing+    }++-- | The edition of SNOMED-CT used. The edition used for the InferSNOMEDCT+-- editions is the US edition.+sNOMEDCTDetails_edition :: Lens.Lens' SNOMEDCTDetails (Prelude.Maybe Prelude.Text)+sNOMEDCTDetails_edition = Lens.lens (\SNOMEDCTDetails' {edition} -> edition) (\s@SNOMEDCTDetails' {} a -> s {edition = a} :: SNOMEDCTDetails)++-- | The language used in the SNOMED-CT ontology. All Amazon Comprehend+-- Medical operations are US English (en).+sNOMEDCTDetails_language :: Lens.Lens' SNOMEDCTDetails (Prelude.Maybe Prelude.Text)+sNOMEDCTDetails_language = Lens.lens (\SNOMEDCTDetails' {language} -> language) (\s@SNOMEDCTDetails' {} a -> s {language = a} :: SNOMEDCTDetails)++-- | The version date of the SNOMED-CT ontology used.+sNOMEDCTDetails_versionDate :: Lens.Lens' SNOMEDCTDetails (Prelude.Maybe Prelude.Text)+sNOMEDCTDetails_versionDate = Lens.lens (\SNOMEDCTDetails' {versionDate} -> versionDate) (\s@SNOMEDCTDetails' {} a -> s {versionDate = a} :: SNOMEDCTDetails)++instance Data.FromJSON SNOMEDCTDetails where+  parseJSON =+    Data.withObject+      "SNOMEDCTDetails"+      ( \x ->+          SNOMEDCTDetails'+            Prelude.<$> (x Data..:? "Edition")+            Prelude.<*> (x Data..:? "Language")+            Prelude.<*> (x Data..:? "VersionDate")+      )++instance Prelude.Hashable SNOMEDCTDetails where+  hashWithSalt _salt SNOMEDCTDetails' {..} =+    _salt+      `Prelude.hashWithSalt` edition+      `Prelude.hashWithSalt` language+      `Prelude.hashWithSalt` versionDate++instance Prelude.NFData SNOMEDCTDetails where+  rnf SNOMEDCTDetails' {..} =+    Prelude.rnf edition+      `Prelude.seq` Prelude.rnf language+      `Prelude.seq` Prelude.rnf versionDate
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTEntity.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTEntity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTEntity where++import Amazonka.ComprehendMedical.Types.SNOMEDCTAttribute+import Amazonka.ComprehendMedical.Types.SNOMEDCTConcept+import Amazonka.ComprehendMedical.Types.SNOMEDCTEntityCategory+import Amazonka.ComprehendMedical.Types.SNOMEDCTEntityType+import Amazonka.ComprehendMedical.Types.SNOMEDCTTrait+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The collection of medical entities extracted from the input text and+-- their associated information. For each entity, the response provides the+-- entity text, the entity category, where the entity text begins and ends,+-- and the level of confidence that Comprehend Medical has in the detection+-- and analysis. Attributes and traits of the entity are also returned.+--+-- /See:/ 'newSNOMEDCTEntity' smart constructor.+data SNOMEDCTEntity = SNOMEDCTEntity'+  { -- | An extracted segment of the text that is an attribute of an entity, or+    -- otherwise related to an entity, such as the dosage of a medication+    -- taken.+    attributes :: Prelude.Maybe [SNOMEDCTAttribute],+    -- | The 0-based character offset in the input text that shows where the+    -- entity begins. The offset returns the UTF-8 code point in the string.+    beginOffset :: Prelude.Maybe Prelude.Int,+    -- | The category of the detected entity. Possible categories are+    -- MEDICAL_CONDITION, ANATOMY, or TEST_TREATMENT_PROCEDURE.+    category :: Prelude.Maybe SNOMEDCTEntityCategory,+    -- | The 0-based character offset in the input text that shows where the+    -- entity ends. The offset returns the UTF-8 code point in the string.+    endOffset :: Prelude.Maybe Prelude.Int,+    -- | The numeric identifier for the entity. This is a monotonically+    -- increasing id unique within this response rather than a global unique+    -- identifier.+    id :: Prelude.Maybe Prelude.Int,+    -- | The SNOMED concepts that the entity could refer to, along with a score+    -- indicating the likelihood of the match.+    sNOMEDCTConcepts :: Prelude.Maybe [SNOMEDCTConcept],+    -- | The level of confidence that Comprehend Medical has in the accuracy of+    -- the detected entity.+    score :: Prelude.Maybe Prelude.Double,+    -- | The segment of input text extracted as this entity.+    text :: Prelude.Maybe Prelude.Text,+    -- | Contextual information for the entity.+    traits :: Prelude.Maybe [SNOMEDCTTrait],+    -- | Describes the specific type of entity with category of entities.+    -- Possible types include DX_NAME, ACUITY, DIRECTION, SYSTEM_ORGAN_SITE,+    -- TEST_NAME, TEST_VALUE, TEST_UNIT, PROCEDURE_NAME, or TREATMENT_NAME.+    type' :: Prelude.Maybe SNOMEDCTEntityType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SNOMEDCTEntity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'sNOMEDCTEntity_attributes' - An extracted segment of the text that is an attribute of an entity, or+-- otherwise related to an entity, such as the dosage of a medication+-- taken.+--+-- 'beginOffset', 'sNOMEDCTEntity_beginOffset' - The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+--+-- 'category', 'sNOMEDCTEntity_category' - The category of the detected entity. Possible categories are+-- MEDICAL_CONDITION, ANATOMY, or TEST_TREATMENT_PROCEDURE.+--+-- 'endOffset', 'sNOMEDCTEntity_endOffset' - The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+--+-- 'id', 'sNOMEDCTEntity_id' - The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+--+-- 'sNOMEDCTConcepts', 'sNOMEDCTEntity_sNOMEDCTConcepts' - The SNOMED concepts that the entity could refer to, along with a score+-- indicating the likelihood of the match.+--+-- 'score', 'sNOMEDCTEntity_score' - The level of confidence that Comprehend Medical has in the accuracy of+-- the detected entity.+--+-- 'text', 'sNOMEDCTEntity_text' - The segment of input text extracted as this entity.+--+-- 'traits', 'sNOMEDCTEntity_traits' - Contextual information for the entity.+--+-- 'type'', 'sNOMEDCTEntity_type' - Describes the specific type of entity with category of entities.+-- Possible types include DX_NAME, ACUITY, DIRECTION, SYSTEM_ORGAN_SITE,+-- TEST_NAME, TEST_VALUE, TEST_UNIT, PROCEDURE_NAME, or TREATMENT_NAME.+newSNOMEDCTEntity ::+  SNOMEDCTEntity+newSNOMEDCTEntity =+  SNOMEDCTEntity'+    { attributes = Prelude.Nothing,+      beginOffset = Prelude.Nothing,+      category = Prelude.Nothing,+      endOffset = Prelude.Nothing,+      id = Prelude.Nothing,+      sNOMEDCTConcepts = Prelude.Nothing,+      score = Prelude.Nothing,+      text = Prelude.Nothing,+      traits = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | An extracted segment of the text that is an attribute of an entity, or+-- otherwise related to an entity, such as the dosage of a medication+-- taken.+sNOMEDCTEntity_attributes :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe [SNOMEDCTAttribute])+sNOMEDCTEntity_attributes = Lens.lens (\SNOMEDCTEntity' {attributes} -> attributes) (\s@SNOMEDCTEntity' {} a -> s {attributes = a} :: SNOMEDCTEntity) Prelude.. Lens.mapping Lens.coerced++-- | The 0-based character offset in the input text that shows where the+-- entity begins. The offset returns the UTF-8 code point in the string.+sNOMEDCTEntity_beginOffset :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe Prelude.Int)+sNOMEDCTEntity_beginOffset = Lens.lens (\SNOMEDCTEntity' {beginOffset} -> beginOffset) (\s@SNOMEDCTEntity' {} a -> s {beginOffset = a} :: SNOMEDCTEntity)++-- | The category of the detected entity. Possible categories are+-- MEDICAL_CONDITION, ANATOMY, or TEST_TREATMENT_PROCEDURE.+sNOMEDCTEntity_category :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe SNOMEDCTEntityCategory)+sNOMEDCTEntity_category = Lens.lens (\SNOMEDCTEntity' {category} -> category) (\s@SNOMEDCTEntity' {} a -> s {category = a} :: SNOMEDCTEntity)++-- | The 0-based character offset in the input text that shows where the+-- entity ends. The offset returns the UTF-8 code point in the string.+sNOMEDCTEntity_endOffset :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe Prelude.Int)+sNOMEDCTEntity_endOffset = Lens.lens (\SNOMEDCTEntity' {endOffset} -> endOffset) (\s@SNOMEDCTEntity' {} a -> s {endOffset = a} :: SNOMEDCTEntity)++-- | The numeric identifier for the entity. This is a monotonically+-- increasing id unique within this response rather than a global unique+-- identifier.+sNOMEDCTEntity_id :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe Prelude.Int)+sNOMEDCTEntity_id = Lens.lens (\SNOMEDCTEntity' {id} -> id) (\s@SNOMEDCTEntity' {} a -> s {id = a} :: SNOMEDCTEntity)++-- | The SNOMED concepts that the entity could refer to, along with a score+-- indicating the likelihood of the match.+sNOMEDCTEntity_sNOMEDCTConcepts :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe [SNOMEDCTConcept])+sNOMEDCTEntity_sNOMEDCTConcepts = Lens.lens (\SNOMEDCTEntity' {sNOMEDCTConcepts} -> sNOMEDCTConcepts) (\s@SNOMEDCTEntity' {} a -> s {sNOMEDCTConcepts = a} :: SNOMEDCTEntity) Prelude.. Lens.mapping Lens.coerced++-- | The level of confidence that Comprehend Medical has in the accuracy of+-- the detected entity.+sNOMEDCTEntity_score :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe Prelude.Double)+sNOMEDCTEntity_score = Lens.lens (\SNOMEDCTEntity' {score} -> score) (\s@SNOMEDCTEntity' {} a -> s {score = a} :: SNOMEDCTEntity)++-- | The segment of input text extracted as this entity.+sNOMEDCTEntity_text :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe Prelude.Text)+sNOMEDCTEntity_text = Lens.lens (\SNOMEDCTEntity' {text} -> text) (\s@SNOMEDCTEntity' {} a -> s {text = a} :: SNOMEDCTEntity)++-- | Contextual information for the entity.+sNOMEDCTEntity_traits :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe [SNOMEDCTTrait])+sNOMEDCTEntity_traits = Lens.lens (\SNOMEDCTEntity' {traits} -> traits) (\s@SNOMEDCTEntity' {} a -> s {traits = a} :: SNOMEDCTEntity) Prelude.. Lens.mapping Lens.coerced++-- | Describes the specific type of entity with category of entities.+-- Possible types include DX_NAME, ACUITY, DIRECTION, SYSTEM_ORGAN_SITE,+-- TEST_NAME, TEST_VALUE, TEST_UNIT, PROCEDURE_NAME, or TREATMENT_NAME.+sNOMEDCTEntity_type :: Lens.Lens' SNOMEDCTEntity (Prelude.Maybe SNOMEDCTEntityType)+sNOMEDCTEntity_type = Lens.lens (\SNOMEDCTEntity' {type'} -> type') (\s@SNOMEDCTEntity' {} a -> s {type' = a} :: SNOMEDCTEntity)++instance Data.FromJSON SNOMEDCTEntity where+  parseJSON =+    Data.withObject+      "SNOMEDCTEntity"+      ( \x ->+          SNOMEDCTEntity'+            Prelude.<$> (x Data..:? "Attributes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "BeginOffset")+            Prelude.<*> (x Data..:? "Category")+            Prelude.<*> (x Data..:? "EndOffset")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> ( x+                            Data..:? "SNOMEDCTConcepts"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Score")+            Prelude.<*> (x Data..:? "Text")+            Prelude.<*> (x Data..:? "Traits" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable SNOMEDCTEntity where+  hashWithSalt _salt SNOMEDCTEntity' {..} =+    _salt+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` beginOffset+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` endOffset+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` sNOMEDCTConcepts+      `Prelude.hashWithSalt` score+      `Prelude.hashWithSalt` text+      `Prelude.hashWithSalt` traits+      `Prelude.hashWithSalt` type'++instance Prelude.NFData SNOMEDCTEntity where+  rnf SNOMEDCTEntity' {..} =+    Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf beginOffset+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf endOffset+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf sNOMEDCTConcepts+      `Prelude.seq` Prelude.rnf score+      `Prelude.seq` Prelude.rnf text+      `Prelude.seq` Prelude.rnf traits+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTEntityCategory.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTEntityCategory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTEntityCategory+  ( SNOMEDCTEntityCategory+      ( ..,+        SNOMEDCTEntityCategory_ANATOMY,+        SNOMEDCTEntityCategory_MEDICAL_CONDITION,+        SNOMEDCTEntityCategory_TEST_TREATMENT_PROCEDURE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SNOMEDCTEntityCategory = SNOMEDCTEntityCategory'+  { fromSNOMEDCTEntityCategory ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SNOMEDCTEntityCategory_ANATOMY :: SNOMEDCTEntityCategory+pattern SNOMEDCTEntityCategory_ANATOMY = SNOMEDCTEntityCategory' "ANATOMY"++pattern SNOMEDCTEntityCategory_MEDICAL_CONDITION :: SNOMEDCTEntityCategory+pattern SNOMEDCTEntityCategory_MEDICAL_CONDITION = SNOMEDCTEntityCategory' "MEDICAL_CONDITION"++pattern SNOMEDCTEntityCategory_TEST_TREATMENT_PROCEDURE :: SNOMEDCTEntityCategory+pattern SNOMEDCTEntityCategory_TEST_TREATMENT_PROCEDURE = SNOMEDCTEntityCategory' "TEST_TREATMENT_PROCEDURE"++{-# COMPLETE+  SNOMEDCTEntityCategory_ANATOMY,+  SNOMEDCTEntityCategory_MEDICAL_CONDITION,+  SNOMEDCTEntityCategory_TEST_TREATMENT_PROCEDURE,+  SNOMEDCTEntityCategory'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTEntityType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTEntityType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTEntityType+  ( SNOMEDCTEntityType+      ( ..,+        SNOMEDCTEntityType_DX_NAME,+        SNOMEDCTEntityType_PROCEDURE_NAME,+        SNOMEDCTEntityType_TEST_NAME,+        SNOMEDCTEntityType_TREATMENT_NAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SNOMEDCTEntityType = SNOMEDCTEntityType'+  { fromSNOMEDCTEntityType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SNOMEDCTEntityType_DX_NAME :: SNOMEDCTEntityType+pattern SNOMEDCTEntityType_DX_NAME = SNOMEDCTEntityType' "DX_NAME"++pattern SNOMEDCTEntityType_PROCEDURE_NAME :: SNOMEDCTEntityType+pattern SNOMEDCTEntityType_PROCEDURE_NAME = SNOMEDCTEntityType' "PROCEDURE_NAME"++pattern SNOMEDCTEntityType_TEST_NAME :: SNOMEDCTEntityType+pattern SNOMEDCTEntityType_TEST_NAME = SNOMEDCTEntityType' "TEST_NAME"++pattern SNOMEDCTEntityType_TREATMENT_NAME :: SNOMEDCTEntityType+pattern SNOMEDCTEntityType_TREATMENT_NAME = SNOMEDCTEntityType' "TREATMENT_NAME"++{-# COMPLETE+  SNOMEDCTEntityType_DX_NAME,+  SNOMEDCTEntityType_PROCEDURE_NAME,+  SNOMEDCTEntityType_TEST_NAME,+  SNOMEDCTEntityType_TREATMENT_NAME,+  SNOMEDCTEntityType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTRelationshipType.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTRelationshipType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTRelationshipType+  ( SNOMEDCTRelationshipType+      ( ..,+        SNOMEDCTRelationshipType_ACUITY,+        SNOMEDCTRelationshipType_DIRECTION,+        SNOMEDCTRelationshipType_QUALITY,+        SNOMEDCTRelationshipType_SYSTEM_ORGAN_SITE,+        SNOMEDCTRelationshipType_TEST_UNITS,+        SNOMEDCTRelationshipType_TEST_VALUE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SNOMEDCTRelationshipType = SNOMEDCTRelationshipType'+  { fromSNOMEDCTRelationshipType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SNOMEDCTRelationshipType_ACUITY :: SNOMEDCTRelationshipType+pattern SNOMEDCTRelationshipType_ACUITY = SNOMEDCTRelationshipType' "ACUITY"++pattern SNOMEDCTRelationshipType_DIRECTION :: SNOMEDCTRelationshipType+pattern SNOMEDCTRelationshipType_DIRECTION = SNOMEDCTRelationshipType' "DIRECTION"++pattern SNOMEDCTRelationshipType_QUALITY :: SNOMEDCTRelationshipType+pattern SNOMEDCTRelationshipType_QUALITY = SNOMEDCTRelationshipType' "QUALITY"++pattern SNOMEDCTRelationshipType_SYSTEM_ORGAN_SITE :: SNOMEDCTRelationshipType+pattern SNOMEDCTRelationshipType_SYSTEM_ORGAN_SITE = SNOMEDCTRelationshipType' "SYSTEM_ORGAN_SITE"++pattern SNOMEDCTRelationshipType_TEST_UNITS :: SNOMEDCTRelationshipType+pattern SNOMEDCTRelationshipType_TEST_UNITS = SNOMEDCTRelationshipType' "TEST_UNITS"++pattern SNOMEDCTRelationshipType_TEST_VALUE :: SNOMEDCTRelationshipType+pattern SNOMEDCTRelationshipType_TEST_VALUE = SNOMEDCTRelationshipType' "TEST_VALUE"++{-# COMPLETE+  SNOMEDCTRelationshipType_ACUITY,+  SNOMEDCTRelationshipType_DIRECTION,+  SNOMEDCTRelationshipType_QUALITY,+  SNOMEDCTRelationshipType_SYSTEM_ORGAN_SITE,+  SNOMEDCTRelationshipType_TEST_UNITS,+  SNOMEDCTRelationshipType_TEST_VALUE,+  SNOMEDCTRelationshipType'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTTrait.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTTrait+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTTrait where++import Amazonka.ComprehendMedical.Types.SNOMEDCTTraitName+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contextual information for an entity.+--+-- /See:/ 'newSNOMEDCTTrait' smart constructor.+data SNOMEDCTTrait = SNOMEDCTTrait'+  { -- | The name or contextual description of a detected trait.+    name :: Prelude.Maybe SNOMEDCTTraitName,+    -- | The level of confidence that Comprehend Medical has in the accuracy of a+    -- detected trait.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SNOMEDCTTrait' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'sNOMEDCTTrait_name' - The name or contextual description of a detected trait.+--+-- 'score', 'sNOMEDCTTrait_score' - The level of confidence that Comprehend Medical has in the accuracy of a+-- detected trait.+newSNOMEDCTTrait ::+  SNOMEDCTTrait+newSNOMEDCTTrait =+  SNOMEDCTTrait'+    { name = Prelude.Nothing,+      score = Prelude.Nothing+    }++-- | The name or contextual description of a detected trait.+sNOMEDCTTrait_name :: Lens.Lens' SNOMEDCTTrait (Prelude.Maybe SNOMEDCTTraitName)+sNOMEDCTTrait_name = Lens.lens (\SNOMEDCTTrait' {name} -> name) (\s@SNOMEDCTTrait' {} a -> s {name = a} :: SNOMEDCTTrait)++-- | The level of confidence that Comprehend Medical has in the accuracy of a+-- detected trait.+sNOMEDCTTrait_score :: Lens.Lens' SNOMEDCTTrait (Prelude.Maybe Prelude.Double)+sNOMEDCTTrait_score = Lens.lens (\SNOMEDCTTrait' {score} -> score) (\s@SNOMEDCTTrait' {} a -> s {score = a} :: SNOMEDCTTrait)++instance Data.FromJSON SNOMEDCTTrait where+  parseJSON =+    Data.withObject+      "SNOMEDCTTrait"+      ( \x ->+          SNOMEDCTTrait'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Score")+      )++instance Prelude.Hashable SNOMEDCTTrait where+  hashWithSalt _salt SNOMEDCTTrait' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` score++instance Prelude.NFData SNOMEDCTTrait where+  rnf SNOMEDCTTrait' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/ComprehendMedical/Types/SNOMEDCTTraitName.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.SNOMEDCTTraitName+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.SNOMEDCTTraitName+  ( SNOMEDCTTraitName+      ( ..,+        SNOMEDCTTraitName_DIAGNOSIS,+        SNOMEDCTTraitName_FUTURE,+        SNOMEDCTTraitName_HYPOTHETICAL,+        SNOMEDCTTraitName_LOW_CONFIDENCE,+        SNOMEDCTTraitName_NEGATION,+        SNOMEDCTTraitName_PAST_HISTORY,+        SNOMEDCTTraitName_PERTAINS_TO_FAMILY,+        SNOMEDCTTraitName_SIGN,+        SNOMEDCTTraitName_SYMPTOM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SNOMEDCTTraitName = SNOMEDCTTraitName'+  { fromSNOMEDCTTraitName ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SNOMEDCTTraitName_DIAGNOSIS :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_DIAGNOSIS = SNOMEDCTTraitName' "DIAGNOSIS"++pattern SNOMEDCTTraitName_FUTURE :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_FUTURE = SNOMEDCTTraitName' "FUTURE"++pattern SNOMEDCTTraitName_HYPOTHETICAL :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_HYPOTHETICAL = SNOMEDCTTraitName' "HYPOTHETICAL"++pattern SNOMEDCTTraitName_LOW_CONFIDENCE :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_LOW_CONFIDENCE = SNOMEDCTTraitName' "LOW_CONFIDENCE"++pattern SNOMEDCTTraitName_NEGATION :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_NEGATION = SNOMEDCTTraitName' "NEGATION"++pattern SNOMEDCTTraitName_PAST_HISTORY :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_PAST_HISTORY = SNOMEDCTTraitName' "PAST_HISTORY"++pattern SNOMEDCTTraitName_PERTAINS_TO_FAMILY :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_PERTAINS_TO_FAMILY = SNOMEDCTTraitName' "PERTAINS_TO_FAMILY"++pattern SNOMEDCTTraitName_SIGN :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_SIGN = SNOMEDCTTraitName' "SIGN"++pattern SNOMEDCTTraitName_SYMPTOM :: SNOMEDCTTraitName+pattern SNOMEDCTTraitName_SYMPTOM = SNOMEDCTTraitName' "SYMPTOM"++{-# COMPLETE+  SNOMEDCTTraitName_DIAGNOSIS,+  SNOMEDCTTraitName_FUTURE,+  SNOMEDCTTraitName_HYPOTHETICAL,+  SNOMEDCTTraitName_LOW_CONFIDENCE,+  SNOMEDCTTraitName_NEGATION,+  SNOMEDCTTraitName_PAST_HISTORY,+  SNOMEDCTTraitName_PERTAINS_TO_FAMILY,+  SNOMEDCTTraitName_SIGN,+  SNOMEDCTTraitName_SYMPTOM,+  SNOMEDCTTraitName'+  #-}
+ gen/Amazonka/ComprehendMedical/Types/Trait.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.Trait+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.Trait where++import Amazonka.ComprehendMedical.Types.AttributeName+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Provides contextual information about the extracted entity.+--+-- /See:/ 'newTrait' smart constructor.+data Trait = Trait'+  { -- | Provides a name or contextual description about the trait.+    name :: Prelude.Maybe AttributeName,+    -- | The level of confidence that Comprehend Medical; has in the accuracy of+    -- this trait.+    score :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Trait' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'trait_name' - Provides a name or contextual description about the trait.+--+-- 'score', 'trait_score' - The level of confidence that Comprehend Medical; has in the accuracy of+-- this trait.+newTrait ::+  Trait+newTrait =+  Trait'+    { name = Prelude.Nothing,+      score = Prelude.Nothing+    }++-- | Provides a name or contextual description about the trait.+trait_name :: Lens.Lens' Trait (Prelude.Maybe AttributeName)+trait_name = Lens.lens (\Trait' {name} -> name) (\s@Trait' {} a -> s {name = a} :: Trait)++-- | The level of confidence that Comprehend Medical; has in the accuracy of+-- this trait.+trait_score :: Lens.Lens' Trait (Prelude.Maybe Prelude.Double)+trait_score = Lens.lens (\Trait' {score} -> score) (\s@Trait' {} a -> s {score = a} :: Trait)++instance Data.FromJSON Trait where+  parseJSON =+    Data.withObject+      "Trait"+      ( \x ->+          Trait'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Score")+      )++instance Prelude.Hashable Trait where+  hashWithSalt _salt Trait' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` score++instance Prelude.NFData Trait where+  rnf Trait' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/ComprehendMedical/Types/UnmappedAttribute.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Types.UnmappedAttribute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Types.UnmappedAttribute where++import Amazonka.ComprehendMedical.Types.Attribute+import Amazonka.ComprehendMedical.Types.EntityType+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An attribute that was extracted, but Comprehend Medical; was unable to+-- relate to an entity.+--+-- /See:/ 'newUnmappedAttribute' smart constructor.+data UnmappedAttribute = UnmappedAttribute'+  { -- | The specific attribute that has been extracted but not mapped to an+    -- entity.+    attribute :: Prelude.Maybe Attribute,+    -- | The type of the unmapped attribute, could be one of the following+    -- values: \"MEDICATION\", \"MEDICAL_CONDITION\", \"ANATOMY\",+    -- \"TEST_AND_TREATMENT_PROCEDURE\" or \"PROTECTED_HEALTH_INFORMATION\".+    type' :: Prelude.Maybe EntityType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UnmappedAttribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attribute', 'unmappedAttribute_attribute' - The specific attribute that has been extracted but not mapped to an+-- entity.+--+-- 'type'', 'unmappedAttribute_type' - The type of the unmapped attribute, could be one of the following+-- values: \"MEDICATION\", \"MEDICAL_CONDITION\", \"ANATOMY\",+-- \"TEST_AND_TREATMENT_PROCEDURE\" or \"PROTECTED_HEALTH_INFORMATION\".+newUnmappedAttribute ::+  UnmappedAttribute+newUnmappedAttribute =+  UnmappedAttribute'+    { attribute = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The specific attribute that has been extracted but not mapped to an+-- entity.+unmappedAttribute_attribute :: Lens.Lens' UnmappedAttribute (Prelude.Maybe Attribute)+unmappedAttribute_attribute = Lens.lens (\UnmappedAttribute' {attribute} -> attribute) (\s@UnmappedAttribute' {} a -> s {attribute = a} :: UnmappedAttribute)++-- | The type of the unmapped attribute, could be one of the following+-- values: \"MEDICATION\", \"MEDICAL_CONDITION\", \"ANATOMY\",+-- \"TEST_AND_TREATMENT_PROCEDURE\" or \"PROTECTED_HEALTH_INFORMATION\".+unmappedAttribute_type :: Lens.Lens' UnmappedAttribute (Prelude.Maybe EntityType)+unmappedAttribute_type = Lens.lens (\UnmappedAttribute' {type'} -> type') (\s@UnmappedAttribute' {} a -> s {type' = a} :: UnmappedAttribute)++instance Data.FromJSON UnmappedAttribute where+  parseJSON =+    Data.withObject+      "UnmappedAttribute"+      ( \x ->+          UnmappedAttribute'+            Prelude.<$> (x Data..:? "Attribute")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable UnmappedAttribute where+  hashWithSalt _salt UnmappedAttribute' {..} =+    _salt+      `Prelude.hashWithSalt` attribute+      `Prelude.hashWithSalt` type'++instance Prelude.NFData UnmappedAttribute where+  rnf UnmappedAttribute' {..} =+    Prelude.rnf attribute+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/ComprehendMedical/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ComprehendMedical.Waiters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ComprehendMedical.Waiters where++import Amazonka.ComprehendMedical.Lens+import Amazonka.ComprehendMedical.Types+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.ComprehendMedical+import Test.Amazonka.ComprehendMedical.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "ComprehendMedical"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/ComprehendMedical.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.ComprehendMedical+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.ComprehendMedical+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/ComprehendMedical/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.ComprehendMedical.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.ComprehendMedical.Internal where
+ test/Test/Amazonka/Gen/ComprehendMedical.hs view
@@ -0,0 +1,538 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.Amazonka.Gen.ComprehendMedical+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.ComprehendMedical where++import Amazonka.ComprehendMedical+import qualified Data.Proxy as Proxy+import Test.Amazonka.ComprehendMedical.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestDescribeEntitiesDetectionV2Job $+--             newDescribeEntitiesDetectionV2Job+--+--         , requestDescribeICD10CMInferenceJob $+--             newDescribeICD10CMInferenceJob+--+--         , requestDescribePHIDetectionJob $+--             newDescribePHIDetectionJob+--+--         , requestDescribeRxNormInferenceJob $+--             newDescribeRxNormInferenceJob+--+--         , requestDescribeSNOMEDCTInferenceJob $+--             newDescribeSNOMEDCTInferenceJob+--+--         , requestDetectEntitiesV2 $+--             newDetectEntitiesV2+--+--         , requestDetectPHI $+--             newDetectPHI+--+--         , requestInferICD10CM $+--             newInferICD10CM+--+--         , requestInferRxNorm $+--             newInferRxNorm+--+--         , requestInferSNOMEDCT $+--             newInferSNOMEDCT+--+--         , requestListEntitiesDetectionV2Jobs $+--             newListEntitiesDetectionV2Jobs+--+--         , requestListICD10CMInferenceJobs $+--             newListICD10CMInferenceJobs+--+--         , requestListPHIDetectionJobs $+--             newListPHIDetectionJobs+--+--         , requestListRxNormInferenceJobs $+--             newListRxNormInferenceJobs+--+--         , requestListSNOMEDCTInferenceJobs $+--             newListSNOMEDCTInferenceJobs+--+--         , requestStartEntitiesDetectionV2Job $+--             newStartEntitiesDetectionV2Job+--+--         , requestStartICD10CMInferenceJob $+--             newStartICD10CMInferenceJob+--+--         , requestStartPHIDetectionJob $+--             newStartPHIDetectionJob+--+--         , requestStartRxNormInferenceJob $+--             newStartRxNormInferenceJob+--+--         , requestStartSNOMEDCTInferenceJob $+--             newStartSNOMEDCTInferenceJob+--+--         , requestStopEntitiesDetectionV2Job $+--             newStopEntitiesDetectionV2Job+--+--         , requestStopICD10CMInferenceJob $+--             newStopICD10CMInferenceJob+--+--         , requestStopPHIDetectionJob $+--             newStopPHIDetectionJob+--+--         , requestStopRxNormInferenceJob $+--             newStopRxNormInferenceJob+--+--         , requestStopSNOMEDCTInferenceJob $+--             newStopSNOMEDCTInferenceJob+--+--           ]++--     , testGroup "response"+--         [ responseDescribeEntitiesDetectionV2Job $+--             newDescribeEntitiesDetectionV2JobResponse+--+--         , responseDescribeICD10CMInferenceJob $+--             newDescribeICD10CMInferenceJobResponse+--+--         , responseDescribePHIDetectionJob $+--             newDescribePHIDetectionJobResponse+--+--         , responseDescribeRxNormInferenceJob $+--             newDescribeRxNormInferenceJobResponse+--+--         , responseDescribeSNOMEDCTInferenceJob $+--             newDescribeSNOMEDCTInferenceJobResponse+--+--         , responseDetectEntitiesV2 $+--             newDetectEntitiesV2Response+--+--         , responseDetectPHI $+--             newDetectPHIResponse+--+--         , responseInferICD10CM $+--             newInferICD10CMResponse+--+--         , responseInferRxNorm $+--             newInferRxNormResponse+--+--         , responseInferSNOMEDCT $+--             newInferSNOMEDCTResponse+--+--         , responseListEntitiesDetectionV2Jobs $+--             newListEntitiesDetectionV2JobsResponse+--+--         , responseListICD10CMInferenceJobs $+--             newListICD10CMInferenceJobsResponse+--+--         , responseListPHIDetectionJobs $+--             newListPHIDetectionJobsResponse+--+--         , responseListRxNormInferenceJobs $+--             newListRxNormInferenceJobsResponse+--+--         , responseListSNOMEDCTInferenceJobs $+--             newListSNOMEDCTInferenceJobsResponse+--+--         , responseStartEntitiesDetectionV2Job $+--             newStartEntitiesDetectionV2JobResponse+--+--         , responseStartICD10CMInferenceJob $+--             newStartICD10CMInferenceJobResponse+--+--         , responseStartPHIDetectionJob $+--             newStartPHIDetectionJobResponse+--+--         , responseStartRxNormInferenceJob $+--             newStartRxNormInferenceJobResponse+--+--         , responseStartSNOMEDCTInferenceJob $+--             newStartSNOMEDCTInferenceJobResponse+--+--         , responseStopEntitiesDetectionV2Job $+--             newStopEntitiesDetectionV2JobResponse+--+--         , responseStopICD10CMInferenceJob $+--             newStopICD10CMInferenceJobResponse+--+--         , responseStopPHIDetectionJob $+--             newStopPHIDetectionJobResponse+--+--         , responseStopRxNormInferenceJob $+--             newStopRxNormInferenceJobResponse+--+--         , responseStopSNOMEDCTInferenceJob $+--             newStopSNOMEDCTInferenceJobResponse+--+--           ]+--     ]++-- Requests++requestDescribeEntitiesDetectionV2Job :: DescribeEntitiesDetectionV2Job -> TestTree+requestDescribeEntitiesDetectionV2Job =+  req+    "DescribeEntitiesDetectionV2Job"+    "fixture/DescribeEntitiesDetectionV2Job.yaml"++requestDescribeICD10CMInferenceJob :: DescribeICD10CMInferenceJob -> TestTree+requestDescribeICD10CMInferenceJob =+  req+    "DescribeICD10CMInferenceJob"+    "fixture/DescribeICD10CMInferenceJob.yaml"++requestDescribePHIDetectionJob :: DescribePHIDetectionJob -> TestTree+requestDescribePHIDetectionJob =+  req+    "DescribePHIDetectionJob"+    "fixture/DescribePHIDetectionJob.yaml"++requestDescribeRxNormInferenceJob :: DescribeRxNormInferenceJob -> TestTree+requestDescribeRxNormInferenceJob =+  req+    "DescribeRxNormInferenceJob"+    "fixture/DescribeRxNormInferenceJob.yaml"++requestDescribeSNOMEDCTInferenceJob :: DescribeSNOMEDCTInferenceJob -> TestTree+requestDescribeSNOMEDCTInferenceJob =+  req+    "DescribeSNOMEDCTInferenceJob"+    "fixture/DescribeSNOMEDCTInferenceJob.yaml"++requestDetectEntitiesV2 :: DetectEntitiesV2 -> TestTree+requestDetectEntitiesV2 =+  req+    "DetectEntitiesV2"+    "fixture/DetectEntitiesV2.yaml"++requestDetectPHI :: DetectPHI -> TestTree+requestDetectPHI =+  req+    "DetectPHI"+    "fixture/DetectPHI.yaml"++requestInferICD10CM :: InferICD10CM -> TestTree+requestInferICD10CM =+  req+    "InferICD10CM"+    "fixture/InferICD10CM.yaml"++requestInferRxNorm :: InferRxNorm -> TestTree+requestInferRxNorm =+  req+    "InferRxNorm"+    "fixture/InferRxNorm.yaml"++requestInferSNOMEDCT :: InferSNOMEDCT -> TestTree+requestInferSNOMEDCT =+  req+    "InferSNOMEDCT"+    "fixture/InferSNOMEDCT.yaml"++requestListEntitiesDetectionV2Jobs :: ListEntitiesDetectionV2Jobs -> TestTree+requestListEntitiesDetectionV2Jobs =+  req+    "ListEntitiesDetectionV2Jobs"+    "fixture/ListEntitiesDetectionV2Jobs.yaml"++requestListICD10CMInferenceJobs :: ListICD10CMInferenceJobs -> TestTree+requestListICD10CMInferenceJobs =+  req+    "ListICD10CMInferenceJobs"+    "fixture/ListICD10CMInferenceJobs.yaml"++requestListPHIDetectionJobs :: ListPHIDetectionJobs -> TestTree+requestListPHIDetectionJobs =+  req+    "ListPHIDetectionJobs"+    "fixture/ListPHIDetectionJobs.yaml"++requestListRxNormInferenceJobs :: ListRxNormInferenceJobs -> TestTree+requestListRxNormInferenceJobs =+  req+    "ListRxNormInferenceJobs"+    "fixture/ListRxNormInferenceJobs.yaml"++requestListSNOMEDCTInferenceJobs :: ListSNOMEDCTInferenceJobs -> TestTree+requestListSNOMEDCTInferenceJobs =+  req+    "ListSNOMEDCTInferenceJobs"+    "fixture/ListSNOMEDCTInferenceJobs.yaml"++requestStartEntitiesDetectionV2Job :: StartEntitiesDetectionV2Job -> TestTree+requestStartEntitiesDetectionV2Job =+  req+    "StartEntitiesDetectionV2Job"+    "fixture/StartEntitiesDetectionV2Job.yaml"++requestStartICD10CMInferenceJob :: StartICD10CMInferenceJob -> TestTree+requestStartICD10CMInferenceJob =+  req+    "StartICD10CMInferenceJob"+    "fixture/StartICD10CMInferenceJob.yaml"++requestStartPHIDetectionJob :: StartPHIDetectionJob -> TestTree+requestStartPHIDetectionJob =+  req+    "StartPHIDetectionJob"+    "fixture/StartPHIDetectionJob.yaml"++requestStartRxNormInferenceJob :: StartRxNormInferenceJob -> TestTree+requestStartRxNormInferenceJob =+  req+    "StartRxNormInferenceJob"+    "fixture/StartRxNormInferenceJob.yaml"++requestStartSNOMEDCTInferenceJob :: StartSNOMEDCTInferenceJob -> TestTree+requestStartSNOMEDCTInferenceJob =+  req+    "StartSNOMEDCTInferenceJob"+    "fixture/StartSNOMEDCTInferenceJob.yaml"++requestStopEntitiesDetectionV2Job :: StopEntitiesDetectionV2Job -> TestTree+requestStopEntitiesDetectionV2Job =+  req+    "StopEntitiesDetectionV2Job"+    "fixture/StopEntitiesDetectionV2Job.yaml"++requestStopICD10CMInferenceJob :: StopICD10CMInferenceJob -> TestTree+requestStopICD10CMInferenceJob =+  req+    "StopICD10CMInferenceJob"+    "fixture/StopICD10CMInferenceJob.yaml"++requestStopPHIDetectionJob :: StopPHIDetectionJob -> TestTree+requestStopPHIDetectionJob =+  req+    "StopPHIDetectionJob"+    "fixture/StopPHIDetectionJob.yaml"++requestStopRxNormInferenceJob :: StopRxNormInferenceJob -> TestTree+requestStopRxNormInferenceJob =+  req+    "StopRxNormInferenceJob"+    "fixture/StopRxNormInferenceJob.yaml"++requestStopSNOMEDCTInferenceJob :: StopSNOMEDCTInferenceJob -> TestTree+requestStopSNOMEDCTInferenceJob =+  req+    "StopSNOMEDCTInferenceJob"+    "fixture/StopSNOMEDCTInferenceJob.yaml"++-- Responses++responseDescribeEntitiesDetectionV2Job :: DescribeEntitiesDetectionV2JobResponse -> TestTree+responseDescribeEntitiesDetectionV2Job =+  res+    "DescribeEntitiesDetectionV2JobResponse"+    "fixture/DescribeEntitiesDetectionV2JobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeEntitiesDetectionV2Job)++responseDescribeICD10CMInferenceJob :: DescribeICD10CMInferenceJobResponse -> TestTree+responseDescribeICD10CMInferenceJob =+  res+    "DescribeICD10CMInferenceJobResponse"+    "fixture/DescribeICD10CMInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeICD10CMInferenceJob)++responseDescribePHIDetectionJob :: DescribePHIDetectionJobResponse -> TestTree+responseDescribePHIDetectionJob =+  res+    "DescribePHIDetectionJobResponse"+    "fixture/DescribePHIDetectionJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePHIDetectionJob)++responseDescribeRxNormInferenceJob :: DescribeRxNormInferenceJobResponse -> TestTree+responseDescribeRxNormInferenceJob =+  res+    "DescribeRxNormInferenceJobResponse"+    "fixture/DescribeRxNormInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeRxNormInferenceJob)++responseDescribeSNOMEDCTInferenceJob :: DescribeSNOMEDCTInferenceJobResponse -> TestTree+responseDescribeSNOMEDCTInferenceJob =+  res+    "DescribeSNOMEDCTInferenceJobResponse"+    "fixture/DescribeSNOMEDCTInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeSNOMEDCTInferenceJob)++responseDetectEntitiesV2 :: DetectEntitiesV2Response -> TestTree+responseDetectEntitiesV2 =+  res+    "DetectEntitiesV2Response"+    "fixture/DetectEntitiesV2Response.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DetectEntitiesV2)++responseDetectPHI :: DetectPHIResponse -> TestTree+responseDetectPHI =+  res+    "DetectPHIResponse"+    "fixture/DetectPHIResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DetectPHI)++responseInferICD10CM :: InferICD10CMResponse -> TestTree+responseInferICD10CM =+  res+    "InferICD10CMResponse"+    "fixture/InferICD10CMResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy InferICD10CM)++responseInferRxNorm :: InferRxNormResponse -> TestTree+responseInferRxNorm =+  res+    "InferRxNormResponse"+    "fixture/InferRxNormResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy InferRxNorm)++responseInferSNOMEDCT :: InferSNOMEDCTResponse -> TestTree+responseInferSNOMEDCT =+  res+    "InferSNOMEDCTResponse"+    "fixture/InferSNOMEDCTResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy InferSNOMEDCT)++responseListEntitiesDetectionV2Jobs :: ListEntitiesDetectionV2JobsResponse -> TestTree+responseListEntitiesDetectionV2Jobs =+  res+    "ListEntitiesDetectionV2JobsResponse"+    "fixture/ListEntitiesDetectionV2JobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEntitiesDetectionV2Jobs)++responseListICD10CMInferenceJobs :: ListICD10CMInferenceJobsResponse -> TestTree+responseListICD10CMInferenceJobs =+  res+    "ListICD10CMInferenceJobsResponse"+    "fixture/ListICD10CMInferenceJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListICD10CMInferenceJobs)++responseListPHIDetectionJobs :: ListPHIDetectionJobsResponse -> TestTree+responseListPHIDetectionJobs =+  res+    "ListPHIDetectionJobsResponse"+    "fixture/ListPHIDetectionJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPHIDetectionJobs)++responseListRxNormInferenceJobs :: ListRxNormInferenceJobsResponse -> TestTree+responseListRxNormInferenceJobs =+  res+    "ListRxNormInferenceJobsResponse"+    "fixture/ListRxNormInferenceJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRxNormInferenceJobs)++responseListSNOMEDCTInferenceJobs :: ListSNOMEDCTInferenceJobsResponse -> TestTree+responseListSNOMEDCTInferenceJobs =+  res+    "ListSNOMEDCTInferenceJobsResponse"+    "fixture/ListSNOMEDCTInferenceJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSNOMEDCTInferenceJobs)++responseStartEntitiesDetectionV2Job :: StartEntitiesDetectionV2JobResponse -> TestTree+responseStartEntitiesDetectionV2Job =+  res+    "StartEntitiesDetectionV2JobResponse"+    "fixture/StartEntitiesDetectionV2JobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartEntitiesDetectionV2Job)++responseStartICD10CMInferenceJob :: StartICD10CMInferenceJobResponse -> TestTree+responseStartICD10CMInferenceJob =+  res+    "StartICD10CMInferenceJobResponse"+    "fixture/StartICD10CMInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartICD10CMInferenceJob)++responseStartPHIDetectionJob :: StartPHIDetectionJobResponse -> TestTree+responseStartPHIDetectionJob =+  res+    "StartPHIDetectionJobResponse"+    "fixture/StartPHIDetectionJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartPHIDetectionJob)++responseStartRxNormInferenceJob :: StartRxNormInferenceJobResponse -> TestTree+responseStartRxNormInferenceJob =+  res+    "StartRxNormInferenceJobResponse"+    "fixture/StartRxNormInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartRxNormInferenceJob)++responseStartSNOMEDCTInferenceJob :: StartSNOMEDCTInferenceJobResponse -> TestTree+responseStartSNOMEDCTInferenceJob =+  res+    "StartSNOMEDCTInferenceJobResponse"+    "fixture/StartSNOMEDCTInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartSNOMEDCTInferenceJob)++responseStopEntitiesDetectionV2Job :: StopEntitiesDetectionV2JobResponse -> TestTree+responseStopEntitiesDetectionV2Job =+  res+    "StopEntitiesDetectionV2JobResponse"+    "fixture/StopEntitiesDetectionV2JobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopEntitiesDetectionV2Job)++responseStopICD10CMInferenceJob :: StopICD10CMInferenceJobResponse -> TestTree+responseStopICD10CMInferenceJob =+  res+    "StopICD10CMInferenceJobResponse"+    "fixture/StopICD10CMInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopICD10CMInferenceJob)++responseStopPHIDetectionJob :: StopPHIDetectionJobResponse -> TestTree+responseStopPHIDetectionJob =+  res+    "StopPHIDetectionJobResponse"+    "fixture/StopPHIDetectionJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopPHIDetectionJob)++responseStopRxNormInferenceJob :: StopRxNormInferenceJobResponse -> TestTree+responseStopRxNormInferenceJob =+  res+    "StopRxNormInferenceJobResponse"+    "fixture/StopRxNormInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopRxNormInferenceJob)++responseStopSNOMEDCTInferenceJob :: StopSNOMEDCTInferenceJobResponse -> TestTree+responseStopSNOMEDCTInferenceJob =+  res+    "StopSNOMEDCTInferenceJobResponse"+    "fixture/StopSNOMEDCTInferenceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopSNOMEDCTInferenceJob)