pmsi_rust::routines

Module query_engine

Expand description

§Moteur de requêtage des données PMSI

§Exemple sur les données RSA


use pmsi_rust::core::mco::parse_rsa;
use pmsi_rust::core::parse_tra;
use pmsi_rust::core::pmsi_frames::PmsiFrame;
use pmsi_rust::core::pmsi_frames::PmsiLazyFrame;

use pmsi_rust::routines::query_engine::read_rsa_query;
use pmsi_rust::routines::query_engine::QueryPmsi;

use glob::glob;

let tra = parse_tra(
    "~/Documents/data/mco/290000017.2022.12.tra.txt".to_string(),
    "2022",
    "tra",
    "mco",
    Some(5000), //None,
)
.unwrap();

let rsa = parse_rsa(
    "~/Documents/data/mco/290000017.2022.12.rsa".to_string(),
    "2022",
    Some(5000), //None,
)
.unwrap()
.add_tra(tra)
.tidy_rsa_diags();

let rsa_remote = rsa;

for json_q in glob(&shellexpand::tilde("~/Documents/json_tmp/*.json"))
    .expect("Failed to read glob pattern")
{
    let pmsi_q = read_rsa_query(&json_q.unwrap().into_os_string().into_string().unwrap());
    let pmsi_rq = pmsi_q.unwrap();
    let result = rsa_remote.query_rsa(pmsi_rq.clone());
    println!(
        "{:}",
        format!(
            "## {thematique} : {nom}",
            thematique = pmsi_rq.thematique,
            nom = pmsi_rq.nom
        )
    );
    let _ = result.write(format!(
        "/Users/guillaumepressiat/Documents/tmp/{abrege}.csv",
        abrege = pmsi_rq.abrege
    ));
}
mco::tra => tra
Parsing PMSI du fichier spécifié : ~/Documents/data/mco/290000017.2022.12.rsa
mco::rsa => rsa
mco::rsa_um => rsa_um
mco::rsa_actes => rsa_actes

#### pmsi_rust query engine

## Chir ambu : 55 GM : Adénoïdectomies
Écriture de /Users/guillaumepressiat/Documents/tmp/GM01.csv
## Chir ambu : 55 GM : Arthroscopies du genou hors ligamentoplasties
Écriture de /Users/guillaumepressiat/Documents/tmp/GM02.csv
## Chir ambu : 55 GM : Chirurgie anale
Écriture de /Users/guillaumepressiat/Documents/tmp/GM03.csv
## Chir ambu : 55 GM : Chirurgie du canal carpien et autres libérations nerveuses (MS)
Écriture de /Users/guillaumepressiat/Documents/tmp/GM04.csv
## Chir ambu : 55 GM : Chirurgie de la conjonctive (ptérygion)
Écriture de /Users/guillaumepressiat/Documents/tmp/GM05.csv
## Chir ambu : 55 GM : Chirurgie de la main pour maladie de Dupuytren
Écriture de /Users/guillaumepressiat/Documents/tmp/GM06.csv
## Chir ambu : 55 GM : Chirurgie des bourses
Écriture de /Users/guillaumepressiat/Documents/tmp/GM07.csv
## Chir ambu : GHM C : GHM C  (hors CMD 14 et 15)
Écriture de /Users/guillaumepressiat/Documents/tmp/chir_ambu_ghm_C.csv
## Chir ambu : GHM C + 7 racines : GHM C  (hors CMD 14 et 15) + 7 racines interventionnelles
Écriture de /Users/guillaumepressiat/Documents/tmp/chir_ambu_ghm_C_7_racines.csv
## Cataracte adulte : Test 1
Écriture de /Users/guillaumepressiat/Documents/tmp/test_1.csv
## Chirurgie bariatrique : Test 2
Écriture de /Users/guillaumepressiat/Documents/tmp/test_2.csv

Structs§

Traits§

Functions§