oddb2xml 1.3.6 → 1.3.7
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.
- data/History.txt +7 -0
- data/lib/oddb2xml/builder.rb +20 -9
- data/lib/oddb2xml/extractor.rb +11 -5
- data/lib/oddb2xml/version.rb +1 -1
- metadata +27 -27
data/History.txt
CHANGED
data/lib/oddb2xml/builder.rb
CHANGED
@@ -148,28 +148,36 @@ module Oddb2xml
|
|
148
148
|
indices.each_with_index do |index, i|
|
149
149
|
obj = {}
|
150
150
|
obj = {
|
151
|
-
:ean => index[:ean],
|
152
|
-
:atc => index[:atc_code],
|
153
|
-
# additional tags
|
154
|
-
:ith => '',
|
155
151
|
:seq => @items[phar],
|
156
152
|
:pac => nil,
|
157
153
|
:no8 => nil,
|
158
154
|
:de => index,
|
159
155
|
:fr => @index['FR'][phar][i],
|
160
156
|
:st => index[:status],
|
157
|
+
# swissINDEX and Packungen.xls(if swissINDEX does not have EAN)
|
158
|
+
:ean => index[:ean],
|
159
|
+
:atc => index[:atc_code],
|
160
|
+
:ith => '',
|
161
|
+
# from Packungen.xls
|
162
|
+
:siz => '',
|
163
|
+
:eht => '',
|
164
|
+
:sub => '',
|
161
165
|
}
|
162
166
|
if obj[:seq] and obj[:pac] = obj[:seq][:packages][phar]
|
163
167
|
obj[:no8] = obj[:pac][:swissmedic_number8].to_s
|
164
168
|
obj[:atc] = obj[:pac][:atc_code].to_s
|
165
|
-
obj[:
|
166
|
-
|
167
|
-
if obj[:no8] and ppac = @packs[obj[:no8].intern] # Packungen.xls
|
169
|
+
if obj[:no8] and ppac = @packs[obj[:no8].intern] # Packungen.xls
|
170
|
+
unless obj[:ean]
|
168
171
|
obj[:ean] = ppac[:ean].to_s
|
172
|
+
end
|
173
|
+
# sync ATC-code via EAN
|
174
|
+
if obj[:ean] == ppac[:ean].to_s
|
169
175
|
obj[:atc] = ppac[:atc_code].to_s
|
170
|
-
obj[:ith] = ppac[:ith_swissmedic].to_s
|
171
|
-
obj[:st] = 'I'
|
172
176
|
end
|
177
|
+
obj[:ith] = ppac[:ith_swissmedic]
|
178
|
+
obj[:siz] = ppac[:package_size]
|
179
|
+
obj[:eht] = ppac[:einheit_swissmedic]
|
180
|
+
obj[:sub] = ppac[:substance_swissmedic]
|
173
181
|
end
|
174
182
|
end
|
175
183
|
if obj[:ean][0..3] == '7680'
|
@@ -490,6 +498,9 @@ module Oddb2xml
|
|
490
498
|
#xml.REMD
|
491
499
|
#xml.REMF
|
492
500
|
#}
|
501
|
+
xml.PackGrSwissmedic obj[:siz] unless obj[:siz].empty?
|
502
|
+
xml.EinheitSwissmedic obj[:eht] unless obj[:eht].empty?
|
503
|
+
xml.SubstanceSwissmedic obj[:sub] unless obj[:sub].empty?
|
493
504
|
}
|
494
505
|
end
|
495
506
|
xml.RESULT {
|
data/lib/oddb2xml/extractor.rb
CHANGED
@@ -195,21 +195,27 @@ module Oddb2xml
|
|
195
195
|
data = {}
|
196
196
|
case @type
|
197
197
|
when :packages
|
198
|
+
typ = 6 # Heilmittelcode
|
198
199
|
i_5,i_3 = 0,10 # :swissmedic_numbers
|
199
200
|
cat = 13 # :swissmedic_category
|
200
201
|
ith = 4 # :ith_swissmedic IT-Code (swissmedic-diff)
|
201
202
|
atc = 5 # :atc_code
|
202
|
-
|
203
|
+
siz = 11 # :package_size
|
204
|
+
eht = 12 # :einheit_swissmedic
|
205
|
+
sub = 14 # :substance_swissmedic
|
203
206
|
@sheet.each_with_index do |row, i|
|
204
207
|
next if (i== 0 or row[typ] == 'Tierarzneimittel')
|
205
208
|
no8 = extract_number(row, i_5).to_s + extract_number(row, i_3, /^\d{3}$/).to_s
|
206
209
|
unless no8.empty?
|
207
210
|
ean_base12 = "7680#{no8}"
|
208
211
|
data[no8.intern] = {
|
209
|
-
:ean
|
210
|
-
:ith_swissmedic
|
211
|
-
:swissmedic_category
|
212
|
-
:atc_code
|
212
|
+
:ean => (ean_base12.ljust(12, '0') + calc_checksum(ean_base12)),
|
213
|
+
:ith_swissmedic => row[ith].to_s,
|
214
|
+
:swissmedic_category => row[cat].to_s,
|
215
|
+
:atc_code => row[atc].to_s,
|
216
|
+
:package_size => row[siz].to_s,
|
217
|
+
:einheit_swissmedic => row[eht].to_s,
|
218
|
+
:substance_swissmedic => row[sub].to_s,
|
213
219
|
}
|
214
220
|
end
|
215
221
|
end
|
data/lib/oddb2xml/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oddb2xml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2013-02-08 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rubyzip
|
16
|
-
requirement: &
|
16
|
+
requirement: &15778620 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *15778620
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: archive-tar-minitar
|
27
|
-
requirement: &
|
27
|
+
requirement: &15777540 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *15777540
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mechanize
|
38
|
-
requirement: &
|
38
|
+
requirement: &15776980 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *15776980
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: nokogiri
|
49
|
-
requirement: &
|
49
|
+
requirement: &15776260 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *15776260
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: savon
|
60
|
-
requirement: &
|
60
|
+
requirement: &15775420 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '2.0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *15775420
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: spreadsheet
|
71
|
-
requirement: &
|
71
|
+
requirement: &15774640 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *15774640
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &15773640 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *15773640
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: webmock
|
93
|
-
requirement: &
|
93
|
+
requirement: &15771340 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *15771340
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: ZenTest
|
104
|
-
requirement: &
|
104
|
+
requirement: &15769640 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *15769640
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: hoe
|
115
|
-
requirement: &
|
115
|
+
requirement: &15767680 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '3.4'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *15767680
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: rdoc
|
126
|
-
requirement: &
|
126
|
+
requirement: &15764720 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ! '>='
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *15764720
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: rdoc
|
137
|
-
requirement: &
|
137
|
+
requirement: &15760840 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ~>
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '3.10'
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *15760840
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: hoe
|
148
|
-
requirement: &
|
148
|
+
requirement: &15759960 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ~>
|
@@ -153,7 +153,7 @@ dependencies:
|
|
153
153
|
version: '2.13'
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *15759960
|
157
157
|
description: oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic.
|
158
158
|
email: yasaka@ywesee.com, zdavatz@ywesee.com
|
159
159
|
executables:
|