oddb2xml 2.7.4 → 2.7.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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +1 -2
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/.standard.yml +0 -0
- data/Elexis_Artikelstamm_v003.xsd +0 -0
- data/History.txt +14 -0
- data/LICENSE +0 -0
- data/Manifest.txt +0 -0
- data/QA.md +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/artikelstamm.md +0 -0
- data/data/article_overrides.yaml +0 -0
- data/data/gal_forms.yaml +0 -0
- data/data/gal_groups.yaml +0 -0
- data/data/gtin2ignore.yaml +0 -0
- data/data/product_overrides.yaml +0 -0
- data/dokumentation_calc.textile +0 -0
- data/lib/oddb2xml/builder.rb +2 -2
- data/lib/oddb2xml/chapter_70_hack.rb +0 -0
- data/lib/oddb2xml/cli.rb +0 -0
- data/lib/oddb2xml/compare.rb +0 -0
- data/lib/oddb2xml/compositions_syntax.rb +4 -1
- data/lib/oddb2xml/compressor.rb +0 -0
- data/lib/oddb2xml/downloader.rb +1 -1
- data/lib/oddb2xml/options.rb +0 -0
- data/lib/oddb2xml/parslet_compositions.rb +4 -2
- data/lib/oddb2xml/util.rb +0 -0
- data/lib/oddb2xml/version.rb +1 -1
- data/lib/oddb2xml/xml_definitions.rb +0 -0
- data/lib/oddb2xml.rb +0 -0
- data/oddb2xml.gemspec +3 -2
- data/oddb_calc.xsd +0 -0
- data/shell.nix +17 -0
- data/spec/artikelstamm_spec.rb +10 -3
- data/spec/builder_spec.rb +4 -3
- data/spec/calc_spec.rb +0 -0
- data/spec/check_artikelstamm_spec.rb +0 -0
- data/spec/cli_spec.rb +0 -0
- data/spec/compare_spec.rb +0 -0
- data/spec/composition_syntax_spec.rb +0 -0
- data/spec/compressor_spec.rb +0 -0
- data/spec/data/AipsDownload.zip +0 -0
- data/spec/data/Elexis_Artikelstamm_v5.xsd +0 -0
- data/spec/data/GL_Diff_SB.xml +0 -0
- data/spec/data/ItCodes.xml +0 -0
- data/spec/data/PR121001.txt +0 -0
- data/spec/data/PR121002.txt +0 -0
- data/spec/data/Preparations.xml +0 -0
- data/spec/data/Publications.xls +0 -0
- data/spec/data/artikelstamm_N_010917.xml +0 -0
- data/spec/data/artikelstamm_N_011217.xml +0 -0
- data/spec/data/artikelstamm_P_010917.xml +0 -0
- data/spec/data/artikelstamm_P_011217.xml +0 -0
- data/spec/data/atc.csv +0 -0
- data/spec/data/check_artikelstamm/artikelstamm_v5_gtin_non_numeric.xml +0 -0
- data/spec/data/check_artikelstamm/artikelstamm_v5_gtin_not_uniq.xml +0 -0
- data/spec/data/check_artikelstamm/artikelstamm_v5_limitation_exists.xml +0 -0
- data/spec/data/check_artikelstamm/artikelstamm_v5_okay.xml +0 -0
- data/spec/data/check_artikelstamm/artikelstamm_v5_pharma_has_product.xml +0 -0
- data/spec/data/check_artikelstamm/artikelstamm_v5_prodno_not_uniq.xml +0 -0
- data/spec/data/check_artikelstamm/artikelstamm_v5_product_needs_article.xml +0 -0
- data/spec/data/column_c.txt +0 -0
- data/spec/data/compositions.txt +0 -0
- data/spec/data/compressor/oddb2xml_files_bm_update.txt +0 -0
- data/spec/data/compressor/oddb2xml_files_lppv.txt +0 -0
- data/spec/data/compressor/oddb2xml_files_nonpharma.xls +0 -0
- data/spec/data/epha_interactions.csv +0 -0
- data/spec/data/listen_neu.html +0 -0
- data/spec/data/medregbm_betrieb.txt +0 -0
- data/spec/data/medregbm_person.txt +0 -0
- data/spec/data/oddb2xml_files_bm_update.txt +0 -0
- data/spec/data/oddb2xml_files_lppv.txt +0 -0
- data/spec/data/oddb2xml_files_nonpharma.xls +0 -0
- data/spec/data/problems.txt +0 -0
- data/spec/data/refdata_NonPharma.xml +0 -0
- data/spec/data/refdata_Pharma.xml +0 -0
- data/spec/data/swissmedic_fridges.html +0 -0
- data/spec/data/swissmedic_info.html +0 -0
- data/spec/data/swissmedic_info_2.html +0 -0
- data/spec/data/swissmedic_orphan.xlsx +0 -0
- data/spec/data/swissmedic_orphans.html +0 -0
- data/spec/data/swissmedic_package.xlsx +0 -0
- data/spec/data/swissmedic_packages.html +0 -0
- data/spec/data/transfer.dat +0 -0
- data/spec/data/v5_first.xml +0 -0
- data/spec/data/v5_second.xml +0 -0
- data/spec/data/varia_De.htm +0 -0
- data/spec/data/vcr/transfer.dat +0 -0
- data/spec/data/vcr/transfer.zip +0 -0
- data/spec/data/wsdl_nonpharma.xml +0 -0
- data/spec/data/wsdl_pharma.xml +0 -0
- data/spec/extractor_spec.rb +1 -1
- data/spec/fixtures/vcr_cassettes/artikelstamm.json +0 -0
- data/spec/fixtures/vcr_cassettes/oddb2xml.json +1 -1
- data/spec/galenic_spec.rb +0 -0
- data/spec/parslet_spec.rb +65 -4
- data/tools/cacert.pem +0 -0
- data/tools/set.bat +0 -0
- data/tools/win_fetch_cacerts.rb +0 -0
- metadata +29 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8d94c5e970a0c4917bfd547d1c71b6c889cd9ec4420e2d986eb53023bbdd2d94
|
|
4
|
+
data.tar.gz: 2a242506a97171bbb882f5daa9e634ff1485e32bed2116d4e2dd3ffb1d948850
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d3816794c1f84e301d091ddf35bbea6246da42bbb8fdce8bb9b9444b9cc8280e51f712ff3bc5b6b3166d2e78f942441e7600c9e86030034e93fe89bf5b5b0b91
|
|
7
|
+
data.tar.gz: 5518a263cd2e9813b7625f2aab9e32ce455ec4ece55dc84bf8bb862f62f8a61b027ae9eb5396c92ef2a35de3acfa9e4024f6ead2a581c6c009a4cc559da75d16
|
data/.github/workflows/ruby.yml
CHANGED
data/.gitignore
CHANGED
|
File without changes
|
data/.rspec
CHANGED
|
File without changes
|
data/.standard.yml
CHANGED
|
File without changes
|
|
File without changes
|
data/History.txt
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
=== 2.7.7/ 12.08.2022
|
|
2
|
+
* Workaround for artikelstamm V3. Strip IKSCAT from A+ to A to be compatible with XSD
|
|
3
|
+
|
|
4
|
+
=== 2.7.6/ 9.03.2022
|
|
5
|
+
* Workaround for artikelstamm V5. Strip IKSCAT from A+ to A to be compatible with XSD
|
|
6
|
+
* Fix spec tests
|
|
7
|
+
|
|
8
|
+
=== 2.7.5 / 1.02.2022
|
|
9
|
+
* Specify old versions of savon and rdoc to avoid importing psych
|
|
10
|
+
* Added ruby 3.1 to tested ruby versions
|
|
11
|
+
* Removed ruby 2.5 from supported versions
|
|
12
|
+
* Force psych to < 4.0 to avoid the error Psych::DisallowedClass: Tried to load unspecified class: Struct::GalenicGroup
|
|
13
|
+
* Therefor rdoc < 6.4
|
|
14
|
+
|
|
1
15
|
=== 2.7.4 / 30.03.2021
|
|
2
16
|
* Update needed Ruby-Version to 2.5.0 in gemspec
|
|
3
17
|
* Ensure downloads directory is created at first run
|
data/LICENSE
CHANGED
|
File without changes
|
data/Manifest.txt
CHANGED
|
File without changes
|
data/QA.md
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
File without changes
|
data/Rakefile
CHANGED
|
File without changes
|
data/artikelstamm.md
CHANGED
|
File without changes
|
data/data/article_overrides.yaml
CHANGED
|
File without changes
|
data/data/gal_forms.yaml
CHANGED
|
File without changes
|
data/data/gal_groups.yaml
CHANGED
|
File without changes
|
data/data/gtin2ignore.yaml
CHANGED
|
File without changes
|
data/data/product_overrides.yaml
CHANGED
|
File without changes
|
data/dokumentation_calc.textile
CHANGED
|
File without changes
|
data/lib/oddb2xml/builder.rb
CHANGED
|
@@ -910,7 +910,7 @@ module Oddb2xml
|
|
|
910
910
|
# xml.CDS01
|
|
911
911
|
# xml.CDS02
|
|
912
912
|
if ppac
|
|
913
|
-
xml.SMCAT ppac[:swissmedic_category] unless ppac[:swissmedic_category].empty?
|
|
913
|
+
xml.SMCAT ppac[:swissmedic_category][0] unless ppac[:swissmedic_category].empty?
|
|
914
914
|
xml.GEN_PRODUCTION ppac[:gen_production] unless ppac[:gen_production].empty?
|
|
915
915
|
xml.INSULIN_CATEGORY ppac[:insulin_category] unless ppac[:insulin_category].empty?
|
|
916
916
|
xml.DRUG_INDEX ppac[:drug_index] unless ppac[:drug_index].empty?
|
|
@@ -1568,7 +1568,7 @@ module Oddb2xml
|
|
|
1568
1568
|
xml.DOSAGE_FORMF info.galenic_form.descriptions["fr"] if info.galenic_form.descriptions["fr"]
|
|
1569
1569
|
end
|
|
1570
1570
|
xml.SL_ENTRY "true" if sl_gtins.index(pkg_gtin)
|
|
1571
|
-
xml.IKSCAT package[:swissmedic_category] if package[:swissmedic_category] && package[:swissmedic_category].length > 0
|
|
1571
|
+
xml.IKSCAT package[:swissmedic_category][0] if package[:swissmedic_category] && package[:swissmedic_category].length > 0
|
|
1572
1572
|
xml.GENERIC_TYPE sequence[:org_gen_code] if sequence[:org_gen_code] && !sequence[:org_gen_code].empty?
|
|
1573
1573
|
xml.LPPV "true" if @lppvs[pkg_gtin.to_s] # detect_nincd
|
|
1574
1574
|
if item && item[:deductible]
|
|
File without changes
|
data/lib/oddb2xml/cli.rb
CHANGED
|
File without changes
|
data/lib/oddb2xml/compare.rb
CHANGED
|
File without changes
|
|
@@ -213,7 +213,6 @@ class CompositionParser < Parslet::Parser
|
|
|
213
213
|
str("et ") |
|
|
214
214
|
str("excipiens") |
|
|
215
215
|
str("partes") |
|
|
216
|
-
str("pro capsula") |
|
|
217
216
|
str("pro dosi") |
|
|
218
217
|
str("pro vitroe") |
|
|
219
218
|
str("q.s. ad ") |
|
|
@@ -259,6 +258,9 @@ class CompositionParser < Parslet::Parser
|
|
|
259
258
|
|
|
260
259
|
rule(:pro_identifiers) {
|
|
261
260
|
str("ut aqua ad iniectabilia q.s. ad emulsionem pro ") |
|
|
261
|
+
str("aqua ").maybe >> str("ad iniectabile q.s. ad suspensionem pro ") |
|
|
262
|
+
str("aqua ").maybe >> str("ad iniectabile q.s. ad solutionem pro ") |
|
|
263
|
+
str("aqua ").maybe >> str("ad iniectabile ad solutionem pro ") |
|
|
262
264
|
str("aqua ").maybe >> str("ad iniectabilia q.s. ad solutionem pro ") |
|
|
263
265
|
str("aqua ").maybe >> str("ad solutionem pro ") |
|
|
264
266
|
str("aqua ").maybe >> str("q.s. ad emulsionem pro ") |
|
|
@@ -270,6 +272,7 @@ class CompositionParser < Parslet::Parser
|
|
|
270
272
|
str("excipiens ad pulverem pro ") |
|
|
271
273
|
str("excipiens ad solutionem pro ") |
|
|
272
274
|
str("pro vase ") |
|
|
275
|
+
str("pro capsula ") |
|
|
273
276
|
str("q.s. ad pulverem pro ")
|
|
274
277
|
}
|
|
275
278
|
rule(:excipiens_dose) {
|
data/lib/oddb2xml/compressor.rb
CHANGED
|
File without changes
|
data/lib/oddb2xml/downloader.rb
CHANGED
|
@@ -243,7 +243,7 @@ module Oddb2xml
|
|
|
243
243
|
class RefdataDownloader < Downloader
|
|
244
244
|
def initialize(options = {}, type = :pharma)
|
|
245
245
|
@type = (type == :pharma ? "Pharma" : "NonPharma")
|
|
246
|
-
url = "
|
|
246
|
+
url = "https://refdatabase.refdata.ch/Service/Article.asmx?WSDL"
|
|
247
247
|
super(options, url)
|
|
248
248
|
end
|
|
249
249
|
|
data/lib/oddb2xml/options.rb
CHANGED
|
File without changes
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
require "parslet"
|
|
8
8
|
require "parslet/convenience"
|
|
9
|
-
|
|
9
|
+
require_relative "compositions_syntax"
|
|
10
10
|
VERBOSE_MESSAGES ||= false
|
|
11
11
|
|
|
12
12
|
module ParseUtil
|
|
@@ -101,6 +101,7 @@ module ParseUtil
|
|
|
101
101
|
rescue => error
|
|
102
102
|
puts "error #{error}"
|
|
103
103
|
# binding.pry
|
|
104
|
+
raise error
|
|
104
105
|
end
|
|
105
106
|
end
|
|
106
107
|
|
|
@@ -373,6 +374,7 @@ class ParseComposition
|
|
|
373
374
|
ERRORS_TO_FIX = {
|
|
374
375
|
/(\d+)\s+-\s*(\d+)/ => '\1-\2',
|
|
375
376
|
"o.1" => "0.1",
|
|
377
|
+
/polymerisat(i|um) \d:\d/ => "polymerisatum",
|
|
376
378
|
/\s+(mg|g) DER:/ => ' \1, DER:',
|
|
377
379
|
" mind. " => " min. ",
|
|
378
380
|
" streptococci pyogen. " => " streptococci pyogen ",
|
|
@@ -384,7 +386,7 @@ class ParseComposition
|
|
|
384
386
|
/ U\.: (excipiens) / => ' U. \1 ',
|
|
385
387
|
/ U\.: (alnus|betula|betula|betulae) / => ' U., \1 ',
|
|
386
388
|
/^(acari allergeni extractum (\(acarus siro\)|).+\s+U\.:)/ => 'A): \1',
|
|
387
|
-
"Solvens: alprostadilum" => "alprostadilum"
|
|
389
|
+
"Solvens: alprostadilum" => "alprostadilum",
|
|
388
390
|
}
|
|
389
391
|
@@error_handler = ParseUtil::HandleSwissmedicErrors.new(ERRORS_TO_FIX)
|
|
390
392
|
|
data/lib/oddb2xml/util.rb
CHANGED
|
File without changes
|
data/lib/oddb2xml/version.rb
CHANGED
|
File without changes
|
data/lib/oddb2xml.rb
CHANGED
|
File without changes
|
data/oddb2xml.gemspec
CHANGED
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
spec.add_dependency "minitar" # , '~> 0.5.2'
|
|
25
25
|
spec.add_dependency "mechanize" # , '~> 2.5.1'
|
|
26
26
|
spec.add_dependency "nokogiri", ">= 1.8.2"
|
|
27
|
-
spec.add_dependency "savon"
|
|
27
|
+
spec.add_dependency "savon" , '~> 2.12.0'
|
|
28
28
|
spec.add_dependency "spreadsheet" # , '~> 1.0.0'
|
|
29
29
|
spec.add_dependency "rubyXL", "~> 3.4.0"
|
|
30
30
|
spec.add_dependency "sax-machine" # , '~> 0.1.0'
|
|
@@ -44,8 +44,9 @@ Gem::Specification.new do |spec|
|
|
|
44
44
|
spec.add_development_dependency "rake"
|
|
45
45
|
spec.add_development_dependency "rspec"
|
|
46
46
|
spec.add_development_dependency "webmock"
|
|
47
|
-
spec.add_development_dependency "rdoc"
|
|
47
|
+
spec.add_development_dependency "rdoc", "~> 6.3.3" # rdoc 6.4 depends on psych 4.0 which breaks savon!
|
|
48
48
|
spec.add_development_dependency "vcr"
|
|
49
49
|
spec.add_development_dependency "timecop"
|
|
50
50
|
spec.add_development_dependency "flexmock"
|
|
51
|
+
spec.add_development_dependency "psych", "< 4.0.0"
|
|
51
52
|
end
|
data/oddb_calc.xsd
CHANGED
|
File without changes
|
data/shell.nix
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# See https://nixos.wiki/wiki/Packaging/Ruby
|
|
2
|
+
# A small helper script to get a development version for oddb2xml under NixOS
|
|
3
|
+
with import <nixpkgs> {};
|
|
4
|
+
stdenv.mkDerivation {
|
|
5
|
+
name = "env";
|
|
6
|
+
buildInputs = [
|
|
7
|
+
ruby_3_0.devEnv
|
|
8
|
+
git
|
|
9
|
+
python
|
|
10
|
+
libpcap
|
|
11
|
+
libxml2
|
|
12
|
+
libxslt
|
|
13
|
+
pkg-config
|
|
14
|
+
bundix
|
|
15
|
+
gnumake
|
|
16
|
+
];
|
|
17
|
+
}
|
data/spec/artikelstamm_spec.rb
CHANGED
|
@@ -12,7 +12,7 @@ describe Oddb2xml::Builder do
|
|
|
12
12
|
unless @inhalt.index(expected_value)
|
|
13
13
|
puts expected_value
|
|
14
14
|
end
|
|
15
|
-
# binding.
|
|
15
|
+
# binding.irb unless @inhalt.index(expected_value)
|
|
16
16
|
expect(@inhalt.index(expected_value)).not_to be nil
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -475,7 +475,14 @@ Der behandelnde Arzt ist verpflichtet, die erforderlichen Daten laufend im vorge
|
|
|
475
475
|
1\) Geburtsjahr, sowie Vortherapien für das OC
|
|
476
476
|
|
|
477
477
|
2\) Datum Therapiestart, Dosierung, Dosisanpassungen, Datum Therapieende.
|
|
478
|
-
</DSCR>)
|
|
478
|
+
</DSCR>),
|
|
479
|
+
"No A+" => %(<PRODUCT>
|
|
480
|
+
<PRODNO>1336901</PRODNO>
|
|
481
|
+
<SALECD>A</SALECD>
|
|
482
|
+
<DSCR>Pethidin HCl Amino 100 mg/2 ml, Injektionslösung</DSCR>
|
|
483
|
+
<DSCRF/>
|
|
484
|
+
<ATC>N02AB02</ATC>
|
|
485
|
+
</PRODUCT>)}
|
|
479
486
|
|
|
480
487
|
tests.each do |key, expected|
|
|
481
488
|
it "should a valid entry for #{key}" do
|
|
@@ -492,7 +499,7 @@ Der behandelnde Arzt ist verpflichtet, die erforderlichen Daten laufend im vorge
|
|
|
492
499
|
result = Oddb2xml::Chapter70xtractor.parse
|
|
493
500
|
expect(result.class).to eq Array
|
|
494
501
|
expect(result.first).to eq ["2069562", "70.01.10", "Urtinktur", "1--10 g/ml", "13.40", ""]
|
|
495
|
-
expect(result.last).to eq ["6516727", "70.02", "Allergenorum extractum varium / Inj. Susp. \tFortsetzungsbehandlung", "1 Durchstfl 1.5 ml", "311.85", "L"]
|
|
502
|
+
expect(result.last).to eq ["6516727", "70.02", "Allergenorum extractum varium / Inj. Susp. \n\tFortsetzungsbehandlung", "1 Durchstfl 1.5 ml", "311.85", "L"]
|
|
496
503
|
end
|
|
497
504
|
end
|
|
498
505
|
end
|
data/spec/builder_spec.rb
CHANGED
|
@@ -458,7 +458,7 @@ NR_LIMITATIONS = 15
|
|
|
458
458
|
NR_INTERACTIONS = 2
|
|
459
459
|
NR_CODES = 5
|
|
460
460
|
NR_PRODNO = 31
|
|
461
|
-
NR_PACKAGES =
|
|
461
|
+
NR_PACKAGES = 47
|
|
462
462
|
NR_PRODUCTS = 40
|
|
463
463
|
REG_EXP_DESITIN = /1120000000LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk/
|
|
464
464
|
describe Oddb2xml::Builder do
|
|
@@ -497,7 +497,7 @@ describe Oddb2xml::Builder do
|
|
|
497
497
|
|
|
498
498
|
it "should have a correct NBR_RECORD in oddb_products.xml" do
|
|
499
499
|
oddb_product_xml = oddb_article_xml.sub("oddb_article.xml", "oddb_product.xml")
|
|
500
|
-
check_result(File.read(oddb_product_xml),
|
|
500
|
+
check_result(File.read(oddb_product_xml), NR_PACKAGES)
|
|
501
501
|
end
|
|
502
502
|
|
|
503
503
|
it "oddb_article.xml should contain a SHA256" do
|
|
@@ -546,7 +546,8 @@ describe Oddb2xml::Builder do
|
|
|
546
546
|
it "should flag fridge drugs correctly" do
|
|
547
547
|
doc = REXML::Document.new IO.read(checkAndGetArticleXmlName)
|
|
548
548
|
checkAndGetArticleWithGTIN(doc, Oddb2xml::FRIDGE_GTIN)
|
|
549
|
-
expect(REXML::XPath.match(doc, "//COOL=
|
|
549
|
+
expect(REXML::XPath.match(doc, "//COOL=").size).to eq 1
|
|
550
|
+
expect(REXML::XPath.match(doc, "//COOL").first.text).to eq "1"
|
|
550
551
|
end
|
|
551
552
|
|
|
552
553
|
ean_with_drug_index = 7680555610041
|
data/spec/calc_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/cli_spec.rb
CHANGED
|
File without changes
|
data/spec/compare_spec.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/compressor_spec.rb
CHANGED
|
File without changes
|
data/spec/data/AipsDownload.zip
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/data/GL_Diff_SB.xml
CHANGED
|
File without changes
|
data/spec/data/ItCodes.xml
CHANGED
|
File without changes
|
data/spec/data/PR121001.txt
CHANGED
|
File without changes
|
data/spec/data/PR121002.txt
CHANGED
|
File without changes
|
data/spec/data/Preparations.xml
CHANGED
|
File without changes
|
data/spec/data/Publications.xls
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/data/atc.csv
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/data/column_c.txt
CHANGED
|
File without changes
|
data/spec/data/compositions.txt
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/data/listen_neu.html
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/data/problems.txt
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
data/spec/data/transfer.dat
CHANGED
|
File without changes
|
data/spec/data/v5_first.xml
CHANGED
|
File without changes
|
data/spec/data/v5_second.xml
CHANGED
|
File without changes
|
data/spec/data/varia_De.htm
CHANGED
|
File without changes
|
data/spec/data/vcr/transfer.dat
CHANGED
|
File without changes
|
data/spec/data/vcr/transfer.zip
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/data/wsdl_pharma.xml
CHANGED
|
File without changes
|
data/spec/extractor_spec.rb
CHANGED
|
@@ -181,7 +181,7 @@ describe Oddb2xml::SwissmedicExtractor do
|
|
|
181
181
|
@packs.find { |pack| pack[1][:ean13] == ean13.to_s }[1]
|
|
182
182
|
end
|
|
183
183
|
it "should have correct nr of packages" do
|
|
184
|
-
expect(@packs.size).to eq(
|
|
184
|
+
expect(@packs.size).to eq(42)
|
|
185
185
|
end
|
|
186
186
|
|
|
187
187
|
it "should have serocytol" do
|
|
File without changes
|
data/spec/galenic_spec.rb
CHANGED
|
File without changes
|
data/spec/parslet_spec.rb
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
require "pp"
|
|
2
1
|
VERBOSE_MESSAGES = false
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
if File.exists?("#{Dir.pwd}/lib/oddb2xml/parslet_compositions.rb")
|
|
3
|
+
require_relative "../lib/oddb2xml/parslet_compositions"
|
|
4
|
+
else
|
|
5
|
+
puts :ParseFailed
|
|
6
|
+
require_relative "../src/plugin/parslet_compositions"
|
|
7
|
+
end
|
|
8
|
+
|
|
5
9
|
require "parslet/rig/rspec"
|
|
10
|
+
require "socket"
|
|
6
11
|
|
|
7
12
|
hostname = Socket.gethostbyname(Socket.gethostname).first
|
|
8
13
|
RUN_ALL_COMPOSITION_TESTS = false # /travis|localhost/i.match(hostname) != nil # takes about five minutes to run!
|
|
@@ -15,7 +20,6 @@ describe ParseComposition do
|
|
|
15
20
|
string = "conserv.: E 216, E 218, excipiens pro suppositorio."
|
|
16
21
|
composition = ParseComposition.from_string(string)
|
|
17
22
|
# active_agent = ["hynic-[d-phe(1)", "tyr(3)-octeotridum]trifluoroacetum", "acidum ethylendiamini-n,n'-diaceticum"]
|
|
18
|
-
|
|
19
23
|
active_substance = "HYNIC-[D-Phe(1)"
|
|
20
24
|
composition_text = "II) Durchstechflasche 2: acidum ethylendiamini-N,N'-diaceticum 10 mg, dinatrii phosphas dodecahydricus, natrii hydroxidum, pro vitro."
|
|
21
25
|
composition = ParseUtil.parse_compositions(composition_text, active_substance).first
|
|
@@ -1290,6 +1294,63 @@ describe ParseComposition do
|
|
|
1290
1294
|
specify { expect(substance.unit).to eq nil }
|
|
1291
1295
|
end
|
|
1292
1296
|
|
|
1297
|
+
context "should handle 41174" do
|
|
1298
|
+
string = "triamcinoloni acetonidum 10 mg, carmellosum natricum, natrii chloridum, polysorbatum 80, conserv.: alcohol benzylicus 9.9 mg, aqua ad iniectabile q.s. ad suspensionem pro 1 ml."
|
|
1299
|
+
composition = ParseComposition.from_string(string)
|
|
1300
|
+
specify { expect(composition.source).to eq string }
|
|
1301
|
+
specify { expect(composition.label).to eq nil }
|
|
1302
|
+
specify { expect(composition.substances.size).to be > 1 }
|
|
1303
|
+
specify { expect(composition.substances.first.name).to eq "Triamcinoloni Acetonidum" }
|
|
1304
|
+
specify { expect(composition.substances.last.name).to eq "Alcohol Benzylicus" }
|
|
1305
|
+
end
|
|
1306
|
+
|
|
1307
|
+
context "should handle 67023" do
|
|
1308
|
+
string = "noradrenalinum 0.06 mg ut noradrenalini tartras, natrii chloridum, acidum hydrochloridum, aqua ad iniectabile q.s. ad solutionem pro 1 ml corresp. natrium 3.308 mg."
|
|
1309
|
+
composition = ParseComposition.from_string(string)
|
|
1310
|
+
specify { expect(composition.source).to eq string }
|
|
1311
|
+
specify { expect(composition.label).to eq nil }
|
|
1312
|
+
specify { expect(composition.substances.size).to be > 1 }
|
|
1313
|
+
specify { expect(composition.substances.first.name).to eq "Noradrenalinum" }
|
|
1314
|
+
specify { expect(composition.substances.last.name).to eq "Acidum Hydrochloridum" }
|
|
1315
|
+
end
|
|
1316
|
+
|
|
1317
|
+
context "should handle 67023" do
|
|
1318
|
+
string = "noradrenalinum 0.06 mg ut noradrenalini tartras, natrii chloridum, acidum hydrochloridum, aqua ad iniectabile q.s. ad solutionem pro 1 ml corresp. natrium 3.308 mg."
|
|
1319
|
+
composition = ParseComposition.from_string(string)
|
|
1320
|
+
specify { expect(composition.source).to eq string }
|
|
1321
|
+
specify { expect(composition.label).to eq nil }
|
|
1322
|
+
specify { expect(composition.substances.size).to be > 0 }
|
|
1323
|
+
specify { expect(composition.substances.first.name).to eq "Noradrenalinum" }
|
|
1324
|
+
specify { expect(composition.substances.last.name).to eq "Acidum Hydrochloridum" }
|
|
1325
|
+
end
|
|
1326
|
+
|
|
1327
|
+
context "should handle 67689" do
|
|
1328
|
+
string = "daratumumabum 1800 mg, hyaluronidasum humanum ADNr, histidinum, histidini hydrochloridum monohydricum, sorbitolum 735.1 mg, methioninum, polysorbatum 20, aqua ad iniectabile ad solutionem pro 15 ml"
|
|
1329
|
+
composition = ParseComposition.from_string(string)
|
|
1330
|
+
specify { expect(composition.source).to eq string }
|
|
1331
|
+
specify { expect(composition.label).to eq nil }
|
|
1332
|
+
specify { expect(composition.substances.size).to be > 0 }
|
|
1333
|
+
specify { expect(composition.substances.first.name).to eq "Daratumumabum" }
|
|
1334
|
+
specify { expect(composition.substances.last.name).to eq "Polysorbatum 20" }
|
|
1335
|
+
end
|
|
1336
|
+
|
|
1337
|
+
context "should handle 66097" do
|
|
1338
|
+
string = "acidum acetylsalicylicum 100 mg, cellulosum microcristallinum, maydis amylum, silica colloidalis anhydrica, acidum stearicum, Überzug: acidi methacrylici et ethylis acrylatis polymerisatum 1:1, polysorbatum 80, natrii laurilsulfas corresp. natrium 2 µg, triethylis citras, talcum pro compresso obducto" # fails
|
|
1339
|
+
composition = ParseComposition.from_string(string)
|
|
1340
|
+
specify { expect(composition.source).to eq string }
|
|
1341
|
+
specify { expect(composition.label).to eq nil }
|
|
1342
|
+
specify { expect(composition.substances.first.name).to eq "Acidum Acetylsalicylicum" }
|
|
1343
|
+
specify { expect(composition.substances.last.name).to eq "Talcum pro compresso Obducto" }
|
|
1344
|
+
end
|
|
1345
|
+
context "should handle 65828" do
|
|
1346
|
+
string = " esomeprazolum 20 mg ut esomeprazolum magnesicum dihydricum, acidi methacrylici et ethylis acrylatis polymerisati 1:1 dispersio 30 per centum, natrii laurilsulfas, talcum, triethylis citras, hypromellosum, sacchari sphaerae corresp. saccharum 4.73 mg et maydis amylum, magnesii stearas, hydroxypropylcellulosum, glyceroli monostearas 40-55, polysorbatum 80, cellulosum microcristallinum, povidonum K 29-32, macrogolum 6000, crospovidonum, natrii stearylis fumaras, Überzug: hypromellosum, E 171, macrogolum 400, E 172 (rubrum), E 172 (flavum), pro compresso obducto corresp. natrium 0.01 mg."
|
|
1347
|
+
composition = ParseComposition.from_string(string)
|
|
1348
|
+
specify { expect(composition.source).to eq string }
|
|
1349
|
+
specify { expect(composition.label).to eq nil }
|
|
1350
|
+
specify { expect(composition.substances.first.name).to eq "Esomeprazolum" }
|
|
1351
|
+
specify { expect(composition.substances.last.name).to eq "pro compresso Obducto" }
|
|
1352
|
+
end
|
|
1353
|
+
|
|
1293
1354
|
context "should return correct composition for 'minoxidilum excipiens'" do
|
|
1294
1355
|
string = "minoxidilum 2.5 mg, excipiens pro compresso."
|
|
1295
1356
|
composition = ParseComposition.from_string(string)
|
data/tools/cacert.pem
CHANGED
|
File without changes
|
data/tools/set.bat
CHANGED
|
File without changes
|
data/tools/win_fetch_cacerts.rb
CHANGED
|
File without changes
|
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.7.
|
|
4
|
+
version: 2.7.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yasuhiro Asaka, Zeno R.R. Davatz, Niklaus Giger
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 1980-01-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rubyzip
|
|
@@ -70,16 +70,16 @@ dependencies:
|
|
|
70
70
|
name: savon
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
|
-
- - "
|
|
73
|
+
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
75
|
+
version: 2.12.0
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
|
-
- - "
|
|
80
|
+
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version:
|
|
82
|
+
version: 2.12.0
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: spreadsheet
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -336,16 +336,16 @@ dependencies:
|
|
|
336
336
|
name: rdoc
|
|
337
337
|
requirement: !ruby/object:Gem::Requirement
|
|
338
338
|
requirements:
|
|
339
|
-
- - "
|
|
339
|
+
- - "~>"
|
|
340
340
|
- !ruby/object:Gem::Version
|
|
341
|
-
version:
|
|
341
|
+
version: 6.3.3
|
|
342
342
|
type: :development
|
|
343
343
|
prerelease: false
|
|
344
344
|
version_requirements: !ruby/object:Gem::Requirement
|
|
345
345
|
requirements:
|
|
346
|
-
- - "
|
|
346
|
+
- - "~>"
|
|
347
347
|
- !ruby/object:Gem::Version
|
|
348
|
-
version:
|
|
348
|
+
version: 6.3.3
|
|
349
349
|
- !ruby/object:Gem::Dependency
|
|
350
350
|
name: vcr
|
|
351
351
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -388,6 +388,20 @@ dependencies:
|
|
|
388
388
|
- - ">="
|
|
389
389
|
- !ruby/object:Gem::Version
|
|
390
390
|
version: '0'
|
|
391
|
+
- !ruby/object:Gem::Dependency
|
|
392
|
+
name: psych
|
|
393
|
+
requirement: !ruby/object:Gem::Requirement
|
|
394
|
+
requirements:
|
|
395
|
+
- - "<"
|
|
396
|
+
- !ruby/object:Gem::Version
|
|
397
|
+
version: 4.0.0
|
|
398
|
+
type: :development
|
|
399
|
+
prerelease: false
|
|
400
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
401
|
+
requirements:
|
|
402
|
+
- - "<"
|
|
403
|
+
- !ruby/object:Gem::Version
|
|
404
|
+
version: 4.0.0
|
|
391
405
|
description: oddb2xml creates xml files using swissINDEX, BAG-XML and Swissmedic.
|
|
392
406
|
email: yasaka@ywesee.com, zdavatz@ywesee.com, ngiger@ywesee.com
|
|
393
407
|
executables:
|
|
@@ -439,6 +453,7 @@ files:
|
|
|
439
453
|
- oddb2xml.gemspec
|
|
440
454
|
- oddb2xml.xsd
|
|
441
455
|
- oddb_calc.xsd
|
|
456
|
+
- shell.nix
|
|
442
457
|
- spec/artikelstamm_spec.rb
|
|
443
458
|
- spec/builder_spec.rb
|
|
444
459
|
- spec/calc_spec.rb
|
|
@@ -514,7 +529,7 @@ homepage: https://github.com/zdavatz/oddb2xml
|
|
|
514
529
|
licenses:
|
|
515
530
|
- GPL-3.0
|
|
516
531
|
metadata: {}
|
|
517
|
-
post_install_message:
|
|
532
|
+
post_install_message:
|
|
518
533
|
rdoc_options: []
|
|
519
534
|
require_paths:
|
|
520
535
|
- lib
|
|
@@ -529,9 +544,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
529
544
|
- !ruby/object:Gem::Version
|
|
530
545
|
version: '0'
|
|
531
546
|
requirements: []
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
signing_key:
|
|
547
|
+
rubygems_version: 3.2.26
|
|
548
|
+
signing_key:
|
|
535
549
|
specification_version: 4
|
|
536
550
|
summary: oddb2xml creates xml files.
|
|
537
551
|
test_files:
|