ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

X12 999 — Implementation Acknowledgment

L'accusé syntaxique moderne : enrichi par rapport au 997, capable de valider un functional group contre son implementation guide (TR3), et exigé par HIPAA pour les transactions santé.

Objet de la transaction

Le 999 fait ce que le 997 faisait, en mieux :

  • Granularité fine : erreurs au niveau loop, composite et élément.
  • Vocabulaire d'erreur étendu (rejection codes IK et CTX context segments).
  • Capacité à valider contre l'implementation guide spécifique (TR3) — pas seulement contre la grammaire X12 générique.
  • Plus expressif pour les transactions HIPAA, où la conformité au TR3 est obligatoire.

Enveloppe et structure

Le 999 utilise la triple enveloppe X12 standard avec GS01 = FA. Dans le contexte HIPAA, le ST03 porte le TR3 du 999 lui-même (005010X231A1), et l'AK1 du body porte le TR3 du functional group accusé. Exemple d'acceptation d'un 837P, et exemple de rejet pour member ID invalide :

x12 accept-999.x12
ISA*00*          *00*          *ZZ*PAYER99        *ZZ*PROVIDER01     *260513*0830*U*00501*000000999*0*P*>~
GS*FA*PAYER99*PROVIDER01*20260513*0830*1*X*005010X231A1~
ST*999*0001*005010X231A1~
AK1*HC*1*005010X222A1~
AK2*837*0001*005010X222A1~
IK5*A~
AK9*A*1*1*1~
SE*6*0001~
GE*1*1~
IEA*1*000000999~
x12 reject-999.x12
ISA*00*          *00*          *ZZ*PAYER99        *ZZ*PROVIDER01     *260513*0835*U*00501*000000998*0*P*>~
GS*FA*PAYER99*PROVIDER01*20260513*0835*1*X*005010X231A1~
ST*999*0001*005010X231A1~
AK1*HC*2*005010X222A1~
AK2*837*0002*005010X222A1~
IK3*NM1*12*2000B*8~
CTX*SITUATIONAL TRIGGER:NM1:12:2000B~
IK4*1**7*INVALID-MEMBER-ID~
IK5*R*5~
AK9*R*1*1*0~
SE*9*0001~
GE*1*1~
IEA*1*000000998~

Segments courants (concept)

  • HeaderAK1 Functional Group Response Header avec en plus un troisième élément qui porte le TR3 implementation guide (005010X222A1 pour 837P, 005010X220A1 pour 834…).
  • Detail — par transaction : AK2 Transaction Set Response Header (avec TR3), IK3 Implementation Data Segment Note pour une erreur de niveau segment (avec loop ID et code d'erreur enrichi), CTX Context Segments pour décrire la localisation de l'erreur dans la hiérarchie de loops, IK4 Implementation Data Element Note pour l'erreur au niveau élément (qualifier, code, optionnellement valeur défaillante). IK5 Implementation Transaction Set Response Trailer porte le verdict.
  • SummaryAK9 conserve la forme du 997. SE ferme la transaction.

999 vs 997 — pourquoi migrer

Trois raisons de migrer : (1) Si on est en santé HIPAA, on n'a pas le choix — c'est un mandat. (2) Le diagnostic d'erreur est plus rapide : un 999 indique exactement quel élément a échoué et dans quelle loop, là où le 997 force à reconstituer la position. (3) Le 999 prend en compte l'implementation guide : une valeur valide en X12 standard mais interdite par le TR3 sera détectée. Sur les flux supply-chain non-HIPAA, le 997 reste suffisant et la migration n'est pas obligatoire (la majorité du retail US reste en 997).

Quand vous la croiserez

Le 999 est universel en HIPAA santé US : les clearinghouses (Availity, Change Healthcare, Waystar, Trizetto) en renvoient un pour chaque 837 / 270 / 276 / 278 / 834 reçu, généralement en quelques minutes. Sur le supply-chain et la finance, son adoption progresse lentement à mesure que les partenaires migrent du 4010 au 6020+. Dans les configurations transitoires, certains hubs envoient les deux (997 pour compatibilité historique, 999 pour la nouvelle plateforme).

Transactions liées

  • 997 — Functional Acknowledgment (le prédécesseur). Voir 997 →
  • TA1 — Interchange Acknowledgment (niveau ISA/IEA).
  • 824 — Application Advice (acknowledgment métier).
  • Toutes les transactions HIPAA accusées par 999 : 270 · 271 · 276 · 277 · 278 · 834 · 835 · 837

Documentation