Welcome to Brim! This guide is designed to get you started abstracting data and explain some key concepts that will help you make the most of Brim.
By the end of this guide, you will:
Run your first Project in Brim end-to-end.
Be ready to complete your own abstraction project.
🎾 Try it out:
To keep things interactive, we'll start each section with a task to try out. You can jump right in if you're feeling confident, or read the rest of the section for step-by-step guidance.
You'll see the tennis ball anywhere you should do a few steps in the project to follow along.
A project in Brim has:
A name
Uploaded medical notes
Reference documents to use when abstracting
A set of variables to abstract.
Permissioning (who can review abstractions, who can edit the project, etc.)
The first step in Brim when addressing a new abstraction question is to create a project.
🎾 Try it out:
Create a Project in Brim.
Or follow step by step:
You can upload Medical Notes to Brim using the API or by uploading a CSV in the app. You'll find more about how to upload and the required format of this data here.
🎾 Try it out:
You'll find fictional medical records for 5 patients here.
Download this file as a CSV by going to File > Download > Comma Separated Values (CSV).
Upload the downloaded CSV file into Brim to populate your patient records.
Or follow step by step:
A variable defines a piece of information you want abstracted for a patient. The main parts of a variable are:
Variable type. The format of the information you want: text, boolean, integer, or float.
Scope. How broadly would you like this variable to apply and how many values per patient?
Instruction. This is where you define how you want the variable to be abstracted.
You can find more about variables and how to create a good one here.
Brim allows importing variables from REDCap, uploading them via CSV, and creating them manually. We'll start by uploading a CSV.
🎾 Try it out:
Imagine that your research goal is to understand how many of the patients in your (tiny) orthopedic practice are coming in because of tennis injuries.
You'll find a variable definition to find every injury mention and every tennis injury mention here.
Download this file as a CSV by going to File > Download > Comma Separated Values (CSV).
Upload the CSV file into Brim to populate your variables.
Or follow along step by step:
Brim is designed to make iteration part of the abstraction process, so that:
1) Your hypothesis can evolve over time without a lot of wasted work.
2) The AI can improve based on examples from previous iterations.
The process should look something like this:
You can learn more about how Brim recommends moving through a larger project here.
We're going to kick off our iteration loop by generating for a single patient and verifying that the fields look correct.
🎾 Try it out:
Generate for one patient.
Once generation is complete, take a look at the results at the bottom of the page.
Or follow step by step:
It's easy to abstract more information by adding a new variable.
Brim's AI will draft and prefill the variable fields from a name and description.
🎾 Try it out:
Your colleague mentions that she has seen a difference in tennis injuries based on whether the patient is right-handed, left-handed, or ambidextrous.
Use the automatic variable generator to add a variable to abstract a patient's dominant hand.
Or follow step by step:
If you want to practice formulating different types of variables, try designing variables to abstract:
past history of tennis injury
date of last ortho surgery
all dates of ortho surgery
the location of the latest ortho injury
time between ortho admission and surgery
Brim enables layered reasoning through a concept called Dependent Variables.
Dependent variables can make decisions based on the values of multiple variables or dependent variables.
Brim can automatically create a dependent variable from a name and description, using existing variables as input and automatically creating any new ones it needs.
🎾 Try it out:
You want to refer eligible patients to a clinical trial that accepts right-handed patients under 40 that have a tennis injury.
Use the automatic dependent variable generator to add a dependent variable identifying which of your patients are eligible for that trial.
Or follow step by step:
Brim is built to enable Human-in-the-Loop abstraction -- the AI generates a draft abstraction, and a human reviews the data. This has two benefits:
1) It improves the overall quality of the abstraction
2) It gives feedback to the AI on how to improve the draft abstraction for the next batch of patients.
When reviewing a label, you have the option to Accept it, Edit it or Remove it. You can also Manually Add a missing label.
🎾 Try it out:
Do a new generation for All Patients in the dataset.
Review all of the labels for at least one patient.
Or follow along step by step:
You'll find more detail on Reviewing Patients here.
Part of the benefit of working iteratively is that the AI can learn from a human's feedback on a batch, to make the next batch better. In Brim, we do this through Variable Optimization.
When you Accept, Edit, or Remove a label, Brim creates a Training Example. You can find these in the "Label Generation" section of Brim.
You have the ability to Optimize a variable, which combines these training examples with best variable definition practices to suggest an improved instruction.
🎾 Try it out:
Optimize a variable and observe how the instructions changed.
Run a generation for all patients to refresh the data.
Or follow along step by step:
Once you've completed generation and review, it's time to export your data. Brim offers an easy "Export CSV" option in the software, that exports all data points, whether they've been reviewed by a human reviewer or not.
To Export your data, click "Data Export" from the Brim homepage, then click "Create Export File". Download the result when it's ready.
🎾 Try it out:
Export your data
Determine how many of the patients are eligible for the clinical trial.
You've completed your first Brim project! If you have deeper questions, check out our Knowledgebase for more information and troubleshooting.