pmsi_rust::core

Module noyau_pmsi

Expand description

§Noyau de paramètres PMSi

L’objectif du noyau de paramètres est d’éviter de complexifier le code et les redondances d’appels à des objets toujours identiques en réalité

  • le chemin des fichiers PMSI
  • le finess
  • l’année
  • le mois

§Définir un noyau de paramètres

use pmsi_rust::core::noyau_pmsi::Noyau;

let noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    n_rows: None,
};
use pmsi_rust::core::noyau_pmsi::Noyau;

let noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    n_rows: Some(1) // ne lire qu'une ligne
    // n_rows: Some(1000) // ne lire que 1000 lignes
};

§Produire le chemin de fichiers PMSI à partir du noyau

Exemples

use pmsi_rust::core::noyau_pmsi::Noyau;

let noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    n_rows: Some(1) // ne lire qu'une ligne
    // n_rows: Some(1000) // ne lire que 1000 lignes
};

println!("{:?}", noyau_p.create_filepath("rsa"));
println!("{:?}", noyau_p.create_filepath("ano"));
"~/Documents/data/mco/290000017.2022.12.rsa"
"~/Documents/data/mco/290000017.2022.12.ano"

§Lire un fichier PMSi

Exemple

use pmsi_rust::core::noyau_pmsi::Noyau;

let noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    n_rows: Some(1) // ne lire qu'une ligne
    // n_rows: Some(1000) // ne lire que 1000 lignes
};

let ano = noyau_p
 .parse_pmsi("ano", "mco")
 .unwrap();

println!("{:?}", ano.collect());

§Lire un fichier RSA

Exemple

use pmsi_rust::core::noyau_pmsi::Noyau;

let noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    //n_rows: Some(1) // ne lire qu'une ligne
    n_rows: Some(1000) // ne lire que 1000 lignes
};

use pmsi_rust::core::utils::io::hashmap_collect;
let rsa = noyau_p.parse_rsa().unwrap();

println!("{:?}", hashmap_collect(rsa));

Structs§