cqm-validators 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE.txt +201 -0
  5. data/QRDA_Schematron_License.txt +191 -0
  6. data/README.md +40 -0
  7. data/Rakefile +10 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/cqm_validators.gemspec +28 -0
  11. data/lib/base_validator.rb +22 -0
  12. data/lib/cqm_validators.rb +15 -0
  13. data/lib/cqm_validators/version.rb +3 -0
  14. data/lib/data_validator.rb +82 -0
  15. data/lib/measure_validator.rb +130 -0
  16. data/lib/performance_rate_validator.rb +92 -0
  17. data/lib/qrda_qdm_template_validator.rb +320 -0
  18. data/lib/reported_result_extractor.rb +172 -0
  19. data/lib/schema/infrastructure/cda/CDA_SDTC.xsd +44 -0
  20. data/lib/schema/infrastructure/cda/POCD_MT000040_SDTC.xsd +1500 -0
  21. data/lib/schema/infrastructure/cda/SDTC.xsd +210 -0
  22. data/lib/schema/processable/coreschemas/NarrativeBlock.xsd +557 -0
  23. data/lib/schema/processable/coreschemas/datatypes-base_SDTC.xsd +1850 -0
  24. data/lib/schema/processable/coreschemas/datatypes.xsd +1375 -0
  25. data/lib/schema/processable/coreschemas/infrastructureRoot.xsd +27 -0
  26. data/lib/schema/processable/coreschemas/voc.xsd +2124 -0
  27. data/lib/schema_validator.rb +23 -0
  28. data/lib/schematron/c_processor.rb +26 -0
  29. data/lib/schematron/iso-schematron-xslt1/ExtractSchFromRNG.xsl +75 -0
  30. data/lib/schematron/iso-schematron-xslt1/ExtractSchFromXSD.xsl +77 -0
  31. data/lib/schematron/iso-schematron-xslt1/iso_abstract_expand.xsl +297 -0
  32. data/lib/schematron/iso-schematron-xslt1/iso_dsdl_include.xsl +1509 -0
  33. data/lib/schematron/iso-schematron-xslt1/iso_schematron_message.xsl +55 -0
  34. data/lib/schematron/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl +1844 -0
  35. data/lib/schematron/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl +605 -0
  36. data/lib/schematron/iso-schematron-xslt1/readme.txt +101 -0
  37. data/lib/schematron/iso-schematron-xslt1/schematron-skeleton-api.htm +723 -0
  38. data/lib/schematron/iso-schematron-xslt2/ExtractSchFromRNG-2.xsl +75 -0
  39. data/lib/schematron/iso-schematron-xslt2/ExtractSchFromXSD-2.xsl +77 -0
  40. data/lib/schematron/iso-schematron-xslt2/iso_abstract_expand.xsl +297 -0
  41. data/lib/schematron/iso-schematron-xslt2/iso_dsdl_include.xsl +1508 -0
  42. data/lib/schematron/iso-schematron-xslt2/iso_schematron_message_xslt2.xsl +55 -0
  43. data/lib/schematron/iso-schematron-xslt2/iso_schematron_skeleton_for_saxon.xsl +2299 -0
  44. data/lib/schematron/iso-schematron-xslt2/iso_svrl_for_xslt2.xsl +684 -0
  45. data/lib/schematron/iso-schematron-xslt2/readme.txt +100 -0
  46. data/lib/schematron/iso-schematron-xslt2/sch-messages-cs.xhtml +56 -0
  47. data/lib/schematron/iso-schematron-xslt2/sch-messages-de.xhtml +57 -0
  48. data/lib/schematron/iso-schematron-xslt2/sch-messages-en.xhtml +57 -0
  49. data/lib/schematron/iso-schematron-xslt2/sch-messages-fr.xhtml +54 -0
  50. data/lib/schematron/iso-schematron-xslt2/sch-messages-nl.xhtml +58 -0
  51. data/lib/schematron/iso-schematron-xslt2/schematron-skeleton-api.htm +723 -0
  52. data/lib/schematron/java_processor.rb +92 -0
  53. data/lib/schematron/qrda/cat_1/HL7_CDAR2_QRDA_Category_I_2_12_16.sch +4693 -0
  54. data/lib/schematron/qrda/cat_1/voc.xml +1177 -0
  55. data/lib/schematron/qrda/cat_1_r2/QRDA Category I Release 2.sch +4069 -0
  56. data/lib/schematron/qrda/cat_1_r2/voc.xml +1065 -0
  57. data/lib/schematron/qrda/cat_1_r3_1/HL7 QRDA Category I STU 3.1.sch +3573 -0
  58. data/lib/schematron/qrda/cat_1_r3_1/HL7 QRDA Category III STU 1.1.sch +464 -0
  59. data/lib/schematron/qrda/cat_1_r3_1/QRDA Category I STU Release 3.1.sch +5394 -0
  60. data/lib/schematron/qrda/cat_1_r3_1/voc.xml +1229 -0
  61. data/lib/schematron/qrda/cat_1_r4/HL7 QRDA Category I STU 4.sch +3526 -0
  62. data/lib/schematron/qrda/cat_1_r4/voc.xml +1186 -0
  63. data/lib/schematron/qrda/cat_1_r5/HL7 QRDA Category I STU 5.sch +3069 -0
  64. data/lib/schematron/qrda/cat_1_r5/voc.xml +1186 -0
  65. data/lib/schematron/qrda/cat_3/QRDA Category III.sch +675 -0
  66. data/lib/schematron/qrda/cat_3/voc.xml +21 -0
  67. data/lib/schematron/qrda/cat_3_r1_1/HL7 QRDA Category III STU 1.1.sch +528 -0
  68. data/lib/schematron/qrda/cat_3_r1_1/voc.xml +8 -0
  69. data/lib/schematron/qrda/cat_3_r2/HL7 QRDA Category III STU 2.sch +677 -0
  70. data/lib/schematron/qrda/cat_3_r2/voc.xml +1186 -0
  71. data/lib/schematron/qrda/cat_3_r2_1/HL7 QRDA Category III STU 2.1.sch +678 -0
  72. data/lib/schematron/qrda/cat_3_r2_1/voc.xml +1186 -0
  73. data/lib/schematron_validator.rb +38 -0
  74. data/lib/validation_error.rb +10 -0
  75. data/lib/validators.rb +136 -0
  76. metadata +177 -0
@@ -0,0 +1,1850 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:sdtc="urn:hl7-org:sdtc" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3
+ <xs:import namespace="urn:hl7-org:sdtc" schemaLocation="../../infrastructure/cda/SDTC.xsd" />
4
+ <xs:annotation>
5
+ <xs:documentation>XML schema for message type POCD_MT000040.</xs:documentation>
6
+ <xs:documentation>
7
+ Copyright (c) 2015 Health Level Seven.
8
+ All rights reserved.
9
+
10
+ Redistribution and use in source and binary forms, with or
11
+ without modification, are permitted provided that the following
12
+ conditions are met:
13
+ 1. Redistributions of source code must retain the above
14
+ copyright notice, this list of conditions and the following
15
+ disclaimer.
16
+ 2. Redistributions in binary form must reproduce the above
17
+ copyright notice, this list of conditions and the following
18
+ disclaimer in the documentation and/or other materials
19
+ provided with the distribution.
20
+ 3. All advertising materials mentioning features or use of this
21
+ software must display the following acknowledgement:
22
+
23
+ This product includes software developed by Health Level Seven.
24
+
25
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS
26
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
27
+ NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
28
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
29
+ SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
30
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
32
+ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
34
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
37
+ DAMAGE.
38
+ </xs:documentation>
39
+
40
+ <xs:documentation>
41
+ 2012-07-06 Created datatypes-base_SDTC.xsd (this file) this file is an edited version of datatypes-base.xsd that contains the SDTC extensions.
42
+ </xs:documentation>
43
+ <xs:documentation>
44
+ 2012-07-06 Added extensions approved by SDWG prior to 2012-07-06:
45
+ valueSet,
46
+ valuesetVersion
47
+ </xs:documentation>
48
+ <xs:documentation>
49
+ 2015-12-26 Commented out Schematron validation rule on II datatype
50
+ </xs:documentation>
51
+ </xs:annotation>
52
+ <xs:include schemaLocation="voc.xsd" />
53
+ <xs:complexType name="ANY" abstract="true">
54
+ <xs:annotation>
55
+ <xs:documentation>
56
+ Defines the basic properties of every data value. This
57
+ is an abstract type, meaning that no value can be just
58
+ a data value without belonging to any concrete type.
59
+ Every concrete type is a specialization of this
60
+ general abstract DataValue type.
61
+ </xs:documentation>
62
+ </xs:annotation>
63
+ <xs:attribute name="nullFlavor" type="NullFlavor" use="optional">
64
+ <xs:annotation>
65
+ <xs:documentation>
66
+ An exceptional value expressing missing information
67
+ and possibly the reason why the information is missing.
68
+ </xs:documentation>
69
+ </xs:annotation>
70
+ </xs:attribute>
71
+ </xs:complexType>
72
+ <xs:simpleType name="bl">
73
+ <xs:annotation>
74
+ <xs:documentation>
75
+ The Boolean type stands for the values of two-valued logic.
76
+ A Boolean value can be either true or
77
+ false, or, as any other value may be NULL.
78
+ </xs:documentation>
79
+ </xs:annotation>
80
+ <xs:restriction base="xs:boolean">
81
+ <xs:pattern value="true|false" />
82
+ </xs:restriction>
83
+ </xs:simpleType>
84
+ <xs:complexType name="BL">
85
+ <xs:annotation>
86
+ <xs:documentation>
87
+ The Boolean type stands for the values of two-valued logic.
88
+ A Boolean value can be either true or
89
+ false, or, as any other value may be NULL.
90
+ </xs:documentation>
91
+ <xs:appinfo>
92
+ <sch:pattern name="validate BL">
93
+ <sch:rule abstract="true" id="rule-BL">
94
+ <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)" />
95
+ </sch:rule>
96
+ </sch:pattern>
97
+ </xs:appinfo>
98
+ </xs:annotation>
99
+ <xs:complexContent>
100
+ <xs:extension base="ANY">
101
+ <xs:attribute name="value" use="optional" type="bl" />
102
+ </xs:extension>
103
+ </xs:complexContent>
104
+ </xs:complexType>
105
+ <xs:simpleType name="bn">
106
+ <xs:annotation>
107
+ <xs:documentation>
108
+ The BooleanNonNull type is used where a Boolean cannot
109
+ have a null value. A Boolean value can be either
110
+ true or false.
111
+ </xs:documentation>
112
+ </xs:annotation>
113
+ <xs:restriction base="bl" />
114
+ </xs:simpleType>
115
+ <xs:complexType name="ANYNonNull">
116
+ <xs:annotation>
117
+ <xs:documentation>
118
+ The BooleanNonNull type is used where a Boolean cannot
119
+ have a null value. A Boolean value can be either
120
+ true or false.
121
+ </xs:documentation>
122
+ </xs:annotation>
123
+ <xs:complexContent>
124
+ <xs:restriction base="ANY">
125
+ <xs:attribute name="nullFlavor" type="NullFlavor" use="prohibited" />
126
+ </xs:restriction>
127
+ </xs:complexContent>
128
+ </xs:complexType>
129
+ <xs:complexType name="BN">
130
+ <xs:annotation>
131
+ <xs:documentation>
132
+ The BooleanNonNull type is used where a Boolean cannot
133
+ have a null value. A Boolean value can be either
134
+ true or false.
135
+ </xs:documentation>
136
+ </xs:annotation>
137
+ <xs:complexContent>
138
+ <xs:extension base="ANYNonNull">
139
+ <xs:attribute name="value" use="optional" type="bn" />
140
+ </xs:extension>
141
+ </xs:complexContent>
142
+ </xs:complexType>
143
+ <xs:complexType name="BIN" abstract="true" mixed="true">
144
+ <xs:annotation>
145
+ <xs:documentation>
146
+ Binary data is a raw block of bits. Binary data is a
147
+ protected type that MUST not be used outside the data
148
+ type specification.
149
+ </xs:documentation>
150
+ </xs:annotation>
151
+ <xs:complexContent>
152
+ <xs:extension base="ANY">
153
+ <xs:attribute name="representation" use="optional" type="BinaryDataEncoding" default="TXT">
154
+ <xs:annotation>
155
+ <xs:documentation>
156
+ Specifies the representation of the binary data that
157
+ is the content of the binary data value.
158
+ </xs:documentation>
159
+ </xs:annotation>
160
+ </xs:attribute>
161
+ </xs:extension>
162
+ </xs:complexContent>
163
+ </xs:complexType>
164
+ <xs:simpleType name="bin">
165
+ <xs:annotation>
166
+ <xs:documentation>
167
+ Binary data is a raw block of bits. Binary data is a
168
+ protected type that MUST not be used outside the data
169
+ type specification.
170
+ </xs:documentation>
171
+ </xs:annotation>
172
+ <xs:restriction base="xs:base64Binary" />
173
+ </xs:simpleType>
174
+ <xs:simpleType name="BinaryDataEncoding">
175
+ <xs:restriction base="xs:NMTOKEN">
176
+ <xs:enumeration value="B64" />
177
+ <xs:enumeration value="TXT" />
178
+ </xs:restriction>
179
+ </xs:simpleType>
180
+ <xs:complexType name="ED" mixed="true">
181
+ <xs:annotation>
182
+ <xs:documentation>
183
+ Data that is primarily intended for human interpretation
184
+ or for further machine processing is outside the scope of
185
+ HL7. This includes unformatted or formatted written language,
186
+ multimedia data, or structured information as defined by a
187
+ different standard (e.g., XML-signatures.) Instead of the
188
+ data itself, an ED may contain
189
+ only a reference (see TEL.) Note
190
+ that the ST data type is a
191
+ specialization of
192
+ when the is text/plain.
193
+ </xs:documentation>
194
+ </xs:annotation>
195
+ <xs:complexContent>
196
+ <xs:extension base="BIN">
197
+ <xs:sequence>
198
+ <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="1">
199
+ <xs:annotation>
200
+ <xs:documentation>
201
+ A telecommunication address (TEL), such as a URL
202
+ for HTTP or FTP, which will resolve to precisely
203
+ the same binary data that could as well have been
204
+ provided as inline data.
205
+ </xs:documentation>
206
+ </xs:annotation>
207
+ </xs:element>
208
+ <xs:element name="thumbnail" minOccurs="0" maxOccurs="1" type="thumbnail" />
209
+ </xs:sequence>
210
+ <xs:attribute name="mediaType" type="cs" use="optional" default="text/plain">
211
+ <xs:annotation>
212
+ <xs:documentation>
213
+ Identifies the type of the encapsulated data and
214
+ identifies a method to interpret or render the data.
215
+ </xs:documentation>
216
+ </xs:annotation>
217
+ </xs:attribute>
218
+ <xs:attribute name="language" type="cs" use="optional">
219
+ <xs:annotation>
220
+ <xs:documentation>
221
+ For character based information the language property
222
+ specifies the human language of the text.
223
+ </xs:documentation>
224
+ </xs:annotation>
225
+ </xs:attribute>
226
+ <xs:attribute name="compression" type="CompressionAlgorithm" use="optional">
227
+ <xs:annotation>
228
+ <xs:documentation>
229
+ Indicates whether the raw byte data is compressed,
230
+ and what compression algorithm was used.
231
+ </xs:documentation>
232
+ </xs:annotation>
233
+ </xs:attribute>
234
+ <xs:attribute name="integrityCheck" type="bin" use="optional">
235
+ <xs:annotation>
236
+ <xs:documentation>
237
+ The integrity check is a short binary value representing
238
+ a cryptographically strong checksum that is calculated
239
+ over the binary data. The purpose of this property, when
240
+ communicated with a reference is for anyone to validate
241
+ later whether the reference still resolved to the same
242
+ data that the reference resolved to when the encapsulated
243
+ data value with reference was created.
244
+ </xs:documentation>
245
+ </xs:annotation>
246
+ </xs:attribute>
247
+ <xs:attribute name="integrityCheckAlgorithm" type="IntegrityCheckAlgorithm" use="optional" default="SHA-1">
248
+ <xs:annotation>
249
+ <xs:documentation>
250
+ Specifies the algorithm used to compute the
251
+ integrityCheck value.
252
+ </xs:documentation>
253
+ </xs:annotation>
254
+ </xs:attribute>
255
+ </xs:extension>
256
+ </xs:complexContent>
257
+ </xs:complexType>
258
+ <xs:complexType name="thumbnail" mixed="true">
259
+ <xs:annotation>
260
+ <xs:documentation>
261
+ A thumbnail is an abbreviated rendition of the full
262
+ data. A thumbnail requires significantly fewer
263
+ resources than the full data, while still maintaining
264
+ some distinctive similarity with the full data. A
265
+ thumbnail is typically used with by-reference
266
+ encapsulated data. It allows a user to select data
267
+ more efficiently before actually downloading through
268
+ the reference.
269
+ </xs:documentation>
270
+ </xs:annotation>
271
+ <xs:complexContent>
272
+ <xs:restriction base="ED">
273
+ <xs:sequence>
274
+ <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="1" />
275
+ <xs:element name="thumbnail" type="thumbnail" minOccurs="0" maxOccurs="0" />
276
+ </xs:sequence>
277
+ </xs:restriction>
278
+ </xs:complexContent>
279
+ </xs:complexType>
280
+ <xs:simpleType name="st">
281
+ <xs:annotation>
282
+ <xs:documentation>
283
+ The character string data type stands for text data,
284
+ primarily intended for machine processing (e.g.,
285
+ sorting, querying, indexing, etc.) Used for names,
286
+ symbols, and formal expressions.
287
+ </xs:documentation>
288
+ </xs:annotation>
289
+ <xs:restriction base="xs:string">
290
+ <xs:minLength value="1" />
291
+ </xs:restriction>
292
+ </xs:simpleType>
293
+ <xs:complexType name="ST" mixed="true">
294
+ <xs:annotation>
295
+ <xs:documentation>
296
+ The character string data type stands for text data,
297
+ primarily intended for machine processing (e.g.,
298
+ sorting, querying, indexing, etc.) Used for names,
299
+ symbols, and formal expressions.
300
+ </xs:documentation>
301
+ <xs:appinfo>
302
+ <sch:pattern name="validate ST">
303
+ <sch:rule abstract="true" id="rule-ST">
304
+ <sch:report test="(@nullFlavor or text()) and not(@nullFlavor and text())">
305
+ <p xmlns:gsd="http://aurora.regenstrief.org/GenericXMLSchema" xmlns:xlink="http://www.w3.org/TR/WD-xlink">Text content is only allowed in non-NULL values.</p>
306
+ </sch:report>
307
+ </sch:rule>
308
+ </sch:pattern>
309
+ </xs:appinfo>
310
+ </xs:annotation>
311
+ <xs:complexContent>
312
+ <xs:restriction base="ED">
313
+ <xs:sequence>
314
+ <xs:element name="reference" type="TEL" minOccurs="0" maxOccurs="0" />
315
+ <xs:element name="thumbnail" type="ED" minOccurs="0" maxOccurs="0" />
316
+ </xs:sequence>
317
+ <xs:attribute name="representation" type="BinaryDataEncoding" fixed="TXT" />
318
+ <xs:attribute name="mediaType" type="cs" fixed="text/plain" />
319
+ <xs:attribute name="language" type="cs" use="optional" />
320
+ <xs:attribute name="compression" type="CompressionAlgorithm" use="prohibited" />
321
+ <xs:attribute name="integrityCheck" type="bin" use="prohibited" />
322
+ <xs:attribute name="integrityCheckAlgorithm" type="IntegrityCheckAlgorithm" use="prohibited" />
323
+ </xs:restriction>
324
+ </xs:complexContent>
325
+ </xs:complexType>
326
+ <xs:simpleType name="cs">
327
+ <xs:annotation>
328
+ <xs:documentation>
329
+ Coded data in its simplest form, consists of a code.
330
+ The code system and code system version is fixed by
331
+ the context in which the value occurs. is used
332
+ for coded attributes that have a single HL7-defined
333
+ value set.
334
+ </xs:documentation>
335
+ </xs:annotation>
336
+ <xs:restriction base="xs:token">
337
+ <xs:pattern value="[^\s]+" />
338
+ </xs:restriction>
339
+ </xs:simpleType>
340
+ <xs:complexType name="CD">
341
+ <xs:annotation>
342
+ <xs:documentation>
343
+ A concept descriptor represents any kind of concept usually
344
+ by giving a code defined in a code system. A concept
345
+ descriptor can contain the original text or phrase that
346
+ served as the basis of the coding and one or more
347
+ translations into different coding systems. A concept
348
+ descriptor can also contain qualifiers to describe, e.g.,
349
+ the concept of a "left foot" as a postcoordinated term built
350
+ from the primary code "FOOT" and the qualifier "LEFT".
351
+ In exceptional cases, the concept descriptor need not
352
+ contain a code but only the original text describing
353
+ that concept.
354
+ </xs:documentation>
355
+ </xs:annotation>
356
+ <xs:complexContent>
357
+ <xs:extension base="ANY">
358
+ <xs:sequence>
359
+ <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
360
+ <xs:annotation>
361
+ <xs:documentation>
362
+ The text or phrase used as the basis for the coding.
363
+ </xs:documentation>
364
+ </xs:annotation>
365
+ </xs:element>
366
+ <xs:element name="qualifier" type="CR" minOccurs="0" maxOccurs="unbounded">
367
+ <xs:annotation>
368
+ <xs:documentation>
369
+ Specifies additional codes that increase the
370
+ specificity of the primary code.
371
+ </xs:documentation>
372
+ </xs:annotation>
373
+ </xs:element>
374
+ <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="unbounded">
375
+ <xs:annotation>
376
+ <xs:documentation>
377
+ A set of other concept descriptors that translate
378
+ this concept descriptor into other code systems.
379
+ </xs:documentation>
380
+ </xs:annotation>
381
+ </xs:element>
382
+ </xs:sequence>
383
+ <xs:attribute name="code" type="cs" use="optional">
384
+ <xs:annotation>
385
+ <xs:documentation>
386
+ The plain code symbol defined by the code system.
387
+ For example, "784.0" is the code symbol of the ICD-9
388
+ code "784.0" for headache.
389
+ </xs:documentation>
390
+ </xs:annotation>
391
+ </xs:attribute>
392
+ <xs:attribute name="codeSystem" type="uid" use="optional">
393
+ <xs:annotation>
394
+ <xs:documentation>
395
+ Specifies the code system that defines the code.
396
+ </xs:documentation>
397
+ </xs:annotation>
398
+ </xs:attribute>
399
+ <xs:attribute name="codeSystemName" type="st" use="optional">
400
+ <xs:annotation>
401
+ <xs:documentation>
402
+ A common name of the coding system.
403
+ </xs:documentation>
404
+ </xs:annotation>
405
+ </xs:attribute>
406
+ <xs:attribute name="codeSystemVersion" type="st" use="optional">
407
+ <xs:annotation>
408
+ <xs:documentation>
409
+ If applicable, a version descriptor defined
410
+ specifically for the given code system.
411
+ </xs:documentation>
412
+ </xs:annotation>
413
+ </xs:attribute>
414
+ <xs:attribute name="displayName" type="st" use="optional">
415
+ <xs:annotation>
416
+ <xs:documentation>
417
+ A name or title for the code, under which the sending
418
+ system shows the code value to its users.
419
+ </xs:documentation>
420
+ </xs:annotation>
421
+ </xs:attribute>
422
+
423
+ <!-- Begin Extensions: SDTC -->
424
+ <xs:attribute ref="sdtc:valueSet" use="optional" />
425
+ <xs:attribute ref="sdtc:valueSetVersion" use="optional" />
426
+ <!-- End Extensions: SDTC -->
427
+
428
+ </xs:extension>
429
+ </xs:complexContent>
430
+ </xs:complexType>
431
+ <xs:complexType name="CE">
432
+ <xs:annotation>
433
+ <xs:documentation>
434
+ Coded data, consists of a coded value (CV)
435
+ and, optionally, coded value(s) from other coding systems
436
+ that identify the same concept. Used when alternative
437
+ codes may exist.
438
+ </xs:documentation>
439
+ </xs:annotation>
440
+ <xs:complexContent>
441
+ <xs:restriction base="CD">
442
+ <xs:sequence>
443
+ <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
444
+ <xs:annotation>
445
+ <xs:documentation>
446
+ The text or phrase used as the basis for the coding.
447
+ </xs:documentation>
448
+ </xs:annotation>
449
+ </xs:element>
450
+ <xs:element name="qualifier" type="CR" minOccurs="0" maxOccurs="0" />
451
+ <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="unbounded">
452
+ <xs:annotation>
453
+ <xs:documentation>
454
+ A set of other concept descriptors that translate
455
+ this concept descriptor into other code systems.
456
+ </xs:documentation>
457
+ </xs:annotation>
458
+ </xs:element>
459
+ </xs:sequence>
460
+ <xs:attribute name="code" type="cs" use="optional">
461
+ <xs:annotation>
462
+ <xs:documentation>
463
+ The plain code symbol defined by the code system.
464
+ For example, "784.0" is the code symbol of the ICD-9
465
+ code "784.0" for headache.
466
+ </xs:documentation>
467
+ </xs:annotation>
468
+ </xs:attribute>
469
+ <xs:attribute name="codeSystem" type="uid" use="optional">
470
+ <xs:annotation>
471
+ <xs:documentation>
472
+ Specifies the code system that defines the code.
473
+ </xs:documentation>
474
+ </xs:annotation>
475
+ </xs:attribute>
476
+ <xs:attribute name="codeSystemName" type="st" use="optional">
477
+ <xs:annotation>
478
+ <xs:documentation>
479
+ A common name of the coding system.
480
+ </xs:documentation>
481
+ </xs:annotation>
482
+ </xs:attribute>
483
+ <xs:attribute name="codeSystemVersion" type="st" use="optional">
484
+ <xs:annotation>
485
+ <xs:documentation>
486
+ If applicable, a version descriptor defined
487
+ specifically for the given code system.
488
+ </xs:documentation>
489
+ </xs:annotation>
490
+ </xs:attribute>
491
+ <xs:attribute name="displayName" type="st" use="optional">
492
+ <xs:annotation>
493
+ <xs:documentation>
494
+ A name or title for the code, under which the sending
495
+ system shows the code value to its users.
496
+ </xs:documentation>
497
+ </xs:annotation>
498
+ </xs:attribute>
499
+ </xs:restriction>
500
+ </xs:complexContent>
501
+ </xs:complexType>
502
+ <xs:complexType name="CV">
503
+ <xs:annotation>
504
+ <xs:documentation>
505
+ Coded data, consists of a code, display name, code system,
506
+ and original text. Used when a single code value must be sent.
507
+ </xs:documentation>
508
+ </xs:annotation>
509
+ <xs:complexContent>
510
+ <xs:restriction base="CE">
511
+ <xs:sequence>
512
+ <xs:element name="originalText" type="ED" minOccurs="0" maxOccurs="1">
513
+ <xs:annotation>
514
+ <xs:documentation>
515
+ The text or phrase used as the basis for the coding.
516
+ </xs:documentation>
517
+ </xs:annotation>
518
+ </xs:element>
519
+ <xs:element name="translation" type="CD" minOccurs="0" maxOccurs="0" />
520
+ </xs:sequence>
521
+ <xs:attribute name="code" type="cs" use="optional">
522
+ <xs:annotation>
523
+ <xs:documentation>
524
+ The plain code symbol defined by the code system.
525
+ For example, "784.0" is the code symbol of the ICD-9
526
+ code "784.0" for headache.
527
+ </xs:documentation>
528
+ </xs:annotation>
529
+ </xs:attribute>
530
+ <xs:attribute name="codeSystem" type="uid" use="optional">
531
+ <xs:annotation>
532
+ <xs:documentation>
533
+ Specifies the code system that defines the code.
534
+ </xs:documentation>
535
+ </xs:annotation>
536
+ </xs:attribute>
537
+ <xs:attribute name="codeSystemName" type="st" use="optional">
538
+ <xs:annotation>
539
+ <xs:documentation>
540
+ A common name of the coding system.
541
+ </xs:documentation>
542
+ </xs:annotation>
543
+ </xs:attribute>
544
+ <xs:attribute name="codeSystemVersion" type="st" use="optional">
545
+ <xs:annotation>
546
+ <xs:documentation>
547
+ If applicable, a version descriptor defined
548
+ specifically for the given code system.
549
+ </xs:documentation>
550
+ </xs:annotation>
551
+ </xs:attribute>
552
+ <xs:attribute name="displayName" type="st" use="optional">
553
+ <xs:annotation>
554
+ <xs:documentation>
555
+ A name or title for the code, under which the sending
556
+ system shows the code value to its users.
557
+ </xs:documentation>
558
+ </xs:annotation>
559
+ </xs:attribute>
560
+ </xs:restriction>
561
+ </xs:complexContent>
562
+ </xs:complexType>
563
+ <xs:complexType name="CS">
564
+ <xs:annotation>
565
+ <xs:documentation>
566
+ Coded data, consists of a code, display name, code system,
567
+ and original text. Used when a single code value must be sent.
568
+ </xs:documentation>
569
+ </xs:annotation>
570
+ <xs:complexContent>
571
+ <xs:restriction base="CV">
572
+ <xs:attribute name="code" type="cs" use="optional">
573
+ <xs:annotation>
574
+ <xs:documentation>
575
+ The plain code symbol defined by the code system.
576
+ For example, "784.0" is the code symbol of the ICD-9
577
+ code "784.0" for headache.
578
+ </xs:documentation>
579
+ </xs:annotation>
580
+ </xs:attribute>
581
+ <xs:attribute name="codeSystem" type="uid" use="prohibited" />
582
+ <xs:attribute name="codeSystemName" type="st" use="prohibited" />
583
+ <xs:attribute name="codeSystemVersion" type="st" use="prohibited" />
584
+ <xs:attribute name="displayName" type="st" use="prohibited" />
585
+ </xs:restriction>
586
+ </xs:complexContent>
587
+ </xs:complexType>
588
+ <xs:complexType name="CO">
589
+ <xs:annotation>
590
+ <xs:documentation>
591
+ Coded data, where the domain from which the codeset comes
592
+ is ordered. The Coded Ordinal data type adds semantics
593
+ related to ordering so that models that make use of such
594
+ domains may introduce model elements that involve statements
595
+ about the order of the terms in a domain.
596
+ </xs:documentation>
597
+ </xs:annotation>
598
+ <xs:complexContent>
599
+ <xs:extension base="CV" />
600
+ </xs:complexContent>
601
+ </xs:complexType>
602
+ <xs:complexType name="CR">
603
+ <xs:annotation>
604
+ <xs:documentation>
605
+ A concept qualifier code with optionally named role.
606
+ Both qualifier role and value codes must be defined by
607
+ the coding system. For example, if SNOMED RT defines a
608
+ concept "leg", a role relation "has-laterality", and
609
+ another concept "left", the concept role relation allows
610
+ to add the qualifier "has-laterality: left" to a primary
611
+ code "leg" to construct the meaning "left leg".
612
+ </xs:documentation>
613
+ <xs:appinfo>
614
+ <sch:pattern name="validate CR">
615
+ <sch:rule abstract="true" id="rule-CR">
616
+ <sch:report test="(value or @nullFlavor) and not(@nullFlavor and node())">
617
+ <p xmlns:gsd="http://aurora.regenstrief.org/GenericXMLSchema" xmlns:xlink="http://www.w3.org/TR/WD-xlink">
618
+ A value component is required or else the
619
+ code role is NULL.
620
+ </p>
621
+ </sch:report>
622
+ </sch:rule>
623
+ </sch:pattern>
624
+ </xs:appinfo>
625
+ </xs:annotation>
626
+ <xs:complexContent>
627
+ <xs:extension base="ANY">
628
+ <xs:sequence>
629
+ <xs:element name="name" type="CV" minOccurs="0" maxOccurs="1">
630
+ <xs:annotation>
631
+ <xs:documentation>
632
+ Specifies the manner in which the concept role value
633
+ contributes to the meaning of a code phrase. For
634
+ example, if SNOMED RT defines a concept "leg", a role
635
+ relation "has-laterality", and another concept "left",
636
+ the concept role relation allows to add the qualifier
637
+ "has-laterality: left" to a primary code "leg" to
638
+ construct the meaning "left leg". In this example
639
+ "has-laterality" is .
640
+ </xs:documentation>
641
+ </xs:annotation>
642
+ </xs:element>
643
+ <xs:element name="value" type="CD" minOccurs="0" maxOccurs="1">
644
+ <xs:annotation>
645
+ <xs:documentation>
646
+ The concept that modifies the primary code of a code
647
+ phrase through the role relation. For example, if
648
+ SNOMED RT defines a concept "leg", a role relation
649
+ "has-laterality", and another concept "left", the
650
+ concept role relation allows adding the qualifier
651
+ "has-laterality: left" to a primary code "leg" to
652
+ construct the meaning "left leg". In this example
653
+ "left" is .
654
+ </xs:documentation>
655
+ </xs:annotation>
656
+ </xs:element>
657
+ </xs:sequence>
658
+ <xs:attribute name="inverted" type="bn" use="optional" default="false">
659
+ <xs:annotation>
660
+ <xs:documentation>
661
+ Indicates if the sense of the role name is inverted.
662
+ This can be used in cases where the underlying code
663
+ system defines inversion but does not provide reciprocal
664
+ pairs of role names. By default, inverted is false.
665
+ </xs:documentation>
666
+ </xs:annotation>
667
+ </xs:attribute>
668
+ </xs:extension>
669
+ </xs:complexContent>
670
+ </xs:complexType>
671
+ <xs:complexType name="SC" mixed="true">
672
+ <xs:annotation>
673
+ <xs:documentation>
674
+ An ST that optionally may have a code attached.
675
+ The text must always be present if a code is present. The
676
+ code is often a local code.
677
+ </xs:documentation>
678
+ </xs:annotation>
679
+ <xs:complexContent>
680
+ <xs:extension base="ST">
681
+ <xs:attribute name="code" type="cs" use="optional">
682
+ <xs:annotation>
683
+ <xs:documentation>
684
+ The plain code symbol defined by the code system.
685
+ For example, "784.0" is the code symbol of the ICD-9
686
+ code "784.0" for headache.
687
+ </xs:documentation>
688
+ </xs:annotation>
689
+ </xs:attribute>
690
+ <xs:attribute name="codeSystem" type="uid" use="optional">
691
+ <xs:annotation>
692
+ <xs:documentation>
693
+ Specifies the code system that defines the code.
694
+ </xs:documentation>
695
+ </xs:annotation>
696
+ </xs:attribute>
697
+ <xs:attribute name="codeSystemName" type="st" use="optional">
698
+ <xs:annotation>
699
+ <xs:documentation>
700
+ A common name of the coding system.
701
+ </xs:documentation>
702
+ </xs:annotation>
703
+ </xs:attribute>
704
+ <xs:attribute name="codeSystemVersion" type="st" use="optional">
705
+ <xs:annotation>
706
+ <xs:documentation>
707
+ If applicable, a version descriptor defined
708
+ specifically for the given code system.
709
+ </xs:documentation>
710
+ </xs:annotation>
711
+ </xs:attribute>
712
+ <xs:attribute name="displayName" type="st" use="optional">
713
+ <xs:annotation>
714
+ <xs:documentation>
715
+ A name or title for the code, under which the sending
716
+ system shows the code value to its users.
717
+ </xs:documentation>
718
+ </xs:annotation>
719
+ </xs:attribute>
720
+ </xs:extension>
721
+ </xs:complexContent>
722
+ </xs:complexType>
723
+ <xs:simpleType name="uid">
724
+ <xs:annotation>
725
+ <xs:documentation>
726
+ A unique identifier string is a character string which
727
+ identifies an object in a globally unique and timeless
728
+ manner. The allowable formats and values and procedures
729
+ of this data type are strictly controlled by HL7. At this
730
+ time, user-assigned identifiers may be certain character
731
+ representations of ISO Object Identifiers ()
732
+ and DCE
733
+ Universally Unique Identifiers ().
734
+ HL7 also reserves
735
+ the right to assign other forms of UIDs (,
736
+ such as mnemonic
737
+ identifiers for code systems.
738
+ </xs:documentation>
739
+ </xs:annotation>
740
+ <xs:union memberTypes="oid uuid ruid" />
741
+ </xs:simpleType>
742
+ <xs:simpleType name="oid">
743
+ <xs:annotation>
744
+ <xs:documentation />
745
+ </xs:annotation>
746
+ <xs:restriction base="xs:string">
747
+ <xs:pattern value="[0-2](\.(0|[1-9][0-9]*))*" />
748
+ </xs:restriction>
749
+ </xs:simpleType>
750
+ <xs:simpleType name="uuid">
751
+ <xs:annotation>
752
+ <xs:documentation />
753
+ </xs:annotation>
754
+ <xs:restriction base="xs:string">
755
+ <xs:pattern value="[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}" />
756
+ </xs:restriction>
757
+ </xs:simpleType>
758
+ <xs:simpleType name="ruid">
759
+ <xs:annotation>
760
+ <xs:documentation />
761
+ </xs:annotation>
762
+ <xs:restriction base="xs:string">
763
+ <xs:pattern value="[A-Za-z][A-Za-z0-9\-]*" />
764
+ </xs:restriction>
765
+ </xs:simpleType>
766
+ <xs:complexType name="II">
767
+ <xs:annotation>
768
+ <xs:documentation>
769
+ An identifier that uniquely identifies a thing or object.
770
+ Examples are object identifier for HL7 RIM objects,
771
+ medical record number, order id, service catalog item id,
772
+ Vehicle Identification Number (VIN), etc. Instance
773
+ identifiers are defined based on ISO object identifiers.
774
+ </xs:documentation>
775
+ <!-- SDTC: Removed as per http://www.hl7.org/dstucomments/showdetail_comment.cfm?commentid=346 -->
776
+ <!--<xs:appinfo>
777
+ <sch:pattern name="validate II">
778
+ <sch:rule abstract="true" id="rule-II">
779
+ <sch:report test="(@root or @nullFlavor) and not(@root and @nullFlavor)">
780
+ A root component is required or else the II value is NULL.
781
+ </sch:report>
782
+ </sch:rule>
783
+ </sch:pattern>
784
+ </xs:appinfo>-->
785
+ </xs:annotation>
786
+ <xs:complexContent>
787
+ <xs:extension base="ANY">
788
+ <xs:attribute name="root" type="uid" use="optional">
789
+ <xs:annotation>
790
+ <xs:documentation>
791
+ A unique identifier that guarantees the global uniqueness
792
+ of the instance identifier. The root alone may be the
793
+ entire instance identifier.
794
+ </xs:documentation>
795
+ </xs:annotation>
796
+ </xs:attribute>
797
+ <xs:attribute name="extension" type="st" use="optional">
798
+ <xs:annotation>
799
+ <xs:documentation>
800
+ A character string as a unique identifier within the
801
+ scope of the identifier root.
802
+ </xs:documentation>
803
+ </xs:annotation>
804
+ </xs:attribute>
805
+ <xs:attribute name="assigningAuthorityName" type="st" use="optional">
806
+ <xs:annotation>
807
+ <xs:documentation>
808
+ A human readable name or mnemonic for the assigning
809
+ authority. This name may be provided solely for the
810
+ convenience of unaided humans interpreting an value
811
+ and can have no computational meaning. Note: no
812
+ automated processing must depend on the assigning
813
+ authority name to be present in any form.
814
+ </xs:documentation>
815
+ </xs:annotation>
816
+ </xs:attribute>
817
+ <xs:attribute name="displayable" type="bl" use="optional">
818
+ <xs:annotation>
819
+ <xs:documentation>
820
+ Specifies if the identifier is intended for human
821
+ display and data entry (displayable = true) as
822
+ opposed to pure machine interoperation (displayable
823
+ = false).
824
+ </xs:documentation>
825
+ </xs:annotation>
826
+ </xs:attribute>
827
+ </xs:extension>
828
+ </xs:complexContent>
829
+ </xs:complexType>
830
+ <xs:simpleType name="url">
831
+ <xs:annotation>
832
+ <xs:documentation>
833
+ A telecommunications address specified according to
834
+ Internet standard RFC 1738
835
+ [http://www.ietf.org/rfc/rfc1738.txt]. The
836
+ URL specifies the protocol and the contact point defined
837
+ by that protocol for the resource. Notable uses of the
838
+ telecommunication address data type are for telephone and
839
+ telefax numbers, e-mail addresses, Hypertext references,
840
+ FTP references, etc.
841
+ </xs:documentation>
842
+ </xs:annotation>
843
+ <xs:restriction base="xs:anyURI" />
844
+ </xs:simpleType>
845
+ <xs:complexType name="URL" abstract="true">
846
+ <xs:annotation>
847
+ <xs:documentation>
848
+ A telecommunications address specified according to
849
+ Internet standard RFC 1738
850
+ [http://www.ietf.org/rfc/rfc1738.txt]. The
851
+ URL specifies the protocol and the contact point defined
852
+ by that protocol for the resource. Notable uses of the
853
+ telecommunication address data type are for telephone and
854
+ telefax numbers, e-mail addresses, Hypertext references,
855
+ FTP references, etc.
856
+ </xs:documentation>
857
+ <xs:appinfo>
858
+ <sch:pattern name="validate URL">
859
+ <sch:rule abstract="true" id="rule-URL">
860
+ <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)" />
861
+ </sch:rule>
862
+ </sch:pattern>
863
+ </xs:appinfo>
864
+ </xs:annotation>
865
+ <xs:complexContent>
866
+ <xs:extension base="ANY">
867
+ <xs:attribute name="value" type="url" use="optional" />
868
+ </xs:extension>
869
+ </xs:complexContent>
870
+ </xs:complexType>
871
+ <xs:simpleType name="ts">
872
+ <xs:annotation>
873
+ <xs:documentation>
874
+ A quantity specifying a point on the axis of natural time.
875
+ A point in time is most often represented as a calendar
876
+ expression.
877
+ </xs:documentation>
878
+ </xs:annotation>
879
+ <xs:restriction base="xs:string">
880
+ <xs:pattern value="[0-9]{1,8}|([0-9]{9,14}|[0-9]{14,14}\.[0-9]+)([+\-][0-9]{1,4})?" />
881
+ </xs:restriction>
882
+ </xs:simpleType>
883
+ <xs:complexType name="TS">
884
+ <xs:annotation>
885
+ <xs:documentation>
886
+ A quantity specifying a point on the axis of natural time.
887
+ A point in time is most often represented as a calendar
888
+ expression.
889
+ </xs:documentation>
890
+ <xs:appinfo>
891
+ <diff>PQ</diff>
892
+ </xs:appinfo>
893
+ </xs:annotation>
894
+ <xs:complexContent>
895
+ <xs:extension base="QTY">
896
+ <xs:attribute name="value" use="optional" type="ts" />
897
+ </xs:extension>
898
+ </xs:complexContent>
899
+ </xs:complexType>
900
+ <xs:complexType name="TEL">
901
+ <xs:annotation>
902
+ <xs:documentation>
903
+ A telephone number (voice or fax), e-mail address, or
904
+ other locator for a resource (information or service)
905
+ mediated by telecommunication equipment. The address
906
+ is specified as a URL
907
+ qualified by time specification and use codes that help
908
+ in deciding which address to use for a given time and
909
+ purpose.
910
+ </xs:documentation>
911
+ </xs:annotation>
912
+ <xs:complexContent>
913
+ <xs:extension base="URL">
914
+ <xs:sequence>
915
+ <xs:element name="useablePeriod" minOccurs="0" maxOccurs="unbounded" type="SXCM_TS">
916
+ <xs:annotation>
917
+ <xs:documentation>
918
+ Specifies the periods of time during which the
919
+ telecommunication address can be used. For a
920
+ telephone number, this can indicate the time of day
921
+ in which the party can be reached on that telephone.
922
+ For a web address, it may specify a time range in
923
+ which the web content is promised to be available
924
+ under the given address.
925
+ </xs:documentation>
926
+ </xs:annotation>
927
+ </xs:element>
928
+ </xs:sequence>
929
+ <xs:attribute name="use" use="optional" type="set_TelecommunicationAddressUse">
930
+ <xs:annotation>
931
+ <xs:documentation>
932
+ One or more codes advising a system or user which
933
+ telecommunication address in a set of like addresses
934
+ to select for a given telecommunication need.
935
+ </xs:documentation>
936
+ </xs:annotation>
937
+ </xs:attribute>
938
+ </xs:extension>
939
+ </xs:complexContent>
940
+ </xs:complexType>
941
+ <xs:complexType name="ADXP" mixed="true">
942
+ <xs:annotation>
943
+ <xs:documentation>
944
+ A character string that may have a type-tag signifying its
945
+ role in the address. Typical parts that exist in about
946
+ every address are street, house number, or post box,
947
+ postal code, city, country but other roles may be defined
948
+ regionally, nationally, or on an enterprise level (e.g. in
949
+ military addresses). Addresses are usually broken up into
950
+ lines, which are indicated by special line-breaking
951
+ delimiter elements (e.g., DEL).
952
+ </xs:documentation>
953
+ </xs:annotation>
954
+ <xs:complexContent>
955
+ <xs:extension base="ST">
956
+ <xs:attribute name="partType" type="AddressPartType">
957
+ <xs:annotation>
958
+ <xs:documentation>
959
+ Specifies whether an address part names the street,
960
+ city, country, postal code, post box, etc. If the type
961
+ is NULL the address part is unclassified and would
962
+ simply appear on an address label as is.
963
+ </xs:documentation>
964
+ </xs:annotation>
965
+ </xs:attribute>
966
+ </xs:extension>
967
+ </xs:complexContent>
968
+ </xs:complexType>
969
+ <xs:complexType mixed="true" name="adxp.delimiter">
970
+ <xs:complexContent>
971
+ <xs:restriction base="ADXP">
972
+ <xs:attribute name="partType" type="AddressPartType" fixed="DEL" />
973
+ </xs:restriction>
974
+ </xs:complexContent>
975
+ </xs:complexType>
976
+ <xs:complexType mixed="true" name="adxp.country">
977
+ <xs:complexContent>
978
+ <xs:restriction base="ADXP">
979
+ <xs:attribute name="partType" type="AddressPartType" fixed="CNT" />
980
+ </xs:restriction>
981
+ </xs:complexContent>
982
+ </xs:complexType>
983
+ <xs:complexType mixed="true" name="adxp.state">
984
+ <xs:complexContent>
985
+ <xs:restriction base="ADXP">
986
+ <xs:attribute name="partType" type="AddressPartType" fixed="STA" />
987
+ </xs:restriction>
988
+ </xs:complexContent>
989
+ </xs:complexType>
990
+ <xs:complexType mixed="true" name="adxp.county">
991
+ <xs:complexContent>
992
+ <xs:restriction base="ADXP">
993
+ <xs:attribute name="partType" type="AddressPartType" fixed="CPA" />
994
+ </xs:restriction>
995
+ </xs:complexContent>
996
+ </xs:complexType>
997
+ <xs:complexType mixed="true" name="adxp.city">
998
+ <xs:complexContent>
999
+ <xs:restriction base="ADXP">
1000
+ <xs:attribute name="partType" type="AddressPartType" fixed="CTY" />
1001
+ </xs:restriction>
1002
+ </xs:complexContent>
1003
+ </xs:complexType>
1004
+ <xs:complexType mixed="true" name="adxp.postalCode">
1005
+ <xs:complexContent>
1006
+ <xs:restriction base="ADXP">
1007
+ <xs:attribute name="partType" type="AddressPartType" fixed="ZIP" />
1008
+ </xs:restriction>
1009
+ </xs:complexContent>
1010
+ </xs:complexType>
1011
+ <xs:complexType mixed="true" name="adxp.streetAddressLine">
1012
+ <xs:complexContent>
1013
+ <xs:restriction base="ADXP">
1014
+ <xs:attribute name="partType" type="AddressPartType" fixed="SAL" />
1015
+ </xs:restriction>
1016
+ </xs:complexContent>
1017
+ </xs:complexType>
1018
+ <xs:complexType mixed="true" name="adxp.houseNumber">
1019
+ <xs:complexContent>
1020
+ <xs:restriction base="ADXP">
1021
+ <xs:attribute name="partType" type="AddressPartType" fixed="BNR" />
1022
+ </xs:restriction>
1023
+ </xs:complexContent>
1024
+ </xs:complexType>
1025
+ <xs:complexType mixed="true" name="adxp.houseNumberNumeric">
1026
+ <xs:complexContent>
1027
+ <xs:restriction base="ADXP">
1028
+ <xs:attribute name="partType" type="AddressPartType" fixed="BNN" />
1029
+ </xs:restriction>
1030
+ </xs:complexContent>
1031
+ </xs:complexType>
1032
+ <xs:complexType mixed="true" name="adxp.direction">
1033
+ <xs:complexContent>
1034
+ <xs:restriction base="ADXP">
1035
+ <xs:attribute name="partType" type="AddressPartType" fixed="DIR" />
1036
+ </xs:restriction>
1037
+ </xs:complexContent>
1038
+ </xs:complexType>
1039
+ <xs:complexType mixed="true" name="adxp.streetName">
1040
+ <xs:complexContent>
1041
+ <xs:restriction base="ADXP">
1042
+ <xs:attribute name="partType" type="AddressPartType" fixed="STR" />
1043
+ </xs:restriction>
1044
+ </xs:complexContent>
1045
+ </xs:complexType>
1046
+ <xs:complexType mixed="true" name="adxp.streetNameBase">
1047
+ <xs:complexContent>
1048
+ <xs:restriction base="ADXP">
1049
+ <xs:attribute name="partType" type="AddressPartType" fixed="STB" />
1050
+ </xs:restriction>
1051
+ </xs:complexContent>
1052
+ </xs:complexType>
1053
+ <!--
1054
+ jaxb implementors note: the jaxb code generator (v1.0.?) will
1055
+ fail to append "Type" to streetNameType so that there will be
1056
+ duplicate definitions in the java source for streetNameType.
1057
+ You will have to fix this manually.
1058
+ -->
1059
+ <xs:complexType mixed="true" name="adxp.streetNameType">
1060
+ <xs:complexContent>
1061
+ <xs:restriction base="ADXP">
1062
+ <xs:attribute name="partType" type="AddressPartType" fixed="STTYP" />
1063
+ </xs:restriction>
1064
+ </xs:complexContent>
1065
+ </xs:complexType>
1066
+ <xs:complexType mixed="true" name="adxp.additionalLocator">
1067
+ <xs:complexContent>
1068
+ <xs:restriction base="ADXP">
1069
+ <xs:attribute name="partType" type="AddressPartType" fixed="ADL" />
1070
+ </xs:restriction>
1071
+ </xs:complexContent>
1072
+ </xs:complexType>
1073
+ <xs:complexType mixed="true" name="adxp.unitID">
1074
+ <xs:complexContent>
1075
+ <xs:restriction base="ADXP">
1076
+ <xs:attribute name="partType" type="AddressPartType" fixed="UNID" />
1077
+ </xs:restriction>
1078
+ </xs:complexContent>
1079
+ </xs:complexType>
1080
+ <xs:complexType mixed="true" name="adxp.unitType">
1081
+ <xs:complexContent>
1082
+ <xs:restriction base="ADXP">
1083
+ <xs:attribute name="partType" type="AddressPartType" fixed="UNIT" />
1084
+ </xs:restriction>
1085
+ </xs:complexContent>
1086
+ </xs:complexType>
1087
+ <xs:complexType mixed="true" name="adxp.careOf">
1088
+ <xs:complexContent>
1089
+ <xs:restriction base="ADXP">
1090
+ <xs:attribute name="partType" type="AddressPartType" fixed="CAR" />
1091
+ </xs:restriction>
1092
+ </xs:complexContent>
1093
+ </xs:complexType>
1094
+ <xs:complexType mixed="true" name="adxp.censusTract">
1095
+ <xs:complexContent>
1096
+ <xs:restriction base="ADXP">
1097
+ <xs:attribute name="partType" type="AddressPartType" fixed="CEN" />
1098
+ </xs:restriction>
1099
+ </xs:complexContent>
1100
+ </xs:complexType>
1101
+ <xs:complexType mixed="true" name="adxp.deliveryAddressLine">
1102
+ <xs:complexContent>
1103
+ <xs:restriction base="ADXP">
1104
+ <xs:attribute name="partType" type="AddressPartType" fixed="DAL" />
1105
+ </xs:restriction>
1106
+ </xs:complexContent>
1107
+ </xs:complexType>
1108
+ <xs:complexType mixed="true" name="adxp.deliveryInstallationType">
1109
+ <xs:complexContent>
1110
+ <xs:restriction base="ADXP">
1111
+ <xs:attribute name="partType" type="AddressPartType" fixed="DINST" />
1112
+ </xs:restriction>
1113
+ </xs:complexContent>
1114
+ </xs:complexType>
1115
+ <xs:complexType mixed="true" name="adxp.deliveryInstallationArea">
1116
+ <xs:complexContent>
1117
+ <xs:restriction base="ADXP">
1118
+ <xs:attribute name="partType" type="AddressPartType" fixed="DINSTA" />
1119
+ </xs:restriction>
1120
+ </xs:complexContent>
1121
+ </xs:complexType>
1122
+ <xs:complexType mixed="true" name="adxp.deliveryInstallationQualifier">
1123
+ <xs:complexContent>
1124
+ <xs:restriction base="ADXP">
1125
+ <xs:attribute name="partType" type="AddressPartType" fixed="DINSTQ" />
1126
+ </xs:restriction>
1127
+ </xs:complexContent>
1128
+ </xs:complexType>
1129
+ <xs:complexType mixed="true" name="adxp.deliveryMode">
1130
+ <xs:complexContent>
1131
+ <xs:restriction base="ADXP">
1132
+ <xs:attribute name="partType" type="AddressPartType" fixed="DMOD" />
1133
+ </xs:restriction>
1134
+ </xs:complexContent>
1135
+ </xs:complexType>
1136
+ <xs:complexType mixed="true" name="adxp.deliveryModeIdentifier">
1137
+ <xs:complexContent>
1138
+ <xs:restriction base="ADXP">
1139
+ <xs:attribute name="partType" type="AddressPartType" fixed="DMODID" />
1140
+ </xs:restriction>
1141
+ </xs:complexContent>
1142
+ </xs:complexType>
1143
+ <xs:complexType mixed="true" name="adxp.buildingNumberSuffix">
1144
+ <xs:complexContent>
1145
+ <xs:restriction base="ADXP">
1146
+ <xs:attribute name="partType" type="AddressPartType" fixed="BNS" />
1147
+ </xs:restriction>
1148
+ </xs:complexContent>
1149
+ </xs:complexType>
1150
+ <xs:complexType mixed="true" name="adxp.postBox">
1151
+ <xs:complexContent>
1152
+ <xs:restriction base="ADXP">
1153
+ <xs:attribute name="partType" type="AddressPartType" fixed="POB" />
1154
+ </xs:restriction>
1155
+ </xs:complexContent>
1156
+ </xs:complexType>
1157
+ <xs:complexType mixed="true" name="adxp.precinct">
1158
+ <xs:complexContent>
1159
+ <xs:restriction base="ADXP">
1160
+ <xs:attribute name="partType" type="AddressPartType" fixed="PRE" />
1161
+ </xs:restriction>
1162
+ </xs:complexContent>
1163
+ </xs:complexType>
1164
+ <xs:complexType name="AD" mixed="true">
1165
+ <xs:annotation>
1166
+ <xs:documentation>
1167
+ Mailing and home or office addresses. A sequence of
1168
+ address parts, such as street or post office Box, city,
1169
+ postal code, country, etc.
1170
+ </xs:documentation>
1171
+ </xs:annotation>
1172
+ <xs:complexContent>
1173
+ <xs:extension base="ANY">
1174
+ <xs:sequence>
1175
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1176
+ <xs:element name="delimiter" type="adxp.delimiter" />
1177
+ <xs:element name="country" type="adxp.country" />
1178
+ <xs:element name="state" type="adxp.state" />
1179
+ <xs:element name="county" type="adxp.county" />
1180
+ <xs:element name="city" type="adxp.city" />
1181
+ <xs:element name="postalCode" type="adxp.postalCode" />
1182
+ <xs:element name="streetAddressLine" type="adxp.streetAddressLine" />
1183
+ <xs:element name="houseNumber" type="adxp.houseNumber" />
1184
+ <xs:element name="houseNumberNumeric" type="adxp.houseNumberNumeric" />
1185
+ <xs:element name="direction" type="adxp.direction" />
1186
+ <xs:element name="streetName" type="adxp.streetName" />
1187
+ <xs:element name="streetNameBase" type="adxp.streetNameBase" />
1188
+ <xs:element name="streetNameType" type="adxp.streetNameType" />
1189
+ <xs:element name="additionalLocator" type="adxp.additionalLocator" />
1190
+ <xs:element name="unitID" type="adxp.unitID" />
1191
+ <xs:element name="unitType" type="adxp.unitType" />
1192
+ <xs:element name="careOf" type="adxp.careOf" />
1193
+ <xs:element name="censusTract" type="adxp.censusTract" />
1194
+ <xs:element name="deliveryAddressLine" type="adxp.deliveryAddressLine" />
1195
+ <xs:element name="deliveryInstallationType" type="adxp.deliveryInstallationType" />
1196
+ <xs:element name="deliveryInstallationArea" type="adxp.deliveryInstallationArea" />
1197
+ <xs:element name="deliveryInstallationQualifier" type="adxp.deliveryInstallationQualifier" />
1198
+ <xs:element name="deliveryMode" type="adxp.deliveryMode" />
1199
+ <xs:element name="deliveryModeIdentifier" type="adxp.deliveryModeIdentifier" />
1200
+ <xs:element name="buildingNumberSuffix" type="adxp.buildingNumberSuffix" />
1201
+ <xs:element name="postBox" type="adxp.postBox" />
1202
+ <xs:element name="precinct" type="adxp.precinct" />
1203
+ </xs:choice>
1204
+ <xs:element name="useablePeriod" minOccurs="0" maxOccurs="unbounded" type="SXCM_TS">
1205
+ <xs:annotation>
1206
+ <xs:documentation>
1207
+ A GTS specifying the
1208
+ periods of time during which the address can be used.
1209
+ This is used to specify different addresses for
1210
+ different times of the year or to refer to historical
1211
+ addresses.
1212
+ </xs:documentation>
1213
+ </xs:annotation>
1214
+ </xs:element>
1215
+ </xs:sequence>
1216
+ <xs:attribute name="use" use="optional" type="set_PostalAddressUse">
1217
+ <xs:annotation>
1218
+ <xs:documentation>
1219
+ A set of codes advising a system or user which address
1220
+ in a set of like addresses to select for a given purpose.
1221
+ </xs:documentation>
1222
+ </xs:annotation>
1223
+ </xs:attribute>
1224
+ <xs:attribute name="isNotOrdered" type="bl" use="optional">
1225
+ <xs:annotation>
1226
+ <xs:documentation>
1227
+ A boolean value specifying whether the order of the
1228
+ address parts is known or not. While the address parts
1229
+ are always a Sequence, the order in which they are
1230
+ presented may or may not be known. Where this matters,
1231
+ can be used to convey this
1232
+ information.
1233
+ </xs:documentation>
1234
+ </xs:annotation>
1235
+ </xs:attribute>
1236
+ </xs:extension>
1237
+ </xs:complexContent>
1238
+ </xs:complexType>
1239
+ <xs:complexType name="ENXP" mixed="true">
1240
+ <xs:annotation>
1241
+ <xs:documentation>
1242
+ A character string token representing a part of a name.
1243
+ May have a type code signifying the role of the part in
1244
+ the whole entity name, and a qualifier code for more detail
1245
+ about the name part type. Typical name parts for person
1246
+ names are given names, and family names, titles, etc.
1247
+ </xs:documentation>
1248
+ </xs:annotation>
1249
+ <xs:complexContent>
1250
+ <xs:extension base="ST">
1251
+ <xs:attribute name="partType" type="EntityNamePartType">
1252
+ <xs:annotation>
1253
+ <xs:documentation>
1254
+ Indicates whether the name part is a given name, family
1255
+ name, prefix, suffix, etc.
1256
+ </xs:documentation>
1257
+ </xs:annotation>
1258
+ </xs:attribute>
1259
+ <xs:attribute name="qualifier" use="optional" type="set_EntityNamePartQualifier">
1260
+ <xs:annotation>
1261
+ <xs:documentation> is a set of codes each of which specifies
1262
+ a certain subcategory of the name part in addition to
1263
+ the main name part type. For example, a given name may
1264
+ be flagged as a nickname, a family name may be a
1265
+ pseudonym or a name of public records.
1266
+ </xs:documentation>
1267
+ </xs:annotation>
1268
+ </xs:attribute>
1269
+ </xs:extension>
1270
+ </xs:complexContent>
1271
+ </xs:complexType>
1272
+ <xs:complexType name="en.delimiter" mixed="true">
1273
+ <xs:complexContent>
1274
+ <xs:restriction base="ENXP">
1275
+ <xs:attribute name="partType" type="EntityNamePartType" fixed="DEL" />
1276
+ </xs:restriction>
1277
+ </xs:complexContent>
1278
+ </xs:complexType>
1279
+ <xs:complexType name="en.family" mixed="true">
1280
+ <xs:complexContent>
1281
+ <xs:restriction base="ENXP">
1282
+ <xs:attribute name="partType" type="EntityNamePartType" fixed="FAM" />
1283
+ </xs:restriction>
1284
+ </xs:complexContent>
1285
+ </xs:complexType>
1286
+ <xs:complexType name="en.given" mixed="true">
1287
+ <xs:complexContent>
1288
+ <xs:restriction base="ENXP">
1289
+ <xs:attribute name="partType" type="EntityNamePartType" fixed="GIV" />
1290
+ </xs:restriction>
1291
+ </xs:complexContent>
1292
+ </xs:complexType>
1293
+ <xs:complexType name="en.prefix" mixed="true">
1294
+ <xs:complexContent>
1295
+ <xs:restriction base="ENXP">
1296
+ <xs:attribute name="partType" type="EntityNamePartType" fixed="PFX" />
1297
+ </xs:restriction>
1298
+ </xs:complexContent>
1299
+ </xs:complexType>
1300
+ <xs:complexType name="en.suffix" mixed="true">
1301
+ <xs:complexContent>
1302
+ <xs:restriction base="ENXP">
1303
+ <xs:attribute name="partType" type="EntityNamePartType" fixed="SFX" />
1304
+ </xs:restriction>
1305
+ </xs:complexContent>
1306
+ </xs:complexType>
1307
+ <xs:complexType name="EN" mixed="true">
1308
+ <xs:annotation>
1309
+ <xs:documentation>
1310
+ A name for a person, organization, place or thing. A
1311
+ sequence of name parts, such as given name or family
1312
+ name, prefix, suffix, etc. Examples for entity name
1313
+ values are "Jim Bob Walton, Jr.", "Health Level Seven,
1314
+ Inc.", "Lake Tahoe", etc. An entity name may be as simple
1315
+ as a character string or may consist of several entity name
1316
+ parts, such as, "Jim", "Bob", "Walton", and "Jr.", "Health
1317
+ Level Seven" and "Inc.", "Lake" and "Tahoe".
1318
+ </xs:documentation>
1319
+ </xs:annotation>
1320
+ <xs:complexContent>
1321
+ <xs:extension base="ANY">
1322
+ <xs:sequence>
1323
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1324
+ <xs:element name="delimiter" type="en.delimiter" />
1325
+ <xs:element name="family" type="en.family" />
1326
+ <xs:element name="given" type="en.given" />
1327
+ <xs:element name="prefix" type="en.prefix" />
1328
+ <xs:element name="suffix" type="en.suffix" />
1329
+ </xs:choice>
1330
+ <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
1331
+ <xs:annotation>
1332
+ <xs:documentation>
1333
+ An interval of time specifying the time during which
1334
+ the name is or was used for the entity. This
1335
+ accomodates the fact that people change names for
1336
+ people, places and things.
1337
+ </xs:documentation>
1338
+ </xs:annotation>
1339
+ </xs:element>
1340
+ </xs:sequence>
1341
+ <xs:attribute name="use" use="optional" type="set_EntityNameUse">
1342
+ <xs:annotation>
1343
+ <xs:documentation>
1344
+ A set of codes advising a system or user which name
1345
+ in a set of like names to select for a given purpose.
1346
+ A name without specific use code might be a default
1347
+ name useful for any purpose, but a name with a specific
1348
+ use code would be preferred for that respective purpose.
1349
+ </xs:documentation>
1350
+ </xs:annotation>
1351
+ </xs:attribute>
1352
+ </xs:extension>
1353
+ </xs:complexContent>
1354
+ </xs:complexType>
1355
+ <xs:complexType name="PN" mixed="true">
1356
+ <xs:annotation>
1357
+ <xs:documentation>
1358
+ A name for a person. A sequence of name parts, such as
1359
+ given name or family name, prefix, suffix, etc. PN differs
1360
+ from EN because the qualifier type cannot include LS
1361
+ (Legal Status).
1362
+ </xs:documentation>
1363
+ </xs:annotation>
1364
+ <xs:complexContent>
1365
+ <xs:extension base="EN" />
1366
+ </xs:complexContent>
1367
+ </xs:complexType>
1368
+ <xs:complexType name="ON" mixed="true">
1369
+ <xs:annotation>
1370
+ <xs:documentation>
1371
+ A name for an organization. A sequence of name parts.
1372
+ </xs:documentation>
1373
+ </xs:annotation>
1374
+ <xs:complexContent>
1375
+ <xs:restriction base="EN">
1376
+ <xs:sequence>
1377
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
1378
+ <xs:element name="delimiter" type="en.delimiter" />
1379
+ <xs:element name="prefix" type="en.prefix" />
1380
+ <xs:element name="suffix" type="en.suffix" />
1381
+ </xs:choice>
1382
+ <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
1383
+ <xs:annotation>
1384
+ <xs:documentation>
1385
+ An interval of time specifying the time during which
1386
+ the name is or was used for the entity. This
1387
+ accomodates the fact that people change names for
1388
+ people, places and things.
1389
+ </xs:documentation>
1390
+ </xs:annotation>
1391
+ </xs:element>
1392
+ </xs:sequence>
1393
+ <xs:attribute name="use" use="optional" type="set_EntityNameUse">
1394
+ <xs:annotation>
1395
+ <xs:documentation>
1396
+ A set of codes advising a system or user which name
1397
+ in a set of like names to select for a given purpose.
1398
+ A name without specific use code might be a default
1399
+ name useful for any purpose, but a name with a specific
1400
+ use code would be preferred for that respective purpose.
1401
+ </xs:documentation>
1402
+ </xs:annotation>
1403
+ </xs:attribute>
1404
+ </xs:restriction>
1405
+ </xs:complexContent>
1406
+ </xs:complexType>
1407
+ <xs:complexType name="TN" mixed="true">
1408
+ <xs:annotation>
1409
+ <xs:documentation>
1410
+ A restriction of entity name that is effectively a simple string used
1411
+ for a simple name for things and places.
1412
+ </xs:documentation>
1413
+ </xs:annotation>
1414
+ <xs:complexContent>
1415
+ <xs:restriction base="EN">
1416
+ <xs:sequence>
1417
+ <xs:element name="validTime" minOccurs="0" maxOccurs="1" type="IVL_TS">
1418
+ <xs:annotation>
1419
+ <xs:documentation>
1420
+ An interval of time specifying the time during which
1421
+ the name is or was used for the entity. This
1422
+ accomodates the fact that people change names for
1423
+ people, places and things.
1424
+ </xs:documentation>
1425
+ </xs:annotation>
1426
+ </xs:element>
1427
+ </xs:sequence>
1428
+ </xs:restriction>
1429
+ </xs:complexContent>
1430
+ </xs:complexType>
1431
+ <xs:complexType name="QTY" abstract="true">
1432
+ <xs:annotation>
1433
+ <xs:documentation> is an abstract generalization
1434
+ for all data types (1) whose value set has an order
1435
+ relation (less-or-equal) and (2) where difference is
1436
+ defined in all of the data type's totally ordered value
1437
+ subsets. The quantity type abstraction is needed in
1438
+ defining certain other types, such as the interval and
1439
+ the probability distribution.
1440
+ </xs:documentation>
1441
+ <xs:appinfo>
1442
+ <diff>QTY</diff>
1443
+ </xs:appinfo>
1444
+ </xs:annotation>
1445
+ <xs:complexContent>
1446
+ <xs:extension base="ANY" />
1447
+ </xs:complexContent>
1448
+ </xs:complexType>
1449
+ <xs:simpleType name="int">
1450
+ <xs:annotation>
1451
+ <xs:documentation>
1452
+ Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise
1453
+ numbers that are results of counting and enumerating.
1454
+ Integer numbers are discrete, the set of integers is
1455
+ infinite but countable. No arbitrary limit is imposed on
1456
+ the range of integer numbers. Two NULL flavors are
1457
+ defined for the positive and negative infinity.
1458
+ </xs:documentation>
1459
+ </xs:annotation>
1460
+ <xs:restriction base="xs:integer" />
1461
+ </xs:simpleType>
1462
+ <xs:complexType name="INT">
1463
+ <xs:annotation>
1464
+ <xs:documentation>
1465
+ Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise
1466
+ numbers that are results of counting and enumerating.
1467
+ Integer numbers are discrete, the set of integers is
1468
+ infinite but countable. No arbitrary limit is imposed on
1469
+ the range of integer numbers. Two NULL flavors are
1470
+ defined for the positive and negative infinity.
1471
+ </xs:documentation>
1472
+ <xs:appinfo>
1473
+ <diff>INT</diff>
1474
+ <sch:pattern name="validate INT">
1475
+ <sch:rule abstract="true" id="rule-INT">
1476
+ <sch:report test="(@value or @nullFlavor) and not(@value and @nullFlavor)" />
1477
+ </sch:rule>
1478
+ </sch:pattern>
1479
+ </xs:appinfo>
1480
+ </xs:annotation>
1481
+ <xs:complexContent>
1482
+ <xs:extension base="QTY">
1483
+ <xs:attribute name="value" use="optional" type="int" />
1484
+ </xs:extension>
1485
+ </xs:complexContent>
1486
+ </xs:complexType>
1487
+ <xs:simpleType name="real">
1488
+ <xs:annotation>
1489
+ <xs:documentation>
1490
+ Fractional numbers. Typically used whenever quantities
1491
+ are measured, estimated, or computed from other real
1492
+ numbers. The typical representation is decimal, where
1493
+ the number of significant decimal digits is known as the
1494
+ precision. Real numbers are needed beyond integers
1495
+ whenever quantities of the real world are measured,
1496
+ estimated, or computed from other real numbers. The term
1497
+ "Real number" in this specification is used to mean
1498
+ that fractional values are covered without necessarily
1499
+ implying the full set of the mathematical real numbers.
1500
+ </xs:documentation>
1501
+ </xs:annotation>
1502
+ <xs:union memberTypes="xs:decimal xs:double" />
1503
+ </xs:simpleType>
1504
+ <xs:complexType name="REAL">
1505
+ <xs:annotation>
1506
+ <xs:documentation>
1507
+ Fractional numbers. Typically used whenever quantities
1508
+ are measured, estimated, or computed from other real
1509
+ numbers. The typical representation is decimal, where
1510
+ the number of significant decimal digits is known as the
1511
+ precision. Real numbers are needed beyond integers
1512
+ whenever quantities of the real world are measured,
1513
+ estimated, or computed from other real numbers. The term
1514
+ "Real number" in this specification is used to mean
1515
+ that fractional values are covered without necessarily
1516
+ implying the full set of the mathematical real numbers.
1517
+ </xs:documentation>
1518
+ <xs:appinfo>
1519
+ <diff>REAL</diff>
1520
+ <sch:pattern name="validate REAL">
1521
+ <sch:rule abstract="true" id="rule-REAL">
1522
+ <sch:report test="(@nullFlavor or @value) and not(@nullFlavor and @value)" />
1523
+ </sch:rule>
1524
+ </sch:pattern>
1525
+ </xs:appinfo>
1526
+ </xs:annotation>
1527
+ <xs:complexContent>
1528
+ <xs:extension base="QTY">
1529
+ <xs:attribute name="value" use="optional" type="real" />
1530
+ </xs:extension>
1531
+ </xs:complexContent>
1532
+ </xs:complexType>
1533
+ <xs:complexType name="PQR">
1534
+ <xs:annotation>
1535
+ <xs:documentation>
1536
+ A representation of a physical quantity in a unit from
1537
+ any code system. Used to show alternative representation
1538
+ for a physical quantity.
1539
+ </xs:documentation>
1540
+ </xs:annotation>
1541
+ <xs:complexContent>
1542
+ <xs:extension base="CV">
1543
+ <xs:attribute name="value" type="real" use="optional">
1544
+ <xs:annotation>
1545
+ <xs:documentation>
1546
+ The magnitude of the measurement value in terms of
1547
+ the unit specified in the code.
1548
+ </xs:documentation>
1549
+ </xs:annotation>
1550
+ </xs:attribute>
1551
+ </xs:extension>
1552
+ </xs:complexContent>
1553
+ </xs:complexType>
1554
+ <xs:complexType name="PQ">
1555
+ <xs:annotation>
1556
+ <xs:documentation>
1557
+ A dimensioned quantity expressing the result of a
1558
+ measurement act.
1559
+ </xs:documentation>
1560
+ <xs:appinfo>
1561
+ <diff>PQ</diff>
1562
+ </xs:appinfo>
1563
+ </xs:annotation>
1564
+ <xs:complexContent>
1565
+ <xs:extension base="QTY">
1566
+ <xs:sequence>
1567
+ <xs:element name="translation" type="PQR" minOccurs="0" maxOccurs="unbounded">
1568
+ <xs:annotation>
1569
+ <xs:documentation>
1570
+ An alternative representation of the same physical
1571
+ quantity expressed in a different unit, of a different
1572
+ unit code system and possibly with a different value.
1573
+ </xs:documentation>
1574
+ </xs:annotation>
1575
+ </xs:element>
1576
+ </xs:sequence>
1577
+ <xs:attribute name="value" type="real" use="optional">
1578
+ <xs:annotation>
1579
+ <xs:documentation>
1580
+ The magnitude of the quantity measured in terms of
1581
+ the unit.
1582
+ </xs:documentation>
1583
+ </xs:annotation>
1584
+ </xs:attribute>
1585
+ <xs:attribute name="unit" type="cs" use="optional" default="1">
1586
+ <xs:annotation>
1587
+ <xs:documentation>
1588
+ The unit of measure specified in the Unified Code for
1589
+ Units of Measure (UCUM)
1590
+ [http://aurora.rg.iupui.edu/UCUM].
1591
+ </xs:documentation>
1592
+ </xs:annotation>
1593
+ </xs:attribute>
1594
+ </xs:extension>
1595
+ </xs:complexContent>
1596
+ </xs:complexType>
1597
+ <xs:complexType name="MO">
1598
+ <xs:annotation>
1599
+ <xs:documentation>
1600
+ A monetary amount is a quantity expressing the amount of
1601
+ money in some currency. Currencies are the units in which
1602
+ monetary amounts are denominated in different economic
1603
+ regions. While the monetary amount is a single kind of
1604
+ quantity (money) the exchange rates between the different
1605
+ units are variable. This is the principle difference
1606
+ between physical quantity and monetary amounts, and the
1607
+ reason why currency units are not physical units.
1608
+ </xs:documentation>
1609
+ <xs:appinfo>
1610
+ <diff>MO</diff>
1611
+ <sch:pattern name="validate MO">
1612
+ <sch:rule abstract="true" id="rule-MO">
1613
+ <sch:report test="not(@nullFlavor and (@value or @currency))" />
1614
+ </sch:rule>
1615
+ </sch:pattern>
1616
+ </xs:appinfo>
1617
+ </xs:annotation>
1618
+ <xs:complexContent>
1619
+ <xs:extension base="QTY">
1620
+ <xs:attribute name="value" type="real" use="optional">
1621
+ <xs:annotation>
1622
+ <xs:documentation>
1623
+ The magnitude of the monetary amount in terms of the
1624
+ currency unit.
1625
+ </xs:documentation>
1626
+ </xs:annotation>
1627
+ </xs:attribute>
1628
+ <xs:attribute name="currency" type="cs" use="optional">
1629
+ <xs:annotation>
1630
+ <xs:documentation>
1631
+ The currency unit as defined in ISO 4217.
1632
+ </xs:documentation>
1633
+ </xs:annotation>
1634
+ </xs:attribute>
1635
+ </xs:extension>
1636
+ </xs:complexContent>
1637
+ </xs:complexType>
1638
+ <xs:complexType name="RTO">
1639
+ <xs:annotation>
1640
+ <xs:documentation>
1641
+ A quantity constructed as the quotient of a numerator
1642
+ quantity divided by a denominator quantity. Common
1643
+ factors in the numerator and denominator are not
1644
+ automatically cancelled out. supports titers
1645
+ (e.g., "1:128") and other quantities produced by
1646
+ laboratories that truly represent ratios. Ratios are
1647
+ not simply "structured numerics", particularly blood
1648
+ pressure measurements (e.g. "120/60") are not ratios.
1649
+ In many cases REAL should be used instead
1650
+ of .
1651
+ </xs:documentation>
1652
+ </xs:annotation>
1653
+ <xs:complexContent>
1654
+ <xs:extension base="RTO_QTY_QTY" />
1655
+ </xs:complexContent>
1656
+ </xs:complexType>
1657
+ <xs:simpleType name="probability">
1658
+ <xs:annotation>
1659
+ <xs:documentation>
1660
+ The probability assigned to the value, a decimal number
1661
+ between 0 (very uncertain) and 1 (certain).
1662
+ </xs:documentation>
1663
+ </xs:annotation>
1664
+ <xs:restriction base="xs:double">
1665
+ <xs:minInclusive value="0.0" />
1666
+ <xs:maxInclusive value="1.0" />
1667
+ </xs:restriction>
1668
+ </xs:simpleType>
1669
+ <xs:complexType name="EIVL.event">
1670
+ <xs:annotation>
1671
+ <xs:documentation>
1672
+ A code for a common (periodical) activity of daily
1673
+ living based on which the event related periodic
1674
+ interval is specified.
1675
+ </xs:documentation>
1676
+ </xs:annotation>
1677
+ <xs:complexContent>
1678
+ <xs:restriction base="CE">
1679
+ <xs:attribute name="code" type="TimingEvent" use="optional" />
1680
+ <xs:attribute name="codeSystem" type="uid" fixed="2.16.840.1.113883.5.139" />
1681
+ <xs:attribute name="codeSystemName" type="st" fixed="TimingEvent" />
1682
+ </xs:restriction>
1683
+ </xs:complexContent>
1684
+ </xs:complexType>
1685
+ <!--
1686
+ Instantiated templates
1687
+ -->
1688
+ <xs:complexType name="SXCM_TS">
1689
+ <xs:complexContent>
1690
+ <xs:extension base="TS">
1691
+ <xs:attribute name="operator" type="SetOperator" use="optional" default="I">
1692
+ <xs:annotation>
1693
+ <xs:documentation>
1694
+ A code specifying whether the set component is included
1695
+ (union) or excluded (set-difference) from the set, or
1696
+ other set operations with the current set component and
1697
+ the set as constructed from the representation stream
1698
+ up to the current point.
1699
+ </xs:documentation>
1700
+ </xs:annotation>
1701
+ </xs:attribute>
1702
+ </xs:extension>
1703
+ </xs:complexContent>
1704
+ </xs:complexType>
1705
+ <xs:simpleType name="set_TelecommunicationAddressUse">
1706
+ <xs:list itemType="TelecommunicationAddressUse" />
1707
+ </xs:simpleType>
1708
+ <xs:simpleType name="set_PostalAddressUse">
1709
+ <xs:list itemType="PostalAddressUse" />
1710
+ </xs:simpleType>
1711
+ <xs:simpleType name="set_EntityNamePartQualifier">
1712
+ <xs:list itemType="EntityNamePartQualifier" />
1713
+ </xs:simpleType>
1714
+ <xs:complexType name="IVL_TS">
1715
+ <xs:complexContent>
1716
+ <xs:extension base="SXCM_TS">
1717
+ <xs:choice minOccurs="0">
1718
+ <xs:sequence>
1719
+ <xs:element name="low" minOccurs="1" maxOccurs="1" type="IVXB_TS">
1720
+ <xs:annotation>
1721
+ <xs:documentation>
1722
+ The low limit of the interval.
1723
+ </xs:documentation>
1724
+ </xs:annotation>
1725
+ </xs:element>
1726
+ <xs:choice minOccurs="0">
1727
+ <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
1728
+ <xs:annotation>
1729
+ <xs:documentation>
1730
+ The difference between high and low boundary. The
1731
+ purpose of distinguishing a width property is to
1732
+ handle all cases of incomplete information
1733
+ symmetrically. In any interval representation only
1734
+ two of the three properties high, low, and width need
1735
+ to be stated and the third can be derived.
1736
+ </xs:documentation>
1737
+ </xs:annotation>
1738
+ </xs:element>
1739
+ <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_TS">
1740
+ <xs:annotation>
1741
+ <xs:documentation>
1742
+ The high limit of the interval.
1743
+ </xs:documentation>
1744
+ </xs:annotation>
1745
+ </xs:element>
1746
+ </xs:choice>
1747
+ </xs:sequence>
1748
+ <xs:element name="high" minOccurs="1" maxOccurs="1" type="IVXB_TS">
1749
+ <xs:annotation>
1750
+ <xs:documentation />
1751
+ </xs:annotation>
1752
+ </xs:element>
1753
+ <xs:sequence>
1754
+ <xs:element name="width" minOccurs="1" maxOccurs="1" type="PQ">
1755
+ <xs:annotation>
1756
+ <xs:documentation>
1757
+ The difference between high and low boundary. The
1758
+ purpose of distinguishing a width property is to
1759
+ handle all cases of incomplete information
1760
+ symmetrically. In any interval representation only
1761
+ two of the three properties high, low, and width need
1762
+ to be stated and the third can be derived.
1763
+ </xs:documentation>
1764
+ </xs:annotation>
1765
+ </xs:element>
1766
+ <xs:element name="high" minOccurs="0" maxOccurs="1" type="IVXB_TS">
1767
+ <xs:annotation>
1768
+ <xs:documentation>
1769
+ The high limit of the interval.
1770
+ </xs:documentation>
1771
+ </xs:annotation>
1772
+ </xs:element>
1773
+ </xs:sequence>
1774
+ <xs:sequence>
1775
+ <xs:element name="center" minOccurs="1" maxOccurs="1" type="TS">
1776
+ <xs:annotation>
1777
+ <xs:documentation>
1778
+ The arithmetic mean of the interval (low plus high
1779
+ divided by 2). The purpose of distinguishing the center
1780
+ as a semantic property is for conversions of intervals
1781
+ from and to point values.
1782
+ </xs:documentation>
1783
+ </xs:annotation>
1784
+ </xs:element>
1785
+ <xs:element name="width" minOccurs="0" maxOccurs="1" type="PQ">
1786
+ <xs:annotation>
1787
+ <xs:documentation>
1788
+ The difference between high and low boundary. The
1789
+ purpose of distinguishing a width property is to
1790
+ handle all cases of incomplete information
1791
+ symmetrically. In any interval representation only
1792
+ two of the three properties high, low, and width need
1793
+ to be stated and the third can be derived.
1794
+ </xs:documentation>
1795
+ </xs:annotation>
1796
+ </xs:element>
1797
+ </xs:sequence>
1798
+ </xs:choice>
1799
+ </xs:extension>
1800
+ </xs:complexContent>
1801
+ </xs:complexType>
1802
+ <xs:complexType name="IVXB_TS">
1803
+ <xs:complexContent>
1804
+ <xs:extension base="TS">
1805
+ <xs:attribute name="inclusive" type="bl" use="optional" default="true">
1806
+ <xs:annotation>
1807
+ <xs:documentation>
1808
+ Specifies whether the limit is included in the
1809
+ interval (interval is closed) or excluded from the
1810
+ interval (interval is open).
1811
+ </xs:documentation>
1812
+ </xs:annotation>
1813
+ </xs:attribute>
1814
+ </xs:extension>
1815
+ </xs:complexContent>
1816
+ </xs:complexType>
1817
+ <xs:simpleType name="set_EntityNameUse">
1818
+ <xs:list itemType="EntityNameUse" />
1819
+ </xs:simpleType>
1820
+ <xs:complexType name="RTO_QTY_QTY">
1821
+ <xs:annotation>
1822
+ <xs:appinfo>
1823
+ <diff>RTO_QTY_QTY</diff>
1824
+ </xs:appinfo>
1825
+ </xs:annotation>
1826
+ <xs:complexContent>
1827
+ <xs:extension base="QTY">
1828
+ <xs:sequence>
1829
+ <xs:element name="numerator" type="QTY">
1830
+ <xs:annotation>
1831
+ <xs:documentation>
1832
+ The quantity that is being divided in the ratio. The
1833
+ default is the integer number 1 (one).
1834
+ </xs:documentation>
1835
+ </xs:annotation>
1836
+ </xs:element>
1837
+ <xs:element name="denominator" type="QTY">
1838
+ <xs:annotation>
1839
+ <xs:documentation>
1840
+ The quantity that devides the numerator in the ratio.
1841
+ The default is the integer number 1 (one).
1842
+ The denominator must not be zero.
1843
+ </xs:documentation>
1844
+ </xs:annotation>
1845
+ </xs:element>
1846
+ </xs:sequence>
1847
+ </xs:extension>
1848
+ </xs:complexContent>
1849
+ </xs:complexType>
1850
+ </xs:schema>