oddb2xml 2.5.0 → 2.5.1

Sign up to get free protection for your applications and to get access to all the features.
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>