title | emoji | colorFrom | colorTo | sdk | pinned | license | header | short_description | tags | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IMPatienT |
🗂️ |
yellow |
red |
docker |
true |
agpl-3.0 |
mini |
Annotate multimodal patient data web-app |
|
IMPatienT 🗂️: an integrated web application to digitize, process and explore multimodal patient data.
IMPatienT 🗂️ (Integrated digital Multimodal PATIENt daTa) is a web application developped in the MYO-xIA project for patient data digitization and exploration. It features a standard vocabulary creator, optical character recognition (OCR), natural language processing (NLP), image annotation and segmentation using machine learning, interactive visualizations and automatic diagnosis suggestion.
A demo version is currently deployed at: https://huggingface.co/spaces/corentinm7/IMPatienT This project is free and open-source under the AGPL license, feel free to fork and contribute to the development. Several guides are available at the bottom of this page for the production deployment and developer mode.
The main maintainer is: Corentin Meyer - PhD in Biomedical AI [email protected]
[placeholder]
IMPatienT is developped and used in collaboration with the Morphological Unit of the Institute of Myology of Paris. A production instance is deployed to help discovering new relevant features for congenital myopathies classification and diagnosis.
Background
Medical acts, such as imaging, generally lead to the production of several medical text reports that describe the relevant findings. Such processes induce multimodality in patient data by linking image data to free-text data and consequently, multimodal data have become central to drive research and improve diagnosis of patients. However, the exploitation of patient data is challenging as the ecosystem of available analysis tools is fragmented depending on the type of data (images, text, genetic sequences), the task to be performed (digitization, processing, exploration) and the domain of interest (clinical phenotype, histology…). To address the challenges, the analysis tools need to be integrated in a simple, comprehensive, and flexible platform.
Results
Here, we present IMPatienT (Integrated digital Multimodal PATIENt daTa), a free and open-source web application to digitize, process and explore multimodal patient data. IMPatienT has a modular architecture, including four components to: (i) create a standard vocabulary for a domain, (ii) digitize and process free-text data by mapping it to a set of standard terms, (iii) annotate images and perform image segmentation, and (iv) generate an automatic visualization dashboard to provide insight on the data and perform automatic diagnosis suggestions. Finally, we demonstrate the usefulness of IMPatienT on a corpus of 40 simulated muscle biopsy reports of congenital myopathy patients.
Conclusions
IMPatienT is a platform to digitize, process and explore patient data that can handle image and free-text data. As it
relies on a user-designed vocabulary, it can be adapted to fit any domain of research and can be used as a patient
registry for exploratory data analysis (EDA). A demo instance of the application is available
at https://huggingface.co/spaces/corentinm7/IMPatienT.
- Clone the repository
git clone [email protected]:lambda-science/IMPatienT.git
- Build the docker image and run it using by running:
chmod +x docker/dev_build_run.sh
and./docker/dev_build_run.sh
Congrats, the app is now running onhttp://localhost:7860
! Any modification you do to the code will be saved and applied directly to the app.
- Clone the repository
git clone [email protected]:lambda-science/IMPatienT.git
- Build the docker image:
chmod +x docker/build.sh
- Edit the configuration sample with your secrets:
cp docker/run_sample.sh docker/run.sh
nano docker/run.sh
- Run the docker image:
./docker/run.sh
Congrats, the app is now running onhttp://localhost:7860
with demo database and ontology ! Use any reverse-proxy ( like Nginx) to expose it to the internet. If you want to customize, see the note below about persistent data.
Note about persistent data:
Currently, all your data are ephemeral inside the docker container and will be lost when you stop the container. By default it runs a demo database and ontology is no data are provided. To solve this you can create a persistent volume to store your actual data.
data/
.
- Before running the container, create the volume by running:
./docker/create_volume.sh
- Run the docker image:
./docker/run.sh
- NB1: If you have issues with permissions on data folder inside the docker. You might have to
chown -R 1000 data/
before./docker/create_volume.sh
- NB2: This can also be used to deploy/inject/restore backup data to the container: as this script copy current
data/
folder content to the volume. Simply add yourapp.db
backup indata/database/
andontology.json
backup indata/ontology
and your patient folders with images indata/images/
before running the script.