Module: Oddb2xml

Defined in:
lib/oddb2xml.rb,
lib/oddb2xml/cli.rb,
lib/oddb2xml/calc.rb,
lib/oddb2xml/util.rb,
lib/oddb2xml/builder.rb,
lib/oddb2xml/compare.rb,
lib/oddb2xml/options.rb,
lib/oddb2xml/version.rb,
lib/oddb2xml/extractor.rb,
lib/oddb2xml/compressor.rb,
lib/oddb2xml/downloader.rb,
lib/oddb2xml/semantic_check.rb,
lib/oddb2xml/chapter_70_hack.rb

Defined Under Namespace

Modules: DownloadMethod, Options, TxtExtractorMethods Classes: BagXmlDownloader, BagXmlExtractor, Builder, Calc, Chapter70xtractor, Cli, CompareV5, Compressor, Downloader, EphaDownloader, EphaExtractor, Extractor, GalenicForm, GalenicGroup, LppvDownloader, LppvExtractor, MedregbmDownloader, MedregbmExtractor, MigelDownloader, MigelExtractor, RefdataDownloader, RefdataExtractor, SemanticCheck, SemanticCheckXML, StammXML, SwissmedicDownloader, SwissmedicExtractor, SwissmedicInfoDownloader, SwissmedicInfoExtractor, ZurroseDownloader, ZurroseExtractor

Constant Summary collapse

FAKE_GTIN_START =
'999999'
XML_OPTIONS =
{
'xmlns:xsd'         => 'http://www.w3.org/2001/XMLSchema',
'xmlns:xsi'         => 'http://www.w3.org/2001/XMLSchema-instance',
'xmlns'             => 'http://wiki.oddb.org/wiki.php?pagename=Swissmedic.Datendeklaration',
'CREATION_DATETIME' => Time.new.strftime('%FT%T%z'),
'PROD_DATE'         => Time.new.strftime('%FT%T%z'),
'VALID_DATE'        => Time.new.strftime('%FT%T%z'),
'GENERATED_BY'      => "oddb2xml #{VERSION}"
}
VERSION =
"2.5.7"
WorkDir =
Dir.pwd
Downloads =
"#{Dir.pwd}/downloads"
COLUMNS_JULY_2015 =

please keep this constant in sync between (GEM) swissmedic-diff/lib/swissmedic-diff.rb and (GEM) oddb2xml/lib/oddb2xml/extractor.rb

{
  :iksnr => /Zulassungs-Nummer/i,                  # column-nr: 0
  :seqnr => /Dosisstärke-nummer/i,
  :name_base => /Präparatebezeichnung/i,
  :company => /Zulassungsinhaberin/i,
  :production_science => /Heilmittelcode/i,
  :index_therapeuticus => /IT-Nummer/i,            # column-nr: 5
  :atc_class => /ATC-Code/i,
  :registration_date => /Erstzulassungs-datum./i,
  :sequence_date => /Zul.datum Dosisstärke/i,
  :expiry_date => /Gültigkeitsdauer der Zulassung/i,
  :ikscd => /Packungscode/i,                 # column-nr: 10
  :size => /Packungsgrösse/i,
  :unit => /Einheit/i,
  :ikscat => /Abgabekategorie Packung/i,
  :ikscat_seq => /Abgabekategorie Dosisstärke/i,
  :ikscat_preparation => /Abgabekategorie Präparat/i, # column-nr: 15
  :substances => /Wirkstoff/i,
  :composition => /Zusammensetzung/i,
  :indication_registration => /Anwendungsgebiet Präparat/i,
  :indication_sequence => /Anwendungsgebiet Dosisstärke/i,
  :gen_production => /Gentechnisch hergestellte Wirkstoffe/i, # column-nr 20
  :insulin_category => /Kategorie bei Insulinen/i,
  # swissmedi corrected in february 2018 the typo  betäubunsmittel to  betäubungsmittel-
    :drug_index       => /Verz. bei betäubun.*smittel-haltigen Präparaten/i,
}
@@prodno_to_ean13 =

Needed for ensuring consistency for the Artikelstamm

{}
@@no8_to_ean13 =
{}
@@ean13_to_prodno =
{}
@@ean13_to_no8 =
{}

Class Method Summary collapse

Class Method Details

.log_timestamp(msg) ⇒ Object



5
6
7
8
9
10
# File 'lib/oddb2xml/compare.rb', line 5

def self.log_timestamp(msg)
  full_msg = "#{Time.now.strftime("%H:%M:%S")}: #{msg}"
  puts full_msg
  STDOUT.flush
  full_msg
end