Hprimator 2 – Concept & Algorithme

L’année 2019 voit naitre la seconde version de Hprimator, le robot qui convertit un document PDF/RTF au format Hprim :

  • Il sait isoler les renseignements administratifs qui y figurent, et
  • Qui lui permettent de reconstituer l’entête HPRIM “minimum”
  1. Hprimator Première génération était lourd, complexe et donnait des résultats assez aléatoires, nécessitant des corrections continues
  2. HPRIMATOR 2 est plus léger, plus simple et plus efficace car il est orienté “Document” et non plus “Mot”, il fait appel au moteur de recherche “RegEX” (PERL) et sa machine à débusquer les expressions dites régulières


LA MISSION D’HPRIMATOR :


Isoler dans un document, 5 informations, dont 2 indispensables à la reconnaissance du patient (et donc à l’intégration “Hprim” dans son dossier)

Un patient se reconnait de façon unique grâce à 3 informations personnelles :

  1. NOM
  2. PRÉNOM
  3. DATE DE NAISSANCE (DDN)

Cependant 2 infos sont suffisantes le plus souvent pour identifier un document :

  1. NOM
  2. PRÉNOM

2 Informations supplémentaires sont Utiles pour classer le courrier et comprendre ce qu’il contient :

  1. CORRESPONDANT
  2. DATE

HPRIMATOR 2 EST ORIENTE “DOCUMENT”


Un courrier médical n’est pas un ensemble de mots, c’est un document structuré

  1. Un document est structuré en LIGNES
  2. Chaque LIGNE(S) contenant une série de mots liés par un SENS. (Phrase)

Hprimator 2 isole et étudie donc maintenant  les lignes entières dans un document et non plus les Mots, car il est plus facile (et beaucoup plus rapide) de retrouver une info significative dans une ligne que dans tout un document.

  1. Lignes d’entête
  2. Ligne de Date
  3. Ligne de présentation (administrative)
  4. Lignes de Développement et de conclusion
  5. Ligne de signature
  • Le correspondant se trouvera:
    • dans l’entête
    • ou dans la signature
  • La Date
    • Dans la ligne de Date
  • L’identité du patient(NOM,PRENOM)
    • dans la ligne de présentation

LE CONCEPT DE LIGNE MAGIQUE


Définition

La ligne magique est la ligne qui contient au moins 2 informations clefs, plus une.

  1. NOM
  2. PRÉNOM
  3. DDN

Comment reconnaitre la ligne magique ?

“Si la ligne Magique contient la Date de Naissance, cette date est (quasi) toujours la date la plus ancienne du document” 

Inversement la “Date la plus récente” correspond très probablement à la :

  • Date de rédaction du document.

Algorithme des dates :
  • Il suffit donc dans un premier passage d’isoler toutes dates contenues dans le document, puis de les classer  dans un TABLEAU par ordre chronologique
    • La première date de la liste pointera la LIGNE DE DATE du document
    • La dernière date de la liste pointera probablement la LIGNE MAGIQUE.
TABLEAU DES DATES TROUVÉES Par Ordre Chronologique
15/12/1957 Première = Date de naissance
14/10/2011
16/11/2018 Dernière = Date de Rédaction
Comment retrouver rapidement toutes les dates ?

Hprimator2 fait largement appel à la puissance de recherche des EXPRESSIONS RÉGULIÈRES : (voir ce mot)

Règle simple : (Reconnaitre une date au format standard)

'(\d{2})/(\d{2})/(\d{4})'
  • 3 groupes = ( 1 ) / (2 ) / ( 3)
  • séparés par des  /
  • Correspondants aux  Jour / mois  / année avec :
    1. Jour = 2 Digits
    2. mois = 2 Digits
    3. année = 4 digits

Règle complexe :

 MODELE_DATE = '(\d{2})[/\-\. ](\d{2})[/\-\. ](\d{4})';

Séparateur = / – ou . 

Ici un exemple de “Ligne Hyper-Magique” car elle contient TOUS LES RENSEIGNEMENTS UTILES ! (Elle contient 3 dates, c’est la plus ancienne qui correspondra “quasi-toujours” à la date de naissance du patient.)

Le concept de Ligne Magique est un concept à 3 dimensions, car si l’ensemble des renseignements utiles est parfois situé sur UNE SEULE LIGNE (Ligne dite hyper magique) le complément est parfois situé soit juste au dessus, soit juste en dessous (Inutile d’aller chercher plus loin que +1 et -1)

  • Je lève les yeux vers le “Plafond Magique” (Ligne -1) pour trouver le Nom et le Prénom,

Inversement si je désigne manuellement la ligne magique en cliquant sur le NOM (mode semi automatique) je vais automatiquement trouver le Prénom car il est soit à Droite soit à gauche du nom

  • Je baisse les yeux vers le “Plancher Magique” (Ligne +1) pour trouver sa date de naissance.

Dans cet exemple on pourrait donner une définition plus complexe de la ligne magique :

  • La ligne magique (LM)  est une ligne qui contient un Prénom , une Civilité et peut être une Date, (la Civilité précède le NOM) seul le nom est inconnu …
  • Si la LM ne contient pas de date, regarder à la ligne suivante (ou précédente)

Ce qui introduit le concept suivant :

  • Hprimator2 manipule également  des Listes Exhaustives d’informations courantes citées dans les documents médicaux (concept emprunté à Hprimator1)
    1. Liste des NOMS et PRÉNOMS courants de patients (Ligne Magique)
    2. Liste des Villes des correspondants (Ligne de date)
    3. Liste des Civilités (Madame, Mme, Me etc…) (Début de Ligne Magique)
    4. Liste des Type de lettre reçues par le cabinets (Ligne correspondant)
  • Ces Listes s’enrichissent chemin faisant, et s’adaptent à la pratique de chaque cabinet.
  • Permettant la création de fonctions Booléennes Simples :
    1. Is_Prenoms ( mot )
    2. Is_Ville ( mot )
    3. Ou Is_Civilite ( Mot )
  • Qui se contente de savoir si un Mot se trouve ou pas dans la liste interrogée.
  • A noter que chaque liste peut contenir des Items obéissant aux Règles RegEx
    • Par exemple
C[eé]cil(e|ia)
  • Répond “VRAI” aux  4 orthographes suivante : Cécile, Cecile, Cécilia et Cecilia

On le voit l’apprentissage du langage des Expressions Régulières ouvre des horizons nouveaux dans la reconnaissance des mots d’un document  médical.


@ Chantier à suivre : …

Laisser un commentaire