cqm-validators 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>