Function pmsi_rust_cli
pub fn pmsi_rust_cli()
Expand description
§pmsi_rust CLI ; en ligne de commande
§Paramètres par défaut
./target/release/pmsi_rust
§lire les RSA 2012
Découper la partie fixe des RSA 2012 et les écrire dans un fichier parquet
./target/release/pmsi_rust \
-a 12 -e rsa -f ~/Documents/data/mco/290000017.2012.12.rsa \
-o ~/Documents/data/parquet/rust/rsa/290000017.2012.12.rsa.parquet
§Accéder à l’aide
./target/release/pmsi_rust -h
Requêteur rust PMSI : pour tester rust
Usage: pmsi_rust [OPTIONS]
Options:
-f, --file <file> |-- un fichier .* PMSi
-a, --annee <annee> |-- Année du fichier PMSI, 22 par défaut
-e, --extension <extension> |-- Extension * du fichier PMSI, rsa par défaut [rsa, ano, med, rss.ini.txt, ano.txt, med.txt]
-o, --output <output> |---- Chemin de sortie d'un fichier avec extension csv ou parquet
--ccam <pattern_ccam> |------ requêteur rsa/rss : Pattern regex CCAM
--cim <pattern_cim> |------ requêteur rsa/rss : Pattern regex CIM
--ghm <pattern_ghm> |------ requêteur rsa/rss : Pattern regex GHM
--grep_rss <pattern_rss> |------ requêteur rsa/rss : Pattern regex ligne entière du RSA ou du RSS
-h, --help Print help
-V, --version Print version
§Exemple d’utilisation plus complet
on découpe les RSA partie fixe de 2012 à 2022, pour ensuite les requêter en fichier parquet avec duckdb (SQL)
for i in {12..22};
do ./target/release/pmsi_rust -a $i -e rsa \
-f ~/Documents/data/mco/290000017.20$i.12.rsa \
-o ~/Documents/data/parquet/rust/rsa/290000017.20$i.12.rsa.parquet;
done;
Puis on requête les dp des RSA Z51% dans duckdb:
gp@macbook pmsi_rust % duckdb
v0.8.1 6536a77232
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D .timer on
D select ansor, count(*)
> from read_parquet('~/Documents/data/parquet/rust/rsa/*.parquet', union_by_name = True)
> where dp like 'Z51%'
> group by ansor
> order by ansor;
┌─────────┬──────────────┐
│ ansor │ count_star() │
│ varchar │ int64 │
├─────────┼──────────────┤
│ 2012 │ 37557 │
│ 2013 │ 38765 │
│ 2014 │ 40380 │
│ 2016 │ 45430 │
│ 2017 │ 49877 │
│ 2018 │ 50661 │
│ 2019 │ 51765 │
│ 2020 │ 53895 │
│ 2021 │ 57361 │
│ 2022 │ 59356 │
├─────────┴──────────────┤
│ 10 rows 2 columns │
└────────────────────────┘
Run Time (s): real 0.023 user 0.114570 sys 0.008565
D select count(*) from read_parquet('~/Documents/data/parquet/rust/rsa/*.parquet', union_by_name = True);
┌──────────────┐
│ count_star() │
│ int64 │
├──────────────┤
│ 1347388 │
└──────────────┘
Run Time (s): real 0.008 user 0.007474 sys 0.003167