Une clé de contrôle pour ne pas se tromper de patient

publicité
Le monde qui nous entoure est ainsi fait qu’il contient aujourd’hui des codes et leurs
clefs de contrôle. Nous souhaitons avec cet article montrer comment ces codes sont
construits et à quoi servent les clefs qui leur sont associées.
Une clé de contrôle pour ne pas se tromper de patient
Dans le domaine de la santé, on imagine facilement l’importance de ne pas se
tromper de patient lorsqu’il s’agit de procéder au remboursement de la
consultation d’un médecin ou mieux encore lorsqu’à l’entrée d’une salle
d’opération on va admettre un patient « calmé » pour lui enlever les dents de
sagesse. Le numérique a tout prévu et nous allons voir comment le numéro de
Sécurité sociale attribué à un patient intègre une clef de contrôle qui pourra
détecter certaines erreurs classiques de saisie (erreur sur un des chiffres,
inversion de deux valeurs).
Le numéro de Sécurité sociale est marqué sur
n’importe quelle carte Vitale ; pour faire simple, j’ai pris
la mienne en marquant en vert les deux derniers
chiffres :
1 64 12 74 173 102
95
Numéro central
clef de contrôle
Comment est déterminée cette clef de contrôle ?
Vous trouverez facilement à quoi correspondent les 13 premiers chiffres,
c’est-à-dire les nombres 1, 64, 12, 74, 173, 102 ; en revanche, nous allons
regarder comment est déterminé le nombre
chaîne.
95
qui figure en bout de
Posons la division de 1641274173102 par 97 (voir ci-contre), on trouve un
reste égal à
2 . À partir de 2, il nous suffit d’ajouter 95 pour obtenir un
multiple de 97. Ce nombre 95 est d’ailleurs le seul entier naturel
strictement inférieur à 97 qui fonctionne, c’est la clef de contrôle.
À quoi sert cette clef de contrôle ?
Ce nombre 95 sert à détecter certaines erreurs du type erreur de frappe dans le
relevé des 13 chiffres. Si l’on commet par exemple une erreur du type inversion de
Jean-Alain Roddier, IA-IPR de Mathématiques. Académie de Clermont-Ferrand
1
deux chiffres consécutifs, en entrant 164172417310295 à la place de
164127417310295, la clef 95 ne fonctionnera pas car la clef associée au nombre
1641724173102 de 13 chiffres est 70.
Les numéros portés sur mon manuel scolaire
Nous nous sommes tous retrouvés un jour à une caisse de supermarché dans
la situation où le code barre n’est pas lu par le lecteur infra-rouge et où l’agent
de caisse tape et retape le code à la main parce que la machine n’en veut pas.
Et bien, pourquoi la machine n’en veut pas ? C’est grâce ou à cause de la clef
de contrôle portée par le code barre.
Pour tout expliquer sur le code barre, nous allons prendre un exemple qui se
trouve aujourd’hui dans votre cartable. Comme tout livre vendu dans le
commerce, votre manuel scolaire possède en effet :
- son code barre qui figure habituellement au dos de l’ouvrage ;
- il possède aussi un autre code spécifique au monde de l’édition que l’on appelle
son numéro ISBN (International Standard Book Number).
Le code barre 9 782047 332931 de notre manuel scolaire est recopié dans le
tableau ci-dessous, tableau dans lequel nous avons mis d’un côté le numéro central
(c’est le numéro complet tronqué de son dernier chiffre) et de l’autre la clef de
contrôle (c’est le dernier chiffre).
978204733293
1
Numéro central
clef de contrôle
Comment est déterminée cette clef de contrôle ?
C’est ce que nous allons vous faire découvrir à présent. On effectue tout d’abord un
savant calcul :
(9+8+0+7+3+9) + 3x(7+2+4+3+2+3).
On trouve ainsi : 36 + 3x21 = 36 + 63 = 99. À partir de la valeur 99 pour obtenir un
multiple de 10, il suffit de lui ajouter 1. Ce nombre 1 est d’ailleurs le seul entier
naturel strictement inférieur à 10 qui fonctionne, c’est la clef de contrôle.
Jean-Alain Roddier, IA-IPR de Mathématiques. Académie de Clermont-Ferrand
2
À quoi peut servir cette clef de contrôle ?
Imaginons une erreur de frappe du type erreur liée au clavier sur lequel la touche 4
est voisine de la touche 5. On entre ainsi par erreur le code 9782057332931, le
savant calcul va donner : 36 + 3x22 = 36 + 66 = 102. La clef de contrôle de ce
nouveau code est 8 et non 1 ; l’ordinateur va repérer cette incohérence et refusera
ainsi de travailler avec ce code.
Considérons à présent le numéro ISBN 978 que nous relevons dans un tableau.
204733293
1
Numéro central
clef de contrôle
Comment est déterminée cette clef de contrôle ?
Effectuons le savant calcul suivant :
2x1 + 0x2 + 4x3 + 7x4 + 3x5 + 3x6 + 2x7 + 9x8 + 3x9
= 2 +0 +12+ 28 +15 +18 +14 +72 + 27 = 188.
Divisons à présent 188 par 11, nous trouvons comme reste 1 qui est la clef de
contrôle.
Peut-on retrouver avec la clef de contrôle une valeur manquante ?
Imaginons la situation dans laquelle le numéro est un peu effacé et où l’on n’arrive
pas à lire un chiffre de ce qui apparaît sur le papier comme étant un code ISBN.
Il est marqué par exemple : 2047 32931.
Notons C la valeur manquante, on part donc de 2047C32931
Si c’est bien un code, on sait qu’en utilisant le savant calcul
2x1 + 0x2 + 4x3 + 7x4 + cx5 + 3x6 + 2x7 + 9x8 + 3x9 doit donner comme reste 1
dans la division par 11 .
Effectuons à présent tous les calculs :
42 +
cx5 + 131 doit donner comme reste 1 dans la division par 11
cx5 + 173 doit donner comme reste 1 dans la division par 11
Autrement dit :
cx5 + 172 doit être un multiple de 11.
cx5 + 7 + 165 doit être un multiple de 11.
cx5 + 7 doit être un multiple de 11 car 165 est un multiple de 11 (165 = 11*15)
Jean-Alain Roddier, IA-IPR de Mathématiques. Académie de Clermont-Ferrand
3
Le seul chiffre c qui fonctionne est 3 ; nous avons donc – grâce à la clef de contrôle
– retrouvé la valeur manquante.
Vérification : Si l’on considère le code 2047332931, les calculs déjà effectués
montrent que c’est bien un numéro ISBN avec son numéro central 204733293 et sa
clef de contrôle (la valeur 1).
Conclusion : Il n’y a donc qu’une seule valeur possible pour
valeur donne bien un numéro ISBN.
C:
c’est 3 et cette
La notion de code correcteur
Dans l’exemple que nous venons de prendre, la clef de contrôle nous a aussi servi
de clef de correction, elle nous a en effet servi à retrouver la valeur manquante. Nous
n’avons pas pris cet exemple de façon complétement anodine car la notion de
correction d’une donnée numérique à l’aide de ce que l’on appelle un code
correcteur permet à des systèmes de continuer à fonctionner en corrigeant
certaines erreurs fournies en entrée.
Les numéros bancaires
Si il y a un numéro que l’on n’aime pas donner à tout le monde, c’est bien son numéro
de carte bancaire. Nous n’allons donc pas prendre le mien et prendre un exemple
construit de toute pièce, il est constitué de 16 chiffres et pour faire simple nous avons
pris 1, 2, 3, 4, 5 jusqu’à 9 puis en repartant de 0 et en allant jusqu’à 5 et en rajoutant
à la fin un 2, autrement dit nous allons étudier le code suivant :
1234 5678 9012 3452
Ce numéro est placé dans le tableau ci-dessous avec d’un côté le numéro central
(c’est le numéro de carte tronqué de son dernier chiffre) et de l’autre la clef de
contrôle (qui est le dernier chiffre) :
1234 5678 9012 345
2
numéro central
clef de contrôle
Comment est déterminée cette clef de contrôle ?
Pour trouver la clef de contrôle, il suffit de prendre le double de chaque chiffre de
rangs impairs (en enlevant 9 si le résultat est supérieur à 9), puis d’ajouter à toutes
ces valeurs la somme des chiffres de rangs pairs :
1x2 + 3x2 + 5x2 – 9 + 7x2 – 9 + 9x2 – 9 + 1x2 + 3x2 + 5x2 – 9 + 2 + 4 + 6 + 8 + 0 + 2 + 4 = 58.
À partir de 58, il nous suffit d’ajouter 2 pour obtenir un multiple de 10. Ce nombre 2
est le seul entier à un chiffre qui fonctionne, c’est la clef de contrôle.
Jean-Alain Roddier, IA-IPR de Mathématiques. Académie de Clermont-Ferrand
4
Le numéro de compte bancaire est lui-aussi un numéro qui contient une
clef de contrôle. Il est ainsi constitué au total de 23 chiffres soit 21 chiffres
suivis d’une clef de contrôle de 2 chiffres.
Imaginons ainsi le numéro de compte suivant :
n° Banque
n° guichet
n° compte
clé
12345
67890
12345678901
04
Comment est déterminée cette clef de contrôle ?
Avec un logiciel du type Xcas, nous pouvons déterminer le reste de la division de
123456789012345678901x100 par 97, on trouve 93.
À partir de 93, il nous suffit d’ajouter 4 pour obtenir un multiple de 97. Ce nombre 4
est d’ailleurs le seul entier naturel strictement inférieur à 97 qui fonctionne, la clef de
contrôle est donc 04.
Se maintenir à la pointe de l’innovation
Sur cette notion de clef de contrôle, on sent bien qu’une grande partie du
numérique nous échappe dans l’usage quotidien que l’on en fait. Le monde qui
nous entoure utilise en effet ces clefs de façon trop discrète dans de très
nombreux domaines tout aussi importants que ceux que nous venons
d’évoquer et elles sont présentes à chaque fois que l’on souhaite sécuriser
l’implémentation des données.
Ces clefs de contrôle sont l’archétype de ce que le numérique est capable de
fabriquer et de faire fonctionner autour de nous de façon complétement
opaque ; sans que nous ne en rendions compte, le numérique tisse ainsi une
barrière entre l’utilisateur et le concepteur. C’est cette barrière qu’il est
important de rendre transparente afin que notre société puisse connaître,
dominer ces concepts et se maintenir ainsi à la pointe de l’innovation.
Jean-Alain Roddier, IA-IPR de Mathématiques. Académie de Clermont-Ferrand
5
Téléchargement