ComprehendMedical / Client / detect_phi

detect_phi#

ComprehendMedical.Client.detect_phi(**kwargs)#

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.

See also: AWS API Documentation

Request Syntax

response = client.detect_phi(
    Text='string'
)
Parameters:

Text (string) –

[REQUIRED]

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.

Return type:

dict

Returns:

Response Syntax

{
    'Entities': [
        {
            'Id': 123,
            'BeginOffset': 123,
            'EndOffset': 123,
            'Score': ...,
            'Text': 'string',
            'Category': 'MEDICATION'|'MEDICAL_CONDITION'|'PROTECTED_HEALTH_INFORMATION'|'TEST_TREATMENT_PROCEDURE'|'ANATOMY'|'TIME_EXPRESSION'|'BEHAVIORAL_ENVIRONMENTAL_SOCIAL',
            'Type': 'NAME'|'DX_NAME'|'DOSAGE'|'ROUTE_OR_MODE'|'FORM'|'FREQUENCY'|'DURATION'|'GENERIC_NAME'|'BRAND_NAME'|'STRENGTH'|'RATE'|'ACUITY'|'TEST_NAME'|'TEST_VALUE'|'TEST_UNITS'|'TEST_UNIT'|'PROCEDURE_NAME'|'TREATMENT_NAME'|'DATE'|'AGE'|'CONTACT_POINT'|'PHONE_OR_FAX'|'EMAIL'|'IDENTIFIER'|'ID'|'URL'|'ADDRESS'|'PROFESSION'|'SYSTEM_ORGAN_SITE'|'DIRECTION'|'QUALITY'|'QUANTITY'|'TIME_EXPRESSION'|'TIME_TO_MEDICATION_NAME'|'TIME_TO_DX_NAME'|'TIME_TO_TEST_NAME'|'TIME_TO_PROCEDURE_NAME'|'TIME_TO_TREATMENT_NAME'|'AMOUNT'|'GENDER'|'RACE_ETHNICITY'|'ALLERGIES'|'TOBACCO_USE'|'ALCOHOL_CONSUMPTION'|'REC_DRUG_USE',
            'Traits': [
                {
                    'Name': 'SIGN'|'SYMPTOM'|'DIAGNOSIS'|'NEGATION'|'PERTAINS_TO_FAMILY'|'HYPOTHETICAL'|'LOW_CONFIDENCE'|'PAST_HISTORY'|'FUTURE',
                    'Score': ...
                },
            ],
            'Attributes': [
                {
                    'Type': 'NAME'|'DX_NAME'|'DOSAGE'|'ROUTE_OR_MODE'|'FORM'|'FREQUENCY'|'DURATION'|'GENERIC_NAME'|'BRAND_NAME'|'STRENGTH'|'RATE'|'ACUITY'|'TEST_NAME'|'TEST_VALUE'|'TEST_UNITS'|'TEST_UNIT'|'PROCEDURE_NAME'|'TREATMENT_NAME'|'DATE'|'AGE'|'CONTACT_POINT'|'PHONE_OR_FAX'|'EMAIL'|'IDENTIFIER'|'ID'|'URL'|'ADDRESS'|'PROFESSION'|'SYSTEM_ORGAN_SITE'|'DIRECTION'|'QUALITY'|'QUANTITY'|'TIME_EXPRESSION'|'TIME_TO_MEDICATION_NAME'|'TIME_TO_DX_NAME'|'TIME_TO_TEST_NAME'|'TIME_TO_PROCEDURE_NAME'|'TIME_TO_TREATMENT_NAME'|'AMOUNT'|'GENDER'|'RACE_ETHNICITY'|'ALLERGIES'|'TOBACCO_USE'|'ALCOHOL_CONSUMPTION'|'REC_DRUG_USE',
                    'Score': ...,
                    'RelationshipScore': ...,
                    'RelationshipType': 'EVERY'|'WITH_DOSAGE'|'ADMINISTERED_VIA'|'FOR'|'NEGATIVE'|'OVERLAP'|'DOSAGE'|'ROUTE_OR_MODE'|'FORM'|'FREQUENCY'|'DURATION'|'STRENGTH'|'RATE'|'ACUITY'|'TEST_VALUE'|'TEST_UNITS'|'TEST_UNIT'|'DIRECTION'|'SYSTEM_ORGAN_SITE'|'AMOUNT',
                    'Id': 123,
                    'BeginOffset': 123,
                    'EndOffset': 123,
                    'Text': 'string',
                    'Category': 'MEDICATION'|'MEDICAL_CONDITION'|'PROTECTED_HEALTH_INFORMATION'|'TEST_TREATMENT_PROCEDURE'|'ANATOMY'|'TIME_EXPRESSION'|'BEHAVIORAL_ENVIRONMENTAL_SOCIAL',
                    'Traits': [
                        {
                            'Name': 'SIGN'|'SYMPTOM'|'DIAGNOSIS'|'NEGATION'|'PERTAINS_TO_FAMILY'|'HYPOTHETICAL'|'LOW_CONFIDENCE'|'PAST_HISTORY'|'FUTURE',
                            'Score': ...
                        },
                    ]
                },
            ]
        },
    ],
    'PaginationToken': 'string',
    'ModelVersion': 'string'
}

Response Structure

  • (dict) –

    • Entities (list) –

      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.

      • (dict) –

        Provides information about an extracted medical entity.

        • Id (integer) –

          The numeric identifier for the entity. This is a monotonically increasing id unique within this response rather than a global unique identifier.

        • BeginOffset (integer) –

          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.

        • EndOffset (integer) –

          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.

        • Score (float) –

          The level of confidence that Comprehend Medical; has in the accuracy of the detection.

        • Text (string) –

          The segment of input text extracted as this entity.

        • Category (string) –

          The category of the entity.

        • Type (string) –

          Describes the specific type of entity with category of entities.

        • Traits (list) –

          Contextual information for the entity.

          • (dict) –

            Provides contextual information about the extracted entity.

            • Name (string) –

              Provides a name or contextual description about the trait.

            • Score (float) –

              The level of confidence that Comprehend Medical; has in the accuracy of this trait.

        • Attributes (list) –

          The extracted attributes that relate to this entity.

          • (dict) –

            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.

            • Type (string) –

              The type of attribute.

            • Score (float) –

              The level of confidence that Comprehend Medical; has that the segment of text is correctly recognized as an attribute.

            • RelationshipScore (float) –

              The level of confidence that Comprehend Medical; has that this attribute is correctly related to this entity.

            • RelationshipType (string) –

              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.

            • Id (integer) –

              The numeric identifier for this attribute. This is a monotonically increasing id unique within this response rather than a global unique identifier.

            • BeginOffset (integer) –

              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 (integer) –

              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.

            • Text (string) –

              The segment of input text extracted as this attribute.

            • Category (string) –

              The category of attribute.

            • Traits (list) –

              Contextual information for this attribute.

              • (dict) –

                Provides contextual information about the extracted entity.

                • Name (string) –

                  Provides a name or contextual description about the trait.

                • Score (float) –

                  The level of confidence that Comprehend Medical; has in the accuracy of this trait.

    • PaginationToken (string) –

      If the result of the previous request to DetectPHI was truncated, include the PaginationToken to fetch the next page of PHI entities.

    • ModelVersion (string) –

      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.

Exceptions

  • ComprehendMedical.Client.exceptions.InternalServerException

  • ComprehendMedical.Client.exceptions.ServiceUnavailableException

  • ComprehendMedical.Client.exceptions.TooManyRequestsException

  • ComprehendMedical.Client.exceptions.InvalidRequestException

  • ComprehendMedical.Client.exceptions.InvalidEncodingException

  • ComprehendMedical.Client.exceptions.TextSizeLimitExceededException