{"id":24300873,"url":"https://github.com/lambda-science/impatient","last_synced_at":"2025-10-13T08:11:40.806Z","repository":{"id":39823995,"uuid":"396995930","full_name":"lambda-science/IMPatienT","owner":"lambda-science","description":"IMPatienT🗂️: an integrated web application to digitize, process and explore multimodal patient data. Demo version deployed at: https://huggingface.co/spaces/corentinm7/IMPatienT","archived":false,"fork":false,"pushed_at":"2025-07-01T07:24:17.000Z","size":19895,"stargazers_count":9,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-07T12:47:40.730Z","etag":null,"topics":["annotation","data-formatting","diagnosis","disease","flask","formating","image","medecine","ontology","patient-database","python","vizualisation","webapp"],"latest_commit_sha":null,"homepage":"https://huggingface.co/spaces/corentinm7/IMPatienT","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lambda-science.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-08-16T22:28:37.000Z","updated_at":"2025-09-26T20:59:51.000Z","dependencies_parsed_at":"2023-09-28T11:26:32.375Z","dependency_job_id":"6178852c-6f79-4cf2-a9c8-5c8b93c3bf70","html_url":"https://github.com/lambda-science/IMPatienT","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/lambda-science/IMPatienT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-science%2FIMPatienT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-science%2FIMPatienT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-science%2FIMPatienT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-science%2FIMPatienT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lambda-science","download_url":"https://codeload.github.com/lambda-science/IMPatienT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambda-science%2FIMPatienT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014291,"owners_count":26085489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotation","data-formatting","diagnosis","disease","flask","formating","image","medecine","ontology","patient-database","python","vizualisation","webapp"],"created_at":"2025-01-16T23:18:11.246Z","updated_at":"2025-10-13T08:11:40.777Z","avatar_url":"https://github.com/lambda-science.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: IMPatienT\nemoji: 🗂️\ncolorFrom: yellow\ncolorTo: red\nsdk: docker\npinned: true\nlicense: agpl-3.0\nheader: mini\nshort_description: Annotate multimodal patient data web-app\ntags:\n   - ontology\n   - myology\n   - biology\n   - histology\n   - muscle\n   - annotation\n   - myopathy\n---\n\n![Twitter Follow](https://img.shields.io/twitter/follow/corentinm_py?style=social) ![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/lambda-science/impatient) ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/lambda-science/IMPatienT) [![Build](https://github.com/lambda-science/IMPatienT/actions/workflows/docker-build-push.yml/badge.svg)](https://github.com/lambda-science/IMPatienT/actions/workflows/docker-build-push.yml) ![GitHub last commit](https://img.shields.io/github/last-commit/lambda-science/impatient) ![GitHub](https://img.shields.io/github/license/lambda-science/IMPatienT)\n\n# IMPatienT 🗂️: an integrated web application to digitize, process and explore multimodal patient data.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/iH7UeUs.png\" alt=\"IMPatienT Banner\" style=\"border-radius: 25px;\" /\u003e\n\u003c/p\u003e\n\n**IMPatienT 🗂️** (**I**ntegrated digital **M**ultimodal **PATIEN**t da**T**a) **is a web application developped in the MYO-xIA project for patient data digitization and exploration.**\nIt 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.\n\nA demo version is currently deployed at: https://huggingface.co/spaces/corentinm7/IMPatienT\nThis 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.\n\n## Contact:\n\nThe main maintainer is:\n[**Corentin Meyer** - PhD in Biomedical AI](https://cmeyer.fr) \u003ccontact@cmeyer.fr\u003e\n\n## Citing IMPatienT🗂️\n\n[placeholder]\n\n## Partners\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/csEXDnW.png\" alt=\"Partner Banner\" style=\"border-radius: 25px;\" /\u003e\n\u003c/p\u003e\n\nIMPatienT is developped and used in collaboration with the [Morphological Unit of the Institute of Myology of Paris](https://www.institut-myologie.org/en/recherche-2/neuromuscular-investigation-center/morphological-unit/). A production instance is deployed to help discovering new relevant features for congenital myopathies classification and diagnosis.\n\n## IMPatienT🗂️ Abstract\n\n**Background**  \nMedical 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.  \n**Results**  \nHere, we present IMPatienT (**I**ntegrated digital **M**ultimodal **PATIEN**t da**T**a), 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.  \n**Conclusions**  \nIMPatienT is a platform to digitize, process and explore patient data that can handle image and free-text data. As it\nrelies on a user-designed vocabulary, it can be adapted to fit any domain of research and can be used as a patient\nregistry for exploratory data analysis (EDA). A demo instance of the application is available\nat https://huggingface.co/spaces/corentinm7/IMPatienT.\n\n## Setup guides\n\n### Local Developer mode using Docker (to contribute)\n\n1. Clone the repository `git clone git@github.com:lambda-science/IMPatienT.git`\n2. Build the docker image and run it using by running: `chmod +x docker/dev_build_run.sh` and\n   `./docker/dev_build_run.sh`\n   Congrats, the app is now running on `http://localhost:7860`!\n   Any modification you do to the code will be saved and applied directly to the app.\n\n### Deploy to Production using Docker\n\n1. Clone the repository `git clone git@github.com:lambda-science/IMPatienT.git`\n2. Build the docker image: `chmod +x docker/build.sh`\n3. Edit the configuration sample with your secrets:\n\n```bash\ncp docker/run_sample.sh docker/run.sh\nnano docker/run.sh\n```\n\n4. Run the docker image: `./docker/run.sh`\n   Congrats, the app is now running on `http://localhost:7860` with demo database and ontology ! Use any reverse-proxy (\n   like Nginx) to expose it to the internet. If you want to customize, see the note below about persistent data.\n\n**Note about persistent data:**\n\nCurrently, all your data are ephemeral inside the docker container and will be lost when you stop the container. By\ndefault it runs a demo database and ontology is no data are provided. To solve this you can create a persistent volume\nto store your actual data.\n\n⚠️ 🚨 **This is only needed for fresh/clean/new installations. This WILL delete all your previous IMPatienT database and\nontology as this creates a new volume and overwrite its content with the content of the current directory `data/`.**  ⚠️\n🚨\n\n1. Before running the container, create the volume by running: `./docker/create_volume.sh`\n2. Run the docker image: `./docker/run.sh`\n\n* **NB1:** If you have issues with permissions on data folder inside the docker. You might have to `chown -R 1000 data/`\n  before `./docker/create_volume.sh`\n* **NB2:** This can also be used to deploy/inject/restore backup data to the container: as this script copy current\n  `data/` folder content to the volume. Simply add your `app.db` backup in `data/database/` and `ontology.json` backup\n  in `data/ontology` and your patient folders with images in `data/images/` before running the script.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambda-science%2Fimpatient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambda-science%2Fimpatient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambda-science%2Fimpatient/lists"}