Skip to main content

fictomed

Librairie Python pour la génération de séjours médicaux fictifs et de scénarios textuels à partir de plusieurs stratégies spécifiques aux centres.

Python CC BY-NC-SA 4.0

Table des matières


Vue d'ensemble

L'idée est de pouvoir crée des scénarios hospitaliers fictifs à partir de séjours choisi selon la stratégie mis en place par le centre développeur de la pipeline. Ces séjours fictifs peuvent ensuite être utilisés en entrée d'un LLM pour en générer des CRH par exemple.


Installation

uv pip install fictomed

Ou depuis les sources :

git clone https://github.com/CHU-brest/fictomed.git
cd fictomed
pip install -e .

Prérequis

  • Python 3.13+
  • polars
  • pyyaml
  • tqdm

Utilisation

En tant que librairie

Pour le pipeline Brest :

from fictomed import generate

df = generate(
    pipeline_name="brest",
    n_sejours=500,
    n_ccam=1,
    n_das=5,
    ghm5_pattern=None,
)

Pour le pipeline AP-HP :

from fictomed import generate

df = generate(
    pipeline_name="aphp",
    n_sejours=500,
)

En ligne de commande

python main.py brest --n-sejours 100
python main.py aphp --n-sejours 100

Pipelines disponibles

Nom Site Description
brest CHU de Brest Choix des codes CIM10 par pondération selon les extractions SNDS
aphp AP-HP Génération de scénarios cliniques à partir de profils PMSI AP-HP, avec règles ATIH, templates spécifiques, prompts système et préfixes LLM.

Architecture

fictomed/
├── __init__.py        # API publique
├── core.py            # Fonction principale generate()
├── registry.py        # Registre des pipelines (PIPELINES) ainsi que du chemin vers le fichier de config (CONFIG_DIR)
├── config.py          # Chargement de la configuration
├── base.py            # Définition de la pipeline de base BasePipeline
├── ficitve.py         # Fonction général qui permet la génération des séjours fictifs
├── scenario.py        # Fonction général qui permet la génération des scenarios fictifs
├── config/  
│ └── servers.yaml 
└── sites/ 
    ├── brest/ 
    │ ├── __init__.py 
    │ ├── constants.py 
    │ ├── fictive.py 
    │ ├── pipeline.py 
    │ ├── sampler.py 
    │ └── scenario.py 
    └── aphp/ 
        ├── __init__.py 
        ├── constants.py 
        ├── fictive.py 
        ├── loader.py 
        ├── managment.py 
        ├── pipeline.py 
        ├── prompt.py 
        ├── sampler.py 
        └── scenario.py 


Contribuer

Ajouter un nouveau pipeline

  1. Créer un dossier fictomed/sites/<nom_site>/
  2. Implémenter MedPipelineBase dans pipeline.py
  3. Enregistrer le pipeline dans registry.py
# registry.py
from fictomed.sites.nouveau_site.pipeline import NouveauSitePipeline

PIPELINES = {
    "brest": BrestPipeline,
    "aphp": APHPPipeline,
    "nouveau_site": NouveauSitePipeline,  # ← ajouter ici
}

Contributeurs

Nom Rôle
Arthur LAMARD Data Engineer CHU Brest
Dr. Basile FUCHS Médecin DIM CHU Brest
Claire Dechaux Data Scientist INRIA
Dr. Remi Flicoteaux Médecin DIM APHP

Licence

Ce projet est sous licence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

Vous êtes libre de :

  • Partager — copier et redistribuer le projet
  • Adapter — remixer et transformer le projet Sous les conditions suivantes :
  • Attribution — Vous devez citer le projet original
  • Non Commercial — Usage commercial interdit sans accord explicite
  • Partage dans les mêmes conditions — Toute modification doit être publiée sous la même licence

Metadata

Release files for fictomed 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fictomed 0.1.2
File Size Uploaded
fictomed-0.1.2.tar.gz 40.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fictomed 0.1.2
File Interpreter ABI Platform
fictomed-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 88.7 kB

Release files / fictomed-0.1.2.tar.gz

Download URL fictomed-0.1.2.tar.gz
Size 40.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b559f95c6fadbe3ca15a3c152fa09d853bcdd6f3ce30464539714fb00a36017d
BLAKE2b-256 checksum
How to use checksums
a5da8e10945bac66cbce7cd7e0da566a2654593357eec5b7b10a5f4d36a19452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Release files / fictomed-0.1.2-py3-none-any.whl

Download URL fictomed-0.1.2-py3-none-any.whl
Size 48.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
16bb202e6a82ea024a197d906dcfbb1953b74d2c727bdcf92958dbb281c4833e
BLAKE2b-256 checksum
How to use checksums
99f2f60c31a013a3317ef7354ba191ae4c187f4b23e3e28255426454a8da7b3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.5

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page