Aller au contenu

Fiche pratique - ALD

Nom technique : ald

📥 Télécharger un modèle de CSV

L’ALD (Affection de Longue Durée) est une déclaration administrative que le médecin traitant adresse à l’Assurance Maladie pour ouvrir une prise en charge à 100 %. Pour le registre, les ALD oncologiques sont une source complémentaire : elles rattrapent des cancers diagnostiqués en ville que ni l’ACP ni le PMSI n’ont fait remonter. Le signal est mince et de qualité variable, le déclarant n’étant pas forcément cancérologue : un signalement ALD ne crée donc ni patient ni tumeur par défaut.

Une ligne = une déclaration d’ALD.

Séparateur de colonnes ; recommandé (, également auto-détecté) ; entourez de guillemets "…" toute cellule contenant le séparateur ou un retour ligne. En-têtes en snake_case, identiques aux csvKey du tableau ci-dessous et dans l’ordre du manifeste. Toutes les colonnes sont des champs fournis par le data manager, sauf les trois contrôles d’import (can_create_patient, can_create_tumor, excluded) en fin de tableau.

Colonne (csvKey)LibelléFormat attenduObligatoireNature
patient_last_nameNomtexteouifourni
patient_first_namePrénomtexteouifourni
patient_birth_nameNom de naissancetexte-fourni
patient_birth_dateDate de naissancedate (JJ/MM/AAAA ou AAAA-MM-JJ)ouifourni
patient_sexSexetexte (M/F, ou 1/2)-fourni
patient_ippIPP (identifiant patient stable)texte (BENEFIC côté CNAM)-fourni
patient_secuN° Sécu (NIR)NIR (seuls les 10 premiers chiffres conservés)-fourni
beneficiary_typeType bénéficiaireenum - assuré / ayant-droit (insured / dependent)-fourni
patient_death_dateDate décèsdate (JJ/MM/AAAA ou AAAA-MM-JJ)-fourni
patient_birth_communeCommune de naissancetexte-fourni
patient_birth_postal_codeCode postal de naissancecode postal (zéros de tête restaurés)-fourni
patient_birth_insee_codeCode INSEE de naissancetexte (5 caractères)-fourni
patient_addressAdressetexte (concaténé : rue puis complément)-fourni
patient_postal_codeCode postalcode postal (zéros de tête restaurés)-fourni
patient_cityVilletexte-fourni
prescriber_namePrescripteurtexte (nom du médecin déclarant)-fourni
prescriber_addressAdresse prescripteurtexte-fourni
prescriber_postal_codeCP prescripteurcode postal (zéros de tête restaurés)-fourni
prescriber_cityVille prescripteurtexte-fourni
prescriber_rppsRPPS prescripteurcode (majuscules, points/espaces retirés ; ou NUM_MED CNAM)-fourni
cim10_codeCode CIM-10code (mis en majuscules, points/espaces retirés)ouifourni
ald_opening_dateDate ouverture ALDdate (JJ/MM/AAAA ou AAAA-MM-JJ)ouifourni
ald_mutation_dateDate mutationdate (JJ/MM/AAAA ou AAAA-MM-JJ)-fourni
source_ald_idN° protocole de soinstexte (NUM_CP côté CNAM)-fourni
can_create_patientPeut créer un patientoui / non-contrôle d’import
can_create_tumorPeut créer une tumeuroui / non-contrôle d’import
excludedExcluentier (0/vide, 1, ou ≥ 2)-contrôle d’import

Télécharger un modèle de CSV au format attendu

Le travail concret du data manager : transformer l’export de caisse (CNAM/ISPED, MSA, ex-RSI…) vers le CSV canonique ci-dessus.

Sélection et filtres (en amont) :

  • Ne garder que les lignes ayant à la fois un cim10_code et une ald_opening_date. Le code CIM-10 est normalement le critère d’extraction de votre source.
  • Vérifier aussi la présence de patient_last_name, patient_first_name, patient_birth_date : toute ligne sans ces 5 champs sera rejetée à l’import.

Normalisation des champs :

  • Dates (patient_birth_date, ald_opening_date, patient_death_date, ald_mutation_date) : passer en JJ/MM/AAAA ou AAAA-MM-JJ. Une date non parseable sur un champ obligatoire fait rejeter la ligne.
  • cim10_code : le SI le met en majuscules et retire points/espaces - pas besoin de le normaliser, mais vérifier qu’il s’agit bien d’un code unique par ligne (pas de liste).
  • NIR (patient_secu) : le système ne conserve que les 10 premiers chiffres (garde-fou : espaces et caractères non numériques retirés, troncature à 10 chiffres). Inutile de le tronquer à la main. Mais voir le piège beneficiary_type ci-dessous.
  • beneficiary_type : renseigner assuré ou ayant-droit. Crucial - si ayant-droit, le NIR est celui du conjoint/parent : le SI l’écarte alors entièrement (jamais enregistré sur l’identité du patient, jamais utilisé pour le rapprochement). Sans cette mention, un NIR d’ayant-droit serait traité comme celui du patient.
  • Adresse : concaténer les champs multiples de la source en un seul patient_address, ordre rue puis complément. Idem pour prescriber_address.

Facultatifs à forte valeur ajoutée - comme la plupart des colonnes du tableau, ces champs ne sont pas obligatoires, mais ils apportent beaucoup s’ils existent dans votre source :

  • patient_death_date : déclenche les règles de statut vital à l’identito-vigilance.
  • patient_birth_commune / patient_birth_postal_code / patient_birth_insee_code : commune de naissance.
  • ald_mutation_date : changement de caisse / département du bénéficiaire.

Dédoublonnage :

  • Aucune déduplication automatique côté SI : toutes les lignes sont insérées. Deux médecins peuvent déclarer la même ALD pour un même patient → deux lignes conservées. Dédoublonner en amont si souhaité ; sinon l’ARC tranchera en aval.

Rattachement seul. Pour l’ALD, can_create_patient et can_create_tumor valent non par défaut. Raison métier : la donnée ALD est trop pauvre pour créer un patient ou une tumeur.

Surcharge par ligne. Le data manager peut forcer, ligne par ligne, via les colonnes can_create_patient / can_create_tumor : valeurs acceptées oui/non (ainsi que o/n, true/false). Une cellule vide laisse le défaut (non).

Colonne excluded :

  • 0 ou vide = ligne non exclue ;
  • 1 (ou une valeur vraie sans numéro : oui/x/true) = exclusion avec le motif par défaut (motif global n°1) ;
  • ≥ 2 = motif spécifique du catalogue d’exclusion du registre. Un numéro inconnu du catalogue fait rejeter la ligne.

Une fois votre fichier déposé, le système traite chaque ligne en trois temps :

  1. Validation - champs obligatoires (nom, prénom, date de naissance, cim10_code, ald_opening_date) et formats de dates. Une ligne invalide est rejetée, motif affiché dans l’aperçu avant import.
  2. Transcodage et mise en qualité - si le code CIM-10 est un code cancer valide, il devient le code caractérisant, traduit en CIM-O-3 (règle de préfixe) avec ses groupes (Berg, IARC) ; sinon la ligne est conservée sans tumeur candidate.
  3. Enregistrement - les lignes valides deviennent des signalements (une ligne = un signalement, pas de table fille).

Le rapprochement avec un patient (identito-vigilance) se fait ensuite, dans une étape séparée, sur l’identité créée à l’import : rien à préparer pour ça dans le CSV.

  • Pas de table fille. 1 ALD = 1 ligne = 1 signalement ; relation 1:1 avec reports.
  • Code unique par ligne. Un seul cim10_code par déclaration.
  • Transcodage CIM-10 → CIM-O-3 par règle de préfixe (calculé par le SI) : C* → malin (80003), D00-D09 → in situ (80102), D10-D36 → bénin (80000), D37-D48 → incertain (80001).
  • Prescripteur = médecin déclarant, pas un établissement de soins. prescriber_rpps contient l’identifiant déclarant (souvent un RPPS, parfois un NUM_MED CNAM, parfois vide).
  • Réimport = duplication. Sans déduplication ni dedup_hash, réimporter le même fichier dupliquera toutes ses lignes. Rare en pratique (envoi annuel), mais à éviter.
  • Ligne rejetée si l’un des 5 champs obligatoires manque ou est non parseable : patient_last_name, patient_first_name, patient_birth_date, cim10_code, ald_opening_date. Le preview reporte la raison.
  • NIR d’ayant-droit non marqué : si beneficiary_type n’est pas renseigné alors que le NIR est celui du conjoint/parent, le SI enregistre ce NIR comme celui du patient et peut s’en servir pour le rapprochement — un match erroné devient possible. Toujours renseigner assuré / ayant-droit : le SI écarte alors le NIR de lui-même.
  • Code CIM-10 non-cancer (tout code ne commençant pas par C : D00-D48, Z51.0/Z51.1 de séance, etc.) : la ligne est conservée mais characterizing_code reste vide.
  • Codes métastases C77*/C78*/C79* : bien que commençant par C, ils désignent une localisation secondaire, pas la tumeur primitive. Le SI les traite donc comme un code non-cancer - characterizing_code reste vide, aucune tumeur candidate.
  • Doublons non filtrés : toutes les lignes entrent. Si plusieurs déclarations de la même ALD polluent le travail ARC, dédoublonner en amont - le SI ne le fera pas.
  • source_ald_id non unique : un même numéro de protocole peut revenir (renouvellements). Ne pas l’utiliser comme clé d’unicité.
  • Une seule structure par fichier : ne pas mélanger plusieurs régimes/départements dans un même import ; la structure source est choisie une fois pour tout le fichier dans l’interface.