chore: add .gitignore
This commit is contained in:
50
config/demographic_rules.yaml
Normal file
50
config/demographic_rules.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
version: 1
|
||||
|
||||
# Règles démographiques (Sexe et Âge)
|
||||
# ----------------------------------
|
||||
# Objectif : Détecter les incohérences majeures entre le profil patient
|
||||
# et les diagnostics/actes suggérés (ex: prostate chez une femme).
|
||||
# VETO-18 : Incohérence Âge
|
||||
# VETO-19 : Incohérence Sexe
|
||||
|
||||
sex_rules:
|
||||
female_only:
|
||||
# Diagnostics réservés aux femmes
|
||||
atih_ref: "Guide Méthodologique MCO : Contrôles de cohérence Sexe/Diagnostic (Annexe 1)"
|
||||
codes: [
|
||||
"C51", "C52", "C53", "C54", "C55", "C56", "C57", "C58", # Cancers gynéco
|
||||
"D06", "D07.0", "D07.1", "D07.2", "D07.3",
|
||||
"N70", "N71", "N72", "N73", "N74", "N75", "N76", "N77", # Infections gynéco
|
||||
"N80", "N81", "N82", "N83", "N84", "N85", "N86", "N87", "N88", "N89", "N90", "N91", "N92", "N93", "N94", "N95", "N96", "N97", "N98", # Troubles gynéco
|
||||
"O00", "O01", "O02", "O03", "O04", "O05", "O06", "O07", "O08", "O10", "O11", "O12", "O13", "O14", "O15", "O16", "O20", "O21", "O22", "O23", "O24", "O25", "O26", "O28", "O29", "O30", "O31", "O32", "O33", "O34", "O35", "O36", "O40", "O41", "O42", "O43", "O44", "O45", "O46", "O47", "O48", "O60", "O61", "O62", "O63", "O64", "O65", "O66", "O67", "O68", "O69", "O70", "O71", "O72", "O73", "O74", "O75", "O80", "O81", "O82", "O83", "O84", "O85", "O86", "O87", "O88", "O89", "O90", "O91", "O92", "O94", "O95", "O96", "O97", "O98", "O99", # Obstétrique
|
||||
"Z32", "Z33", "Z34", "Z35", "Z36", "Z39" # Grossesse/Accouchement
|
||||
]
|
||||
required_sex: "F"
|
||||
severity: "HARD"
|
||||
|
||||
male_only:
|
||||
# Diagnostics réservés aux hommes
|
||||
atih_ref: "Guide Méthodologique MCO : Contrôles de cohérence Sexe/Diagnostic (Annexe 1)"
|
||||
codes: [
|
||||
"C60", "C61", "C62", "C63", # Cancers verge/prostate/testicule
|
||||
"D07.4", "D07.5", "D07.6",
|
||||
"N40", "N41", "N42", "N43", "N44", "N45", "N46", "N47", "N48", "N49", "N50", "N51" # Troubles prostate/testicule
|
||||
]
|
||||
required_sex: "M"
|
||||
severity: "HARD"
|
||||
|
||||
age_rules:
|
||||
pediatric_only:
|
||||
# Affections dont l'origine se situe dans la période périnatale
|
||||
atih_ref: "CIM-10 FR : Chapitre XVI (Affections périnatales P00-P96)"
|
||||
codes: ["P00", "P01", "P02", "P03", "P04", "P05", "P07", "P08", "P10", "P11", "P12", "P13", "P14", "P15", "P20", "P21", "P22", "P23", "P24", "P25", "P26", "P27", "P28", "P29", "P35", "P36", "P37", "P38", "P39", "P50", "P51", "P52", "P53", "P54", "P55", "P56", "P57", "P58", "P59", "P60", "P61", "P70", "P71", "P72", "P74", "P76", "P77", "P78", "P80", "P81", "P83", "P90", "P91", "P92", "P94", "P95", "P96"]
|
||||
max_age_years: 1
|
||||
severity: "HARD"
|
||||
|
||||
obstetrics_age:
|
||||
# Âge fertile pour l'obstétrique
|
||||
atih_ref: "Guide Méthodologique MCO : Codage de l'obstétrique (Chapitre XV)"
|
||||
codes: ["O00", "O99"]
|
||||
min_age_years: 10
|
||||
max_age_years: 60
|
||||
severity: "MEDIUM"
|
||||
36
config/diagnostic_conflicts.yaml
Normal file
36
config/diagnostic_conflicts.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
version: 1
|
||||
|
||||
# Conflits et Incompatibilités Diagnostics
|
||||
# ----------------------------------------
|
||||
# VETO-25 : Diagnostics mutuellement exclusifs
|
||||
# VETO-26 : Incohérence clinique (ex: Obésité + Dénutrition)
|
||||
|
||||
mutual_exclusions:
|
||||
- name: "Diabète"
|
||||
atih_ref: "CIM-10 FR : Règles d'exclusion des catégories E10-E14"
|
||||
codes: ["E10", "E11", "E13", "E14"]
|
||||
message: "Plusieurs types de diabète codés simultanément"
|
||||
severity: "HARD"
|
||||
|
||||
- name: "Insuffisance cardiaque"
|
||||
atih_ref: "CIM-10 FR : Notes d'inclusion/exclusion de la catégorie I50"
|
||||
codes: ["I50.0", "I50.1", "I50.9"]
|
||||
message: "Conflit de latéralité/type d'insuffisance cardiaque"
|
||||
severity: "MEDIUM"
|
||||
|
||||
- name: "HTA"
|
||||
atih_ref: "CIM-10 FR : Hiérarchie des codes d'hypertension (I10-I15)"
|
||||
codes: ["I10", "I11", "I12", "I13", "I15"]
|
||||
message: "Plusieurs codes d'HTA (choisir le plus précis)"
|
||||
severity: "MEDIUM"
|
||||
|
||||
incompatibilities:
|
||||
- pair: ["E66", "E40", "E41", "E42", "E43", "E44", "E45", "E46"]
|
||||
atih_ref: "Guide Méthodologique MCO : Incompatibilité clinique Obésité / Dénutrition"
|
||||
message: "Obésité (E66) et Dénutrition/Malnutrition (E40-E46) sont cliniquement incompatibles"
|
||||
severity: "HARD"
|
||||
|
||||
- pair: ["I10", "I95"]
|
||||
atih_ref: "Guide Méthodologique MCO : Incohérence Hypertension / Hypotension sur le même séjour"
|
||||
message: "Hypertension (I10) et Hypotension (I95) codées sur le même séjour"
|
||||
severity: "MEDIUM"
|
||||
34
config/parcours_rules.yaml
Normal file
34
config/parcours_rules.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
version: 1
|
||||
|
||||
# Règles de Parcours Patient et Cohérence Documentaire
|
||||
# ----------------------------------------------------
|
||||
# VETO-29 : Pièce manquante au dossier
|
||||
# VETO-30 : Incohérence Urgences / DP
|
||||
# VETO-31 : Incohérence Gravité / Mode de sortie
|
||||
|
||||
documentary_rules:
|
||||
required_documents:
|
||||
- if_has_procedure_prefix: ["H", "J", "K", "L"] # Actes chirurgicaux
|
||||
require_one_of: ["cro", "compte_rendu_operatoire"]
|
||||
message: "Acte chirurgical détecté mais aucun Compte-Rendu Opératoire (CRO) n'est présent dans le dossier."
|
||||
severity: "HARD"
|
||||
atih_ref: "Guide Méthodologique MCO : Obligation de présence du CRO pour la facturation des actes opératoires"
|
||||
|
||||
- if_has_diagnosis_prefix: ["C", "D0"] # Cancers / Carcinomes
|
||||
require_one_of: ["anapath", "compte_rendu_anatomo_pathologique"]
|
||||
message: "Diagnostic tumoral suggéré mais aucun compte-rendu ANAPATH n'est trouvé."
|
||||
severity: "MEDIUM"
|
||||
atih_ref: "Guide Méthodologique MCO : Justification des diagnostics néoplasiques par l'examen anatomopathologique"
|
||||
|
||||
pathway_rules:
|
||||
emergency_admission:
|
||||
atih_ref: "Guide Méthodologique MCO : Sélection du DP lors d'un passage par les urgences"
|
||||
check_urgences_match: true
|
||||
severity: "MEDIUM"
|
||||
|
||||
gravity_coherence:
|
||||
- if_mode_sortie: ["Décès", "Transfert", "Mutation"]
|
||||
require_min_severity: 2
|
||||
message: "Issue lourde (Décès/Transfert) sans aucun diagnostic de sévérité >= 2. Vérifier si des complications ont été omises."
|
||||
severity: "MEDIUM"
|
||||
atih_ref: "Guide Méthodologique MCO : Analyse de la cohérence entre gravité clinique et issue du séjour"
|
||||
36
config/procedure_diagnosis_rules.yaml
Normal file
36
config/procedure_diagnosis_rules.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
version: 1
|
||||
|
||||
# Corrélation Actes CCAM / Diagnostics CIM-10
|
||||
# ------------------------------------------
|
||||
# VETO-27 : Acte chirurgical sans diagnostic justificatif
|
||||
|
||||
rules:
|
||||
- name: "Appendicectomie"
|
||||
atih_ref: "Guide Méthodologique MCO : Justification clinique des actes chirurgicaux (Catégorie 06)"
|
||||
procedure_patterns: ["HHFA", "HHPA"]
|
||||
required_diagnosis: ["K35", "K36", "K37", "K38"]
|
||||
severity: "HARD"
|
||||
|
||||
- name: "Cholécystectomie"
|
||||
atih_ref: "Guide Méthodologique MCO : Justification clinique des actes chirurgicaux (Catégorie 07)"
|
||||
procedure_patterns: ["HFCA"]
|
||||
required_diagnosis: ["K80", "K81", "K82"]
|
||||
severity: "HARD"
|
||||
|
||||
- name: "Stent Coronaire"
|
||||
atih_ref: "Guide Méthodologique MCO : Justification clinique des actes interventionnels (Catégorie 05)"
|
||||
procedure_patterns: ["DZQM", "DDAF"]
|
||||
required_diagnosis: ["I20", "I21", "I22", "I23", "I24", "I25"]
|
||||
severity: "HARD"
|
||||
|
||||
- name: "Hystérectomie"
|
||||
atih_ref: "Guide Méthodologique MCO : Justification clinique des actes chirurgicaux (Catégorie 13)"
|
||||
procedure_patterns: ["JFCA", "JFFA", "JFMA"]
|
||||
required_diagnosis: ["D25", "N80", "C53", "C54", "C55", "N85", "N92"]
|
||||
severity: "HARD"
|
||||
|
||||
- name: "Prothèse de hanche"
|
||||
atih_ref: "Guide Méthodologique MCO : Justification clinique des actes chirurgicaux (Catégorie 08)"
|
||||
procedure_patterns: ["NEKA"]
|
||||
required_diagnosis: ["M16", "S72"]
|
||||
severity: "HARD"
|
||||
34
config/temporal_rules.yaml
Normal file
34
config/temporal_rules.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
version: 1
|
||||
|
||||
# Règles Temporelles (Durée de Séjour)
|
||||
# -----------------------------------
|
||||
# VETO-28 : Incohérence Durée de Séjour / Pathologie
|
||||
|
||||
rules:
|
||||
- name: "AVC Ischémique"
|
||||
atih_ref: "Guide Méthodologique MCO : Consignes de codage des AVC et durées de séjour"
|
||||
codes: ["I63"]
|
||||
min_stay_days: 2
|
||||
severity: "MEDIUM"
|
||||
message: "Durée de séjour très courte pour un AVC (< 2j). Vérifier si transfert ou sous-évaluation."
|
||||
|
||||
- name: "Infarctus du Myocarde"
|
||||
atih_ref: "Guide Méthodologique MCO : Consignes de codage des IDM et durées de séjour"
|
||||
codes: ["I21"]
|
||||
min_stay_days: 3
|
||||
severity: "MEDIUM"
|
||||
message: "Durée de séjour courte pour un IDM (< 3j). Justification nécessaire."
|
||||
|
||||
- name: "Chirurgie Lourde (Valve/Pontage)"
|
||||
atih_ref: "Guide Méthodologique MCO : Justification des séjours post-opératoires lourds"
|
||||
codes: ["DAFA", "DBKA"]
|
||||
min_stay_days: 5
|
||||
severity: "MEDIUM"
|
||||
message: "Durée de séjour courte pour une chirurgie cardiaque lourde."
|
||||
|
||||
- name: "Appendicite simple"
|
||||
atih_ref: "Guide Méthodologique MCO : Analyse des atypies de durées de séjour"
|
||||
codes: ["K35.8"]
|
||||
max_stay_days: 10
|
||||
severity: "LOW"
|
||||
message: "Durée de séjour longue pour une appendicite simple (> 10j). Vérifier complications non codées."
|
||||
Reference in New Issue
Block a user