Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intelligent Patient Record (iPA)

The Intelligent Patient Record is a tool for physicians to search in patient records. iPA aims to mimick physicians' thinking patterns and enhance them using modern search technology.

At its core, the iPA search system is a backend with a RESTful API that performs query expansion and search in an OpenSearch index.

Setup

  1. Install the virtual environment:

    uv sync --project backend
  2. Create a .env file in backend dir containing all needed environment variables. For reference, check out the example file.

    Hint: Manually set environment variables take precedence over those set in the .env file.

  3. If you do not have a running Opensearch instance, you can launch one using

    docker compose -f backend/docker-compose.yml -f backend/docker-compose-medplum.yml up -d
  4. Add patient records to your OpenSearch index. For testing purposes you can index the GraSCCo dataset using the index_files api endpoint. An example for how to use this endpoint can be found in ipa.http. Note that using the index_files endpoint requires a running iPA backend (see Quick Start).

Quick Start

Run the iPA backend server:

uv run --project backend --env-file backend/.env fastapi dev --entrypoint ipa_backend.main:app

This repo comes with a makeshift frontend. Install its dependencies via

uv sync --project frontend

Launch it using

uv run --project frontend streamlit run frontend/streamlit_app.py --server.address localhost

Approaches

Read more about the search approaches that are implemented here.

Development

Installation

Install all dependencies incl. test dependencies:

uv sync --project backend --extra test

Tests

Run integration tests via

uv run --project backend --env-file backend/.env pytest -v

API

You find the iPA API documentation at http://localhost:8000/docs .

Note: The iPA backend server must running in order to show the documentation. (uv run --project backend fastapi dev --entrypoint ipa_backend.main:app)

Contact

For questions you can contact Christian Martin: cmartin@uni-leipzig.de

About

LLM-assisted intelligent search for electronic patient records

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages