feat: extraction OGC et génération de PDFs propres

Pipeline complet pour extraire les données structurées des fiches OGC
scannées (recueil praticien conseil + concertation) et générer des PDFs
propres et lisibles à partir des JSON extraits.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-03-26 10:12:21 +01:00
commit 0c0f62fbf1
41 changed files with 6184 additions and 0 deletions

189
output/OGC 99.json Normal file
View File

@@ -0,0 +1,189 @@
{
"fichier": "OGC 99",
"recueil": {
"raw": {
"etablissement": "A | Etablissement : CLINIQUE DV'ARCACHON",
"finess": "FINESS S:330780206 | Date I",
"date_debut_controle": "début contrôle : 13/02/2018",
"n_ogc": "No OGC: 99",
"n_champ": "No champ",
"dates_sejour": "vcau A CLONO - | NUIVI | Dates du séjour : 16/04/2016 au 06/05/2016",
"age_etab": "5 - - r 6",
"sexe_etab": "",
"duree_sejour_etab": "- | - | -",
"mode_entree_etab": "- | I",
"provenance_etab": "",
"mode_sortie_etab": "",
"destination_etab": "",
"nb_seances_etab": "- - - - : - . -",
"nb_rum_etab": "-",
"age_reco": "5 - 6 -",
"sexe_reco": "",
"duree_sejour_reco": "A | :",
"mode_entree_reco": "- | C | - | - -",
"provenance_reco": "",
"mode_sortie_reco": "-",
"destination_reco": "",
"um_etab": "- -",
"igs_etab": "",
"duree_rum_etab": "- - | - . | - | - | I | -",
"dates_rum_etab": "du 16/04/2016 au 06/05/2016",
"um_reco": "",
"igs_reco": "",
"duree_rum_reco": "-",
"dp_code_etab": "T827",
"dp_libelle": "couuye. ue FLLUDISSCHICHe | INFECT. ET REAC. INFL. DUES A PROTH., IMPL., GREF. CARD. ET VASC. NCA",
"dr_code_etab": "",
"das_bloc_etab": "B957 | 2 | STAPHYLO. NCA, CAUSE DE MAL. CLASSEES DANS D'AUTRES CHAP. | B965 | 4 | PSEUDOMONAS, CAUSE DE MAL. CLASSEES DANS D'AUTRES CHAP. | C795 | 2 | T.M. IIRE. DES OS ET DE LA MOELLE OSSEUSE | C797 | 2 | T.M. HIRE. DE LA GLD. SURRENALE | D619 | 2 | APLASIE MEDULLAIRE, SAI | D630 | 2 | ANEMIE AVEC MAL. TUMORALES",
"dp_code_reco": "cowwy - | A415",
"dr_code_reco": "",
"das_bloc_reco": "B957 | 2 | C795 | 2 | C797 | 2 | D619 | 2 | D630 | 2 | R650 | 2",
"actes_bloc_etab": "f",
"actes_bloc_reco": "",
"ghm_ghs_ligne": "AMPPAIALALVLLL - r Y A uc + - | - | - E MHMMm LALL | GHM établissement : 21M164 GHS établissement : 7612 GHM après recodage : 18M073 | GHS après recodage : 6783",
"recodage_impactant": "Recodage impactant la facturation : 1",
"ghs_injustifie": "GHS injustifié :0",
"praticien_conseil": "DR VIGNALI"
},
"parsed": {
"etablissement": "CLINIQUE D'ARCACHON",
"finess": "330780206",
"date_debut_controle": "13/02/2018",
"n_ogc": "99",
"n_champ": "1",
"dates_sejour": "16/04/2016 au 06/05/2016",
"sejour_etab": {
"age": "66",
"sexe": "1",
"duree_sejour": "20",
"mode_entree": "7",
"provenance": "1",
"mode_sortie": "8",
"destination": "0"
},
"sejour_reco": {
"age": "66",
"sexe": "1",
"duree_sejour": "20",
"mode_entree": "7",
"provenance": "1",
"mode_sortie": "8",
"destination": "0"
},
"rum_etab": {
"um": "40 C",
"igs": "0",
"duree": "20",
"dates": "du 16/04/2016 au 06/05/2016"
},
"codage_etab": {
"dp": "T827",
"dp_libelle": "INFECT. ET REAC. INFL. DUES A PROTH., IMPL., GREF. CARD. ET VASC. NCA",
"dr": "",
"das": [
{
"code": "B957",
"position": "2",
"libelle": "STAPHYLO. NCA, CAUSE DE MAL. CLASSEES DANS D'AUTRES CHAP."
},
{
"code": "B965",
"position": "2",
"libelle": "PSEUDOMONAS, CAUSE DE MAL. CLASSEES DANS D'AUTRES CHAP."
},
{
"code": "C795",
"position": "2",
"libelle": "T.M. IIRE. DES OS ET DE LA MOELLE OSSEUSE"
},
{
"code": "C797",
"position": "2",
"libelle": "T.M. HIRE. DE LA GLD. SURRENALE"
},
{
"code": "D619",
"position": "2",
"libelle": "APLASIE MEDULLAIRE, SAI"
},
{
"code": "D630",
"position": "2",
"libelle": "ANEMIE AVEC MAL. TUMORALES"
}
]
},
"codage_reco": {
"dp": "A415",
"dr": "",
"das": [
{
"code": "B957",
"position": "2",
"libelle": "STAPHYLOCOQUE NCA"
},
{
"code": "C795",
"position": "2",
"libelle": "TUMEUR MALIGNE SECONDAIRE DES OS"
},
{
"code": "C797",
"position": "2",
"libelle": "TUMEUR MALIGNE SECONDAIRE DE LA GLANDE SURRENALE"
},
{
"code": "D619",
"position": "2",
"libelle": "APLASIE MEDULLAIRE"
},
{
"code": "D630",
"position": "2",
"libelle": "ANEMIE PLASTIQUE ACQUISE"
},
{
"code": "R650",
"position": "2",
"libelle": "SYNDROME DE LYSE TUMORALE"
}
]
},
"actes_etab": [],
"actes_reco": [],
"ghm_etab": "21M164",
"ghs_etab": "7612",
"ghm_reco": "18M073",
"ghs_reco": "6783",
"recodage_impactant": "1",
"ghs_injustifie": "0",
"accord_desaccord": "désaccord",
"praticien_conseil": "DR VIGNALI"
}
},
"concertation_1": {
"raw": {
"date_concertation_arg": "sejours de nive | tion: | 2.3",
"argumentaire": "109 : La facturation du GHS par r'établissement n'est pas conforme à l'article 1 de l'arrêté du 19 février 2015 modifié du fait d'un non- | respect des règles de codage édictées dans l'annexe II de l'arrêté du 21 décembre 2015 modifiant l'arrêté du 22 février 2008. Le non- | respect des règles porte sur le diagnostic principal (DP) codé par r'établissement dans le résumé d'unité médicale (RUM). Le DP n'est | pas conforme aux règles de codage des diagnostics rappelées par l'annexe HI, chapitre V, paragraphe 1: (( les diagnostics doivent | figurer dans le RUM sous forme codée selon la plus récente mise à jour de la 10e révision de la Classification internationale des | maladies (CIM-10) de Organisation mondiale de la santé et selon les extensions nationales données dans la plus récente version du | Manuel des groupes homogènes de malades. (...) Le meilleur code est le plus précis par rapport à l'information à coder. >> Au vu des | éléments présents dans le dossier du patient, le code CIM-10 choisi pour le DP par 'établissement n'est pas le plus précis par rapport | l'information à coder."
},
"parsed": {
"date_concertation": "23/03/2023",
"argumentaire": "109 : La facturation du GHS par l'établissement n'est pas conforme à l'article 1 de l'arrêté du 19 février 2015 modifié du fait d'un non-respect des règles de codage édictées dans l'annexe II de l'arrêté du 21 décembre 2015 modifiant l'arrêté du 22 février 2008. Le non-respect des règles porte sur le diagnostic principal (DP) codé par l'établissement dans le résumé d'unité médicale (RUM). Le DP n'est pas conforme aux règles de codage des diagnostics rappelées par l'annexe III, chapitre V, paragraphe 1: (( les diagnostics doivent figurer dans le RUM sous forme codée selon la plus récente mise à jour de la 10e révision de la Classification internationale des maladies (CIM-10) de l'Organisation mondiale de la santé et selon les extensions nationales données dans la plus récente version du Manuel des groupes homogènes de malades. (...) Le meilleur code est le plus précis par rapport à l'information à coder. >> Au vu des éléments présents dans le dossier du patient, le code CIM-10 choisi pour le DP par l'établissement n'est pas le plus précis par rapport à l'information à coder."
}
},
"concertation_2": {
"raw": {
"ghs_ligne": "GHS initial : 7612 | GHS avant concertation : 6783 | GHS final après concertation : 6783",
"accord_concertation": "Maintien de l'avis initial du médecin contrôleuc | Retour groupage initial DIM : | Autre groupage : | : MEATENSC AENU - : S MERR : | : : | : | : RE : : : : :",
"date_concertation": ""
},
"parsed": {
"ghs_initial": "7612",
"ghs_avant_concertation": "6783",
"ghs_final": "6783",
"decision": "retour_groupage_dim",
"accord_concertation_raw": "Maintien de l'avis initial du médecin contrôleur | Retour groupage initial DIM : | Autre groupage : | : MEATENSC AENU - : S MERR : | : : | : | : RE : : : : :",
"date_concertation": "23/03/19"
}
}
}