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));