oddb2xml 2.5.0 → 2.5.1

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/Elexis_Artikelstamm_v003.xsd +387 -0
  4. data/Elexis_Artikelstamm_v5.xsd +513 -0
  5. data/Gemfile +2 -6
  6. data/History.txt +11 -0
  7. data/README.md +35 -27
  8. data/artikelstamm.md +68 -0
  9. data/bin/compare_v5 +41 -0
  10. data/bin/oddb2xml +3 -15
  11. data/data/article_overrides.yaml +51859 -0
  12. data/data/gtin2ignore.yaml +30510 -0
  13. data/data/product_overrides.yaml +4 -0
  14. data/lib/oddb2xml/builder.rb +543 -192
  15. data/lib/oddb2xml/cli.rb +82 -62
  16. data/lib/oddb2xml/compare.rb +189 -0
  17. data/lib/oddb2xml/compressor.rb +6 -3
  18. data/lib/oddb2xml/downloader.rb +79 -64
  19. data/lib/oddb2xml/extractor.rb +67 -40
  20. data/lib/oddb2xml/options.rb +76 -77
  21. data/lib/oddb2xml/parslet_compositions.rb +18 -1
  22. data/lib/oddb2xml/util.rb +25 -3
  23. data/lib/oddb2xml/version.rb +1 -1
  24. data/oddb2xml.gemspec +8 -5
  25. data/oddb2xml.xsd +1 -0
  26. data/spec/artikelstamm_spec.rb +383 -0
  27. data/spec/builder_spec.rb +147 -118
  28. data/spec/calc_spec.rb +3 -15
  29. data/spec/cli_spec.rb +24 -35
  30. data/spec/compare_spec.rb +24 -0
  31. data/spec/compressor_spec.rb +1 -3
  32. data/spec/data/Elexis_Artikelstamm_v5.xsd +513 -0
  33. data/spec/data/Preparations.xml +2200 -0
  34. data/spec/data/Publications.xls +0 -0
  35. data/spec/data/artikelstamm_N_010917.xml +39 -0
  36. data/spec/data/artikelstamm_N_011217.xml +17 -0
  37. data/spec/data/artikelstamm_P_010917.xml +86 -0
  38. data/spec/data/artikelstamm_P_011217.xml +63 -0
  39. data/spec/data/oddb2xml_files_lppv.txt +2 -0
  40. data/spec/data/refdata_NonPharma.xml +38 -0
  41. data/spec/data/refdata_Pharma.xml +220 -0
  42. data/spec/data/swissmedic_orphan.xlsx +0 -0
  43. data/spec/data/swissmedic_package.xlsx +0 -0
  44. data/spec/data/transfer.dat +59 -19
  45. data/spec/data/v5_first.xml +102 -0
  46. data/spec/data/v5_second.xml +184 -0
  47. data/spec/data_helper.rb +72 -0
  48. data/spec/downloader_spec.rb +19 -27
  49. data/spec/extractor_spec.rb +27 -33
  50. data/spec/fixtures/vcr_cassettes/artikelstamm.json +1 -0
  51. data/spec/options_spec.rb +73 -66
  52. data/spec/spec_helper.rb +73 -24
  53. data/test_options.rb +4 -2
  54. metadata +100 -21
  55. data/spec/data/XMLPublications.zip +0 -0
  56. data/spec/data/compressor/oddb_article.xml +0 -0
  57. data/spec/data/compressor/oddb_fi.xml +0 -0
  58. data/spec/data/compressor/oddb_fi_product.xml +0 -0
  59. data/spec/data/compressor/oddb_limitation.xml +0 -0
  60. data/spec/data/compressor/oddb_product.xml +0 -0
  61. data/spec/data/compressor/oddb_substance.xml +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8addba7e2c23de46ec4fd944ccadb248acd65626
4
- data.tar.gz: 9f5691375448747663d9e81411b85552a96a4357
3
+ metadata.gz: ed5baa163b15fbeef1cde0b5aab4ff4a281997a7
4
+ data.tar.gz: c9ac676cc09756f3b21499c4e91e708de63a0a5f
5
5
  SHA512:
6
- metadata.gz: a64ed9aed842b5b0989d3f01f57f285c99a0a1b82e006f7667541cb49c07ec3fb6fe77e41948e0740d12c6e7887676bb22e014bdb35410e6ef50976c549448d8
7
- data.tar.gz: 38fffad60d3cea6b3fe2382689f98c10fa70bb3ad8f81acf93ec83c30ec989151ca25a63b46db4007c9ef3dcd5354ed97449db85a37f75469b5ad394bd100c50
6
+ metadata.gz: 0cdb34a23a39cf70aa63e955e447227d0f5c4218dd4befd3bba699cd7c54c3d66cbac5639deddd91f99b84f3e36cae9cf8f4765157f14dd0d0db058019cf7832
7
+ data.tar.gz: 4f6410e0705a674e1b79bc8dfdb2923cc87f2713276b01df72054470ed293d732c7f0dfa0fd6f5c432e940c4cbc90f67c156a404c0ce1301005bf0ae538a5af2
@@ -15,7 +15,7 @@ rvm:
15
15
  - 2.3.4
16
16
  - 2.4.1
17
17
  - ruby-head
18
-
18
+
19
19
  matrix:
20
20
  allow_failures:
21
21
  - rvm: ruby-head
@@ -0,0 +1,387 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ Copyright (c) 2015 MEDEVIT.
4
+ All rights reserved. This program and the accompanying materials
5
+ are made available under the terms of the Eclipse Public License v1.0
6
+ which accompanies this distribution, and is available at
7
+ http://www.eclipse.org/legal/epl-v10.html
8
+
9
+ v002 - Ergänzung K Komplementärprodukt bei generic type,
10
+ Consider ATC code of length 8 (on vet.med. articles)
11
+ Relax ADDSCR occurence to 0 .. 1
12
+ v003 - PRODNO hinzugefügt
13
+ LIMNAMEBAG zur formal-kennzeichnung von identen limitations
14
+
15
+ Contributors:
16
+ MEDEVIT <office@medevit.at> - initial API and implementation
17
+ -->
18
+ <xs:schema targetNamespace="http://elexis.ch/Elexis_Artikelstamm_v003" elementFormDefault="qualified" attributeFormDefault="unqualified" version="003" id="Elexis_Artikelstamm_v003" xmlns="http://elexis.ch/Elexis_Artikelstamm_v003" xmlns:xs="http://www.w3.org/2001/XMLSchema">
19
+ <xs:element name="ARTIKELSTAMM">
20
+ <xs:annotation>
21
+ <xs:documentation xml:lang="EN">Information on medicaments</xs:documentation>
22
+ </xs:annotation>
23
+ <xs:complexType>
24
+ <xs:sequence>
25
+ <xs:element name="ITEM" minOccurs="0"
26
+ maxOccurs="unbounded">
27
+ <xs:complexType>
28
+ <xs:annotation>
29
+ <xs:documentation>
30
+ Packungsgröße verrechnet, also Anzahl der
31
+ beinhalteten Elemente (bspw. 100 Tabletten)
32
+ </xs:documentation>
33
+ </xs:annotation>
34
+ <xs:sequence>
35
+
36
+ <xs:element name="GTIN" nillable="false">
37
+ <xs:annotation>
38
+ <xs:documentation xml:lang="EN">
39
+ Reference number (GTIN = Global
40
+ trade item number)
41
+ </xs:documentation>
42
+ </xs:annotation>
43
+ <xs:simpleType>
44
+ <xs:restriction base="xs:string">
45
+
46
+ </xs:restriction>
47
+ </xs:simpleType>
48
+ </xs:element>
49
+ <xs:element name="PHAR" nillable="false"
50
+ minOccurs="0" maxOccurs="1">
51
+ <xs:annotation>
52
+ <xs:documentation xml:lang="EN">
53
+ Pharmacode
54
+ </xs:documentation>
55
+ </xs:annotation>
56
+ <xs:simpleType>
57
+ <xs:restriction base="xs:integer" />
58
+ </xs:simpleType>
59
+ </xs:element>
60
+
61
+
62
+ <xs:element name="SWISSMEDIC_NO" minOccurs="0"
63
+ maxOccurs="1">
64
+ <xs:simpleType>
65
+ <xs:restriction base="xs:string"></xs:restriction>
66
+ </xs:simpleType>
67
+ </xs:element>
68
+ <xs:element name="DSCR" nillable="false">
69
+ <xs:annotation>
70
+ <xs:documentation xml:lang="EN">
71
+ Product description, e.g. Adalat
72
+ retard Tabletten 20 mg
73
+ </xs:documentation>
74
+ </xs:annotation>
75
+ <xs:simpleType>
76
+ <xs:restriction base="xs:string">
77
+ <xs:maxLength value="50" />
78
+ </xs:restriction>
79
+ </xs:simpleType>
80
+ </xs:element>
81
+ <xs:element name="ADDSCR" nillable="false"
82
+ minOccurs="0" maxOccurs="1">
83
+ <xs:annotation>
84
+ <xs:documentation xml:lang="EN">
85
+ Additional description. e.g. 30 Stk
86
+ </xs:documentation>
87
+ </xs:annotation>
88
+ <xs:simpleType>
89
+ <xs:restriction base="xs:string">
90
+ <xs:maxLength value="50" />
91
+ </xs:restriction>
92
+ </xs:simpleType>
93
+ </xs:element>
94
+ <xs:element name="ATC" nillable="false"
95
+ maxOccurs="1" minOccurs="0">
96
+ <xs:annotation>
97
+ <xs:documentation xml:lang="EN">
98
+ ATC Code beinhaltet Information ob
99
+ Item ein Impfstoff ist. Dies ist der
100
+ Fall wenn der ATC Code mit J07
101
+ startet.
102
+ </xs:documentation>
103
+ </xs:annotation>
104
+ <xs:simpleType>
105
+ <xs:restriction base="xs:string">
106
+ <xs:maxLength value="8" />
107
+ </xs:restriction>
108
+ </xs:simpleType>
109
+ </xs:element>
110
+ <xs:element name="COMP" minOccurs="0">
111
+ <xs:annotation>
112
+ <xs:documentation xml:lang="EN">
113
+ Manufacturer
114
+ </xs:documentation>
115
+ </xs:annotation>
116
+ <xs:complexType>
117
+ <xs:sequence>
118
+ <xs:element name="NAME"
119
+ minOccurs="0" maxOccurs="1">
120
+ <xs:annotation>
121
+ <xs:documentation>
122
+ CompanyName
123
+ </xs:documentation>
124
+ </xs:annotation>
125
+ <xs:simpleType>
126
+ <xs:restriction
127
+ base="xs:string">
128
+ <xs:maxLength
129
+ value="101" />
130
+ </xs:restriction>
131
+ </xs:simpleType>
132
+ </xs:element>
133
+ <xs:element name="GLN"
134
+ nillable="false" minOccurs="0" maxOccurs="1">
135
+ <xs:annotation>
136
+ <xs:documentation
137
+ xml:lang="EN">
138
+ Company GLN
139
+ </xs:documentation>
140
+ </xs:annotation>
141
+ <xs:simpleType>
142
+ <xs:restriction
143
+ base="xs:string">
144
+ <xs:maxLength
145
+ value="13" />
146
+ </xs:restriction>
147
+ </xs:simpleType>
148
+ </xs:element>
149
+ </xs:sequence>
150
+ </xs:complexType>
151
+ </xs:element>
152
+ <xs:element name="PEXF" type="xs:double"
153
+ minOccurs="0" maxOccurs="1">
154
+ <xs:annotation>
155
+ <xs:documentation>
156
+ Exfactorypreis in Franken und Rappen
157
+ (exkl. MWSt)
158
+ </xs:documentation>
159
+ </xs:annotation>
160
+ </xs:element>
161
+ <xs:element name="PPUB" type="xs:double"
162
+ minOccurs="0" maxOccurs="1">
163
+ <xs:annotation>
164
+ <xs:documentation>
165
+ Publikumspreis in Franken und Rappen
166
+ (inkl.MWSt)
167
+ </xs:documentation>
168
+ </xs:annotation>
169
+ </xs:element>
170
+ <xs:element name="PKG_SIZE" type="xs:int"
171
+ maxOccurs="1" minOccurs="0">
172
+ </xs:element>
173
+ <xs:element name="SL_ENTRY" type="xs:boolean"
174
+ minOccurs="0" maxOccurs="1">
175
+ <xs:annotation>
176
+ <xs:documentation>
177
+ Item ist in der Spezialitätenliste
178
+ (SL) eingetragen
179
+ </xs:documentation>
180
+ </xs:annotation>
181
+ </xs:element>
182
+ <xs:element name="IKSCAT" maxOccurs="1"
183
+ minOccurs="0">
184
+ <xs:annotation>
185
+ <xs:documentation>
186
+ Abgabekategorie
187
+ </xs:documentation>
188
+ </xs:annotation>
189
+
190
+ <xs:simpleType>
191
+ <xs:annotation>
192
+ <xs:documentation>
193
+ Abgabekategorie, A-E A:
194
+ verschärft rezeptpflichtig B:
195
+ Rezeptpflichtig C: erhältlich in
196
+ Apotheken ohne Rezept D:
197
+ erhältlich in Apotheken und
198
+ Drogerien E: keine
199
+ Kategorisierung
200
+ </xs:documentation>
201
+ </xs:annotation>
202
+ <xs:restriction base="xs:string">
203
+ <xs:enumeration value="A"></xs:enumeration>
204
+ <xs:enumeration value="B"></xs:enumeration>
205
+ <xs:enumeration value="C"></xs:enumeration>
206
+ <xs:enumeration value="D"></xs:enumeration>
207
+ <xs:enumeration value="E"></xs:enumeration>
208
+ </xs:restriction>
209
+ </xs:simpleType>
210
+ </xs:element>
211
+ <xs:element name="LIMITATION" type="xs:boolean"
212
+ maxOccurs="1" minOccurs="0">
213
+ <xs:annotation>
214
+ <xs:documentation>
215
+ Limitation
216
+ </xs:documentation>
217
+ </xs:annotation>
218
+ </xs:element>
219
+ <xs:element name="LIMITATION_PTS" type="xs:int"
220
+ maxOccurs="1" minOccurs="0">
221
+ <xs:annotation>
222
+ <xs:documentation>
223
+ Limitationspunkte
224
+ </xs:documentation>
225
+ </xs:annotation>
226
+ </xs:element>
227
+ <xs:element name="LIMITATION_TEXT"
228
+ type="xs:string" maxOccurs="1" minOccurs="0">
229
+ <xs:annotation>
230
+ <xs:documentation>
231
+ Limitationstext
232
+ </xs:documentation>
233
+ </xs:annotation>
234
+ </xs:element>
235
+ <xs:element name="GENERIC_TYPE" maxOccurs="1"
236
+ minOccurs="0">
237
+
238
+ <xs:simpleType>
239
+ <xs:annotation>
240
+ <xs:documentation>
241
+ O Original G Generikum K
242
+ Komplementärprodukt
243
+ </xs:documentation>
244
+ </xs:annotation>
245
+ <xs:restriction base="xs:string">
246
+ <xs:enumeration value="O"></xs:enumeration>
247
+ <xs:enumeration value="G"></xs:enumeration>
248
+ <xs:enumeration value="K"></xs:enumeration>
249
+ </xs:restriction>
250
+ </xs:simpleType>
251
+ </xs:element>
252
+ <xs:element name="HAS_GENERIC" type="xs:boolean"
253
+ maxOccurs="1" minOccurs="0">
254
+ <xs:annotation>
255
+ <xs:documentation>
256
+ Generikum zu diesem Produkt
257
+ vorhanden ja/nein
258
+ </xs:documentation>
259
+ </xs:annotation>
260
+ </xs:element>
261
+ <xs:element name="LPPV" type="xs:boolean"
262
+ maxOccurs="1" minOccurs="0">
263
+ <xs:annotation>
264
+ <xs:documentation>
265
+ Ist eingetragen in Liste
266
+ pharmazeutischer Präparate mit
267
+ spezieller Verwendung (LPPV)
268
+ </xs:documentation>
269
+ </xs:annotation>
270
+ </xs:element>
271
+
272
+ <xs:element name="DEDUCTIBLE" type="xs:int"
273
+ maxOccurs="1" minOccurs="0">
274
+ <xs:annotation>
275
+ <xs:documentation>
276
+ Selbstbehalt für SL-Produkte in
277
+ prozent
278
+ </xs:documentation>
279
+ </xs:annotation>
280
+ </xs:element>
281
+ <xs:element name="NARCOTIC" type="xs:boolean"
282
+ maxOccurs="1" minOccurs="0">
283
+ <xs:annotation>
284
+ <xs:documentation>
285
+ Produkt ist Betäubungsmittel ja/nein
286
+ </xs:documentation>
287
+ </xs:annotation>
288
+ </xs:element>
289
+ <xs:element name="NARCOTIC_CAS" type="xs:string"
290
+ maxOccurs="1" minOccurs="0">
291
+ <xs:annotation>
292
+ <xs:documentation>
293
+ Wenn Betäubungsmittel (NARCOTIC ==
294
+ true) dann CAS Register Nummer des
295
+ Artikels
296
+ </xs:documentation>
297
+ </xs:annotation>
298
+ </xs:element>
299
+
300
+
301
+ <xs:element name="PRODNO" minOccurs="0"
302
+ maxOccurs="1">
303
+ <xs:annotation>
304
+ <xs:documentation>
305
+ Produktnummer des Artikels
306
+ </xs:documentation>
307
+ </xs:annotation>
308
+ <xs:simpleType>
309
+ <xs:restriction base="xs:string"></xs:restriction>
310
+ </xs:simpleType>
311
+ </xs:element>
312
+ <xs:element name="LIMNAMEBAG"
313
+ type="xs:string" minOccurs="0" maxOccurs="1">
314
+ </xs:element>
315
+ </xs:sequence>
316
+
317
+
318
+
319
+ </xs:complexType>
320
+ </xs:element>
321
+
322
+ </xs:sequence>
323
+ <xs:attribute name="CREATION_DATETIME" type="xs:dateTime"
324
+ use="required">
325
+ <xs:annotation>
326
+ <xs:documentation>
327
+ Erstellungszeitpunkt dieses Datensatzes
328
+ </xs:documentation>
329
+ </xs:annotation>
330
+ </xs:attribute>
331
+
332
+ <xs:attribute name="LANG" type="xs:string"></xs:attribute>
333
+ <xs:attribute name="MONTH" type="xs:int">
334
+ <xs:annotation>
335
+ <xs:documentation>
336
+ Monatszuordnung dieses Datensatzes
337
+ </xs:documentation>
338
+ </xs:annotation>
339
+ </xs:attribute>
340
+ <xs:attribute name="YEAR" type="xs:int">
341
+ <xs:annotation>
342
+ <xs:documentation>
343
+ Jahreszuordnung dieses Datensatzes
344
+ </xs:documentation>
345
+ </xs:annotation>
346
+ </xs:attribute>
347
+ <xs:attribute name="CUMUL_VER" type="xs:int" use="required">
348
+ <xs:annotation>
349
+ <xs:documentation>
350
+ Cummulated version identification of the dataset.
351
+ This value provides an incrementing integer to
352
+ compare validity of versions, it is calculated as
353
+ follows:
354
+
355
+ (year-2013)*12+month, e.g. for march 2014 =
356
+ ((2014-2013)*12)+3=15
357
+ </xs:documentation>
358
+ </xs:annotation>
359
+ </xs:attribute>
360
+ <xs:attribute name="TYPE" use="required">
361
+ <xs:annotation>
362
+ <xs:documentation>
363
+ The type of items contained in this dataset: P -
364
+ harma N - on Pharma
365
+ </xs:documentation>
366
+ </xs:annotation>
367
+ <xs:simpleType>
368
+ <xs:restriction base="xs:string">
369
+ <xs:enumeration value="P"></xs:enumeration>
370
+ <xs:enumeration value="N"></xs:enumeration>
371
+
372
+ </xs:restriction>
373
+ </xs:simpleType>
374
+ </xs:attribute>
375
+ <xs:attribute name="DATA_QUALITY" type="xs:int">
376
+ <xs:annotation>
377
+ <xs:documentation>Value describing the completeness of the dataset; currently used to determine the dataset type as described in http://artikelstamm.elexis.info
378
+ 1: v1
379
+ 2: v1b
380
+ 3: v2
381
+ if not defined or not valid, this value is set to 0</xs:documentation>
382
+ </xs:annotation></xs:attribute>
383
+ </xs:complexType>
384
+ </xs:element>
385
+
386
+
387
+ </xs:schema>
@@ -0,0 +1,513 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Copyright (c) 2016 MEDEVIT. All rights reserved. This program and the
3
+ accompanying materials are made available under the terms of the Eclipse
4
+ Public License v1.0 which accompanies this distribution, and is available
5
+ at http://www.eclipse.org/legal/epl-v10.html v002 - Ergänzung K Komplementärprodukt
6
+ bei generic type, Consider ATC code of length 8 (on vet.med. articles) Relax
7
+ ADDSCR occurence to 0 .. 1 v003 - PRODNO hinzugefügt LIMNAMEBAG zur formal-kennzeichnung
8
+ von identen limitations v4 - Major refactoring, see https://redmine.medelexis.ch/issues/4405
9
+ Contributors: MEDEVIT <office@medevit.at> - initial API and implementation -->
10
+ <xs:schema targetNamespace="http://elexis.ch/Elexis_Artikelstamm_v5"
11
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
12
+ version="4" id="Elexis_Artikelstamm_v003" xmlns="http://elexis.ch/Elexis_Artikelstamm_v5" xmlns:xs="http://www.w3.org/2001/XMLSchema">
13
+ <xs:element name="ARTIKELSTAMM">
14
+ <xs:annotation>
15
+ <xs:documentation xml:lang="EN">Information on
16
+ medicaments
17
+ </xs:documentation>
18
+ </xs:annotation>
19
+ <xs:complexType>
20
+ <xs:sequence>
21
+ <xs:element name="PRODUCTS" minOccurs="1"
22
+ maxOccurs="1">
23
+ <xs:complexType>
24
+ <xs:sequence>
25
+ <xs:element name="PRODUCT" minOccurs="0"
26
+ maxOccurs="unbounded">
27
+ <xs:complexType>
28
+ <xs:sequence>
29
+ <xs:element name="PRODNO"
30
+ type="PRODNOType" minOccurs="1" maxOccurs="1">
31
+ </xs:element>
32
+ <xs:element name="SALECD" type="SALECDType" minOccurs="1" maxOccurs="1">
33
+ </xs:element>
34
+ <xs:element name="DSCR"
35
+ type="DSCRType" minOccurs="1" maxOccurs="1">
36
+ </xs:element>
37
+ <xs:element name="DSCRF"
38
+ type="DSCRType" minOccurs="1" maxOccurs="1">
39
+ </xs:element>
40
+ <xs:element name="ATC"
41
+ nillable="false" maxOccurs="1" minOccurs="0">
42
+ <xs:annotation>
43
+ <xs:documentation
44
+ xml:lang="EN">
45
+ ATC Code beinhaltet
46
+ Information ob Item
47
+ ein Impfstoff ist.
48
+ Dies ist der Fall
49
+ wenn der ATC Code
50
+ mit J07 startet.
51
+ </xs:documentation>
52
+ </xs:annotation>
53
+ <xs:simpleType>
54
+ <xs:restriction
55
+ base="xs:string">
56
+ <xs:maxLength
57
+ value="8" />
58
+ </xs:restriction>
59
+ </xs:simpleType>
60
+ </xs:element>
61
+ <xs:element name="LIMNAMEBAG"
62
+ type="xs:string" minOccurs="0" maxOccurs="1">
63
+ </xs:element>
64
+
65
+ <xs:element name="SUBSTANCE"
66
+ type="xs:string" minOccurs="0" maxOccurs="1">
67
+ </xs:element>
68
+ <xs:element name="SUBSTANCEF"
69
+ type="xs:string" minOccurs="0" maxOccurs="1">
70
+ </xs:element>
71
+ </xs:sequence>
72
+ </xs:complexType>
73
+ <xs:unique name="uniqueProdno">
74
+ <xs:selector xpath="PRODNO" />
75
+ <xs:field xpath="." />
76
+ </xs:unique>
77
+ </xs:element>
78
+ </xs:sequence>
79
+ </xs:complexType>
80
+ </xs:element>
81
+ <xs:element name="LIMITATIONS" minOccurs="1"
82
+ maxOccurs="1">
83
+ <xs:complexType>
84
+ <xs:sequence>
85
+ <xs:element name="LIMITATION" minOccurs="0"
86
+ maxOccurs="unbounded">
87
+ <xs:complexType>
88
+ <xs:sequence>
89
+ <xs:element name="LIMNAMEBAG"
90
+ type="xs:string" minOccurs="1" maxOccurs="1">
91
+ </xs:element>
92
+ <xs:element name="DSCR"
93
+ type="DSCRType" minOccurs="1" maxOccurs="1">
94
+ </xs:element>
95
+ <xs:element name="DSCRF"
96
+ type="DSCRType" minOccurs="1" maxOccurs="1">
97
+ </xs:element>
98
+ <xs:element
99
+ name="LIMITATION_PTS" type="xs:int" maxOccurs="1"
100
+ minOccurs="0">
101
+ <xs:annotation>
102
+ <xs:documentation>
103
+ Limitationspunkte
104
+ </xs:documentation>
105
+ </xs:annotation>
106
+ </xs:element>
107
+ </xs:sequence>
108
+ </xs:complexType>
109
+ </xs:element>
110
+ </xs:sequence>
111
+ </xs:complexType>
112
+ </xs:element>
113
+
114
+ <xs:element name="ITEMS" minOccurs="1" maxOccurs="1">
115
+ <xs:complexType>
116
+ <xs:sequence>
117
+ <xs:element name="ITEM" minOccurs="0"
118
+ maxOccurs="unbounded">
119
+ <xs:complexType>
120
+ <xs:annotation>
121
+ <xs:documentation>
122
+ Packungsgröße verrechnet,
123
+ also Anzahl der beinhalteten
124
+ Elemente (bspw. 100
125
+ Tabletten)
126
+ </xs:documentation>
127
+ </xs:annotation>
128
+ <xs:sequence>
129
+
130
+ <xs:element name="GTIN"
131
+ nillable="false" minOccurs="0" maxOccurs="1">
132
+ <xs:annotation>
133
+ <xs:documentation
134
+ xml:lang="EN">
135
+ Reference number
136
+ (GTIN = Global trade
137
+ item number)
138
+ </xs:documentation>
139
+ </xs:annotation>
140
+ <xs:simpleType>
141
+ <xs:restriction
142
+ base="xs:string">
143
+
144
+ </xs:restriction>
145
+ </xs:simpleType>
146
+ </xs:element>
147
+ <xs:element name="PHAR"
148
+ nillable="false" minOccurs="0" maxOccurs="1">
149
+ <xs:annotation>
150
+ <xs:documentation
151
+ xml:lang="EN">
152
+ Pharmacode
153
+ </xs:documentation>
154
+ </xs:annotation>
155
+ <xs:simpleType>
156
+ <xs:restriction
157
+ base="xs:integer" />
158
+ </xs:simpleType>
159
+ </xs:element>
160
+
161
+
162
+ <xs:element name="SALECD" type="SALECDType" minOccurs="1" maxOccurs="1">
163
+ <xs:annotation>
164
+ <xs:documentation></xs:documentation>
165
+ </xs:annotation>
166
+ </xs:element>
167
+ <xs:element name="DSCR"
168
+ nillable="false" type="DSCRType" minOccurs="1"
169
+ maxOccurs="1">
170
+ <xs:annotation>
171
+ <xs:documentation
172
+ xml:lang="EN">
173
+ Product description,
174
+ e.g. Adalat retard
175
+ Tabletten 20 mg
176
+ </xs:documentation>
177
+ </xs:annotation>
178
+ </xs:element>
179
+ <xs:element name="DSCRF"
180
+ type="xs:string" minOccurs="1" maxOccurs="1">
181
+ </xs:element>
182
+ <xs:element name="COMP"
183
+ minOccurs="0">
184
+ <xs:annotation>
185
+ <xs:documentation
186
+ xml:lang="EN">
187
+ Manufacturer
188
+ </xs:documentation>
189
+ </xs:annotation>
190
+ <xs:complexType>
191
+ <xs:sequence>
192
+ <xs:element
193
+ name="NAME" minOccurs="0" maxOccurs="1">
194
+ <xs:annotation>
195
+ <xs:documentation>
196
+ CompanyName
197
+ </xs:documentation>
198
+ </xs:annotation>
199
+ <xs:simpleType>
200
+ <xs:restriction
201
+ base="xs:string">
202
+ <xs:maxLength
203
+ value="101" />
204
+ </xs:restriction>
205
+ </xs:simpleType>
206
+ </xs:element>
207
+ <xs:element
208
+ name="GLN" nillable="false" minOccurs="0" maxOccurs="1">
209
+ <xs:annotation>
210
+ <xs:documentation
211
+ xml:lang="EN">
212
+ Company
213
+ GLN
214
+ </xs:documentation>
215
+ </xs:annotation>
216
+ <xs:simpleType>
217
+ <xs:restriction
218
+ base="xs:string">
219
+ <xs:maxLength
220
+ value="13" />
221
+ </xs:restriction>
222
+ </xs:simpleType>
223
+ </xs:element>
224
+ </xs:sequence>
225
+ </xs:complexType>
226
+ </xs:element>
227
+ <xs:element name="PEXF"
228
+ type="xs:double" minOccurs="0" maxOccurs="1">
229
+ <xs:annotation>
230
+ <xs:documentation>
231
+ Exfactorypreis in
232
+ Franken und Rappen
233
+ (exkl. MWSt)
234
+ </xs:documentation>
235
+ </xs:annotation>
236
+ </xs:element>
237
+ <xs:element name="PPUB"
238
+ type="xs:double" minOccurs="0" maxOccurs="1">
239
+ <xs:annotation>
240
+ <xs:documentation>
241
+ Publikumspreis in
242
+ Franken und Rappen
243
+ (inkl.MWSt)
244
+ </xs:documentation>
245
+ </xs:annotation>
246
+ </xs:element>
247
+ <xs:element name="PKG_SIZE"
248
+ type="xs:int" maxOccurs="1" minOccurs="0">
249
+ </xs:element>
250
+ <xs:element name="MEASURE" type="xs:string" minOccurs="0" maxOccurs="1">
251
+ <xs:annotation>
252
+ <xs:documentation>
253
+ Measurement Unit,
254
+ e.g. Pills or
255
+ milliliters
256
+ </xs:documentation>
257
+ </xs:annotation>
258
+ </xs:element>
259
+ <xs:element
260
+ name="MEASUREF" type="xs:string" minOccurs="0"
261
+ maxOccurs="1">
262
+ </xs:element>
263
+ <xs:element name="DOSAGE_FORM" type="xs:string" minOccurs="0" maxOccurs="1">
264
+ <xs:annotation>
265
+ <xs:documentation>
266
+ Die Darreichungsform
267
+ dieses Items. zB
268
+ Tablette(n) oder
269
+ Spritze(n)
270
+ </xs:documentation>
271
+ </xs:annotation>
272
+ </xs:element>
273
+ <xs:element name="DOSAGE_FORMF" type="xs:string" minOccurs="0" maxOccurs="1">
274
+ <xs:annotation>
275
+ <xs:documentation>Die Darreichungsform dieses Items. zB Tablette(n) oder Spritze(n) in französicher Sprache
276
+ </xs:documentation>
277
+ </xs:annotation>
278
+ </xs:element>
279
+ <xs:element name="SL_ENTRY"
280
+ type="xs:boolean" minOccurs="0" maxOccurs="1">
281
+ <xs:annotation>
282
+ <xs:documentation>
283
+ Item ist in der
284
+ Spezialitätenliste
285
+ (SL) eingetragen
286
+ </xs:documentation>
287
+ </xs:annotation>
288
+ </xs:element>
289
+ <xs:element name="IKSCAT"
290
+ maxOccurs="1" minOccurs="0">
291
+ <xs:annotation>
292
+ <xs:documentation>
293
+ Abgabekategorie
294
+ </xs:documentation>
295
+ </xs:annotation>
296
+
297
+ <xs:simpleType>
298
+ <xs:annotation>
299
+ <xs:documentation>
300
+ Abgabekategorie,
301
+ A-E A:
302
+ verschärft
303
+ rezeptpflichtig
304
+ B:
305
+ Rezeptpflichtig
306
+ C: erhältlich in
307
+ Apotheken ohne
308
+ Rezept D:
309
+ erhältlich in
310
+ Apotheken und
311
+ Drogerien E:
312
+ keine
313
+ Kategorisierung
314
+ </xs:documentation>
315
+ </xs:annotation>
316
+ <xs:restriction
317
+ base="xs:string">
318
+ <xs:enumeration
319
+ value="A">
320
+ </xs:enumeration>
321
+ <xs:enumeration
322
+ value="B">
323
+ </xs:enumeration>
324
+ <xs:enumeration
325
+ value="C">
326
+ </xs:enumeration>
327
+ <xs:enumeration
328
+ value="D">
329
+ </xs:enumeration>
330
+ <xs:enumeration
331
+ value="E">
332
+ </xs:enumeration>
333
+ </xs:restriction>
334
+ </xs:simpleType>
335
+ </xs:element>
336
+ <xs:element name="GENERIC_TYPE"
337
+ maxOccurs="1" minOccurs="0">
338
+
339
+ <xs:simpleType>
340
+ <xs:annotation>
341
+ <xs:documentation>
342
+ O Original G
343
+ Generikum K
344
+ Komplementärprodukt
345
+ </xs:documentation>
346
+ </xs:annotation>
347
+ <xs:restriction
348
+ base="xs:string">
349
+ <xs:enumeration
350
+ value="O">
351
+ </xs:enumeration>
352
+ <xs:enumeration
353
+ value="G">
354
+ </xs:enumeration>
355
+ <xs:enumeration
356
+ value="K">
357
+ </xs:enumeration>
358
+ </xs:restriction>
359
+ </xs:simpleType>
360
+ </xs:element>
361
+ <xs:element name="HAS_GENERIC"
362
+ type="xs:boolean" minOccurs="0" maxOccurs="1">
363
+ <xs:annotation>
364
+ <xs:documentation>
365
+ Generikum zu diesem
366
+ Produkt vorhanden
367
+ ja/nein
368
+ </xs:documentation>
369
+ </xs:annotation>
370
+ </xs:element>
371
+ <xs:element name="LPPV"
372
+ type="xs:boolean" maxOccurs="1" minOccurs="0">
373
+ <xs:annotation>
374
+ <xs:documentation>
375
+ Ist eingetragen in
376
+ Liste
377
+ pharmazeutischer
378
+ Präparate mit
379
+ spezieller
380
+ Verwendung (LPPV)
381
+ </xs:documentation>
382
+ </xs:annotation>
383
+ </xs:element>
384
+
385
+ <xs:element name="DEDUCTIBLE"
386
+ type="xs:int" maxOccurs="1" minOccurs="0">
387
+ <xs:annotation>
388
+ <xs:documentation>
389
+ Selbstbehalt für
390
+ SL-Produkte in
391
+ prozent
392
+ </xs:documentation>
393
+ </xs:annotation>
394
+ </xs:element>
395
+ <xs:element name="NARCOTIC"
396
+ type="xs:boolean" maxOccurs="1" minOccurs="0">
397
+ <xs:annotation>
398
+ <xs:documentation>
399
+ Produkt ist
400
+ Betäubungsmittel
401
+ ja/nein
402
+ </xs:documentation>
403
+ </xs:annotation>
404
+ </xs:element>
405
+ <xs:element name="NARCOTIC_CAS"
406
+ type="xs:string" maxOccurs="1" minOccurs="0">
407
+ <xs:annotation>
408
+ <xs:documentation>
409
+ Wenn
410
+ Betäubungsmittel
411
+ (NARCOTIC == true)
412
+ dann CAS Register
413
+ Nummer des Artikels
414
+ </xs:documentation>
415
+ </xs:annotation>
416
+ </xs:element>
417
+
418
+
419
+ <xs:element name="PRODNO"
420
+ minOccurs="0" maxOccurs="1" type="PRODNOType">
421
+ <xs:annotation>
422
+ <xs:documentation>
423
+ Produktnummer des
424
+ Artikels
425
+ </xs:documentation>
426
+ </xs:annotation>
427
+ </xs:element>
428
+ </xs:sequence>
429
+
430
+
431
+
432
+ <xs:attribute name="PHARMATYPE">
433
+ <xs:annotation>
434
+ <xs:documentation>
435
+ If a PRODNO is defined,
436
+ the PharmaType is P
437
+ </xs:documentation>
438
+ </xs:annotation>
439
+ <xs:simpleType>
440
+ <xs:restriction
441
+ base="xs:string">
442
+ <xs:enumeration
443
+ value="N">
444
+ </xs:enumeration>
445
+ <xs:enumeration
446
+ value="P">
447
+ </xs:enumeration>
448
+ </xs:restriction>
449
+ </xs:simpleType>
450
+ </xs:attribute>
451
+ </xs:complexType>
452
+ </xs:element>
453
+ </xs:sequence>
454
+ </xs:complexType>
455
+ </xs:element>
456
+ </xs:sequence>
457
+ <xs:attribute name="CREATION_DATETIME" type="xs:dateTime"
458
+ use="required">
459
+ <xs:annotation>
460
+ <xs:documentation>Erstellungszeitpunkt des QuellDatensatzes (siehe DATA_SOURCE)
461
+ </xs:documentation>
462
+ </xs:annotation>
463
+ </xs:attribute>
464
+
465
+ <xs:attribute name="BUILD_DATETIME" type="xs:dateTime" use="required">
466
+ <xs:annotation>
467
+ <xs:documentation>Der Zeitpunkt zu dem dieser Datensatz erstellt wurde.
468
+ </xs:documentation>
469
+ </xs:annotation>
470
+ </xs:attribute>
471
+ <xs:attribute name="DATA_SOURCE" type="DATASOURCEType" use="required">
472
+ <xs:annotation>
473
+ <xs:documentation></xs:documentation>
474
+ </xs:annotation></xs:attribute>
475
+ </xs:complexType>
476
+ </xs:element>
477
+
478
+
479
+
480
+
481
+
482
+
483
+ <xs:simpleType name="PRODNOType">
484
+ <xs:restriction base="xs:string"></xs:restriction>
485
+ </xs:simpleType>
486
+
487
+ <xs:simpleType name="DSCRType">
488
+ <xs:restriction base="xs:string"></xs:restriction>
489
+ </xs:simpleType>
490
+
491
+
492
+
493
+ <xs:simpleType name="DATASOURCEType">
494
+ <xs:annotation>
495
+ <xs:documentation>The data source this Artikelstamm is generated from.
496
+ </xs:documentation>
497
+ </xs:annotation>
498
+ <xs:restriction base="xs:string">
499
+ <xs:enumeration value="oddb2xml"></xs:enumeration>
500
+ <xs:enumeration value="medindex"></xs:enumeration>
501
+ </xs:restriction>
502
+ </xs:simpleType>
503
+
504
+ <xs:simpleType name="SALECDType">
505
+ <xs:annotation>
506
+ <xs:documentation>Bedeutung ist 'A' = Aktiv,'I' = inaktiv == Ausser Handel</xs:documentation>
507
+ </xs:annotation>
508
+ <xs:restriction base="xs:string">
509
+ <xs:enumeration value="I"></xs:enumeration>
510
+ <xs:enumeration value="A"></xs:enumeration>
511
+ </xs:restriction>
512
+ </xs:simpleType>
513
+ </xs:schema>