Module noyau_pmsi

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::prelude::*;

let mut noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    options: NoyauOptions::new()
};
use pmsi_rust::prelude::*;

let mut opts = NoyauOptions::new();
opts.insert("n_rows".to_string(), 1);

let mut noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    options: opts
};

§Produire le chemin de fichiers PMSI à partir du noyau

Exemples

use pmsi_rust::prelude::*;

let mut opts = NoyauOptions::new();
opts.insert("n_rows".to_string(), 1000); // ne lire que 1000 lignes

let mut noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    options: opts
};

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

§Lire un fichier PMSi

Exemple

use pmsi_rust::prelude::*;

let mut opts = NoyauOptions::new();
opts.insert("n_rows".to_string(), 1000); // ne lire que 1000 lignes

let mut noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    options: opts
};

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

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

§Lire un fichier RSA

Exemple

use pmsi_rust::prelude::*;

let mut opts = NoyauOptions::new();
// ne lire que 1000 lignes
opts.insert("n_rows".to_string(), 1000);

// indiquer le template du nom de fichier PMSI (fait automatiquement)
opts.insert("pmsi_filename_template".to_string(), "{finess}.{annee}.{mois}");
// pour druides : "{finess}.{annee}.{mois2}");

let mut noyau_p = Noyau {
    finess: "290000017",
    annee: 2022,
    mois: 12,
    path: "~/Documents/data/mco".to_string(),
    options: opts
};

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

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

Structs§

Noyau
Noyau de paramètres PMSI
NoyauOptions
Options du noyau pour stocker des paramètres