This example app is a fork of the Medplum Charting Demo with PhenoML's APIs Lang2FHIR integration showcasing an AI powered charting experience.
-
new search for Clinical Trials using Gemini
-
new generate a Research Study using language
-
Upload pdfs and images and convert them to FHIR Questionnaire and QuestionnaireResponse resources
-
Describe plan definitions, medication requests, and care plans in natural language and have them converted to FHIR resources
-
AI medical scribe in the browser (using Hugging Face's Transformers.js with whisper-tiny model) to convert audio to FHIR resources
-
Describe a patient cohort in language and generate a FHIR Group resource
PhenoML Auth Token: Follow instructions here to get started with PhenoML's Lang2FHIR, you'll need to create an account and get your credentials: PhenoML Developer Docs, PhenoML Plans
This app uses PhenoML's Lang2FHIR API, which requires the auth token from your PhenoML account. Authentication is handled by bots, but the necessary secrets must be set up in your Medplum project. Importantly, PhenoML's Experiment plan is for non-production/non PHI use, you'll need to be on a Core plan to use lang2FHIR for production/PHI usage.
Your credentials can be accessed in your PhenoML account by signing in to the PhenoMLDeveloper Portal with your email to generate a one-time link. Navigate to Getting Started and copy the credentials populated. If your credentials aren't populated and you have signed up for a plan please contact support: [email protected]
Once you have copied your credentials you'll need to update them as secrets in your Medplum project. This can be done in the Medplum App. Navigate to admin page by clicking on Project in the Admin section of the sidebar. In the Secrets tab, click Add Secret and create secrets for your PhenoML email and and password with names of PHENOML_EMAIL and PHENOML_PASSWORD.
This demo application will NOT work unless you already have the Medplum stack set up either locally or using Medplum's hosted services.
If you want to run this app locally with locally hosted Medplum you will need to follow the instructions here including all pre-requisites for Medplum: here
Medplum: If you haven't already done so, follow the instructions in this tutorial to register a Medplum project to store your data.
Fork and clone the repo.
Next, install the dependencies.
npm install
Then, build the bots. Of note, if you are running this app locally with a locally hosted Medplum server you'll need to modify the context of the bots to use the vmcontext
instead of awslambda
. To do this, modify runtimeVersion: 'awslambda'
to be runtimeVersion: 'vmcontext'
in the deploy-bots.ts
script and then build the bots.
npm run build:bots
Then, run the app
npm run dev
This app should run on http://localhost:3000/
✨ PhenoML is a developer platform for healthcare AI.
PhenoML's Lang2FHIR API converts natural language to FHIR resources. It's a powerful tool for healthcare AI, and it's used in this demo app to convert natural language to FHIR resources. For benchmarking results on lang2FHIR API performance and accuracy, see PhenoML's Lang2FHIR API Benchmark.
- Read our docs
- Check out our Youtube channel
- Come hang on Discord
Medplum is an open-source, API-first EHR. Medplum makes it easy to build healthcare apps quickly with less code.
Medplum supports self-hosting and provides a hosted service. Medplum Hello World uses the hosted service as a backend.
- Read the documentation
- Browse the react component library
- Join the Discord