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
@@ -1,25 +1,65 @@
1
+ 1117199565DIBASE Tropfen 10000 IE/ml Fl 10 ml 000561000925100D000000000000000000002
2
+ 1120020209ERYTHROCIN i.v. Trockensub 1000 mg Amp 005053006915300B080160076802025804752
3
+ 1120020244FERRO-GRADUULTRALAN Creme 0.5 MET Depottabl 30 Stk000896001380300C060710076803164401152
4
+ 1120020244FERRO-GRADUULTRALAN Creme 0.5 MET Depottabl 30 Stk000896001380300C060710076803164401152
5
+ 1120020244FERRO-GRADUULTRALAN Creme 0.5 MET Depottabl 30 Stk000896001380300C060710076803164401152
6
+ 1120020273KENDURAL Depottabl 30 Stk 000496000000100C060710076803536601632
7
+ 1120055805TENSOPLAST Kompressionsbinde 5cmx4.5m 0000000022951000000000040428090182881
8
+ 1120055834TENSOPLAST Kompressionsbinde 10cmx4.5m 0000000034351000000000040428090184931
9
+ 1120058502TUBEGAZE Verband weiss Nr 01 20m Finger Zehen 0000000014201000000000076116004410131
10
+ 1120058519TUBEGAZE Verband weiss Nr 12 20m Finger gross 0000000017001000000000076116004410201
11
+ 1120058525TUBEGAZE Verband weiss Nr 34 20m Arm Fuss 0000000023201000000000076116004410371
12
+ 1120177804ANCOPIR Inj L�s 5 Amp 2 ml 000383000795100B070240076802848601442
13
+ 1120850684LIDOCAIN Streuli 1% 20 mg/2ml 10 Amp 2 ml 000556000975300B010220076803001501052
14
+ 1120935914ROCEPHIN 500 mg i.v. c Solv Durchstf 5 Stk 006155008160100A080130076804462505922
15
+ 1121323751MAGNESIUMCHLORID Braun 0.5 molar 10ml Amp 5 Stk 001497002750300B050320076804588202022
16
+ 11216999473TC Filmtabl 150 mg 60 Stk 017596020530100A080300076805366201372
17
+ 11216999473TC Filmtabl 150 mg 60 Stk 017596020530100A080300076805366201372
18
+ 1121699999HUMALOG Inj L�s 100 IE/ml Durchstf 10 ml 003040005130101B070610076805329001962
19
+ 1122134986NAROPIN Inj L�s 0.2 % 100ml Polybag 5 Stk 008275010690300B010220076805401510092
20
+ 1122465312ZYVOXID Filmtabl 600 mg 10 Stk 084173094135100A080190076805555800542
21
+ 1122465312ZYVOXID Filmtabl 600 mg 10 Stk 084173094135100A080190076805555800542
22
+ 1122465312ZYVOXID Filmtabl 600 mg 10 Stk 084173094135100A080190076805555800542
23
+ 1122497134CAVERJECT DC Trockensub 20 mcg Fertspr 2 Stk 003496005420100A059900076805567400752
24
+ 1122731179HIRUDOID Creme 3 mg/g 40 g 000477000880100D020820076801610505832
25
+ 1122731179HIRUDOID Creme 3 mg/g 40 g 000477000880100D020820076801610505832
26
+ 1122871437CANIPHEDRIN Tabl 20 mg ad us vet. 100 Stk 001329002045400C000000076804706601832
27
+ 1122871443CANIPHEDRIN Tabl 20 mg ad us vet. 500 Stk 004873006770400C000000000000000000002
28
+ 1122871466CANIPHEDRIN Tabl 50 mg ad us vet. 100 Stk 001425002675400C000000076804706604282
29
+ 1122871472CANIPHEDRIN Tabl 50 mg ad us vet. 500 Stk 005444007425400C000000000000000000002
30
+ 1125565072SEMPER Cookie-O's Biskuit glutenfrei 150 g 0004460007054000000000073101005542602
31
+ 1125574740ADCETRIS Trockensub 50 mg Durchstf 369513394945101A000000076806213200102
32
+ 1125819012LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk 001349002780100B000000076806206900842
33
+ 1125819012LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk 001349002780100B000000076806206900842
1
34
  1125822801EPIMINERAL Paste 20 g 0043200060004000000000000000000000001
2
35
  1125830700EPIMINERAL Wundgranulat 6 g 0043200060004000000000000000000000001
3
- 1122465312ZYVOXID Filmtabl 600 mg 10 Stk 096114108275100A080190076805555800542
4
- 1120020209ERYTRHOCIN I.V. Trockensub Fl 1g 001518002010300B080160000000000000002
5
- 1120020244FERRO-GRADUMET Depottabl 30 Stk 000895001090300C060710076803164401152
6
- 1130020646SELSUN Shampoo Susp 60 ml 000911001650300D100400076801723304142
7
- 1120020652SELSUN Shampoo Susp 120 ml 001576002520300D100400076801723306812
8
- 1130021806EAU PRECIEUSE D?pensier L?s 375 ml 001220001870300D100600000000000000002
36
+ 1126000923CER'8 after sting Roll-on 20 ml 0005900008204000000000000000000000001
37
+ 1126364016W TROPFEN liq 10 ml 000696000980200D100700076801659801142
38
+ 1126749124TEBOKAN Filmtabl 240 mg 30 Stk 003603005420100B029700076805453400192
39
+ 1128111222DermaSilk Set Body + Strumpfh�schen 24�36 Mon (98)0154250164800000000000000000000000002
40
+ 1128111611Coral mineral K2 Kapseln 90 Stk 0046260073950000000000008997220003402
41
+ 1128111718Inkosport Activ Pro 80 Himbeer � Joghurt Ds 750g 0034230054700000000000042600576615172
42
+ 1130021806EAU PRECIEUSE D�pensier L�s 375 ml 001220001870300D100600040123461177062
9
43
  1130021976DIOPARINE Gtt Opht 7500 E 5 ml 0007380013400000000000000000000000002
10
- 1130023722LANSOYL Gel 225 g 000985001520200D040811076803247501902
11
- 1130027447ARTHROSENEX2519120 Salbe 100 g 0012930024300000000000000000000000002
44
+ 1130023722LANSOY L Gel 225 g 001054001625200D040811076803247501902
45
+ 1130023722LANSOY L Gel 225 g 001054001625200D040811076803247501902
46
+ 1130023722LANSOY L Gel 225 g 001054001625200D040811076803247501902
47
+ 1130027447ARTHROSENEXricola* Salbe 100 g 0012930024300000000000000000000000002
12
48
  1130028470COMPLAMIN RETARD Tabl 500 mg 60 Stk 001817003110300C020430000000000000002
49
+ 1130216094W TROPFEN liq 11.5 g 000658001080201D100700076801659801142
50
+ 1130598003SOFRADEX Gtt Auric 8 ml 000718001545300B120130076803169501572
51
+ 1130598003SOFRADEX Gtt Auric 8 ml 000718001545300B120130076803169501572
52
+ 1130598003SOFRADEX Gtt Auric 8 ml 000718001545300B120130076803169501572
53
+ 1123603779CARBADERM Creme Tb 300 ml 001622002770300D101000076804033304592
54
+ 1133938735DIAPHIN Trockensub 10 g i.v. Amp 017246021090103A010130000000000000002
13
55
  11353669641-DAY ACUVUE Moist Tag -2.00dpt BC 8.5 30 Stk 0021170037501000000000000000000000001
14
- 1122871437CANIPHEDRIN Tabl 20 mg ad us vet. 100 Stk 001266001550400C000000076804706601832
15
- 1122871443CANIPHEDRIN Tabl 20 mg ad us vet. 500 Stk 004872006910400C000000000000000000002
16
- 1122871466CANIPHEDRIN Tabl 50 mg ad us vet. 100 Stk 001424001750400C000000076804706604282
17
- 1122871472CANIPHEDRIN Tabl 50 mg ad us vet. 500 Stk 005443007580400C000000000000000000002
18
- 1132867163TOTALIN Plv ad us. vet. 5 kg 000535000900400C000000000000000000002
19
56
  1138110429Forthyron 400 mcg 50 Tabl (vet) 0081120015800000000000000000000000002
20
- 1130598003SOFRADEX Gtt Auric 8 ml 000718001545300B120130076803169501572
21
- 1125565072SEMPER Cookie-O�s glutenfrei 150 g 0004450007054000000000073101005542602
22
- 1126000923CER�8 after sting Roll-on 20 ml 0005900008204000000000000000000000001
23
- 1128111222DermaSilk Set Body + Strumpfh�schen 24�36 Mon (98)0154250164800000000000000000000000002
24
- 1128111718Inkosport Activ Pro 80 Himbeer � Joghurt Ds 750g 0038970055000000000000000000000000002
25
- 1128807890Ethacridin lactat 1� 100ml 0009290013701000000000000000000000002
57
+ 1125091763AETHACRIDIN lactic sol Bichsel Urobag 100 ml 000641001470300B050200076129295072132
58
+ 1133938735DIAPHIN Trockensub 10 g i.v. Amp 017246021090103A010130076805556100412
59
+ 1138304786Armani Attitude 75 ml 0112000112800000000000036055203016051
60
+ 1130020646SELSUN Shampoo Susp 60 ml 000911001650300D100400076801723304142
61
+ 1130074501BIOMARIS Voll Meersalz 500 g 0003560004900000000000076115750050051
62
+ 1128809544Sildenafil Suspension 7mg/ml 100ml 0030850045801000000000000000000000002
63
+ 1126571270LYNPARZA Kaps 50 mg 448 Stk 564449594755100A000000076806516000142
64
+ 1123727808HERBORISTERIA Seife Jasmin 150 g 0005390009004000000000032986516000151
65
+ 1120020244FERRO-GRADUMET Depottabl 30 Stk 000896001380300C060710076803164401152
@@ -0,0 +1,102 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <ARTIKELSTAMM xmlns="http://elexis.ch/Elexis_Artikelstamm_v5" CREATION_DATETIME="2017-12-01T03:34:58.000+01:00" BUILD_DATETIME="2017-12-01T08:39:09.605+01:00" DATA_SOURCE="oddb2xml">
3
+ <PRODUCTS>
4
+ <PRODUCT>
5
+ <PRODNO>3903201</PRODNO>
6
+ <SALECD>A</SALECD>
7
+ <DSCR>RESYL Plus Sirup</DSCR>
8
+ <DSCRF>--missing--</DSCRF>
9
+ <ATC>R05FA02</ATC>
10
+ <SUBSTANCE>Opium-Derivate und Expektoranzien</SUBSTANCE>
11
+ </PRODUCT>
12
+ <PRODUCT>
13
+ <PRODNO>0027701</PRODNO>
14
+ <SALECD>A</SALECD>
15
+ <DSCR>COEUR-VAISSEAUX Sérocytol Suppositoire</DSCR>
16
+ <DSCRF>--missing--</DSCRF>
17
+ <ATC>J06AA99</ATC>
18
+ </PRODUCT>
19
+ <PRODUCT>
20
+ <PRODNO>0027801</PRODNO>
21
+ <SALECD>A</SALECD>
22
+ <DSCR>SEROCYTOL Kolon Supp</DSCR>
23
+ <DSCRF>--missing--</DSCRF>
24
+ <ATC>J06AA99</ATC>
25
+ </PRODUCT>
26
+ <PRODUCT>
27
+ <PRODNO>0027901</PRODNO>
28
+ <SALECD>A</SALECD>
29
+ <DSCR>SEROCYTOL Bindegewebe Supp</DSCR>
30
+ <DSCRF>--missing--</DSCRF>
31
+ <ATC>J06AA99</ATC>
32
+ </PRODUCT>
33
+ </PRODUCTS>
34
+ <LIMITATIONS>
35
+ <LIMITATION>
36
+ <LIMNAMEBAG>070240</LIMNAMEBAG>
37
+ <DSCR>Gesamthaft zugelassen: &lt;b&gt;40&lt;/b&gt; Punkte</DSCR>
38
+ <DSCRF>Prescription limitée au maximum à: &lt;b&gt;40&lt;/b&gt; points</DSCRF>
39
+ <LIMITATION_PTS>40</LIMITATION_PTS>
40
+ </LIMITATION>
41
+ <LIMITATION>
42
+ <LIMNAMEBAG>071330</LIMNAMEBAG>
43
+ <DSCR>Kostenübernahme nur nach vorgängiger allergologischer Abklärung.</DSCR>
44
+ <DSCRF>Prise en charge seulement après exploration allergologique.</DSCRF>
45
+ </LIMITATION>
46
+ <LIMITATION>
47
+ <LIMNAMEBAG>070810</LIMNAMEBAG>
48
+ <DSCR>Nicht zur Adipositasbehandlung&lt;br&gt;
49
+ Kostenübernahme nur nach vorgängiger endokrinologischer Untersuchung, auf besondere Gutsprache der Kasse und mit ausdrücklicher Bewilligung des Vertrauensarztes. Die maximale Behandlungsdauer beträgt ein Jahr.</DSCR>
50
+ <DSCRF>Non admis pour le traitement de l'adiposité.&lt;br&gt;
51
+ Prise en charge seulement après examen endocrinologique préalable si la caisse a donné une garantie spéciale et avec l'autorisation expresse du médecin-conseil. La durée maximale du traitement se limite à une année.</DSCRF>
52
+ </LIMITATION>
53
+ </LIMITATIONS>
54
+ <ITEMS>
55
+ <ITEM PHARMATYPE="N">
56
+ <GTIN>9810510033990</GTIN>
57
+ <SALECD>A</SALECD>
58
+ <DSCR>ULTRATIP Krückenkapseln 17-19mm rot</DSCR>
59
+ <DSCRF>ULTRATIP Krückenkapseln 17-19mm rot</DSCRF>
60
+ <PEXF>0.0</PEXF>
61
+ <PPUB>15.4</PPUB>
62
+ </ITEM>
63
+ <ITEM PHARMATYPE="P">
64
+ <GTIN>7680002770021</GTIN>
65
+ <SALECD>A</SALECD>
66
+ <DSCR>Coeur-Vaisseaux Sérocytol, suppositoire</DSCR>
67
+ <DSCRF>--missing--</DSCRF>
68
+ <PKG_SIZE>9</PKG_SIZE>
69
+ <MEASURE>Suppositorien</MEASURE>
70
+ <DOSAGE_FORM>supp</DOSAGE_FORM>
71
+ <PRODNO>0027701</PRODNO>
72
+ </ITEM>
73
+ <ITEM PHARMATYPE="P">
74
+ <GTIN>7680259263666</GTIN>
75
+ <PHAR>1143629</PHAR>
76
+ <SALECD>A</SALECD>
77
+ <DSCR>VITAMIN C Streuli Inj Lös 20 % 10 Amp 5 ml</DSCR>
78
+ <DSCRF>--missing--</DSCRF>
79
+ <PEXF>8.72</PEXF>
80
+ <PPUB>17.05</PPUB>
81
+ <PKG_SIZE>10</PKG_SIZE>
82
+ <MEASURE>Ampulle(n)</MEASURE>
83
+ <DOSAGE_FORM>inj lös</DOSAGE_FORM>
84
+ <IKSCAT>B</IKSCAT>
85
+ <PRODNO>2592607</PRODNO>
86
+ </ITEM>
87
+ <ITEM PHARMATYPE="P">
88
+ <GTIN>7680259263239</GTIN>
89
+ <PHAR>456438</PHAR>
90
+ <SALECD>A</SALECD>
91
+ <DSCR>VITAMIN C Streuli Inj Lös 10 % 10 Amp 5 ml</DSCR>
92
+ <DSCRF>--missing--</DSCRF>
93
+ <PEXF>7.95</PEXF>
94
+ <PPUB>16.25</PPUB>
95
+ <PKG_SIZE>10</PKG_SIZE>
96
+ <MEASURE>Ampulle(n)</MEASURE>
97
+ <DOSAGE_FORM>inj lös</DOSAGE_FORM>
98
+ <IKSCAT>B</IKSCAT>
99
+ <PRODNO>2592606</PRODNO>
100
+ </ITEM>
101
+ </ITEMS>
102
+ </ARTIKELSTAMM>
@@ -0,0 +1,184 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ARTIKELSTAMM xmlns="http://elexis.ch/Elexis_Artikelstamm_v5" CREATION_DATETIME="2017-12-01T11:14:53.453+01:00" BUILD_DATETIME="2017-12-01T11:14:53.453+01:00" DATA_SOURCE="oddb2xml">
3
+ <PRODUCTS>
4
+ <PRODUCT>
5
+ <PRODNO>1394202</PRODNO>
6
+ <SALECD>A</SALECD>
7
+ <DSCR>PELSANO Med Badeemulsion</DSCR>
8
+ <DSCRF>--missing--</DSCRF>
9
+ <ATC>D02AC</ATC>
10
+ <LIMNAMEBAG>1010</LIMNAMEBAG>
11
+ </PRODUCT>
12
+ <PRODUCT>
13
+ <PRODNO>2592607</PRODNO>
14
+ <SALECD>A</SALECD>
15
+ <DSCR>VITAMIN C Streuli 20 % Inj Lös</DSCR>
16
+ <DSCRF>--missing--</DSCRF>
17
+ <ATC>A11GA01</ATC>
18
+ <SUBSTANCE>Ascorbinsäure (Vitamin C)</SUBSTANCE>
19
+ </PRODUCT>
20
+ <PRODUCT>
21
+ <PRODNO>3903201</PRODNO>
22
+ <SALECD>A</SALECD>
23
+ <DSCR>Resyl Plus Sirup</DSCR>
24
+ <DSCRF>Resyl Plus sirop</DSCRF>
25
+ <ATC>R05FA02</ATC>
26
+ <SUBSTANCE>Verschiedene Kombinationen</SUBSTANCE>
27
+ </PRODUCT>
28
+ <PRODUCT>
29
+ <PRODNO>3420101</PRODNO>
30
+ <SALECD>A</SALECD>
31
+ <DSCR>Rhinocure Lös</DSCR>
32
+ <DSCRF>Rhinocure sol</DSCRF>
33
+ <ATC>R01AX10</ATC>
34
+ <SUBSTANCE>Verschiedene Kombinationen</SUBSTANCE>
35
+ </PRODUCT>
36
+ <PRODUCT>
37
+ <PRODNO>4045401</PRODNO>
38
+ <SALECD>A</SALECD>
39
+ <DSCR>Indocid Retard Ret Kaps 75 mg</DSCR>
40
+ <DSCRF>Indocid Retard caps ret 75 mg</DSCRF>
41
+ <ATC>M01AB01</ATC>
42
+ <SUBSTANCE>Indometacinum</SUBSTANCE>
43
+ </PRODUCT>
44
+ </PRODUCTS>
45
+ <LIMITATIONS>
46
+ <LIMITATION>
47
+ <LIMNAMEBAG>070240</LIMNAMEBAG>
48
+ <DSCR>Gesamthaft zugelassen: &lt;b&gt;40&lt;/b&gt; Punkte</DSCR>
49
+ <DSCRF>Prescription limitée au maximum à: &lt;b&gt;40&lt;/b&gt; points</DSCRF>
50
+ </LIMITATION>
51
+ <LIMITATION>
52
+ <LIMNAMEBAG>070810</LIMNAMEBAG>
53
+ <DSCR>Nicht zur Adipositasbehandlung&lt;br&gt;
54
+ Kostenübernahme nur nach vorgängiger endokrinologischer Untersuchung, auf besondere Gutsprache der Kasse und mit ausdrücklicher Bewilligung des Vertrauensarztes. Die maximale Behandlungsdauer beträgt ein Jahr.</DSCR>
55
+ <DSCRF>Non admis pour le traitement de l'adiposité.&lt;br&gt;
56
+ Prise en charge seulement après examen endocrinologique préalable si la caisse a donné une garantie spéciale et avec l'autorisation expresse du médecin-conseil. La durée maximale du traitement se limite à une année.</DSCRF>
57
+ </LIMITATION>
58
+ <LIMITATION>
59
+ <LIMNAMEBAG>071330</LIMNAMEBAG>
60
+ <DSCR>Kostenübernahme nur nach vorgängiger allergologischer Abklärung.</DSCR>
61
+ <DSCRF>Prise en charge seulement après exploration allergologique.</DSCRF>
62
+ </LIMITATION>
63
+ <LIMITATION>
64
+ <LIMNAMEBAG>0808</LIMNAMEBAG>
65
+ <DSCR>Die Kostenübernahme der Impfstoffe für präventive Massnahmen in der obligatorischen Krankenpflegeversicherung wird in Art. 12a KLV geregelt. Die Voraussetzungen, damit die Impfungen bezahlt werden, sind in Bst. a bis m dieses Artikels abschliessend umschrieben.&lt;br&gt;
66
+ Die Preise der Impfstoffe sind Höchstpreise (Art. 52 Abs. 3 KVG) und kommen bei Reihenimpfungen (z.B. im schulärztlichen Dienst) nicht zur Anwendung. In diesen Fällen gelten die von den Krankenversicherern mit den zuständigen Behörden ausgehandelten bzw. die allenfalls von den Behörden festgesetzten Tarife.&lt;br&gt;
67
+ Für Hepatitis-B-Reihenimpfungen von Kindern und Jugendlichen gilt der Preis von Fr. 19.80 für eine Dose unter der Voraussetzung einer minimalen Bestellung von 100 Dosen an eine Lieferadresse.&lt;br&gt;
68
+ Wenn der Impfstoff zum obgenannten Serienpreis bezogen wird, darf der Arzt, die Ärztin nicht zum Einzelpreis (= Publikumspreis) der SL weiterverrechnen. Dies würde eine klare Umgehung von Art. 56 Absätze 3 und 4 des KVG bedeuten und wäre als Rechtsmissbrauch zu ahnden.</DSCR>
69
+ <DSCRF>L'article 12a de l'OPAS règle la prise en charge par l'assurance obligatoire des soins des vaccins pour les mesures médicales de prévention. Les conditions de remboursement de ces vaccins sont énoncées de manière exhaustive aux lettres a à m de cet article.&lt;br&gt;
70
+ Les prix des vaccins sont des prix maximum (art. 52, 3èeme al, LAMal). Ils ne s'appliquent pas aux vaccinations en série (p. ex. à celles effectuées par les services médicaux dans les écoles). Sont applicables pour ces cas, les tarifs fixés par convention entre les assureurs et les autorités compétentes ou, le cas échéant, ceux fixés par les autorités compétentes.&lt;br&gt;
71
+ Pour les vaccinations en série contre l'hépatite B pour les enfants et les jeunes, le prix est de Fr. 19.80 pour une dose à condition d'une commande minimale de 100 doses à l'adresse d'un déstinataire.&lt;br&gt;
72
+ Si le vaccin est obtenu au prix de série susmentionné, le médecin ne peut pas le facturer au prix par unité (= prix publique) de la LS. Cela équivaudrait à éluder manifestement l'article 56 alinéas 3 et 4 LAMal et serait considéré comme un abus de droit.</DSCRF>
73
+ </LIMITATION>
74
+ </LIMITATIONS>
75
+ <ITEMS>
76
+ <ITEM PHARMATYPE="N">
77
+ <GTIN>9810510033990</GTIN>
78
+ <PHAR>2798723</PHAR>
79
+ <SALECD>A</SALECD>
80
+ <DSCR>ULTRATIP Krückenkapseln 17-19mm rot</DSCR>
81
+ <DSCRF>--missing--</DSCRF>
82
+ <PEXF>0.00</PEXF>
83
+ <PPUB>15.40</PPUB>
84
+ </ITEM>
85
+ <ITEM PHARMATYPE="P">
86
+ <GTIN>7680002770021</GTIN>
87
+ <SALECD>A</SALECD>
88
+ <DSCR>Coeur-Vaisseaux Sérocytol, suppositoire</DSCR>
89
+ <DSCRF>--missing--</DSCRF>
90
+ <COMP>
91
+ <NAME>Sérolab, société anonyme</NAME>
92
+ <GLN/>
93
+ </COMP>
94
+ <PKG_SIZE>9</PKG_SIZE>
95
+ <MEASURE>Suppositorien</MEASURE>
96
+ <MEASUREF>Suppositorien</MEASUREF>
97
+ <DOSAGE_FORM>suppositoire</DOSAGE_FORM>
98
+ <IKSCAT>B</IKSCAT>
99
+ <DEDUCTIBLE>20</DEDUCTIBLE>
100
+ <PRODNO>0027701</PRODNO>
101
+ </ITEM>
102
+ <ITEM PHARMATYPE="N">
103
+ <GTIN>30102415</GTIN>
104
+ <PHAR>5454964</PHAR>
105
+ <SALECD>A</SALECD>
106
+ <DSCR>ROCHE POSAY Tolériane Teint Blush rose doré</DSCR>
107
+ <DSCRF>--missing--</DSCRF>
108
+ <PEXF>17.21</PEXF>
109
+ <PPUB>24.50</PPUB>
110
+ </ITEM>
111
+ <ITEM PHARMATYPE="N">
112
+ <GTIN>40133249</GTIN>
113
+ <PHAR>6824618</PHAR>
114
+ <SALECD>A</SALECD>
115
+ <DSCR>DOVE DermaSpa Bodycream Kaschmirgefühl Topf 300 ml</DSCR>
116
+ <DSCRF>--missing--</DSCRF>
117
+ <PEXF>5.80</PEXF>
118
+ <PPUB>7.20</PPUB>
119
+ </ITEM>
120
+ <ITEM PHARMATYPE="P">
121
+ <GTIN>7680259263666</GTIN>
122
+ <PHAR>1143629</PHAR>
123
+ <SALECD>A</SALECD>
124
+ <DSCR>VITAMIN C Streuli Inj Lös 20 % 10 Amp 5 ml</DSCR>
125
+ <DSCRF>VITAMINE C Streuli sol inj 20 % 10 amp 5 ml</DSCRF>
126
+ <COMP>
127
+ <NAME>Streuli Pharma AG</NAME>
128
+ <GLN>7601001004214</GLN>
129
+ </COMP>
130
+ <PKG_SIZE>10</PKG_SIZE>
131
+ <MEASURE>Ampulle(n)</MEASURE>
132
+ <MEASUREF>Ampulle(n)</MEASUREF>
133
+ <DOSAGE_FORM>Injektionslösung</DOSAGE_FORM>
134
+ <DOSAGE_FORMF>Solution injectable</DOSAGE_FORMF>
135
+ <IKSCAT>B</IKSCAT>
136
+ <DEDUCTIBLE>20</DEDUCTIBLE>
137
+ <PRODNO>2592607</PRODNO>
138
+ </ITEM>
139
+ <ITEM PHARMATYPE="P">
140
+ <GTIN>7680259263239</GTIN>
141
+ <PHAR>456438</PHAR>
142
+ <SALECD>A</SALECD>
143
+ <DSCR>VITAMIN C Streuli Inj Lös 10 % 10 Amp 5 ml</DSCR>
144
+ <DSCRF>VITAMINE C Streuli sol inj 10 % 10 amp 5 ml</DSCRF>
145
+ <COMP>
146
+ <NAME>Streuli Pharma AG</NAME>
147
+ <GLN>7601001004214</GLN>
148
+ </COMP>
149
+ <PKG_SIZE>10</PKG_SIZE>
150
+ <MEASURE>Ampulle(n)</MEASURE>
151
+ <MEASUREF>Ampulle(n)</MEASUREF>
152
+ <DOSAGE_FORM>Injektionslösung</DOSAGE_FORM>
153
+ <DOSAGE_FORMF>Solution injectable</DOSAGE_FORMF>
154
+ <IKSCAT>B</IKSCAT>
155
+ <DEDUCTIBLE>20</DEDUCTIBLE>
156
+ <PRODNO>2592606</PRODNO>
157
+ </ITEM>
158
+ <ITEM PHARMATYPE="N">
159
+ <GTIN>9810510033990</GTIN>
160
+ <PHAR>2798723</PHAR>
161
+ <SALECD>A</SALECD>
162
+ <DSCR>ULTRATIP Krückenkapseln 17-19mm rot</DSCR>
163
+ <DSCRF>--missing--</DSCRF>
164
+ <PEXF>0.00</PEXF>
165
+ <PPUB>15.40</PPUB>
166
+ </ITEM>
167
+ <ITEM PHARMATYPE="P">
168
+ <GTIN>7680139420998</GTIN>
169
+ <PHAR>1946156</PHAR>
170
+ <SALECD>A</SALECD>
171
+ <DSCR>PELSANO med Badeemulsion 300 ml</DSCR>
172
+ <DSCRF>--missing--</DSCRF>
173
+ <PEXF>6.81</PEXF>
174
+ <PPUB>11.1</PPUB>
175
+ <PKG_SIZE>300</PKG_SIZE>
176
+ <MEASURE>ml</MEASURE>
177
+ <DOSAGE_FORM>emuls</DOSAGE_FORM>
178
+ <SL_ENTRY>true</SL_ENTRY>
179
+ <IKSCAT>D</IKSCAT>
180
+ <DEDUCTIBLE>10</DEDUCTIBLE>
181
+ <PRODNO>1394202</PRODNO>
182
+ </ITEM>
183
+ </ITEMS>
184
+ </ARTIKELSTAMM>
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift File.join(File.dirname(__FILE__))
3
+ require 'spec_helper'
4
+ module Oddb2xml
5
+ # Small helper script to see, whether all files are correctly filled
6
+ def Oddb2xml.fill
7
+ start_keys = [
8
+ 1125822801,
9
+ 1125830700,
10
+ 1122465312,
11
+ 1120020209,
12
+ 1120020244,
13
+ 1130020646,
14
+ 1120020652,
15
+ 1130021806,
16
+ 1130021976,
17
+ 1130023722,
18
+ 1130027447,
19
+ 1130028470,
20
+ 1135366964,
21
+ 1122871437,
22
+ 1122871443,
23
+ 1122871466,
24
+ 1122871472,
25
+ 1132867163,
26
+ 1138110429,
27
+ 1130598003,
28
+ 1125565072,
29
+ 1126000923,
30
+ 1128111222,
31
+ 1128111718,
32
+ 1128807890,
33
+ 1117199565,
34
+ 1128111611,
35
+ ]
36
+
37
+ gtins = GTINS_DRUGS + [ FERRO_GRADUMET_GTIN,
38
+ HIRUDOID_GTIN,LANSOYL_GTIN, LEVETIRACETAM_GTIN,
39
+ SOFRADEX_GTIN, THREE_TC_GTIN, ZYVOXID_GTIN]
40
+ gtins.each{|gtin| Oddb2xml.check_gtin(gtin)}
41
+
42
+ ENV['LANG']= "de_CH.ISO-8859"
43
+ outfile = 'spec/data/transfer.dat'
44
+ FileUtils.rm_f(outfile, :verbose => true)
45
+ start_keys.each do |key|
46
+ cmd = "egrep '^#{key}' downloads/transfer.dat >> #{outfile}"
47
+ system(cmd)
48
+ end
49
+ iksnrs = []
50
+ gtins.each do |key|
51
+ cmd = "grep #{key} downloads/transfer.dat >> #{outfile}"
52
+ system(cmd)
53
+ iksnrs << key.to_s[4..8] if /^7680/i.match(key.to_s)
54
+ end
55
+ puts "Created #{outfile} #{File.size(outfile)} bytes"
56
+ puts "Used IKSNRS are #{iksnrs.sort.uniq.join(' ')}"
57
+ end
58
+
59
+ def Oddb2xml.check_gtin(gtin)
60
+ files = `grep -l #{gtin} downloads/*.xml`.split("\n")
61
+ files.each do |file|
62
+ short = File.join(SpecData,File.basename(file))
63
+ nrMatches = 0
64
+ nrMatches = `grep -c #{gtin} #{short}`.to_i if File.exist?(short)
65
+ puts "Could not find #{gtin} in #{short}" unless nrMatches > 0
66
+ end
67
+ end
68
+ end
69
+
70
+ Oddb2xml.fill
71
+
72
+