oddb2xml 2.5.0 → 2.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/Elexis_Artikelstamm_v003.xsd +387 -0
- data/Elexis_Artikelstamm_v5.xsd +513 -0
- data/Gemfile +2 -6
- data/History.txt +11 -0
- data/README.md +35 -27
- data/artikelstamm.md +68 -0
- data/bin/compare_v5 +41 -0
- data/bin/oddb2xml +3 -15
- data/data/article_overrides.yaml +51859 -0
- data/data/gtin2ignore.yaml +30510 -0
- data/data/product_overrides.yaml +4 -0
- data/lib/oddb2xml/builder.rb +543 -192
- data/lib/oddb2xml/cli.rb +82 -62
- data/lib/oddb2xml/compare.rb +189 -0
- data/lib/oddb2xml/compressor.rb +6 -3
- data/lib/oddb2xml/downloader.rb +79 -64
- data/lib/oddb2xml/extractor.rb +67 -40
- data/lib/oddb2xml/options.rb +76 -77
- data/lib/oddb2xml/parslet_compositions.rb +18 -1
- data/lib/oddb2xml/util.rb +25 -3
- data/lib/oddb2xml/version.rb +1 -1
- data/oddb2xml.gemspec +8 -5
- data/oddb2xml.xsd +1 -0
- data/spec/artikelstamm_spec.rb +383 -0
- data/spec/builder_spec.rb +147 -118
- data/spec/calc_spec.rb +3 -15
- data/spec/cli_spec.rb +24 -35
- data/spec/compare_spec.rb +24 -0
- data/spec/compressor_spec.rb +1 -3
- data/spec/data/Elexis_Artikelstamm_v5.xsd +513 -0
- data/spec/data/Preparations.xml +2200 -0
- data/spec/data/Publications.xls +0 -0
- data/spec/data/artikelstamm_N_010917.xml +39 -0
- data/spec/data/artikelstamm_N_011217.xml +17 -0
- data/spec/data/artikelstamm_P_010917.xml +86 -0
- data/spec/data/artikelstamm_P_011217.xml +63 -0
- data/spec/data/oddb2xml_files_lppv.txt +2 -0
- data/spec/data/refdata_NonPharma.xml +38 -0
- data/spec/data/refdata_Pharma.xml +220 -0
- data/spec/data/swissmedic_orphan.xlsx +0 -0
- data/spec/data/swissmedic_package.xlsx +0 -0
- data/spec/data/transfer.dat +59 -19
- data/spec/data/v5_first.xml +102 -0
- data/spec/data/v5_second.xml +184 -0
- data/spec/data_helper.rb +72 -0
- data/spec/downloader_spec.rb +19 -27
- data/spec/extractor_spec.rb +27 -33
- data/spec/fixtures/vcr_cassettes/artikelstamm.json +1 -0
- data/spec/options_spec.rb +73 -66
- data/spec/spec_helper.rb +73 -24
- data/test_options.rb +4 -2
- metadata +100 -21
- data/spec/data/XMLPublications.zip +0 -0
- data/spec/data/compressor/oddb_article.xml +0 -0
- data/spec/data/compressor/oddb_fi.xml +0 -0
- data/spec/data/compressor/oddb_fi_product.xml +0 -0
- data/spec/data/compressor/oddb_limitation.xml +0 -0
- data/spec/data/compressor/oddb_product.xml +0 -0
- data/spec/data/compressor/oddb_substance.xml +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed5baa163b15fbeef1cde0b5aab4ff4a281997a7
|
4
|
+
data.tar.gz: c9ac676cc09756f3b21499c4e91e708de63a0a5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cdb34a23a39cf70aa63e955e447227d0f5c4218dd4befd3bba699cd7c54c3d66cbac5639deddd91f99b84f3e36cae9cf8f4765157f14dd0d0db058019cf7832
|
7
|
+
data.tar.gz: 4f6410e0705a674e1b79bc8dfdb2923cc87f2713276b01df72054470ed293d732c7f0dfa0fd6f5c432e940c4cbc90f67c156a404c0ce1301005bf0ae538a5af2
|
data/.travis.yml
CHANGED
@@ -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>
|