oddb2xml 2.6.3 → 2.6.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/History.txt +3 -0
- data/lib/oddb2xml/builder.rb +13 -9
- data/lib/oddb2xml/extractor.rb +1 -0
- data/lib/oddb2xml/version.rb +1 -1
- data/spec/artikelstamm_spec.rb +16 -12
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cc3e56a43eff7b85027dc12b927d57a8aebe943c6964108cb28cb430a1cfe2df
|
4
|
+
data.tar.gz: e9af1d5b625086d3ae824fd1dfc57b6ecb6da44a6e3b971a5fe3a4be5ccf6276
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc2108a78bd1fef35651632cc57a9ddc245ae1859c41845004a575e291cdda718fb98d15e32055c1223d15055ab4952801452f558a56c1a6079989d9e012276b
|
7
|
+
data.tar.gz: 0eb25db55df9755a8f9762ec44bedbb1b63ec6d3619d5abc01d1360f7b1ef6203b1eaa752fc23b52bbcaea58091bff6e2c51245949bfa7c381e0f2e057216d97
|
data/History.txt
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
=== 2.6.4 / 14.08.2019
|
2
|
+
* Fix issue #35: Missing product with ATC code for 7680005850010 Varilrix when building Artikelstamm_V5
|
3
|
+
|
1
4
|
=== 2.6.3 / 01.07.2019
|
2
5
|
* Use https://github.com/zdavatz/cpp2sqlite/blob/master/input/atc_codes_multi_lingual.txt instead of http://download.epha.ch/data/atc/atc.csv
|
3
6
|
|
data/lib/oddb2xml/builder.rb
CHANGED
@@ -859,7 +859,7 @@ module Oddb2xml
|
|
859
859
|
@articles.sort! { |a,b| a[:ean13] <=> b[:ean13] }
|
860
860
|
@articles.each do |obj|
|
861
861
|
idx += 1
|
862
|
-
Oddb2xml.log "build_article #{idx} of #{@articles.size} articles" if idx % 500 == 0
|
862
|
+
Oddb2xml.log "build_article #{obj[:ean13]}: #{idx} of #{@articles.size} articles" if idx % 500 == 0
|
863
863
|
item = @items[obj[:ean13]]
|
864
864
|
pac,no8 = nil,obj[:ean13].to_s[4..11] # BAG-XML(SL/LS)
|
865
865
|
pack_info = nil
|
@@ -1449,7 +1449,7 @@ module Oddb2xml
|
|
1449
1449
|
obj = @packs[no8] # obj not yet in refdata. Use data from swissmedic_package.xlsx
|
1450
1450
|
end
|
1451
1451
|
nr_items += 1
|
1452
|
-
Oddb2xml.log "
|
1452
|
+
Oddb2xml.log "build_artikelstamm #{ean13}: #{nr_items} of #{gtins.size} articles" if nr_items % 5000 == 0
|
1453
1453
|
item = @items[ean13]
|
1454
1454
|
pack_info = nil
|
1455
1455
|
pack_info = @packs[no8] if no8 && /#{ean13}/.match(@packs[no8].to_s) # info from Packungen.xlsx from swissmedic_info
|
@@ -1509,7 +1509,7 @@ module Oddb2xml
|
|
1509
1509
|
name_fr ||= (obj[:name_fr] + ', ' + obj[:desc_fr]).strip if obj[:name_fr]
|
1510
1510
|
# ZuRorse has only german names
|
1511
1511
|
name_fr ||= (item[:name_fr] + ', ' + item[:desc_fr]) if item
|
1512
|
-
name_fr ||=
|
1512
|
+
name_fr ||= name
|
1513
1513
|
xml.DSCRF(name_fr)
|
1514
1514
|
xml.COMP do # Manufacturer
|
1515
1515
|
xml.NAME obj[:company_name]
|
@@ -1558,11 +1558,13 @@ module Oddb2xml
|
|
1558
1558
|
end if item && item[:deductible]
|
1559
1559
|
prodno = Oddb2xml.getProdnoForEan13(pkg_gtin)
|
1560
1560
|
xml.PRODNO prodno if prodno
|
1561
|
+
atc = package[:atc_code]
|
1562
|
+
atc ||= @refdata[pkg_gtin][:seq][:atc_code] if @refdata[pkg_gtin]
|
1561
1563
|
csv = []
|
1562
1564
|
@csv_file << [pkg_gtin, name, package[:unit], measure,
|
1563
1565
|
pexf ? pexf : '',
|
1564
1566
|
ppub ? ppub : '',
|
1565
|
-
|
1567
|
+
prodno, atc, package[:substance_swissmedic],
|
1566
1568
|
sequence[:org_gen_code], package[:ith_swissmedic],
|
1567
1569
|
@items[pkg_gtin] ? 'SL' : '',
|
1568
1570
|
]
|
@@ -1658,18 +1660,20 @@ module Oddb2xml
|
|
1658
1660
|
sequence ||= @products[ean][:seq] if @products[ean]
|
1659
1661
|
next unless check_name(obj, :de)
|
1660
1662
|
ppac = ((_ppac = @packs[ean.to_s[4..11]] and !_ppac[:is_tier]) ? _ppac : {})
|
1661
|
-
unless ppac
|
1662
|
-
ppac = @packs.find{|pac| pac.ean == ean }.first
|
1663
|
-
end
|
1664
1663
|
prodno = ppac[:prodno] if ppac[:prodno] and !ppac[:prodno].empty?
|
1665
1664
|
prodno = obj[:pharmacode] if obj[:chapter70]
|
1665
|
+
myPack = @packs.values.find{ |x| x[:iksnr].to_i == obj[:seq][:swissmedic_number5].to_i } if obj[:seq]
|
1666
|
+
if myPack && !prodno
|
1667
|
+
prodno ||= myPack[:prodno]
|
1668
|
+
puts "Setting prodno #{prodno} for #{ean13} Varilrix"
|
1669
|
+
end
|
1666
1670
|
next unless prodno
|
1667
1671
|
next if emitted_prodno.index(prodno)
|
1668
1672
|
sequence ||= @articles.find{|x| x[:ean13].eql?(ean)}
|
1669
1673
|
unless obj[:chapter70]
|
1670
1674
|
next unless sequence && (sequence[:name_de] || sequence[:desc_de])
|
1671
|
-
if Oddb2xml.getEan13forProdno(prodno).size == 0
|
1672
|
-
puts "No item found for prodno #{prodno} no8 #{obj[:no8]} #{sequence[:name_de]}
|
1675
|
+
if Oddb2xml.getEan13forProdno(prodno).size == 0 && !obj[:no8].eql?(Oddb2xml.getNo8ForEan13(ean))
|
1676
|
+
puts "No item found for prodno #{prodno} no8 #{obj[:no8]} #{sequence[:name_de]}"
|
1673
1677
|
next
|
1674
1678
|
end
|
1675
1679
|
end
|
data/lib/oddb2xml/extractor.rb
CHANGED
data/lib/oddb2xml/version.rb
CHANGED
data/spec/artikelstamm_spec.rb
CHANGED
@@ -121,7 +121,7 @@ describe Oddb2xml::Builder do
|
|
121
121
|
it 'should find price from Preparations.xml by setting' do
|
122
122
|
expect(File.exists?(@elexis_v5_csv)).to eq true
|
123
123
|
inhalt = File.open(@elexis_v5_csv, 'r+').read
|
124
|
-
expected = %(7680658560014,Dibase 10'000 Tropfen 10000 IE/ml Fl 10 ml,,Flasche(n),5,9.25
|
124
|
+
expected = %(7680658560014,Dibase 10'000 Tropfen 10000 IE/ml Fl 10 ml,,Flasche(n),5,9.25,6585601,A11CC05,,"",,SL)
|
125
125
|
expect(inhalt.index(expected)).to be > 0
|
126
126
|
end
|
127
127
|
|
@@ -139,7 +139,7 @@ describe Oddb2xml::Builder do
|
|
139
139
|
it 'should have a price for Lynparza' do
|
140
140
|
expect(File.exists?(@elexis_v5_csv)).to eq true
|
141
141
|
inhalt = File.open(@elexis_v5_csv, 'r+').read
|
142
|
-
expect(inhalt.index('7680651600014,Lynparza Kaps 50 mg 448 Stk,,Kapsel(n),5562.48,5947.55
|
142
|
+
expect(inhalt.index('7680651600014,Lynparza Kaps 50 mg 448 Stk,,Kapsel(n),5562.48,5947.55,6516001,L01XX46,,"",,S')).not_to be nil
|
143
143
|
end
|
144
144
|
it 'should trim the ean13 to 13 length' do
|
145
145
|
gtin14 = "00040565124346"
|
@@ -214,23 +214,27 @@ describe Oddb2xml::Builder do
|
|
214
214
|
|
215
215
|
it 'should contain DIBASE with phar' do
|
216
216
|
expected = %(<ITEM PHARMATYPE="P">
|
217
|
-
<GTIN>
|
218
|
-
<!--override
|
217
|
+
<GTIN>7680658560014</GTIN>
|
218
|
+
<!--obsolete override-->
|
219
|
+
<PHAR>7199565</PHAR>
|
219
220
|
<SALECD>A</SALECD>
|
220
|
-
<DSCR>
|
221
|
-
<DSCRF
|
221
|
+
<DSCR>Dibase 10'000 Tropfen 10000 IE/ml Fl 10 ml</DSCR>
|
222
|
+
<DSCRF>Dibase 10'000 gouttes 10000 UI/ml fl 10 ml</DSCRF>
|
222
223
|
<COMP>
|
223
224
|
<NAME>Gebro Pharma AG</NAME>
|
224
|
-
<GLN
|
225
|
+
<GLN>7612053000000</GLN>
|
225
226
|
</COMP>
|
227
|
+
<PEXF>5</PEXF>
|
228
|
+
<PPUB>9.25</PPUB>
|
226
229
|
<PKG_SIZE>1</PKG_SIZE>
|
227
230
|
<MEASURE>Flasche(n)</MEASURE>
|
228
231
|
<MEASUREF>Flasche(n)</MEASUREF>
|
229
|
-
<DOSAGE_FORM>
|
230
|
-
<
|
232
|
+
<DOSAGE_FORM>orale Tropflösung</DOSAGE_FORM>
|
233
|
+
<SL_ENTRY>true</SL_ENTRY>
|
231
234
|
<IKSCAT>D</IKSCAT>
|
232
|
-
<
|
233
|
-
|
235
|
+
<DEDUCTIBLE>10</DEDUCTIBLE>
|
236
|
+
<PRODNO>6585601</PRODNO>
|
237
|
+
</ITEM)
|
234
238
|
expect(@inhalt.index(expected)).not_to be nil
|
235
239
|
end
|
236
240
|
|
@@ -329,7 +333,7 @@ describe Oddb2xml::Builder do
|
|
329
333
|
<DEDUCTIBLE>10</DEDUCTIBLE>
|
330
334
|
<PRODNO>1610501</PRODNO>
|
331
335
|
</ITEM>),
|
332
|
-
'item 7680161050743
|
336
|
+
'item 7680161050743 Hirudoid Creme 3 mg/g 100 g' =>
|
333
337
|
%( <ITEM PHARMATYPE="P">
|
334
338
|
<GTIN>7680161050743</GTIN>
|
335
339
|
<PHAR>2731179</PHAR>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oddb2xml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yasuhiro Asaka, Zeno R.R. Davatz, Niklaus Giger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -487,7 +487,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
487
487
|
version: '0'
|
488
488
|
requirements: []
|
489
489
|
rubyforge_project:
|
490
|
-
rubygems_version: 2.6
|
490
|
+
rubygems_version: 2.7.6
|
491
491
|
signing_key:
|
492
492
|
specification_version: 4
|
493
493
|
summary: oddb2xml creates xml files.
|