1️⃣: DETECT MEDICAL ENTITIES (BACK-END)
==================================
📋 ACTION DESCRIPTION
--------------------------------
DETECT MEDICAL ENTITIES (BACK-END) examines unstructured clinical text to detect textual references to medical information such as protected health information, medical condition, treatment, tests and results, medications, relationship between those and the related anatomic site.
🔧 STEP-BY-STEP SETUP
--------------------------------
ℹ️ The steps from 0) to 1) can be automatically performed by using this deployment template:
https://console.aws.amazon.com/cloudformation/home?#/stacks/create/review?stackName=BubbleComprehendMedical&templateURL=https://bubble-resources.s3.amazonaws.com/deployment-assets/CloudFormation-AWSComprehendMedicalAsync.yamlYou will find the required parameters values used across the plugin in the "OUTPUT" tab of the created stack.
0) Sign-up for AWS COMPREHEND MEDICAL:
https://console.aws.amazon.com/comprehendmedical/home?p=ply&cp=bn&ad=c1) Create your AWS ACCESS KEY & ACCESS KEY SECRET, then add to the credentials the AWS COMPREHEND MEDICAL READ-ACCESS policy:
https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys2) In the Plugin Settings, enter the following:
- AWS ACCESS KEY & ACCESS KEY SECRET
- AWS SERVICE ENDPOINT REGION (if not provided, default endpoint is "us-east-1").
3) Set up the "DETECT MEDICAL ENTITIES (BACK-END)" action in the workflow.
Inputs Fields:
- TEXT TO ANALYZE: A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 20,000 bytes of UTF-8 encoded characters.
- RESULT DATA TYPE: Returned type, must always be set to "RESULT (COMPREHEND MEDICAL)".
Output Fields:
- RESULTS: Returns a list of detected entities described here:
https://docs.aws.amazon.com/comprehend-medical/latest/dev/textanalysis-entitiesv2.html within the following structure:
https://docs.aws.amazon.com/comprehend-medical/latest/api/API_DetectEntitiesV2.html#API_DetectEntitiesV2_ResponseSyntax2️⃣: AWS COMPREHEND MEDICAL (FRONT-END)
==================================
📋 ELEMENT DESCRIPTION
--------------------------------
AWS COMPREHEND MEDICAL (FRONT-END) provides DETECT MEDICAL ENTITIES (FRONT-END) action to analyze unstructured clinical text. The front-end element is suitable for applications when reactivity is desired, such as but not limited to, mobile applications.
🔧 STEP-BY-STEP SETUP
--------------------------------
ℹ️ The steps from 0) to 1) can be automatically performed by using this deployment template:
https://console.aws.amazon.com/cloudformation/home?#/stacks/create/review?stackName=BubbleComprehendMedical&templateURL=https://bubble-resources.s3.amazonaws.com/deployment-assets/CloudFormation-AWSComprehendMedicalAsync.yaml0) Sign-up for AWS COMPREHEND MEDICAL:
https://console.aws.amazon.com/comprehendmedical/home?p=ply&cp=bn&ad=c1) Create your AWS ACCESS KEY & ACCESS KEY SECRET, then add to the credentials the AWS COMPREHEND MEDICAL READ-ACCESS policy:
https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys2) Register on plugins.wiseable.io. Create a new Credential which associates your BUBBLE APP URL, AWS ACCESS KEY & ACCESS KEY SECRET.
The registration service will generate your PUBLIC ACCESS KEY. This key serves as a secure proxy for your real API key. It allows your application to communicate with the service without exposing your real API key. Since this PUBLIC ACCESS KEY is explicitly tied to your registered BUBBLE APP URL, it can only be used from that domain, ensuring that even if the key is publicly visible, it remains safe and cannot be misused by unauthorized sources.
3) Enter in the PLUGIN SETTINGS your PUBLIC ACCESS KEY (used for front-end element only).
4) Add the AWS COMPREHEND MEDICAL (FRONT-END) element to the page on which the medical entity detection feature must be integrated. Select the RESULT DATA TYPE as Returned type, must always be set to "RESULT (COMPREHEND)".
5) Integrate the logic into your application using the following AWS COMPREHEND MEDICAL (FRONT-END) element's states and actions:
FIELDS:
- RESULT DATA TYPE: Returned type, must always be set to "RESULT (COMPREHEND MEDICAL)".
EVENTS:
- SUCCESS: Event triggered upon success
- ERROR: Event triggered upon error
EXPOSED STATES:
Use any element able to show/process the data of interest (such as a Group with a Text field) stored within the result of the following states of the AWS COMPREHEND MEDICAL (FRONT-END) element:
- RESULTS: Populated upon SUCCESS event. Returns a list of detected entities described here:
https://docs.aws.amazon.com/comprehend-medical/latest/dev/textanalysis-entitiesv2.html- ERROR MESSAGE: Populated upon ERROR event.
- IS PROCESSING: Set to true when processing is in progress, false otherwise.
ELEMENT ACTIONS - TRIGGERED IN WORKFLOW:
- DETECT MEDICAL ENTITIES (FRONT-END): Analyze unstructured clinical text to detect medical entities. Populate RESULTS state upon completion.
Inputs Fields:
- TEXT TO ANALYZE: A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 5,000 bytes of UTF-8 encoded characters.
🔍 IMPLEMENTATION EXAMPLE
======================
Feel free to browse the app editor in the Service URL for an implementation example.
ℹ️ ADDITIONAL INFORMATION
======================
> Entities object details:
https://docs.aws.amazon.com/comprehend-medical/latest/api/API_DetectEntitiesV2.html#API_DetectEntitiesV2_ResponseSyntax> AWS COMPREHEND MEDICAL service limits:
https://docs.aws.amazon.com/comprehend-medical/latest/dev/comprehendmedical-quotas.html#limits-all-med > AWS services availability per region:
https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/> AWS Service endpoints list:
https://docs.aws.amazon.com/general/latest/gr/rande.html⚠️ TROUBLESHOOTING
================
Any plugin related error will be posted to the Logs tab, "Server logs" section of your App Editor.
Make sure that "Plugin server side output" and "Plugin client side output" is selected in "Show Advanced".
For front-end actions, you can also open your browser's developer console (F12 or Ctrl+Shift+I in most browsers) to view detailed error messages and logs.
Always check the ERROR MESSAGE state of the element and implement error handling using the ERROR event to provide a better user experience.
> Server Logs Details:
https://manual.bubble.io/core-resources/bubbles-interface/logs-tab#server-logs⚡ PERFORMANCE CONSIDERATIONS
===========================
GENERAL
-------------
For back-end actions, the maximum retrievable result-set from AWS COMPREHEND MEDICAL is capped at 30 seconds duration time - this does not apply to front-end actions.
⏱️ BACK-END ACTION START DELAY
-----------------------------------------------
Each time a server-side action is called, Bubble initializes a small virtual machine to execute the action. If the same action is called shortly after, the caching mechanism kicks in, resulting in faster execution on subsequent calls.
A useful workaround is to fire a dummy execution at page load, which pre-warms the Bubble engine for the next few minutes, reducing the impact of cold starts for your users.
❓ QUESTIONS?
===========
Contact us at
[email protected] for any additional feature you would require or support question.