Projet

Général

Profil

« Précédent | Suivant » 

Révision 5201ef92

Ajouté par Thomas Noël il y a presque 11 ans

start NOEMIE analyzer

Voir les différences:

calebasse/facturation/noemie.py
1
from gzip import GzipFile
2
from StringIO import StringIO
3
from noemie_format import NOEMIE
4

  
5
def noemie_try_gunzip(data):
6
    "gunzip data if its a gzip stream"
7
    sio = StringIO(data)
8
    gz = GzipFile(fileobj=sio, mode='rb')
9
    try:
10
        data = gz.read()
11
    except IOError:
12
        pass
13
    return data
14

  
15
def noemie_decode(data):
16
    lines = []
17
    entity = ''
18
    while data and entity != '999':
19
        entity = data[:3]
20
        analyzer = NOEMIE.get(entity)
21
        if analyzer is None:
22
            raise Exception('cannot analyse NOEMIE line "%s..."' % data[:32])
23
        line = { 'description': analyzer['description'] }
24
        segments = []
25
        index = 0
26
        for anaseg in analyzer.get('segments',[]):
27
            seg = {
28
                'name': anaseg['name'],
29
                }
30
            value = data[index : index+anaseg['size']]
31
            if anaseg.get('values'):
32
                seg['raw'] = value
33
                value = anaseg['values'].get(value)
34
            seg['value'] = value
35
            index += anaseg['size']
36
            segments.append(seg)
37
        line['segments'] = segments
38
        line['data'] = data[:index]
39
        data = data[index:]
40
        lines.append(line)
41
    return lines
42

  
43
if __name__ == '__main__':
44
    import sys
45
    from pprint import pprint
46
    data = noemie_try_gunzip(open(sys.argv[1]).read())
47
    pprint(noemie_decode(data), indent=2)
calebasse/facturation/noemie_format.py
1
# -*- coding: utf-8 -*-
2
NOEMIE = { '000': { 'description': 'En-tête',
3
           'name': '000',
4
           'rang': '1',
5
           'segments': [ { 'name': "Type d'enregistrement",
6
                           'order': 1,
7
                           'pkey': 'O',
8
                           'presence': 'O',
9
                           'size': 3,
10
                           'type': 'N',
11
                           'valeur': '000'},
12
                         { 'name': "Type d'émetteur",
13
                           'order': 2,
14
                           'presence': 'O',
15
                           'saveas': 'emetteur',
16
                           'size': 2,
17
                           'type': 'A',
18
                           'values': { 'AN': 'Assemblée nationale',
19
                                       'BF': 'Banque de france',
20
                                       'CC': 'Caisse des cultes',
21
                                       'CE': 'Caisse de retraite et de prévoyance des clercs et employés de notaires (CRPCEN)',
22
                                       'CF': 'SNCF',
23
                                       'CI': 'Chambre de commerce et d’industrie de paris',
24
                                       'CM': 'Caisse nationale militaire de sécurité sociale (CNMSS)',
25
                                       'CP': 'C.P.A.M.',
26
                                       'CR': 'C.R.A.M.',
27
                                       'CS': 'Centre de Service Complémentaire (AMC)',
28
                                       'CT': 'Centre de traitement informatique (Régime Général)',
29
                                       'EN': 'Établissement national des invalides de la marine (ENIM)',
30
                                       'MA': 'MSA',
31
                                       'OC': 'Organisme complémentaire (AMC)',
32
                                       'OT': 'Organisme concentrateur technique (OCT)',
33
                                       'PB': 'Port autonome de bordeaux',
34
                                       'RM': 'Sécurité sociale minière',
35
                                       'RP': 'R.A.T.P.',
36
                                       'SE': 'Caisses autonomes de sécurité sociale du senat',
37
                                       'SI': 'Autres émetteurs (sociétés civiles professionnelles...)',
38
                                       'SM': 'Section des mutuelles nationales',
39
                                       'SR': 'Centre informatique regional (AMPI)',
40
                                       'TE': 'Établissements',
41
                                       'TP': 'Autres partenaires de sante'}},
42
                         { 'name': "Numéro d'émetteur",
43
                           'order': 3,
44
                           'presence': 'O',
45
                           'size': 14,
46
                           'type': 'N'},
47
                         { 'name': 'Programme émetteur',
48
                           'order': 4,
49
                           'presence': 'F',
50
                           'size': 6,
51
                           'type': 'A'},
52
                         { 'name': 'Type de destinataire',
53
                           'order': 5,
54
                           'presence': 'O',
55
                           'size': 2,
56
                           'type': 'A',
57
                           'values': { 'AN': 'Assemblée nationale',
58
                                       'BF': 'Banque de france',
59
                                       'CC': 'Caisse des cultes',
60
                                       'CE': 'Caisse de retraite et de prévoyance des clercs et employés de notaires (CRPCEN)',
61
                                       'CF': 'SNCF',
62
                                       'CI': 'Chambre de commerce et d’industrie de paris',
63
                                       'CM': 'Caisse nationale militaire de securite sociale (CNMSS)',
64
                                       'CP': 'C.P.A.M.',
65
                                       'CR': 'C.R.A.M.',
66
                                       'CS': 'Centre de Service Complémentaire (AMC)',
67
                                       'CT': 'Centre de traitement informatique (Régime Général)',
68
                                       'EN': 'Établissement national des invalides de la marine (ENIM)',
69
                                       'MA': 'MSA',
70
                                       'OC': 'Organisme complémentaire (AMC)',
71
                                       'OT': 'Organisme concentrateur technique (OCT)',
72
                                       'PB': 'Port autonome de bordeaux',
73
                                       'RM': 'Sécurité sociale minière',
74
                                       'RP': 'R.A.T.P.',
75
                                       'SE': 'Caisses autonomes de sécurité sociale du senat',
76
                                       'SI': 'Autres émetteurs (sociétés civiles professionnelles...)',
77
                                       'SM': 'Section des mutuelles nationales',
78
                                       'SR': 'Centre informatique regional (AMPI)',
79
                                       'TE': 'Établissements',
80
                                       'TP': 'Autres partenaires de santé'}},
81
                         { 'name': 'Numéro de destinataire',
82
                           'order': 6,
83
                           'presence': 'O',
84
                           'size': 14,
85
                           'type': 'A'},
86
                         { 'name': 'Programme destinataire',
87
                           'order': 7,
88
                           'presence': 'F',
89
                           'size': 6,
90
                           'type': 'A'},
91
                         { 'name': "Application-type d'échange",
92
                           'order': 8,
93
                           'presence': 'F',
94
                           'size': 2,
95
                           'type': 'A'},
96
                         { 'name': 'Identification du fichier',
97
                           'order': 9,
98
                           'presence': 'O',
99
                           'size': 6,
100
                           'type': 'A'},
101
                         { 'name': 'Date de création du fichier',
102
                           'order': 10,
103
                           'presence': 'O',
104
                           'size': 6,
105
                           'type': 'N'},
106
                         { 'name': "Norme utilisée - référence de l'échange",
107
                           'order': 11,
108
                           'presence': 'O',
109
                           'size': 4,
110
                           'type': 'A'},
111
                         { 'name': 'Version utilisée',
112
                           'order': 12,
113
                           'presence': 'F',
114
                           'size': 2,
115
                           'type': 'A'},
116
                         { 'name': 'Compactage',
117
                           'order': 13,
118
                           'presence': 'F',
119
                           'size': 1,
120
                           'type': 'A'},
121
                         { 'name': 'Cryptage',
122
                           'order': 14,
123
                           'presence': 'F',
124
                           'size': 1,
125
                           'type': 'A',
126
                           'values': {'N': 'Non', 'O': 'Oui'}},
127
                         { 'name': 'Unité monétaire',
128
                           'order': 15,
129
                           'presence': 'O',
130
                           'size': 1,
131
                           'type': 'A',
132
                           'values': {'U': 'Euro'}},
133
                         { 'name': 'Type de flux',
134
                           'order': 16,
135
                           'presence': 'F',
136
                           'size': 1,
137
                           'type': 'A',
138
                           'values': { ' ': 'Réel',
139
                                       'D': 'Démo',
140
                                       'R': 'Réel',
141
                                       'T': 'Test'}},
142
                         { 'name': 'Blanc',
143
                           'order': 17,
144
                           'presence': 'F',
145
                           'size': 11,
146
                           'type': 'A'},
147
                         { 'name': "Longueur d'enregistrement",
148
                           'order': 18,
149
                           'presence': 'O',
150
                           'size': 3,
151
                           'type': 'N'},
152
                         { 'name': 'Mot de passe',
153
                           'order': 19,
154
                           'presence': 'F',
155
                           'size': 6,
156
                           'type': 'A'},
157
                         { 'name': 'Zone message',
158
                           'order': 20,
159
                           'presence': 'F',
160
                           'size': 37,
161
                           'type': 'A'}]},
162
  '010': { 'description': 'Organisme complémentaire',
163
           'name': '010',
164
           'rang': '2',
165
           'segments': [ { 'name': "Type d'enregistrement",
166
                           'order': 1,
167
                           'pkey': 'O',
168
                           'presence': 'O',
169
                           'size': 3,
170
                           'type': 'N',
171
                           'valeur': '010'},
172
                         { 'name': 'Niveau de rupture',
173
                           'order': 2,
174
                           'presence': 'O',
175
                           'saveas': 'rang',
176
                           'size': 2,
177
                           'type': 'N',
178
                           'valeur': '01'},
179
                         { 'name': 'Numéro d\'organisme complémentaire',
180
                           'order': 4,
181
                           'presence': 'O',
182
                           'size': 7,
183
                           'type': 'N'},
184
                         { 'name': 'Clé du numéro d\'organisme complémentaire',
185
                           'order': 5,
186
                           'presence': 'O',
187
                           'size': 1,
188
                           'type': 'N'},
189
                         { 'name': "Délimiteur fin d'entité",
190
                           'order': 6,
191
                           'pkey': 'O',
192
                           'presence': 'O',
193
                           'size': 1,
194
                           'type': 'A',
195
                           'valeur': '@'}]},
196
  '020': { 'description': 'Mandataire',
197
           'name': '020',
198
           'rang': '2',
199
           'segments': [ { 'name': "Type d'enregistrement",
200
                           'order': 1,
201
                           'pkey': 'O',
202
                           'presence': 'O',
203
                           'size': 3,
204
                           'type': 'N',
205
                           'valeur': '020'},
206
                         { 'name': 'Niveau de rupture',
207
                           'order': 2,
208
                           'presence': 'O',
209
                           'saveas': 'rang',
210
                           'size': 2,
211
                           'type': 'N',
212
                           'valeur': '01'},
213
                         { 'name': 'Numéro de destinataire de règlement',
214
                           'order': 3,
215
                           'presence': 'O',
216
                           'size': 15,
217
                           'type': 'N'},
218
                         { 'name': "Délimiteur fin d'entité",
219
                           'order': 4,
220
                           'pkey': 'O',
221
                           'presence': 'O',
222
                           'size': 1,
223
                           'type': 'A',
224
                           'valeur': '@'}]},
225
  '040': { 'description': 'Destinataire de règlement',
226
           'name': '040',
227
           'rang': '2',
228
           'segments': [ { 'name': "Type d'enregistrement",
229
                           'order': 1,
230
                           'pkey': 'O',
231
                           'presence': 'O',
232
                           'size': 3,
233
                           'type': 'N',
234
                           'valeur': '040'},
235
                         { 'name': 'Niveau de rupture',
236
                           'order': 2,
237
                           'presence': 'O',
238
                           'saveas': 'rang',
239
                           'size': 2,
240
                           'type': 'N',
241
                           'valeur': '02'},
242
                         { 'name': 'Numéro de destinataire de règlement',
243
                           'order': 3,
244
                           'presence': 'O',
245
                           'size': 15,
246
                           'type': 'N'},
247
                         { 'name': "Délimiteur fin d'entité",
248
                           'order': 4,
249
                           'pkey': 'O',
250
                           'presence': 'O',
251
                           'size': 1,
252
                           'type': 'A',
253
                           'valeur': '@'}]},
254
  '070': { 'description': 'Date comptable',
255
           'name': '070',
256
           'rang': '2',
257
           'segments': [ { 'name': "Type d'enregistrement",
258
                           'order': 1,
259
                           'pkey': 'O',
260
                           'presence': 'O',
261
                           'size': 3,
262
                           'type': 'N',
263
                           'valeur': '070'},
264
                         { 'name': 'Niveau de rupture',
265
                           'order': 2,
266
                           'presence': 'O',
267
                           'saveas': 'rang',
268
                           'size': 2,
269
                           'type': 'N',
270
                           'valeur': '02'},
271
                         { 'name': 'Date de la journée comptable',
272
                           'order': 3,
273
                           'presence': 'O',
274
                           'size': 6,
275
                           'type': 'N'},
276
                         { 'name': "Délimiteur fin d'entité",
277
                           'order': 4,
278
                           'pkey': 'O',
279
                           'presence': 'O',
280
                           'size': 1,
281
                           'type': 'A',
282
                           'valeur': '@'}]},
283
  '071': { 'description': 'Date comptable et référence du virement',
284
           'name': '071',
285
           'rang': '2',
286
           'segments': [ { 'name': "Type d'enregistrement",
287
                           'order': 1,
288
                           'pkey': 'O',
289
                           'presence': 'O',
290
                           'size': 3,
291
                           'type': 'N',
292
                           'valeur': '071'},
293
                         { 'name': 'Niveau de rupture',
294
                           'order': 2,
295
                           'presence': 'O',
296
                           'saveas': 'rang',
297
                           'size': 2,
298
                           'type': 'N',
299
                           'valeur': '02'},
300
                         { 'name': "Date de la journée comptable ou date d'émission du virement",
301
                           'order': 3,
302
                           'presence': 'O',
303
                           'size': 6,
304
                           'type': 'N'},
305
                         { 'name': 'Libellé du virement - ligne 1',
306
                           'order': 4,
307
                           'presence': 'O',
308
                           'size': 32,
309
                           'type': 'A'},
310
                         { 'name': 'Libellé du virement - ligne 2',
311
                           'order': 5,
312
                           'presence': 'F',
313
                           'size': 32,
314
                           'type': 'A'},
315
                         { 'name': 'Organisme payeur',
316
                           'order': 6,
317
                           'presence': 'F',
318
                           'size': 10,
319
                           'type': 'A'},
320
                         { 'name': "Délimiteur fin d'entité",
321
                           'order': 7,
322
                           'pkey': 'O',
323
                           'presence': 'O',
324
                           'size': 1,
325
                           'type': 'A',
326
                           'valeur': '@'}]},
327
  '080': { 'description': 'Lot',
328
           'name': '080',
329
           'rang': '2',
330
           'segments': [ { 'name': "Type d'enregistrement",
331
                           'order': 1,
332
                           'pkey': 'O',
333
                           'presence': 'O',
334
                           'size': 3,
335
                           'type': 'N',
336
                           'valeur': '080'},
337
                         { 'name': 'Niveau de rupture',
338
                           'order': 2,
339
                           'presence': 'O',
340
                           'saveas': 'rang',
341
                           'size': 2,
342
                           'type': 'N'},
343
                         { 'name': 'Date de constitution du lot',
344
                           'order': 3,
345
                           'presence': 'O',
346
                           'size': 6,
347
                           'type': 'N'},
348
                         { 'name': 'Numéro de lot',
349
                           'order': 4,
350
                           'presence': 'O',
351
                           'size': 3,
352
                           'type': 'N'},
353
                         { 'name': "Délimiteur fin d'entité",
354
                           'order': 5,
355
                           'pkey': 'O',
356
                           'presence': 'O',
357
                           'size': 1,
358
                           'type': 'A',
359
                           'valeur': '@'}]},
360
  '081': { 'description': 'Type de retour',
361
           'name': '081',
362
           'rang': '2',
363
           'segments': [ { 'name': "Type d'enregistrement",
364
                           'order': 1,
365
                           'pkey': 'O',
366
                           'presence': 'O',
367
                           'size': 3,
368
                           'type': 'N',
369
                           'valeur': '081'},
370
                         { 'name': 'Niveau de rupture',
371
                           'order': 2,
372
                           'presence': 'O',
373
                           'saveas': 'rang',
374
                           'size': 2,
375
                           'type': 'N',
376
                           'valeur': '02'},
377
                         { 'name': 'Code du type de retour',
378
                           'order': 3,
379
                           'presence': 'O',
380
                           'size': 2,
381
                           'type': 'N',
382
                           'values': { '01': 'Retours sur prestations transmises en flux électroniques',
383
                                       '02': 'Retours sur prestations en facturation papier',
384
                                       '03': 'Paiements ponctuels ou forfaitaires',
385
                                       '04': 'Rappels sur prestations',
386
                                       '05': 'Retenues'}},
387
                         { 'name': "Numéro du lieu d'éxecution de l'acte",
388
                           'order': 4,
389
                           'presence': 'F',
390
                           'size': 14,
391
                           'type': 'A'},
392
                         { 'name': "Délimiteur fin d'entité",
393
                           'order': 5,
394
                           'pkey': 'O',
395
                           'presence': 'O',
396
                           'size': 1,
397
                           'type': 'A',
398
                           'valeur': '@'}]},
399
  '100': { 'description': 'Facture',
400
           'name': '100',
401
           'rang': '2',
402
           'segments': [ { 'name': "Type d'enregistrement",
403
                           'order': 1,
404
                           'pkey': 'O',
405
                           'presence': 'O',
406
                           'size': 3,
407
                           'type': 'N',
408
                           'valeur': '100'},
409
                         { 'name': 'Niveau de rupture',
410
                           'order': 2,
411
                           'presence': 'O',
412
                           'saveas': 'rang',
413
                           'size': 2,
414
                           'type': 'N'},
415
                         { 'name': 'Numéro de facture',
416
                           'order': 3,
417
                           'presence': 'O',
418
                           'size': 9,
419
                           'type': 'N'},
420
                         { 'name': "Délimiteur fin d'entité",
421
                           'order': 4,
422
                           'pkey': 'O',
423
                           'presence': 'O',
424
                           'size': 1,
425
                           'type': 'A',
426
                           'valeur': '@'}]},
427
  '102': { 'description': 'Facture',
428
           'name': '102',
429
           'rang': '2',
430
           'segments': [ { 'name': "Type d'enregistrement",
431
                           'order': 1,
432
                           'pkey': 'O',
433
                           'presence': 'O',
434
                           'size': 3,
435
                           'type': 'N',
436
                           'valeur': '102'},
437
                         { 'name': 'Niveau de rupture',
438
                           'order': 2,
439
                           'presence': 'O',
440
                           'saveas': 'rang',
441
                           'size': 2,
442
                           'type': 'N'},
443
                         { 'name': 'N° de facture',
444
                           'order': 3,
445
                           'presence': 'O',
446
                           'size': 9,
447
                           'type': 'A'},
448
                         { 'name': 'Complément au n° de facture',
449
                           'order': 4,
450
                           'presence': 'F',
451
                           'size': 6,
452
                           'type': 'A'},
453
                         { 'name': 'N° de lot',
454
                           'order': 5,
455
                           'presence': 'F',
456
                           'size': 3,
457
                           'type': 'A'},
458
                         { 'name': 'Date de création du lot',
459
                           'order': 6,
460
                           'presence': 'F',
461
                           'size': 6,
462
                           'type': 'N'},
463
                         { 'name': 'Type de facture',
464
                           'order': 7,
465
                           'presence': 'O',
466
                           'size': 1,
467
                           'type': 'A',
468
                           'values': { 'A': 'Flux AMC',
469
                                       'B': 'Flux B2 ou SESAM dégradé',
470
                                       'C': 'Facture papier AMC',
471
                                       'D': 'DRE',
472
                                       'E': 'Rappel sur prestations',
473
                                       'F': 'FSE',
474
                                       'L': 'Reservé pour les échanges inter-centres de traitement - liquide',
475
                                       'P': 'Facture papier AMO ou AMO + AMC',
476
                                       'R': 'Reservé pour les échanges inter-centres de traitement - rejeté'}},
477
                         { 'name': 'Date de facturation',
478
                           'order': 8,
479
                           'presence': 'F',
480
                           'size': 6,
481
                           'type': 'N'},
482
                         { 'name': 'Traitement effectué sur la part AMC',
483
                           'order': 9,
484
                           'presence': 'F',
485
                           'size': 1,
486
                           'type': 'A',
487
                           'values': { ' ': 'Pas de traitement de la part AMC',
488
                                       'A': 'Éclatement par un OCT',
489
                                       'C': 'Paiement coordonné (CMU, référent, noemie 3...)',
490
                                       'E': 'Éclatement sur le poste',
491
                                       'F': 'Éclatement par un OCT',
492
                                       'N': "Envoi de l'image décompte en noemie 1 suite à TP sur la part AMC",
493
                                       'V': 'Orde de virement distinct pour la part AMO et le part AMC'}},
494
                         { 'name': "Nature d'assurance",
495
                           'order': 10,
496
                           'presence': 'F',
497
                           'size': 2,
498
                           'type': 'A'},
499
                         { 'name': "Délimiteur fin d'entité",
500
                           'order': 11,
501
                           'pkey': 'O',
502
                           'presence': 'O',
503
                           'size': 1,
504
                           'type': 'A',
505
                           'valeur': '@'}]},
506
  '103': { 'description': 'Assuré et bénéficiaire',
507
           'name': '103',
508
           'rang': '2',
509
           'segments': [ { 'name': "Type d'enregistrement",
510
                           'order': 1,
511
                           'pkey': 'O',
512
                           'presence': 'O',
513
                           'size': 3,
514
                           'type': 'N',
515
                           'valeur': '103'},
516
                         { 'name': 'Niveau de rupture',
517
                           'order': 2,
518
                           'presence': 'O',
519
                           'saveas': 'rang',
520
                           'size': 2,
521
                           'type': 'N'},
522
                         { 'name': 'N° immatriculation',
523
                           'order': 3,
524
                           'presence': 'O',
525
                           'size': 13,
526
                           'type': 'A'},
527
                         { 'name': "Clé du numéro d'immatriculation",
528
                           'order': 4,
529
                           'presence': 'O',
530
                           'size': 2,
531
                           'type': 'N'},
532
                         { 'name': 'Nom patronymique',
533
                           'order': 5,
534
                           'presence': 'F',
535
                           'size': 25,
536
                           'type': 'A'},
537
                         { 'name': "Nom d'usage",
538
                           'order': 6,
539
                           'presence': 'F',
540
                           'size': 25,
541
                           'type': 'A'},
542
                         { 'name': 'Prénom',
543
                           'order': 7,
544
                           'presence': 'F',
545
                           'size': 15,
546
                           'type': 'A'},
547
                         { 'name': 'N° immatriculation individuel',
548
                           'order': 8,
549
                           'presence': 'F',
550
                           'size': 13,
551
                           'type': 'A'},
552
                         { 'name': "Clé du numéro d'immatriculation individuel",
553
                           'order': 9,
554
                           'presence': 'F',
555
                           'size': 2,
556
                           'type': 'N'},
557
                         { 'name': 'Date de naissance',
558
                           'order': 10,
559
                           'presence': 'O',
560
                           'size': 6,
561
                           'type': 'N'},
562
                         { 'name': 'Rang de naissance',
563
                           'order': 11,
564
                           'presence': 'O',
565
                           'size': 1,
566
                           'type': 'N'},
567
                         { 'name': 'Nom',
568
                           'order': 12,
569
                           'presence': 'F',
570
                           'size': 25,
571
                           'type': 'A'},
572
                         { 'name': 'Prénom',
573
                           'order': 13,
574
                           'presence': 'F',
575
                           'size': 15,
576
                           'type': 'A'},
577
                         { 'name': 'Unité de gestion de rattachement',
578
                           'order': 14,
579
                           'presence': 'F',
580
                           'size': 4,
581
                           'type': 'N'},
582
                         { 'name': "Délimiteur fin d'entité",
583
                           'order': 15,
584
                           'pkey': 'O',
585
                           'presence': 'O',
586
                           'size': 1,
587
                           'type': 'A',
588
                           'valeur': '@'}]},
589
  '110': { 'description': 'Assuré',
590
           'name': '110',
591
           'rang': '2',
592
           'segments': [ { 'name': "Type d'enregistrement",
593
                           'order': 1,
594
                           'pkey': 'O',
595
                           'presence': 'O',
596
                           'size': 3,
597
                           'type': 'N',
598
                           'valeur': '110'},
599
                         { 'name': 'Niveau de rupture',
600
                           'order': 2,
601
                           'presence': 'O',
602
                           'saveas': 'rang',
603
                           'size': 2,
604
                           'type': 'N'},
605
                         { 'name': 'Numéro de sécurité sociale',
606
                           'order': 3,
607
                           'presence': 'O',
608
                           'size': 13,
609
                           'type': 'A'},
610
                         { 'name': 'Clé du numéro de sécurité sociale',
611
                           'order': 4,
612
                           'presence': 'O',
613
                           'size': 2,
614
                           'type': 'N'},
615
                         { 'name': 'Nature du nom',
616
                           'order': 5,
617
                           'presence': 'O',
618
                           'size': 1,
619
                           'type': 'A',
620
                           'values': { 'M': 'Marital',
621
                                       'P': 'Patronymique',
622
                                       'U': 'Usage'}},
623
                         { 'name': 'Nom du bénéficiaire',
624
                           'order': 6,
625
                           'presence': 'O',
626
                           'size': 25,
627
                           'type': 'A'},
628
                         { 'name': 'Blanc',
629
                           'order': 7,
630
                           'presence': 'O',
631
                           'size': 26,
632
                           'type': 'A'},
633
                         { 'name': 'Prénom du bénéficiaire',
634
                           'order': 8,
635
                           'presence': 'O',
636
                           'size': 15,
637
                           'type': 'A'},
638
                         { 'name': "Délimiteur fin d'entité",
639
                           'order': 9,
640
                           'pkey': 'O',
641
                           'presence': 'O',
642
                           'size': 1,
643
                           'type': 'A',
644
                           'valeur': '@'}]},
645
  '120': { 'description': 'Malade',
646
           'name': '120',
647
           'rang': '2',
648
           'segments': [ { 'name': "Type d'enregistrement",
649
                           'order': 1,
650
                           'pkey': 'O',
651
                           'presence': 'O',
652
                           'size': 3,
653
                           'type': 'N',
654
                           'valeur': '120'},
655
                         { 'name': 'Niveau de rupture',
656
                           'order': 2,
657
                           'presence': 'O',
658
                           'saveas': 'rang',
659
                           'size': 2,
660
                           'type': 'N'},
661
                         { 'name': 'Date de naissance du bénéficiaire',
662
                           'order': 3,
663
                           'presence': 'O',
664
                           'size': 6,
665
                           'type': 'N'},
666
                         { 'name': 'Rang du bénéficiaire',
667
                           'order': 4,
668
                           'presence': 'O',
669
                           'size': 1,
670
                           'type': 'A'},
671
                         { 'name': 'Nom du malade',
672
                           'order': 5,
673
                           'presence': 'O',
674
                           'size': 25,
675
                           'type': 'A'},
676
                         { 'name': 'Prénom du malade',
677
                           'order': 6,
678
                           'presence': 'O',
679
                           'size': 15,
680
                           'type': 'A'},
681
                         { 'name': 'Unité de gestion de rattachement',
682
                           'order': 7,
683
                           'presence': 'O',
684
                           'size': 4,
685
                           'type': 'A'},
686
                         { 'name': "Délimiteur fin d'entité",
687
                           'order': 9,
688
                           'pkey': 'O',
689
                           'presence': 'O',
690
                           'size': 1,
691
                           'type': 'A',
692
                           'valeur': '@'}]},
693
  '150': { 'description': "Nature d'assurance",
694
           'name': '150',
695
           'rang': '2',
696
           'segments': [ { 'name': "Type d'enregistrement",
697
                           'order': 1,
698
                           'pkey': 'O',
699
                           'presence': 'O',
700
                           'size': 3,
701
                           'type': 'N',
702
                           'valeur': '150'},
703
                         { 'name': 'Niveau de rupture',
704
                           'order': 2,
705
                           'presence': 'O',
706
                           'saveas': 'rang',
707
                           'size': 2,
708
                           'type': 'N'},
709
                         { 'name': "Nature de l'assurance",
710
                           'order': 3,
711
                           'presence': 'O',
712
                           'size': 2,
713
                           'type': 'A',
714
                           'values': { 'AM': 'Maternité',
715
                                       'AS': 'Maladie',
716
                                       'AT': 'Accident du travail'}},
717
                         { 'name': "Délimiteur fin d'entité",
718
                           'order': 4,
719
                           'pkey': 'O',
720
                           'presence': 'O',
721
                           'size': 1,
722
                           'type': 'A',
723
                           'valeur': '@'}]},
724
  '160': { 'description': "Critère d'archivage",
725
           'name': '160',
726
           'rang': '2',
727
           'segments': [ { 'name': "Type d'enregistrement",
728
                           'order': 1,
729
                           'pkey': 'O',
730
                           'presence': 'O',
731
                           'size': 3,
732
                           'type': 'N',
733
                           'valeur': '160'},
734
                         { 'name': 'Niveau de rupture',
735
                           'order': 2,
736
                           'presence': 'O',
737
                           'saveas': 'rang',
738
                           'size': 2,
739
                           'type': 'N'},
740
                         { 'name': "Numéro d'archivage",
741
                           'order': 3,
742
                           'presence': 'O',
743
                           'size': 17,
744
                           'type': 'N'},
745
                         { 'name': "Délimiteur fin d'entité",
746
                           'order': 4,
747
                           'pkey': 'O',
748
                           'presence': 'O',
749
                           'size': 1,
750
                           'type': 'A',
751
                           'valeur': '@'}]},
752
  '198': { 'description': 'Part AMO',
753
           'name': '198',
754
           'rang': '2',
755
           'segments': [ { 'name': "Type d'enregistrement",
756
                           'order': 1,
757
                           'pkey': 'O',
758
                           'presence': 'O',
759
                           'size': 3,
760
                           'type': 'N',
761
                           'valeur': '198'},
762
                         { 'name': 'Niveau de rupture',
763
                           'order': 2,
764
                           'presence': 'O',
765
                           'saveas': 'rang',
766
                           'size': 2,
767
                           'type': 'N'},
768
                         { 'name': 'Montant AMO demandé',
769
                           'order': 3,
770
                           'presence': 'O',
771
                           'size': 8,
772
                           'type': 'N'},
773
                         { 'name': 'État paiement part AMO',
774
                           'order': 4,
775
                           'presence': 'O',
776
                           'size': 1,
777
                           'type': 'A',
778
                           'values': { ' ': 'Pas de traitement de cette part',
779
                                       'D': 'Differé',
780
                                       'P': 'Payé',
781
                                       'R': 'Rejeté'}},
782
                         { 'name': 'Montant AMO payé',
783
                           'order': 5,
784
                           'presence': 'F',
785
                           'size': 8,
786
                           'type': 'N'},
787
                         { 'name': 'Signe du montant AMO payé',
788
                           'order': 6,
789
                           'presence': 'O',
790
                           'size': 1,
791
                           'type': 'N',
792
                           'values': {'N': 'Négatif', 'P': 'Positif'}},
793
                         { 'name': "Délimiteur fin d'entité",
794
                           'order': 7,
795
                           'pkey': 'O',
796
                           'presence': 'O',
797
                           'size': 1,
798
                           'type': 'A',
799
                           'valeur': '@'}]},
800
  '199': { 'description': 'Part AMC',
801
           'name': '199',
802
           'rang': '2',
803
           'segments': [ { 'name': "Type d'enregistrement",
804
                           'order': 1,
805
                           'pkey': 'O',
806
                           'presence': 'O',
807
                           'size': 3,
808
                           'type': 'N',
809
                           'valeur': '199'},
810
                         { 'name': 'Niveau de rupture',
811
                           'order': 2,
812
                           'presence': 'O',
813
                           'saveas': 'rang',
814
                           'size': 2,
815
                           'type': 'N'},
816
                         { 'name': 'Montant AMC demandé',
817
                           'order': 3,
818
                           'presence': 'O',
819
                           'size': 8,
820
                           'type': 'N'},
821
                         { 'name': 'État paiement part AMC',
822
                           'order': 4,
823
                           'presence': 'O',
824
                           'size': 1,
825
                           'type': 'A',
826
                           'values': { ' ': 'Pas de traitement de cette part',
827
                                       'D': 'Differé',
828
                                       'P': 'Payé',
829
                                       'R': 'Rejeté'}},
830
                         { 'name': 'Montant AMC payé',
831
                           'order': 5,
832
                           'presence': 'F',
833
                           'size': 8,
834
                           'type': 'N'},
835
                         { 'name': 'Signe du montant AMC payé',
836
                           'order': 6,
837
                           'presence': 'O',
838
                           'size': 1,
839
                           'type': 'N',
840
                           'values': {'N': 'Négatif', 'P': 'Positif'}},
841
                         { 'name': 'N° AMC destinataire',
842
                           'order': 7,
843
                           'presence': 'O',
844
                           'size': 10,
845
                           'type': 'N'},
846
                         { 'name': "N° identification AMC de l'adhérent",
847
                           'order': 8,
848
                           'presence': 'F',
849
                           'size': 15,
850
                           'type': 'A'},
851
                         { 'name': "Délimiteur fin d'entité",
852
                           'order': 9,
853
                           'pkey': 'O',
854
                           'presence': 'O',
855
                           'size': 1,
856
                           'type': 'A',
857
                           'valeur': '@'}]},
858
  '210': { 'description': 'Acte professionnel',
859
           'name': '210',
860
           'rang': '2',
861
           'segments': [ { 'name': "Type d'enregistrement",
862
                           'order': 1,
863
                           'pkey': 'O',
864
                           'presence': 'O',
865
                           'size': 3,
866
                           'type': 'N',
867
                           'valeur': '210'},
868
                         { 'name': 'Niveau de rupture',
869
                           'order': 2,
870
                           'presence': 'O',
871
                           'saveas': 'rang',
872
                           'size': 2,
873
                           'type': 'N'},
874
                         { 'name': 'N° de ligne',
875
                           'order': 3,
876
                           'presence': 'O',
877
                           'size': 2,
878
                           'type': 'N'},
879
                         { 'name': 'Code gestion technique pour régime',
880
                           'order': 4,
881
                           'presence': 'O',
882
                           'size': 2,
883
                           'type': 'N'},
884
                         { 'name': 'Justification pour exonération',
885
                           'order': 5,
886
                           'presence': 'O',
887
                           'size': 1,
888
                           'type': 'A'},
889
                         { 'name': 'Mode de traitement',
890
                           'order': 6,
891
                           'presence': 'O',
892
                           'size': 2,
893
                           'type': 'N'},
894
                         { 'name': 'Discipline médico-tarifaire',
895
                           'order': 7,
896
                           'presence': 'O',
897
                           'size': 3,
898
                           'type': 'N'},
899
                         { 'name': "Date de prescription d'un acte",
900
                           'order': 8,
901
                           'presence': 'O',
902
                           'size': 6,
903
                           'type': 'N'},
904
                         { 'name': 'Date des soins ou date début',
905
                           'order': 9,
906
                           'presence': 'O',
907
                           'size': 6,
908
                           'type': 'N'},
909
                         { 'name': 'Date de fin de soins',
910
                           'order': 10,
911
                           'presence': 'O',
912
                           'size': 6,
913
                           'type': 'N'},
914
                         { 'name': "Prix unitaire d'un acte",
915
                           'order': 11,
916
                           'presence': 'O',
917
                           'size': 8,
918
                           'type': 'N'},
919
                         { 'name': "Base de remboursement d'un acte",
920
                           'order': 12,
921
                           'presence': 'O',
922
                           'size': 8,
923
                           'type': 'N'},
924
                         { 'name': 'Taux de remboursement',
925
                           'order': 13,
926
                           'presence': 'O',
927
                           'size': 3,
928
                           'type': 'N'},
929
                         { 'name': 'Montant remboursé',
930
                           'order': 14,
931
                           'presence': 'O',
932
                           'size': 8,
933
                           'type': 'N'},
934
                         { 'name': "Signe de l'acte",
935
                           'order': 15,
936
                           'presence': 'O',
937
                           'size': 1,
938
                           'type': 'A',
939
                           'values': {'N': 'Négatif', 'P': 'Positif'}},
940
                         { 'name': 'Nature de la prestation',
941
                           'order': 16,
942
                           'presence': 'O',
943
                           'size': 3,
944
                           'type': 'A'},
945
                         { 'name': "Code complémentaire à la nature d'acte",
946
                           'order': 17,
947
                           'presence': 'O',
948
                           'size': 2,
949
                           'type': 'A',
950
                           'values': { 'E': 'Examen, expertise',
951
                                       'F': 'Majoration jour férié',
952
                                       'N': 'Majoration de nuit',
953
                                       'P': 'Présent',
954
                                       'S': 'Sortie',
955
                                       'T': 'Transfert'}},
956
                         { 'name': "Quantité d'actes",
957
                           'order': 18,
958
                           'presence': 'O',
959
                           'size': 3,
960
                           'type': 'N'},
961
                         { 'name': "Coefficient de l'acte",
962
                           'order': 19,
963
                           'presence': 'O',
964
                           'size': 5,
965
                           'type': 'N'},
966
                         { 'name': 'Dénombrement des actes',
967
                           'order': 20,
968
                           'presence': 'O',
969
                           'size': 3,
970
                           'type': 'N'},
971
                         { 'name': 'Montant de la dépense',
972
                           'order': 21,
973
                           'presence': 'O',
974
                           'size': 8,
975
                           'type': 'N'},
976
                         { 'name': 'Qualificatif de la dépense',
977
                           'order': 22,
978
                           'presence': 'O',
979
                           'size': 2,
980
                           'type': 'A',
981
                           'values': { 'AT': 'Tiers payant AT',
982
                                       'DD': 'Dépassement non prescrit',
983
                                       'DE': 'Dépassement exigence',
984
                                       'DF': 'Dépassement Fortune',
985
                                       'DP': 'Dépassement permanent',
986
                                       'ED': 'Entente directe',
987
                                       'GR': 'Gratuit',
988
                                       'NR': 'Non remboursabe',
989
                                       'S': 'Honoraire globalisés, suite',
990
                                       'TM': 'Ticket modérateur seul'}},
991
                         { 'name': 'Taux complémentaire Alsace/Moselle',
992
                           'order': 23,
993
                           'presence': 'O',
994
                           'size': 3,
995
                           'type': 'N'},
996
                         { 'name': 'Montant complémentaire Alsace/Moselle',
997
                           'order': 24,
998
                           'presence': 'O',
999
                           'size': 8,
1000
                           'type': 'N'},
1001
                         { 'name': 'Taux part complémentaire Mutuelle',
1002
                           'order': 25,
1003
                           'presence': 'O',
1004
                           'size': 3,
1005
                           'type': 'N'},
1006
                         { 'name': 'Montant part complémentaire',
1007
                           'order': 26,
1008
                           'presence': 'O',
1009
                           'size': 8,
1010
                           'type': 'N'},
1011
                         { 'name': 'Base remboursement Mutuelle',
1012
                           'order': 27,
1013
                           'presence': 'O',
1014
                           'size': 8,
1015
                           'type': 'N'},
1016
                         { 'name': "Délimiteur fin d'entité",
1017
                           'order': 28,
1018
                           'pkey': 'O',
1019
                           'presence': 'O',
1020
                           'size': 1,
1021
                           'type': 'A',
1022
                           'valeur': '@'}]},
1023
  '220': { 'description': 'Frais hospitaliers',
1024
           'name': '220',
1025
           'rang': '2',
1026
           'segments': [ { 'name': "Type d'enregistrement",
1027
                           'order': 1,
1028
                           'pkey': 'O',
1029
                           'presence': 'O',
1030
                           'size': 3,
1031
                           'type': 'N',
1032
                           'valeur': '220'},
1033
                         { 'name': 'Niveau de rupture',
1034
                           'order': 2,
1035
                           'presence': 'O',
1036
                           'saveas': 'rang',
1037
                           'size': 2,
1038
                           'type': 'N'},
1039
                         { 'name': 'N° de ligne',
1040
                           'order': 3,
1041
                           'presence': 'O',
1042
                           'size': 2,
1043
                           'type': 'N'},
1044
                         { 'name': 'Code gestion technique pour régime',
1045
                           'order': 4,
1046
                           'presence': 'O',
1047
                           'size': 2,
1048
                           'type': 'N'},
1049
                         { 'name': 'Justification pour exonération',
1050
                           'order': 5,
1051
                           'presence': 'O',
1052
                           'size': 1,
1053
                           'type': 'A'},
1054
                         { 'name': 'Mode de traitement',
1055
                           'order': 6,
1056
                           'presence': 'O',
1057
                           'size': 2,
1058
                           'type': 'N'},
1059
                         { 'name': 'Discipline médico-tarifaire',
1060
                           'order': 7,
1061
                           'presence': 'O',
1062
                           'size': 3,
1063
                           'type': 'N'},
1064
                         { 'name': 'Date des soins ou date début',
1065
                           'order': 9,
1066
                           'presence': 'O',
1067
                           'size': 6,
1068
                           'type': 'N'},
1069
                         { 'name': 'Date de fin de soins',
1070
                           'order': 10,
1071
                           'presence': 'O',
1072
                           'size': 6,
1073
                           'type': 'N'},
1074
                         { 'name': "Prix unitaire d'un acte",
1075
                           'order': 11,
1076
                           'presence': 'O',
1077
                           'size': 8,
1078
                           'type': 'N'},
1079
                         { 'name': "Base de remboursement d'un acte",
1080
                           'order': 12,
1081
                           'presence': 'O',
1082
                           'size': 8,
1083
                           'type': 'N'},
1084
                         { 'name': 'Taux de remboursement',
1085
                           'order': 13,
1086
                           'presence': 'O',
1087
                           'size': 3,
1088
                           'type': 'N'},
1089
                         { 'name': 'Montant remboursé',
1090
                           'order': 14,
1091
                           'presence': 'O',
1092
                           'size': 8,
1093
                           'type': 'N'},
1094
                         { 'name': "Signe de l'acte",
1095
                           'order': 15,
1096
                           'presence': 'O',
1097
                           'size': 1,
1098
                           'type': 'A',
1099
                           'values': {'N': 'Négatif', 'P': 'Positif'}},
1100
                         { 'name': 'Nature de la prestation',
1101
                           'order': 16,
1102
                           'presence': 'O',
1103
                           'size': 3,
1104
                           'type': 'A'},
1105
                         { 'name': "Code complémentaire à la nature d'acte",
1106
                           'order': 17,
1107
                           'presence': 'O',
1108
                           'size': 2,
1109
                           'type': 'A',
1110
                           'values': { 'E': 'Examen, expertise',
1111
                                       'F': 'Majoration jour férié',
1112
                                       'N': 'Majoration de nuit',
1113
                                       'P': 'Présent',
1114
                                       'S': 'Sortie',
1115
                                       'T': 'Transfert'}},
1116
                         { 'name': "Quantité d'actes",
1117
                           'order': 18,
1118
                           'presence': 'O',
1119
                           'size': 3,
1120
                           'type': 'N'},
1121
                         { 'name': "Coefficient de l'acte",
1122
                           'order': 19,
1123
                           'presence': 'O',
1124
                           'size': 5,
1125
                           'type': 'N'},
1126
                         { 'name': 'Dénombrement des actes',
1127
                           'order': 20,
1128
                           'presence': 'O',
1129
                           'size': 3,
1130
                           'type': 'N'},
1131
                         { 'name': 'Montant de la dépense',
1132
                           'order': 21,
1133
                           'presence': 'O',
1134
                           'size': 8,
1135
                           'type': 'N'},
1136
                         { 'name': 'Qualificatif de la dépense',
1137
                           'order': 22,
1138
                           'presence': 'O',
1139
                           'size': 2,
1140
                           'type': 'A',
1141
                           'values': { 'AT': 'Tiers payant AT',
1142
                                       'DD': 'Dépassement non prescrit',
1143
                                       'DE': 'Dépassement exigence',
1144
                                       'DF': 'Dépassement Fortune',
1145
                                       'DP': 'Dépassement permanent',
1146
                                       'ED': 'Entente directe',
1147
                                       'GR': 'Gratuit',
1148
                                       'NR': 'Non remboursabe',
1149
                                       'S': 'Honoraire globalisés, suite',
1150
                                       'TM': 'Ticket modérateur seul'}},
1151

  
1152
                         { 'name': "Coefficient global pour hospitalisation",
1153
                           'order': 22,
1154
                           'presence': 'O',
1155
                           'size': 5,
1156
                           'type': 'N'},
1157
                         { 'name': "Code forfait à générer",
1158
                           'order': 22,
1159
                           'presence': 'O',
1160
                           'size': 1,
1161
                           'type': 'N'},
1162

  
1163
                         { 'name': 'Taux complémentaire Alsace/Moselle',
1164
                           'order': 23,
1165
                           'presence': 'O',
1166
                           'size': 3,
1167
                           'type': 'N'},
1168
                         { 'name': 'Montant complémentaire Alsace/Moselle',
1169
                           'order': 24,
1170
                           'presence': 'O',
1171
                           'size': 8,
1172
                           'type': 'N'},
1173
                         { 'name': 'Taux part complémentaire Mutuelle',
1174
                           'order': 25,
1175
                           'presence': 'O',
1176
                           'size': 3,
1177
                           'type': 'N'},
1178
                         { 'name': 'Montant part complémentaire',
1179
                           'order': 26,
1180
                           'presence': 'O',
1181
                           'size': 8,
1182
                           'type': 'N'},
1183
                         { 'name': 'Base remboursement Mutuelle',
1184
                           'order': 27,
1185
                           'presence': 'O',
1186
                           'size': 8,
1187
                           'type': 'N'},
1188
                         { 'name': "Délimiteur fin d'entité",
1189
                           'order': 28,
1190
                           'pkey': 'O',
1191
                           'presence': 'O',
1192
                           'size': 1,
1193
                           'type': 'A',
1194
                           'valeur': '@'}]},
1195

  
1196
  '250': { 'description': 'Mouvement financier - retenue',
1197
           'name': '250',
1198
           'rang': '2',
1199
           'segments': [ { 'name': "Type d'enregistrement",
1200
                           'order': 1,
1201
                           'pkey': 'O',
1202
                           'presence': 'O',
1203
                           'size': 3,
1204
                           'type': 'N',
1205
                           'valeur': '250'},
1206
                         { 'name': 'Niveau de rupture',
1207
                           'order': 2,
1208
                           'presence': 'O',
1209
                           'saveas': 'rang',
1210
                           'size': 2,
1211
                           'type': 'N'},
1212
                         { 'name': 'Numéro de ligne pour noemie',
1213
                           'order': 3,
1214
                           'presence': 'O',
1215
                           'size': 2,
1216
                           'type': 'N'},
1217
                         { 'name': 'Référence de la dette',
1218
                           'order': 4,
1219
                           'presence': 'O',
1220
                           'size': 10,
1221
                           'type': 'A'},
1222
                         { 'name': "Date d'enregistrement de la dette",
1223
                           'order': 5,
1224
                           'presence': 'O',
1225
                           'size': 6,
1226
                           'type': 'N'},
1227
                         { 'name': 'Nature de la dette',
1228
                           'order': 6,
1229
                           'presence': 'O',
1230
                           'size': 3,
1231
                           'type': 'A',
1232
                           'values': { 'ACC': 'Accompte sur prestations',
1233
                                       'AFF': 'Affranchissement',
1234
                                       'API': 'Acompte caisse centralisatrice des paiements',
1235
                                       'APR': 'Avance sur prestations',
1236
                                       'IEC': 'Indui suite à erreur comptable',
1237
                                       'IND': 'Indu sur prestations',
1238
                                       'IPH': 'Indu sur avance pharmacie',
1239
                                       'IPI': 'Créance non gérée par caisse gestionnaire',
1240
                                       'ISP': 'Impayé mandat ou virement solde',
1241
                                       'ODL': 'Opposition interne paiement en double',
1242
                                       'OID': 'Opposition interne diverse',
1243
                                       'REL': 'Reliquat',
1244
                                       'VMI': 'Virement ou mandat impayé'}},
1245
                         { 'name': 'Nature des opérations de récupération',
1246
                           'order': 7,
1247
                           'presence': 'O',
1248
                           'size': 3,
1249
                           'type': 'A',
1250
                           'values': { 'ANT': 'Annulation totale',
1251
                                       'CIN': 'Constat initial',
1252
                                       'LOP': "Main levée d'opposition partielle",
1253
                                       'LOT': "Main levée d'opposition totale",
1254
                                       'NVP': 'Admission en non valeur partielle',
1255
                                       'NVT': 'Admission en non valeur totale',
1256
                                       'PAI': 'Paiement',
1257
                                       'PPR': 'Passage en profit',
1258
                                       'RAS': "Remboursement à l'assuré",
1259
                                       'RDP': 'Remise de dette partielle',
1260
                                       'RDS': 'Remise de dette < seuil',
1261
                                       'RDT': 'Remise de dette totale',
1262
                                       'REL': "Rectification d'un élement signalétique",
1263
                                       'RMO': "Rectification d'un montant",
1264
                                       'RPR': 'Retenue sur prestation'}},
1265
                         { 'name': 'Montant du mouvement financier',
1266
                           'order': 8,
1267
                           'presence': 'O',
1268
                           'size': 8,
1269
                           'type': 'N'},
1270
                         { 'name': "Signe de l'acte",
1271
                           'order': 9,
1272
                           'presence': 'O',
1273
                           'size': 1,
1274
                           'type': 'A',
1275
                           'values': {'N': 'Négatif', 'P': 'Positif'}},
1276
                         { 'name': "Montant du solde d'une dette",
1277
                           'order': 10,
1278
                           'presence': 'F',
1279
                           'size': 8,
1280
                           'type': 'N'},
1281
                         { 'name': "Délimiteur fin d'entité",
1282
                           'order': 11,
1283
                           'pkey': 'O',
1284
                           'presence': 'O',
1285
                           'size': 1,
1286
                           'type': 'A',
1287
                           'valeur': '@'}]},
1288
  '261': { 'description': 'Paiements ponctuels ou forfaitaires',
1289
           'name': '261',
1290
           'rang': '2',
1291
           'segments': [ { 'name': "Type d'enregistrement",
1292
                           'order': 1,
1293
                           'pkey': 'O',
1294
                           'presence': 'O',
1295
                           'size': 3,
1296
                           'type': 'N',
1297
                           'valeur': '261'},
1298
                         { 'name': 'Niveau de rupture',
1299
                           'order': 2,
1300
                           'presence': 'O',
1301
                           'saveas': 'rang',
1302
                           'size': 2,
1303
                           'type': 'N'},
1304
                         { 'name': 'Code paiement ponctuel ou forfaitaire',
1305
                           'order': 3,
1306
                           'presence': 'O',
1307
                           'size': 5,
1308
                           'type': 'N'},
1309
                         { 'name': 'Montant paiment ponctuel ou forfaitaire',
1310
                           'order': 4,
1311
                           'presence': 'O',
1312
                           'size': 8,
1313
                           'type': 'N'},
1314
                         { 'name': "Délimiteur fin d'entité",
1315
                           'order': 5,
1316
                           'pkey': 'O',
1317
                           'presence': 'O',
1318
                           'size': 1,
1319
                           'type': 'A',
1320
                           'valeur': '@'}]},
1321
  '262': { 'description': 'Détail paiement ponctuel ou forfaitaire',
1322
           'name': '262',
1323
           'rang': '2',
1324
           'segments': [ { 'name': "Type d'enregistrement",
1325
                           'order': 1,
1326
                           'pkey': 'O',
1327
                           'presence': 'O',
1328
                           'size': 3,
1329
                           'type': 'N',
1330
                           'valeur': '262'},
1331
                         { 'name': 'Niveau de rupture',
1332
                           'order': 2,
1333
                           'presence': 'O',
1334
                           'saveas': 'rang',
1335
                           'size': 2,
1336
                           'type': 'N'},
1337
                         { 'name': 'Codification',
1338
                           'order': 3,
1339
                           'presence': 'F',
1340
                           'size': 5,
1341
                           'type': 'A'},
1342
                         { 'name': 'Libellé associé',
1343
                           'order': 4,
1344
                           'presence': 'F',
1345
                           'size': 80,
1346
                           'type': 'A'},
1347
                         { 'name': "N° d'immatriculation",
1348
                           'order': 5,
1349
                           'presence': 'F',
1350
                           'size': 13,
1351
                           'type': 'A'},
1352
                         { 'name': "Clé du numéro d'immatriculation",
1353
                           'order': 6,
1354
                           'presence': 'F',
1355
                           'size': 2,
1356
                           'type': 'N'},
1357
                         { 'name': 'Date de naissance',
1358
                           'order': 7,
1359
                           'presence': 'F',
1360
                           'size': 6,
1361
                           'type': 'N'},
1362
                         { 'name': 'Rang de naissance',
1363
                           'order': 8,
1364
                           'presence': 'F',
1365
                           'size': 1,
1366
                           'type': 'N'},
1367
                         { 'name': 'Période',
1368
                           'order': 9,
1369
                           'presence': 'O',
1370
                           'size': 1,
1371
                           'type': 'A',
1372
                           'values': { 'A': 'Annuel',
1373
                                       'H': 'Hebdo',
1374
                                       'M': 'Mensuel',
1375
                                       'P': 'Ponctuel',
1376
                                       'S': 'Semestriel',
1377
                                       'T': 'Trimestriel'}},
1378
                         { 'name': 'Date début période',
1379
                           'order': 10,
1380
                           'presence': 'F',
1381
                           'size': 6,
1382
                           'type': 'N'},
1383
                         { 'name': 'Date fin période',
1384
                           'order': 11,
1385
                           'presence': 'F',
1386
                           'size': 6,
1387
                           'type': 'N'},
1388
                         { 'name': 'Montant',
1389
                           'order': 12,
1390
                           'presence': 'O',
1391
                           'size': 8,
1392
                           'type': 'N'},
1393
                         { 'name': "Délimiteur fin d'entité",
1394
                           'order': 13,
1395
                           'pkey': 'O',
1396
                           'presence': 'O',
1397
                           'size': 1,
1398
                           'type': 'A',
1399
                           'valeur': '@'}]},
1400
  '290': { 'description': 'Rejet ou signalement',
1401
           'name': '290',
1402
           'rang': '2',
1403
           'segments': [ { 'name': "Type d'enregistrement",
1404
                           'order': 1,
1405
                           'pkey': 'O',
1406
                           'presence': 'O',
1407
                           'size': 3,
1408
                           'type': 'N',
1409
                           'valeur': '290'},
1410
                         { 'name': 'Niveau de rupture',
1411
                           'order': 2,
1412
                           'presence': 'O',
1413
                           'saveas': 'rang',
1414
                           'size': 2,
1415
                           'type': 'N'},
1416
                         { 'name': 'N° de ligne',
1417
                           'order': 3,
1418
                           'presence': 'O',
1419
                           'size': 2,
1420
                           'type': 'N'},
1421
                         { 'name': 'Codification',
1422
                           'order': 4,
1423
                           'presence': 'O',
1424
                           'size': 10,
1425
                           'type': 'A'},
1426
                         { 'name': 'Libellé',
1427
                           'order': 5,
1428
                           'presence': 'O',
1429
                           'size': 80,
1430
                           'type': 'A'},
1431
                         { 'name': "Délimiteur fin d'entité",
1432
                           'order': 7,
1433
                           'pkey': 'O',
1434
                           'presence': 'O',
1435
                           'size': 1,
1436
                           'type': 'A',
1437
                           'valeur': '@'}]},
1438
  '294': { 'description': 'Ligne rejet',
1439
           'name': '294',
1440
           'rang': '2',
1441
           'segments': [ { 'name': "Type d'enregistrement",
1442
                           'order': 1,
1443
                           'pkey': 'O',
1444
                           'presence': 'O',
1445
                           'size': 3,
1446
                           'type': 'N',
1447
                           'valeur': '294'},
1448
                         { 'name': 'Niveau de rupture',
1449
                           'order': 2,
1450
                           'presence': 'O',
1451
                           'saveas': 'rang',
1452
                           'size': 2,
1453
                           'type': 'N'},
1454
                         { 'name': 'Codification du rejet',
1455
                           'order': 3,
1456
                           'presence': 'O',
1457
                           'size': 4,
1458
                           'type': 'A'},
1459
                         { 'name': 'Libellé du rejet',
1460
                           'order': 4,
1461
                           'presence': 'O',
1462
                           'size': 86,
1463
                           'type': 'A'},
1464
                         { 'name': 'Niveau de rejet',
1465
                           'order': 5,
1466
                           'presence': 'O',
1467
                           'size': 1,
1468
                           'type': 'A',
1469
                           'values': { 'A': 'Code affiné',
1470
                                       'F': 'Facture',
1471
                                       'L': 'Ligne de prestation'}},
1472
                         { 'name': 'Part concerné',
1473
                           'order': 6,
1474
                           'presence': 'O',
1475
                           'size': 1,
1476
                           'type': 'A',
1477
                           'values': { 'C': 'Part complémentaire',
1478
                                       'O': 'Part obligatoire ou part obligatoire + complémentaire'}},
1479
                         { 'name': 'Nature de prestation concernée',
1480
                           'order': 7,
1481
                           'presence': 'F',
1482
                           'size': 5,
1483
                           'type': 'A'},
1484
                         { 'name': 'Date des soins',
1485
                           'order': 8,
1486
                           'presence': 'F',
1487
                           'size': 6,
1488
                           'type': 'N'},
1489
                         { 'name': 'N° exécutant',
1490
                           'order': 9,
1491
                           'presence': 'F',
1492
                           'size': 9,
1493
                           'type': 'N'},
1494
                         { 'name': 'N° de ligne',
1495
                           'order': 10,
1496
                           'presence': 'F',
1497
                           'size': 3,
1498
                           'type': 'N'},
1499
                         { 'name': 'Rang du rejet',
1500
                           'order': 11,
1501
                           'presence': 'F',
1502
                           'size': 2,
1503
                           'type': 'N'},
1504
                         { 'name': 'Information complémentaire sur le rejet',
1505
                           'order': 12,
1506
                           'presence': 'F',
1507
                           'size': 30,
1508
                           'type': 'A'},
1509
                         { 'name': "Délimiteur fin d'entité",
1510
                           'order': 13,
1511
                           'pkey': 'O',
1512
                           'presence': 'O',
1513
                           'size': 1,
1514
                           'type': 'A',
1515
                           'valeur': '@'}]},
1516
  '295': { 'description': 'Ligne commentaire',
1517
           'name': '295',
1518
           'rang': '2',
1519
           'segments': [ { 'name': "Type d'enregistrement",
1520
                           'order': 1,
1521
                           'pkey': 'O',
1522
                           'presence': 'O',
1523
                           'size': 3,
1524
                           'type': 'N',
1525
                           'valeur': '295'},
1526
                         { 'name': 'Niveau de rupture',
1527
                           'order': 2,
1528
                           'presence': 'O',
1529
                           'saveas': 'rang',
1530
                           'size': 2,
1531
                           'type': 'N'},
1532
                         { 'name': 'Code commentaire',
1533
                           'order': 3,
1534
                           'presence': 'F',
1535
                           'size': 1,
1536
                           'type': 'A'},
1537
                         { 'name': 'Commentaire',
1538
                           'order': 4,
1539
                           'presence': 'O',
1540
                           'size': 128,
1541
                           'type': 'A'},
1542
                         { 'name': "Délimiteur fin d'entité",
1543
                           'order': 5,
1544
                           'pkey': 'O',
1545
                           'presence': 'O',
1546
                           'size': 1,
1547
                           'type': 'A',
1548
                           'valeur': '@'}]},
1549
  '990': { 'description': 'Entité de contrôle',
1550
           'name': '990',
1551
           'rang': '2',
1552
           'segments': [ { 'name': "Type d'enregistrement",
1553
                           'order': 1,
1554
                           'pkey': 'O',
1555
                           'presence': 'O',
1556
                           'size': 3,
1557
                           'type': 'N',
1558
                           'valeur': '990'},
1559
                         { 'name': 'Niveau de rupture',
1560
                           'order': 2,
1561
                           'presence': 'O',
1562
                           'saveas': 'rang',
1563
                           'size': 2,
1564
                           'type': 'N',
1565
                           'valeur': '99'},
1566
                         { 'name': 'Identification du niveau de rupture',
1567
                           'order': 3,
1568
                           'presence': 'F',
1569
                           'size': 17,
1570
                           'type': 'A'},
1571
                         { 'name': 'Compteur du niveau inférieur dans la hierarchie',
1572
                           'order': 4,
1573
                           'presence': 'O',
1574
                           'size': 8,
1575
                           'type': 'N'},
1576
                         { 'name': 'Cumul des montants de niveau inférieur',
1577
                           'order': 5,
1578
                           'presence': 'O',
1579
                           'size': 11,
1580
                           'type': 'N'},
1581
                         { 'name': "Signe de l'acte",
1582
                           'order': 6,
1583
                           'presence': 'O',
1584
                           'size': 1,
1585
                           'type': 'A',
1586
                           'values': {'N': 'Négatif', 'P': 'Positif'}},
1587
                         { 'name': "Délimiteur fin d'entité",
1588
                           'order': 7,
1589
                           'pkey': 'O',
1590
                           'presence': 'O',
1591
                           'size': 1,
1592
                           'type': 'A',
1593
                           'valeur': '@'}]},
1594
  '999': { 'description': 'Fin de fichier',
1595
           'name': '999',
1596
           'rang': '1',
1597
           'segments': [ { 'name': "Type d'enregistrement",
1598
                           'order': 1,
1599
                           'pkey': 'O',
1600
                           'presence': 'O',
1601
                           'size': 3,
1602
                           'type': 'N',
1603
                           'valeur': '999'},
1604
                         { 'name': "Type d'émetteur",
1605
                           'order': 2,
1606
                           'presence': 'O',
1607
                           'size': 2,
1608
                           'type': 'A',
1609
                           'values': { 'AN': 'ASSEMBLEE NATIONALE',
1610
                                       'BF': 'BANQUE DE FRANCE',
1611
                                       'CC': 'CAISSE DES CULTES',
1612
                                       'CE': 'CAISSE DE RETRAITE ET DE PREVOYANCE DES CLERCS ET EMPLOYES DE NOTAIRES (CRPCEN)',
1613
                                       'CF': 'SNCF',
1614
                                       'CI': 'CHAMBRE DE COMMERCE ET D’INDUSTRIE DE PARIS',
1615
                                       'CM': 'CAISSE NATIONALE MILITAIRE DE SECURITE SOCIALE (CNMSS)',
1616
                                       'CP': 'C.P.A.M.',
1617
                                       'CR': 'C.R.A.M.',
1618
                                       'CS': 'Centre de Service Complémentaire (AMC)',
1619
                                       'CT': 'CENTRE DE TRAITEMENT INFORMATIQUE (Régime Général)',
1620
                                       'EN': 'ETABLISSEMENT NATIONAL DES INVALIDES DE LA MARINE (ENIM)',
1621
                                       'MA': 'MSA',
1622
                                       'OC': 'Organisme Complémentaire (AMC)',
1623
                                       'OT': 'ORGANISME CONCENTRATEUR TECHNIQUE (OCT)',
1624
                                       'PB': 'PORT AUTONOME DE BORDEAUX',
1625
                                       'RM': 'SECURITE SOCIALE MINIERE',
1626
                                       'RP': 'R.A.T.P.',
1627
                                       'SE': 'CAISSES AUTONOMES DE SECURITE SOCIALE DU SENAT',
1628
                                       'SI': 'AUTRES EMETTEURS (Sociétés civiles professionnelles...)',
1629
                                       'SM': 'SECTION DES MUTUELLES NATIONALES',
1630
                                       'SR': 'CENTRE INFORMATIQUE REGIONAL (AMPI)',
1631
                                       'TE': 'ETABLISSEMENTS',
1632
                                       'TP': 'AUTRES PARTENAIRES DE SANTE'}},
1633
                         { 'name': "Numéro d'émetteur",
1634
                           'order': 3,
1635
                           'presence': 'O',
1636
                           'size': 14,
1637
                           'type': 'N'},
1638
                         { 'name': 'Programme émetteur',
1639
                           'order': 4,
1640
                           'presence': 'F',
1641
                           'size': 6,
1642
                           'type': 'A'},
1643
                         { 'name': 'Type de destinataire',
1644
                           'order': 5,
1645
                           'presence': 'O',
1646
                           'size': 2,
1647
                           'type': 'A',
1648
                           'values': { 'AN': 'ASSEMBLEE NATIONALE',
1649
                                       'BF': 'BANQUE DE FRANCE',
1650
                                       'CC': 'CAISSE DES CULTES',
1651
                                       'CE': 'CAISSE DE RETRAITE ET DE PREVOYANCE DES CLERCS ET EMPLOYES DE NOTAIRES (CRPCEN)',
1652
                                       'CF': 'SNCF',
1653
                                       'CI': 'CHAMBRE DE COMMERCE ET D’INDUSTRIE DE PARIS',
1654
                                       'CM': 'CAISSE NATIONALE MILITAIRE DE SECURITE SOCIALE (CNMSS)',
1655
                                       'CP': 'C.P.A.M.',
1656
                                       'CR': 'C.R.A.M.',
1657
                                       'CS': 'Centre de Service Complémentaire (AMC)',
1658
                                       'CT': 'CENTRE DE TRAITEMENT INFORMATIQUE (Régime Général)',
1659
                                       'EN': 'ETABLISSEMENT NATIONAL DES INVALIDES DE LA MARINE (ENIM)',
1660
                                       'MA': 'MSA',
1661
                                       'OC': 'Organisme Complémentaire (AMC)',
1662
                                       'OT': 'ORGANISME CONCENTRATEUR TECHNIQUE (OCT)',
1663
                                       'PB': 'PORT AUTONOME DE BORDEAUX',
1664
                                       'RM': 'SECURITE SOCIALE MINIERE',
1665
                                       'RP': 'R.A.T.P.',
1666
                                       'SE': 'CAISSES AUTONOMES DE SECURITE SOCIALE DU SENAT',
1667
                                       'SI': 'AUTRES EMETTEURS (Sociétés civiles professionnelles...)',
1668
                                       'SM': 'SECTION DES MUTUELLES NATIONALES',
1669
                                       'SR': 'CENTRE INFORMATIQUE REGIONAL (AMPI)',
1670
                                       'TE': 'ETABLISSEMENTS',
1671
                                       'TP': 'AUTRES PARTENAIRES DE SANTE'}},
1672
                         { 'name': 'Numéro de destinataire',
1673
                           'order': 6,
1674
                           'presence': 'O',
1675
                           'size': 14,
1676
                           'type': 'A'},
1677
                         { 'name': 'Programme destinataire',
1678
                           'order': 7,
1679
                           'presence': 'F',
1680
                           'size': 6,
1681
                           'type': 'A'},
1682
                         { 'name': "Application-type d'échange",
1683
                           'order': 8,
1684
                           'presence': 'F',
1685
                           'size': 2,
1686
                           'type': 'A'},
1687
                         { 'name': 'Identification du fichier',
1688
                           'order': 9,
1689
                           'presence': 'O',
1690
                           'size': 6,
1691
                           'type': 'A'},
1692
                         { 'name': "Nombre d'enregistrements",
1693
                           'order': 10,
1694
                           'presence': 'O',
1695
                           'size': 8,
1696
                           'type': 'N'},
1697
                         { 'name': 'Type de flux',
1698
                           'order': 11,
1699
                           'presence': 'F',
1700
                           'size': 1,
1701
                           'type': 'A',
1702
                           'values': { ' ': 'Réel',
1703
                                       'D': 'Démo',
1704
                                       'R': 'Réel',
1705
                                       'T': 'Test'}},
1706
                         { 'name': 'Blanc',
1707
                           'order': 12,
1708
                           'presence': 'F',
1709
                           'size': 18,
1710
                           'type': 'A'},
1711
                         { 'name': 'Nombre de lots',
1712
                           'order': 13,
1713
                           'presence': 'O',
1714
                           'size': 3,
1715
                           'type': 'N'},
1716
                         { 'name': 'Cumul des montants du fichier',
1717
                           'order': 14,
1718
                           'presence': 'O',
1719
                           'size': 11,
1720
                           'type': 'N'},
1721
                         { 'name': 'Signe du montant du fichier',
1722
                           'order': 15,
1723
                           'presence': 'O',
1724
                           'size': 1,
1725
                           'type': 'A',
1726
                           'values': {'N': 'Négatif', 'P': 'Positif'}},
1727
                         { 'name': "Cumul des montants du fichier dans l'autre monnaie",
1728
                           'order': 16,
1729
                           'presence': 'F',
1730
                           'size': 11,
1731
                           'type': 'N'},
1732
                         { 'name': 'Blanc',
1733
                           'order': 17,
1734
                           'presence': 'F',
1735
                           'size': 20,
1736
                           'type': 'A'}]}}

Formats disponibles : Unified diff