The AWS HealthScribe Demo app shows the art of the possible with AWS HealthScribe, a HIPAA-elgible service empowering healthcare software vendors to build clinical applications that automatically generate clinical notes by analyzing patient-clinician conversations.
After deploying the demo, you can record or submit audio files to AWS HealthScribe, view the status of the job, and visualize the transcript and summarized clinical notes, including sections like complaint, history of present illness, assessment, and treatment plan.
Additionally, structured medical terms extracted by AWS HealthScribe can be sent to Amazon Comprehend Medical for ontology linking, allowing you to infer ICD-10-CM, SNOMED CT, or RxNorm codes.
This project uses AWS Amplify to deploy a full-stack web application with an UI based on Cloudscape, authentication using Amazon Cognito and storage using Amazon Simple Storage Service (S3).
- AWS HealthScribe Demo
This method uses AWS Amplify hosting to build, deploy, and serve the web app. You must have a GitHub account.
Note: during the preview period of AWS HealthScribe, your AWS account must be allow-listed to use the service. Speak to your AWS account team or fill out the Get Started link on the AWS HealthScribe page.
- Select the link above.
- On the Welcome to Amplify Hosting page, Select Connect to GitHub.
- This redirects you to GitHub for authentication, after which you are redirected back to AWS Amplify.
- In the Select service role dropdown, select a service role that allows Amplify to deploy the app. If none exist, select Create new role and follow the prompts.
- Select Save and deploy.
Note: if the deployment hangs on the Forking your GitHub repository for more than a minute or two, refresh the page and repeat the steps above.
See the deployment guide for semi-automatic steps.
Note: this demo is provided as a sample, and not meant to be used in a production capacity. Please review your organization's compliance requirements prior to uploading any data containing PHI.
By default, any user with a valid email can sign up and authenticate into the web app. To disable this feature, and add users manually (or turn off sign ups after you have signed up),
- Navigate to Amazon Cognito in the AWS console
- Select the user pool for this web app. It should be named
healthScribeDemoAuthUserPool-<unique id>
. - Select the Sign-up experience tab.
- Scroll to the bottom to the Self-service sign-up section, and select the Edit button for this box.
- Uncheck Enable self-registration.
- Select Save changes.
All traffic between the client (browser) and the server (AWS Amplify Hosting, AWS HealthScribe, Amazon S3) is encrypted in transit. Audio files uploaded to S3 and AWS HealthScribe output JSON is encrypted at rest.
Access logging is enabled for audio files and HealthScribe output in S3. These audit logs are written to a separate S3 bucket with a name starting with amplify-awshealthscribedemo-loggingbucket
. Both buckets are retained when you delete the app.
Amplify deploys a public-accessible website. When you first visit the site, select the Sign In link at the top right of the page. From there, select Create Account and fill in the required information. Once authenticated, you have access to all features of this web app. Note that all conversations are viewable by any authenticated user.
Note: the S3 bucket containing audio files and HealthScribe output is retained during delete. The S3 bucket containing access logs for the former is also retained during delete.
- Navigate to the AWS console for AWS Amplify.
- Select the web app.
- On the top right, select Actions, then Delete app.
During the initial deployment, AWS Amplify forked this repository to your GitHub account. Amplify then built a CI/CD pipeline using your fork as the source. To update your Amplify deployment, sync your fork with this repository:
- Navigate to the fork in your GitHub account.
- Select "Sync fork."
- Select "Update branch."
Yes, but you will have to grant the Amazon Cognito identity pool's authenticated role access to the S3 bucket where the input audio files and output JSON files are located.
- Navigate to Amazon Cognito Identy Pools in the AWS console. Make sure you are in the correct region.
- Select the identity pool associated with the demo. It is named similar to
healthScribeDemoAuthIdentityPool..
- Select the "User access" tab.
- Select the link under "Authenticated role." This will open a new tab to the IAM role assumed by authenticated users.
- Add
s3:GetObject
actions for the S3 bucket(s) where your existing audio input and JSON output files are located.
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.