Проект

Общее

Профиль

Serviceosp » Packet.xsd

Андрей Шарыгин, 04.04.2018 14:03

 
1
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
2

    
3
	<xs:element name="Packet">
4
		<xs:annotation>
5
			<xs:documentation>Пакет запросов или ответов</xs:documentation>
6
		</xs:annotation>
7
		<xs:complexType>
8
			<xs:sequence>
9

    
10
				<!-- Header -->
11
				<xs:element name="Header" type="typeHeader" maxOccurs="1" />
12

    
13
				<!-- Result. Включается в ответный пакет -->
14
				<xs:element name="Result" type="xs:string" minOccurs="0" />
15

    
16
				<!-- Msgs -->
17
				<xs:element name="Msgs">
18
					<xs:annotation>
19
						<xs:documentation>Список сообщений</xs:documentation>
20
					</xs:annotation>
21
					<xs:complexType>
22
						<xs:sequence>
23
							<xs:element name="Msg" type="typeMsg" minOccurs="0" maxOccurs="unbounded" />
24
						</xs:sequence>
25
					</xs:complexType>
26
				</xs:element>
27

    
28
				<!-- Error. Включается в ответный пакет в случае возникновения ошибки обработки запроса -->
29
				<xs:element name="Error" type="xs:anyType" minOccurs="0" />
30

    
31
			</xs:sequence>
32
		</xs:complexType>
33
	</xs:element>
34

    
35
	<!-- ****************************************** -->
36
	<!-- typeHeader -->
37
	<!-- ****************************************** -->
38
	<xs:complexType name="typeHeader">
39
		<xs:annotation>
40
			<xs:documentation>Заголовок пакета</xs:documentation>
41
		</xs:annotation>
42
		<xs:sequence>
43

    
44
			<xs:element name="PackType" minOccurs="1" >
45
				<xs:annotation>
46
					<xs:documentation>
47
						PackType - тип пакета, задаёт тип запроса:
48
						"seek" - простой поиск всех совпадений в РС ЕРЗ, выдаёт все найденные страховки;
49
						"ident" - идентификация в РС ЕРЗ, выдаёт только последнюю страховку идентифицированного ЗЛ
50
						"full" - идентификация в РС ЕРЗ, выдаёт все страховки идентифицированного ЗЛ;
51
						"prik" - идентификация в РС ЕРЗ и определение СП и прикрепления на заданную дату по правилам ТС
52
					</xs:documentation>
53
				</xs:annotation>
54
				<xs:simpleType>
55
					<xs:restriction base="xs:string">
56
						<xs:maxLength value="16"/>
57
						<xs:enumeration value="seek"/>
58
						<xs:enumeration value="ident"/>
59
						<xs:enumeration value="full"/>
60
						<xs:enumeration value="prik"/>
61
					</xs:restriction>
62
				</xs:simpleType>
63
			</xs:element>
64

    
65
			<xs:element name="AppID" minOccurs="1" >
66
				<xs:simpleType>
67
					<xs:annotation>
68
						<xs:documentation>
69
							Идентификатор приложения клиента. Возвращается в ответном пакете.
70
						</xs:documentation>
71
					</xs:annotation>
72
					<xs:restriction base="xs:string">
73
						<xs:maxLength value="64"/>
74
					</xs:restriction>
75
				</xs:simpleType>
76
			</xs:element>
77

    
78
			<!-- Необязательные прикладные элементы. Возвращаются в ответном пакете -->
79
			<xs:element name="DocID" type="xs:unsignedInt" minOccurs="0" />
80

    
81
			<xs:element name="PackID" minOccurs="0" >
82
				<xs:simpleType>
83
					<xs:restriction base="xs:string">
84
						<xs:maxLength value="64"/>
85
					</xs:restriction>
86
				</xs:simpleType>
87
			</xs:element>
88

    
89
			<xs:element name="tag" type="xs:anyType" minOccurs="0" >
90
				<xs:annotation>
91
					<xs:documentation>
92
						Произвольные данные клиента. Любого типа. Допускаются вложенные XML элементы. Возвращается в ответном пакете.
93
					</xs:documentation>
94
				</xs:annotation>
95
			</xs:element>
96
		</xs:sequence>
97
	</xs:complexType>
98

    
99

    
100
	<!-- ****************************************** -->
101
	<!-- typeMsg -->
102
	<!-- ****************************************** -->
103

    
104
	<xs:complexType name="typeMsg">
105
		<xs:annotation>
106
			<xs:documentation>Сообщение. Содержит поля элемента сообщения, секцию запроса, а также секции ответа в ответном пакете</xs:documentation>
107
		</xs:annotation>
108
		<xs:sequence>
109

    
110
			<!-- прикладной идентификатор элемента -->
111
			<xs:element name="ItemID" type="xs:unsignedInt" minOccurs="0" />
112
			
113
			<!-- запрос на дату -->
114
			<xs:element name="ReqDate" type="xs:date"  minOccurs="0">
115
				<xs:annotation>
116
					<xs:documentation>Дата определения СП при запросе типа "prik". Для остальных типов запросов не учитывается</xs:documentation>
117
				</xs:annotation>
118
			</xs:element>
119

    
120
			<!-- Request -->
121
			<xs:element name="Request" type="typeRequest" minOccurs="1" maxOccurs="1" >
122
				<xs:annotation>
123
					<xs:documentation>Данные запроса</xs:documentation>
124
				</xs:annotation>
125
			</xs:element>
126

    
127
			<!-- Reply -->
128
			<xs:element name="Reply" type="typeReply" minOccurs="0" maxOccurs="unbounded" >
129
				<xs:annotation>
130
					<xs:documentation>Данные ответа на запрос. Включаются в ответный пакет. Может быть насколько на один запрос.</xs:documentation>
131
				</xs:annotation>
132
			</xs:element>
133

    
134
		</xs:sequence>
135
	</xs:complexType>
136

    
137
	<!-- ****************************************** -->
138
	<!-- typeRequest -->
139
	<!-- ****************************************** -->
140

    
141
	<xs:complexType name="typeRequest">
142
		<xs:annotation>
143
			<xs:documentation>
144
				Содержит данные запроса.
145
				Состоит из нескольких атрибутов, по которым будет вестись поиск в РС ЕРЗ.
146
				Совпадения по атрибутам, имеющим высокую избирательность и защиту (контрольное число),
147
				таким как СНИЛС или ЕНП (в поле POLIS),	будут иметь больший уровень значимости,
148
				а совпадения по низкоизбирательным атрибутам, таким как ФИО, - меньший.
149
				Общий уровень (рейтинг) совпадения запроса вычисляется как сумма уровней всех совпадений.
150
				Совпадения с рейтингом ниже предельно установленного для указанного типа запроса, отбрасываются.
151
			</xs:documentation>
152
		</xs:annotation>
153
		<xs:sequence>
154
				
155
			<xs:element name="FAM" minOccurs="0" >
156
				<xs:annotation>
157
					<xs:documentation>Фамилия</xs:documentation>
158
				</xs:annotation>
159
				<xs:simpleType>
160
					<xs:restriction base="xs:string">
161
						<xs:maxLength value="50"/>
162
					</xs:restriction>
163
				</xs:simpleType>
164
			</xs:element>
165
			
166
			<xs:element name="IM" minOccurs="0" >
167
				<xs:annotation>
168
					<xs:documentation>Имя</xs:documentation>
169
				</xs:annotation>
170
				<xs:simpleType>
171
					<xs:restriction base="xs:string">
172
						<xs:maxLength value="50"/>
173
					</xs:restriction>
174
				</xs:simpleType>
175
			</xs:element>
176
			
177
			<xs:element name="OT" minOccurs="0" >
178
				<xs:annotation>
179
					<xs:documentation>Отчество</xs:documentation>
180
				</xs:annotation>
181
				<xs:simpleType>
182
					<xs:restriction base="xs:string">
183
						<xs:maxLength value="50"/>
184
					</xs:restriction>
185
				</xs:simpleType>
186
			</xs:element>
187
			
188
			<xs:element name="DR" type="xs:date"  minOccurs="0" >
189
				<xs:annotation>
190
					<xs:documentation>Дата рождения</xs:documentation>
191
				</xs:annotation>
192
			</xs:element>
193

    
194
			<xs:element name="POLIS" minOccurs="0" >
195
				<xs:annotation>
196
					<xs:documentation>Серия и номер полиса. Допустимы разделители: (пробел) и "№". При поиске разделители игнорируются.</xs:documentation>
197
				</xs:annotation>
198
				<xs:simpleType>
199
					<xs:restriction base="xs:string">
200
						<xs:maxLength value="32"/>
201
					</xs:restriction>
202
				</xs:simpleType>
203
			</xs:element>
204

    
205
			<xs:element name="DOCUMENT" minOccurs="0" >
206
				<xs:annotation>
207
					<xs:documentation>Серия и номер документа, удостоверяющего личность. Допустимы разделители: (пробел) и "№". При поиске разделители игнорируются. </xs:documentation>
208
				</xs:annotation>
209
				<xs:simpleType>
210
					<xs:restriction base="xs:string">
211
						<xs:maxLength value="40"/>
212
					</xs:restriction>
213
				</xs:simpleType>
214
			</xs:element>
215

    
216
			<xs:element name="SNILS" minOccurs="0" >
217
				<xs:annotation>
218
					<xs:documentation>СНИЛС. Допустимы разделители: (пробел) и "-". При поиске разделители игнорируются. </xs:documentation>
219
				</xs:annotation>
220
				<xs:simpleType>
221
					<xs:restriction base="xs:string">
222
						<xs:maxLength value="14"/>
223
						<xs:pattern value="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"/>
224
					</xs:restriction>
225
				</xs:simpleType>
226
			</xs:element>
227

    
228
			<xs:element name="MR" minOccurs="0" >
229
				<xs:annotation>
230
					<xs:documentation>Место рождения (точно, как в документе). Не более 255 символов</xs:documentation>
231
				</xs:annotation>
232
				<xs:simpleType>
233
					<xs:restriction base="xs:string">
234
						<xs:maxLength value="255"/>
235
					</xs:restriction>
236
				</xs:simpleType>
237
			</xs:element>
238

    
239
		</xs:sequence>
240
	</xs:complexType>
241

    
242

    
243
	<!-- ****************************************** -->
244
	<!-- typeReply -->
245
	<!-- ****************************************** -->
246

    
247
	<xs:complexType name="typeReply">
248
		<xs:annotation>
249
			<xs:documentation>Содержит данные ответов на запрос.
250
				 Поля персональных данных ЗЛ включаются в ответ только в случае 
251
						 достаточно высокого рейтинга совпадения запроса и записи страховки (более 6).
252
			</xs:documentation>
253
		</xs:annotation>
254
		<xs:sequence>
255

    
256
			<!-- данные ЗЛ -->
257

    
258
			<xs:element name="FAM" minOccurs="0" >
259
				<xs:annotation>
260
					<xs:documentation>Фамилия</xs:documentation>
261
				</xs:annotation>
262
				<xs:simpleType>
263
					<xs:restriction base="xs:string">
264
						<xs:maxLength value="50"/>
265
					</xs:restriction>
266
				</xs:simpleType>
267
			</xs:element>
268

    
269
			<xs:element name="IM" minOccurs="0" >
270
				<xs:annotation>
271
					<xs:documentation>Имя</xs:documentation>
272
				</xs:annotation>
273
				<xs:simpleType>
274
					<xs:restriction base="xs:string">
275
						<xs:maxLength value="50"/>
276
					</xs:restriction>
277
				</xs:simpleType>
278
			</xs:element>
279

    
280
			<xs:element name="OT" minOccurs="0" >
281
				<xs:annotation>
282
					<xs:documentation>Отчество</xs:documentation>
283
				</xs:annotation>
284
				<xs:simpleType>
285
					<xs:restriction base="xs:string">
286
						<xs:maxLength value="50"/>
287
					</xs:restriction>
288
				</xs:simpleType>
289
			</xs:element>
290

    
291
			<xs:element name="W" type="xs:unsignedByte"  minOccurs="0"  >
292
				<xs:annotation>
293
					<xs:documentation>Пол</xs:documentation>
294
				</xs:annotation>
295
			</xs:element>
296

    
297
			<xs:element name="DR" type="xs:date"  minOccurs="0" >
298
				<xs:annotation>
299
					<xs:documentation>Дата рождения</xs:documentation>
300
				</xs:annotation>
301
			</xs:element>
302

    
303
			<xs:element name="DOCTYPE" type="xs:unsignedInt"  minOccurs="0" >
304
				<xs:annotation>
305
					<xs:documentation>Тип документа, удостоверяющего личность</xs:documentation>
306
				</xs:annotation>
307
			</xs:element>
308

    
309
			<xs:element name="DOCSER" minOccurs="0" >
310
				<xs:annotation>
311
					<xs:documentation>Серия документа, удостоверяющего личность</xs:documentation>
312
				</xs:annotation>
313
				<xs:simpleType>
314
					<xs:restriction base="xs:string">
315
						<xs:maxLength value="16"/>
316
					</xs:restriction>
317
				</xs:simpleType>
318
			</xs:element>
319

    
320
			<xs:element name="DOCNUM" minOccurs="0" >
321
				<xs:annotation>
322
					<xs:documentation>Номер документа, удостоверяющего личность</xs:documentation>
323
				</xs:annotation>
324
				<xs:simpleType>
325
					<xs:restriction base="xs:string">
326
						<xs:maxLength value="20"/>
327
					</xs:restriction>
328
				</xs:simpleType>
329
			</xs:element>
330

    
331
			<xs:element name="SNILS" minOccurs="0" >
332
				<xs:annotation>
333
					<xs:documentation>СНИЛС, только цифры без разделителей</xs:documentation>
334
				</xs:annotation>
335
				<xs:simpleType>
336
					<xs:restriction base="xs:string">
337
						<xs:maxLength value="11"/>
338
						<xs:pattern value="[0-9]{11}"/>
339
					</xs:restriction>
340
				</xs:simpleType>
341
			</xs:element>
342

    
343
			<!-- данные страховки -->
344

    
345
			<xs:element name="PIN" type="xs:unsignedInt"  minOccurs="1" >
346
				<xs:annotation>
347
					<xs:documentation>Внутренний идентификатор ЗЛ</xs:documentation>
348
				</xs:annotation>
349
			</xs:element>
350

    
351
			<xs:element name="InID" type="xs:unsignedInt"  minOccurs="1" >
352
				<xs:annotation>
353
					<xs:documentation>Внутренний идентификатор записи страховки</xs:documentation>
354
				</xs:annotation>
355
			</xs:element>
356

    
357
			<xs:element name="ENP" minOccurs="1" >
358
				<xs:annotation>
359
					<xs:documentation>ЕНП - единый номер полиса ОМС</xs:documentation>
360
				</xs:annotation>
361
				<xs:simpleType>
362
					<xs:restriction base="xs:string">
363
						<xs:maxLength value="16"/>
364
						<xs:pattern value="[0-9]{16}"/>
365
					</xs:restriction>
366
				</xs:simpleType>
367
			</xs:element>
368

    
369
			<xs:element name="OGRNSMO" minOccurs="1" >
370
				<xs:annotation>
371
					<xs:documentation>ОГРН СМО</xs:documentation>
372
				</xs:annotation>
373
				<xs:simpleType>
374
					<xs:restriction base="xs:string">
375
						<xs:maxLength value="15"/>
376
					</xs:restriction>
377
				</xs:simpleType>
378
			</xs:element>
379

    
380
			<xs:element name="TER_ST" minOccurs="1" >
381
				<xs:annotation>
382
					<xs:documentation>Код территории страхования</xs:documentation>
383
				</xs:annotation>
384
				<xs:simpleType>
385
					<xs:restriction base="xs:string">
386
						<xs:maxLength value="5"/>
387
					</xs:restriction>
388
				</xs:simpleType>
389
			</xs:element>
390

    
391
			<xs:element name="T_POL" minOccurs="1" >
392
				<xs:annotation>
393
					<xs:documentation>Тип документа, подтверждающего факт страхования (полиса) в кодировке ЦС ЕРЗ</xs:documentation>
394
				</xs:annotation>
395
				<xs:simpleType>
396
					<xs:restriction base="xs:string">
397
						<xs:maxLength value="1"/>
398
						<xs:pattern value="В|К|П|С|Х|Э"/>
399
					</xs:restriction>
400
				</xs:simpleType>
401
			</xs:element>
402

    
403
			<xs:element name="SN_POL_ERP" minOccurs="1" >
404
				<xs:annotation>
405
					<xs:documentation>Серия и номер документа, подтверждающего факт страхования (полиса) в формате ЦС ЕРЗ</xs:documentation>
406
				</xs:annotation>
407
				<xs:simpleType>
408
					<xs:restriction base="xs:string">
409
						<xs:maxLength value="32"/>
410
					</xs:restriction>
411
				</xs:simpleType>
412
			</xs:element>
413

    
414
			<xs:element name="DBEG" type="xs:date"  minOccurs="1" >
415
				<xs:annotation>
416
					<xs:documentation>Дата начала действия страховки</xs:documentation>
417
				</xs:annotation>
418
			</xs:element>
419

    
420
			<xs:element name="DSTOP" type="xs:date"  minOccurs="0" >
421
				<xs:annotation>
422
					<xs:documentation>Дата фактического окончания действия страховки</xs:documentation>
423
				</xs:annotation>
424
			</xs:element>
425

    
426
			<!-- данные прикрепления в ответах на запросы типа "prik" -->
427

    
428
			<xs:element name="RpnID" type="xs:unsignedInt"  minOccurs="0" >
429
				<xs:annotation>
430
					<xs:documentation>Внутренний идентификатор записи прикрепления</xs:documentation>
431
				</xs:annotation>
432
			</xs:element>
433

    
434
			<xs:element name="CODE_MO" minOccurs="0" >
435
				<xs:annotation>
436
					<xs:documentation>Региональный код медорганизации</xs:documentation>
437
				</xs:annotation>
438
				<xs:simpleType>
439
					<xs:restriction base="xs:string">
440
						<xs:maxLength value="6"/>
441
					</xs:restriction>
442
				</xs:simpleType>
443
			</xs:element>
444

    
445
			<xs:element name="TDMR" type="xs:unsignedInt"  minOccurs="0" >
446
				<xs:annotation>
447
					<xs:documentation>Тип должности медработника</xs:documentation>
448
				</xs:annotation>
449
			</xs:element>
450

    
451
			<xs:element name="IDDOKT" minOccurs="0" >
452
				<xs:annotation>
453
					<xs:documentation>Код врача (СНИЛС с разделителями "-")</xs:documentation>
454
				</xs:annotation>
455
				<xs:simpleType>
456
					<xs:restriction base="xs:string">
457
						<xs:maxLength value="14"/>
458
					</xs:restriction>
459
				</xs:simpleType>
460
			</xs:element>
461

    
462
			<xs:element name="DATE_REG" type="xs:date"  minOccurs="0" >
463
				<xs:annotation>
464
					<xs:documentation>Дата регистрации прикрепления к МО</xs:documentation>
465
				</xs:annotation>
466
			</xs:element>
467

    
468
			<xs:element name="CloseDate" type="xs:date"  minOccurs="0" >
469
				<xs:annotation>
470
					<xs:documentation>Дата прекращения действия записи прикрепления к МО</xs:documentation>
471
				</xs:annotation>
472
			</xs:element>
473

    
474
			<xs:element name="SMP_CODE" minOccurs="0" >
475
				<xs:annotation>
476
					<xs:documentation>Код медорганизации СМП, привязанной к МО</xs:documentation>
477
				</xs:annotation>
478
				<xs:simpleType>
479
					<xs:restriction base="xs:string">
480
						<xs:maxLength value="6"/>
481
					</xs:restriction>
482
				</xs:simpleType>
483
			</xs:element>
484

    
485
			<!-- служебные данные поиска -->
486
			<xs:element name="ident_level" type="xs:unsignedInt"  minOccurs="0" >
487
				<xs:annotation>
488
					<xs:documentation>Уровень (рейтинг) совпадения</xs:documentation>
489
				</xs:annotation>
490
			</xs:element>
491

    
492
			<xs:element name="ident_var"  minOccurs="0" >
493
				<xs:annotation>
494
					<xs:documentation>Поля совпадения</xs:documentation>
495
				</xs:annotation>
496
				<xs:simpleType>
497
					<xs:restriction base="xs:string">
498
						<xs:maxLength value="64"/>
499
					</xs:restriction>
500
				</xs:simpleType>
501
			</xs:element>
502

    
503
			<xs:element name="ident_count" type="xs:unsignedInt"  minOccurs="0" >
504
				<xs:annotation>
505
					<xs:documentation>Количество совпадений с другими ЗЛ</xs:documentation>
506
				</xs:annotation>
507
			</xs:element>
508

    
509

    
510
		</xs:sequence>
511
	</xs:complexType>
512

    
513

    
514
</xs:schema>
(1-1/3)