oddb2xml 2.6.3 → 2.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.
|