Calcul de la cle du matricule securite sociale

Contenu du snippet

Calcul de la clé (deux dernier caractères) de votre n° de Sécurité sociale.
Utile pour les contrôles des données transmisent par les partenaires de santé vers la CPAM.

Source / Exemple :



  • *****************************************
  • * Calcul de la clé d'un numéro de Sécurité Sociale *
  • * ------------------------------------------- *
  • * - Pour les assurés nés en Corse *
  • * 2A = 19 *
  • * 2B = 18 *
  • *****************************************
*
  • *****************************************
  • * Une personne née sur le continent *
  • *****************************************
  • *
nSecuSoc = "1290278551031" DO Convertir WITH nSecuSoc
  • *********************************
  • * Une personne née en Corse *
  • *********************************
  • *
nSecuSoc = "129022A551031" DO Convertir WITH nSecuSoc
  • *********************************
  • * Une personne née en Corse *
  • *********************************
  • *
nSecuSoc = "129022B551031" DO Convertir WITH nSecuSoc PROCEDURE convertir PARAMETERS nCode nCode = Iif(substr(nCode,6,2)="2A",LEFT(nCode,5)+"19"+RIGHT(nCode,6), ; Iif(substr(nCode,6,2)="2B",LEFT(nCode,5)+"18"+RIGHT(nCode,6), nCode)) ? " La clé calculée est égale à : " + ALLTRIM(STR(97 - MOD(VAL(nCode),97))) ; + " ----- "+ nCode

Conclusion :


Il est possible d'intégrer les 2 instructions IIF directement dans le calcul de la clé, mais pour des raisons de lisibilité, j'ai préféré décomposer l'action.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Roland38)