=== 2.6.1 / 27.02.2019 * Update rubyXL to 3.4.0 with fix to avoid problem reported via https://github.com/weshatheleopard/rubyXL/issues/325 * When generating artikelstamm XML generate products (aka sequences) with name like "3TC Filmtabl 150 mg" instead of only "3TC" This corrects an error introduced by version 2.5.9 * Adapt to changed link description "Zugelassene Packungen" in https://www.swissmedic.ch/swissmedic/de/home/services/listen_neu.html === 2.6.0 / 13.02.2019 * Adapt to changed xlsx files from swissmedic === 2.5.9 / 06.12.2018 * Only changes when generating artikelstamm ** Use sequence name from packages when there is no german name in the article (from refdata) ** Correct header of artikelstamm-*.csv === 2.5.8 / 20.09.2018 * Set SALECD to 'A' if article is from refdata_pharma/swissmedic Marking these cases in oddb_article.xml, eg. A === 2.5.7 / 11.09.2018 * Emit ATC code if product is not in refdata === 2.5.6 / 21.08.2018 * Artikelstamm: Add homeopathic drugs of chapter 70 http://bag.e-mediat.net/Sl2007.web.external/varia_De.htm * Artikelstamm: Replace HTML entities by UTF-8 characters for limitations === 2.5.5 / 09.05.2018 * Fix parsing 66540 Tektrotyd, Markierungsbesteck * Update QA.md/artikelstamm.md === 2.5.4 / 09.04.2018 * Correct name in Artikelstamm, when several packages exist in Preparions.xml (SL) * Mark correctly all SL-Entries in Artikeltstamm === 2.5.3 / 28.03.2018 * Updated needed Ruby version in README.md * Test using Ruby 2.5.0 on tracis-ci, too * Fix spec tests on travis-ci * Added bin/check_artikelstamm * Fixed problem with prodno in Artikeltstamm === 2.5.2 / 21.03.2018 * Artikelstamm ** Add prices for GTIN with 14 chars ** Add ATC-Code for products like priorix * Handle GTIN with size of 8,12,14 correctly * Don't call exit(2) if xmllint is not present * Corrected formatting of artikelstamm.md === 2.5.1 / 09.02.2018 * Updated requirement for nokogiri to >= 1.8.2 * Artikelstamm_V5 seems to work with the following additions ** Create Elexis_Artikelstamm_v5.csv with most used fields, including SL ** Better reporting of downloads ** Allow overriding a specific field of an item ** trace data_origin ** Better spec tests for options ** Trollop instead of optparse === 2.5.0 / 06.02.2018 * Adapt to swissmedic fixing a typo in Packungen.XLSX header row === 2.4.9 / 15.01.2018 * Adapt to new link of epha atc.csv * Ensure that transfer.dat lines have always the correct line length of 97 === 2.4.8 / 20.11.2017 * Adapt to new links of swissmedic download files === 2.4.7 / 26.10.2017 * Only emit PHAR if present === 2.4.6 / 25.10.2017 * PHAR is optional in oddb2xml.xsd * Minimal length of DSCRD is 3. Emit BC/EAN 0 as required by XSD === 2.4.5 / 25.10.2017 * Fix parsing shire products * Don't emit barcode if 0. * Do not get price for barcode 0 * Fix some failing spec tests === 2.4.4 / 23.10.2017 * Add articles which are only found in the Preparation.xml (e.g. Mutagrid) * Correct SwissmedicNo8 when less than 8 chars long === 2.4.3 / 11.09.2017 * Never drop lines with UTF-8 problems while creating XML files * Fix some rspec errors * Travis runs only for ruby 2.2.7 and newer * Do not emit a DEL field for limitations, as it is not specifid in the oddb2xml.xsd === 2.4.2 / 6.09.2017 * Ignore lines that cannot be converted from UTF-8 to ISO-8859-1 We found in refdata_NonPharma.xml some U+2013 (-) characters in SENSURA products === 2.4.1 / 2.12.2016 * Update oddb2xml.gemspec to add GPL-3.0 as correct license for Rubygems as stated in LICENSE file * Added a hack for 24 globulina equina which commas between brackets === 2.4.0 /25.08.2016 * Remove transfer.zip in current directory. Added spec tests for downloaded files === 2.3.9 /23.08.2016 * Get ZurRose data from http://pillbox.oddb.org/TRANSFER.ZIP === 2.3.8 /19.04.2016 * DSCRD/DSCRD for article/product must be between 3 and 120 chars long === 2.3.7 /4.04.2016 * Emit version of oddb2xml which generated the XML-file * Fix NBR_RECORD in generated oddb_product.xml * Remove unused variables length in builder.rb === 2.3.6 /16.03.2016 * Generate always a PRODNO with 7 digits (5 from ISKNR, 2 from SEQNR) === 2.3.5 /21.01.2016 * Readded VDAT in oddb_article.xml for prices not from ZurRose === 2.3.4 /20.01.2016 * Remove VDAT from oddb_article.xml as this is always updated to the current date and therefore changes the SHA256 attribute === 2.3.3 /12.01.2016 * Remove unused value 'E' from oddb_codes.xml. Thanks to Julian Sgier how reported this error === 2.3.2 /11.01.2016 * File from swissmedic for blood products and vaccines has no longer a field Kühlkette. Therefore no longer downloading it. * Set oddb_article COOL for all blod products and vaccines === 2.3.1 /15.12.2015 * Deactivate (Pseudo-)Migel. Updated corresponding tests * Don't emit PEXF for drugs not listed with a GTIN in BAG Preparations.xml * revert Gemfile.lock to use spreadsheet.1.1.0, as 1.1.1 is not yet released === 2.3.0 /15.12.2015 * emit correct NBR_RECORD in oddb*.xml === 2.2.9 / 1.12.2015 * Added value 'C' (Co-marketing) for GENCD from BAG Preparations.xml === 2.2.8 / 25.11.2015 * Improved spec tests against all XSD elements * Fixed NINCD for LPPV items === 2.2.7 / 24.11.2015 * Removed no more emitted QTY from definition of ART in oddb2xml.xsd * Fixed generating COOL in oddb_article.xml * Fixed generating ORPH in oddb_product.xml === 2.2.6 / 09.11.2015 * Fixed an error when generating oddb_calc.xml and we have no information for a given EAN, eg. 7680653150012 === 2.2.5 / 09.09.2015 * Added field GEN_PRODUCTION, INSULIN_CATEGORY and DRUG_INDEX * Removed downloads of old BM_update from ywesee, as we have a better info about the drugs now === 2.2.4 / 09.09.2015 * Fixed unit tests error introduced by the new column order of Packungen.xlsx * Add a SHA256 hash for all top elements in the generated XSD-files === 2.2.3 / 16.07.2015 * Document data sources and some rule in README.md === 2.2.2 / 04.07.2015 * Adapt to new version of swissmedic Packungen.xlsx === 2.2.1 / 01.07.2015 * Add a require 'mechanize' in bin/oddb2xml to avoid 'Invalid version of rubyntlm' === 2.2.0 / 24.06.2015 * Use FixNum instead of String for EAN-keys into hashes * Improved speed (oddb2xml -e takes now less than 1 hour here) === 2.1.9 / 24.06.2015 * Force version of rubyntlm to 0.5.0. Still warning: already initialized constant Net::NTLM::VERSION::MAJOR, but no error === 2.1.8 / 24.06.2015 * Adapt to download refdata information from new URL using WSDL * Using GTIN instead of pharmacode as keys into the various exctracted information * Renamed SwissIndex -> Refdata * Some code cleanup * Improved spec tests for oddb_articles/products, downloaders and extractros * Use vcr to fake web traffic === 2.1.7 / 15.06.2015 * Fixed option -o which did not produce any meaningful oddb_fi.xml * Added KOMPENDIUM_PRODUCT to xsd file * Added style for each KOMPENDIUM_PRODUCT === 2.1.6 / 10.06.2015 * Avoid error when Packungen.xlsx does not contain a name for a product (upstream error, missing Combizym, Dragées) === 2.1.5 / 03.06.2015 * Give substances for lines starting with Solvens * Emit label Solvens when line stars with Solvens * Don't emit SUBSTANCES if no substance is contained === 2.1.4 / 02.06.2015 * Consider changes in ATC-codes by EPha === 2.1.3 / 02.06.2015 * Fix Caverjet by eliminatins semantically wrong leading "Solvens:" === 2.1.2 / 13.05.2015 * Fix parslet_spec.rb === 2.1.1 / 13.05.2015 * --calc classifies now all E-xxx nutritional additions === 2.1.0 / 12.05.2015 * --calc uses now a parser to split Column-C into the preparationname and the galenic-form === 2.0.9 / 05.05.2015 * rm /downloads when running with option "-e" * update documentation and xsd for "--calc" option === 2.0.8 / 29.04.2015 * --calc. ** Fixed adding substances instead of a way too long label_description, eg. 7680616310019 Moviprep Orange, Pulver ** emit EXCIPIENS for each composition === 2.0.7 / 29.04.2015 * parse swissmedic composition with the help of RubyGem parslet. ** with extensive unit-tests (spec/composition_spec.rb and spec/parslet_spec.rb * new/changed fields when using --calc, e.g. ** more_info ** salts ** dose_text if qty/unit is not normalized ** chemical_substance is now represented as a normal substance ** composition.label ** composition.label_description ** composition.correpond === 2.0.6 / 27.04.2015 * Remove trailing spaces in names imported from ZurRose transfer.dat * Use ISO-8859-14 when reading ZurRose transfer.dat to avoid unreadable characters, eg. Ethacridin === 2.0.5 / 31.03.2015 * --calc adds boolean flag is_active_agent * --calc fixes recognition of some substances * --calc fixes recognition of dose/unit/qty === 2.0.4 / 30.03.2015 * --calc now recognizes correct labels, like 'A):' and stops when seeing first ':' in label-description === 2.0.3 / 25.03.2015 * Option -e implies --calc, too. === 2.0.2 / 24.03.2015 * Fixed handling of chemicals and units with '%' === 2.0.1 / 17.03.2015 * Readded description for label === 2.0.0 / 17.03.2015 * Adding CHEMICAL_SUBSTANCE/DOSE for ut|corresponding * Added COMPOSITION containing array of SUBSTANCES === 1.9.9 / 13.03.2015 * Rename NAME -> COMPOSITION_NAME in calc.xml for composition * Handle Handle ( in compostion names * Emit all components mentioned in column_M Zusammensetzung === 1.9.8 / 04.03.2015 * Remove unnecessary spaces from ARTICLE.GALENIC_FORM in oddb_calc.xml * Remove unnecessary spaces from ARTICLE.PKG_SIZE in oddb_calc.xml * Remove unnecessary spaces from ARTICLE.NAME in oddb_calc.xml * Emit comment for compositions, eg. 'Solvens: aqua ad iniectabilia.' * Renamed COMPOSITION to COMPONENT in COMPOSITIONS === 1.9.7 / 03.03.2015 * Emit qty as floats * Emit compositions for --calc * Fix Infusionsemulsion for Nutriflex * Added missing_in_refdata.txt. Skip veterinary * Show correct number of created item in oddb_product.xml === 1.9.6 / 18.02.2015 * Add all products defined in Packungen.xlsx from SwissMedic to oddb_products.xml === 1.9.5 / 16.02.2015 * Option --calc produces oddb_calc.xml with field SELLING_UNITS * Use https instead of http for www.swissmedic.ch * Added field CompositionSwissmedic to oddb_product.xml * Unittests for upcoming oddb_calc.xml === 1.9.4 / 21.01.2015 * Create additional field resellerpub in oddb_article.xml * Adapted xsd for this change * Adapted -h message === 1.9.3 / 19.01.2015 * Fixed missing DSCRD/DSCF in oddb_product.xml because BAG-Preparation.xml ships without Pharmacode now === 1.9.2 / 19.01.2015 * Niklaus did not run all necesary tests! * Fixed bin/oddbxml === 1.9.1 / 19.01.2015 * Reorganizing the switches lead to errors. These were ** -a/--append dropped required parameter ** -e/--extended dropped required parameter ** -p--price dropped required parameter * extra parameters lead now to output like 'Please remove unused parameters ["nonpharma", "zurrose"]' === 1.9.0 / 12.01.2015 * Fixed adding prices from ZurRose if -f dat -p zurrose given * Reorganized switches * Added option -I x to add x percent to public prices for non-SL items === 1.8.9 / 05.01.2015 * Added option -e x to add x percent to public prices for non-SL items === 1.8.8 / 04.12.2014 * Updated spreadsheet-1.0.0 and rubyXL-3.3.1 dependencies. === 1.8.7 / 05.08.2014 * Documented meaning of SALECD field oddb2xml.xsd === 1.8.6 / 04.08.2014 * Always fetch additionals (price) information from ZurRose * SALECD field is generated from the field CMUT for zurrose_transfer.dat === 1.8.5 / 04.06.2014 * Added element REF_DATA when generating oddb_article.xml. === 1.8.4 / 21.05.2014 * Don't emit "ad us vet" or marked in Packungen.xls as "Tierarzneimittel" === 1.8.3 / 07.05.2014 * Fixed build under windows === 1.8.2 / 06.05.2014 * Add oddb2xml.xsd (commented XSD schema for all generated oddb*.xml files) * Fix building limitations * Reworked download. Leaves always files under downloads * Adapt to new location of epha interaction.csv === 1.8.1 / 30.04.2014 * Fix building NONPHARMA * Using SAX-Parser and sax-machine * Adapt to new location of epha interaction.csv === 1.8.0 / 28.04.2014 * Improved rake clean targer * More logging and exit 2 unless substances and limitations okay for extended * Fix problem with empty substances and limitation when running -e === 1.7.9 / 22.04.2014 * Added log option * Added clean target to rake * Added test target to rake * Add spec task to rake * Fix rspec * Avoid ArgumentError for sprintf * Orphan is now an xlsx file, too === 1.7.8 / 02.04.2014 * Don't emit field BC starting with 000000 === 1.7.7 / 02.04.2014 * Don't emit pseudo-eans starting with 000000 === 1.7.6 / 01.04.2014 * Write duplicated ean13s to duplicate_ean13_from_zur_rose.txt * Removed option -ae === 1.7.5 / 01.04.2014 * Added option -ae === 1.7.4 / 01.04.2014 * Added option --extended === 1.7.3 / 27.02.2014 * Added rubyzip 1.0.0 as dependency for RubyXL in Rakefile ;/ === 1.7.2 / 27.02.2014 * Added rubyzip 1.0.0 as dependency for RubyXL in Gemfile.lock ;/ === 1.7.1 / 27.02.2014 * Added rubyzip 1.0.0 as dependency for RubyXL ;/ === 1.7.0 / 27.02.2014 * Added rubyXL 1.2.10 as dependency version === 1.6.9 / 07.01.2014 * Updated Rakefile for rubyzip ~> 0.9.9 * Remove *.xls/x-Files after extraction === 1.6.8 / 07.01.2014 * Updated Rakefile to include rubyXL === 1.6.7 / 07.01.2014 * Adapted to swissmedic xlsx files === 1.6.6 / 12.12.2013 * Added spec for generating *.dat file * Output prices in *.dat for articles without a pharmacode === 1.6.5 / 11.12.2013 * Create data/download only if options[:skip_download] === 1.6.4 / 10.12.2013 * Update Manifest.txt === 1.6.3 / 10.12.2013 * Added more specs. Use ean to find price-info if no pharmacode * Fix running specs * Added skip-download for debugging === 1.6.2 / 09.12.2013 * Read article with no pharmacode from BAG.xml Preparation.xml === 1.6.1 / 02.12.2013 * Add pub_price from zurRose === 1.6.0 / 22.11.2013 * Update for Swissmedic Packungen.xls changes === 1.5.9 / 10.07.2013 * Add PRODNO to article.xml === 1.5.8 / 09.07.2013 * Update to add grouped fi with No5 into oddb_fi.xml === 1.5.7 / 09.07.2013 * Update to include no seq entries into fi_product === 1.5.6 / 09.07.2013 * Fix bug zurrose price format * Update time format for zurrose import * Update to add ZURROSE Price as optional value === 1.5.5 / 08.07.2013 * Add local PATH option support for zurrose === 1.5.4 / 08.07.2013 * Update to import VAT from zurrose transfer.dat === 1.5.3 / 08.07.2013 * Add -p option for zurrose transfer.dat === 1.5.2 / 12.06.2013 * Improve NINCD detection - Update timeout handling - Improve pharmacode detection === 1.5.1 / 10.06.2013 * Update oddb2xml to handle pharmacode that is started with "0" * Delete SMNO if article does not have correct GTIN (GTIN must begin with "7680") === 1.5.0 / 08.06.2013 * Fix NINCD and NonPharma products report === 1.4.9 / 07.06.2013 * Update NINCD for oddb_article.xml === 1.4.8 / 13.05.2013 * Applied Patch by N.Giger to Gemfile === 1.4.7 / 13.05.2013 * Add prodno to oddb_product.xml === 1.4.6 / 24.04.2013 * Update to skip ean14 as default in also oddb.dat === 1.4.5 / 19.02.2013 * Add name slicing for dat output === 1.4.4 / 18.02.2013 * Update to work length formatter on ruby 1.8.7 === 1.4.3 / 18.02.2013 * Remove slicing bug for ruby 1.8.7 (This is Array) * Fix spec for ruby 1.8.7 * Update to use Mechanize 2.5.1 === 1.4.2 / 15.02.2013 * Add warning for ruby-1.8.7 user === 1.4.1 / 15.02.2013 * Add Ruby 1.8.7 support === 1.4.0 / 15.02.2013 * Fix cli spec * Add report for address xml * Update address data as array * Fix command option * Fix typo === 1.3.9 / 14.02.2013 * Add address xml output - oddb2xml --context address - oddb2xml -x addr === 1.3.8 / 09.02.2013 * Add valid INDEX entries to product.xml === 1.3.7 / 08.02.2013 * Add more Tags to product.xml from Packungen.xls - SubstanceSwissmedic - PackGrSwissmedic - EinheitSwissmedic === 1.3.6 / 08.02.2013 * Update article SMCAT as only value from Packungen * Change product data definition * Base is swissINDEX === 1.3.5 / 07.02.2013 * Update ID of limitation.xml === 1.3.4 / 06.02.2013 * Remove ORPH tag if value is false * Fix a bug for extract of SwissmedicNumber * Change priority of limitation ID key * Update unique key of limitation entries === 1.3.3 / 05.02.2013 * Add spec example for downloading of Packungen.xls * Chaneg ID tag of limitation.xml * update to group GTINs of fi_product.xml by MONID === 1.3.2 / 04.02.2013 * Fix Swissmedic-Number extract from swissmedicinfo === 1.3.1 / 04.02.2013 * Update product.xml with swissINDEX and Packungen.xls === 1.3.0 / 04.02.2013 * Change PRDNO in product.xml to GTIN from INDEX * Remove PRDNO from article.xml === 1.2.9 / 01.02.2013 * Remove ARTLIM and LIMCD * Update to use swissINDEX if duplicated nonpharma * Merge branch 'master' of ywesee.github.com:zdavatz/oddb2xml * Improve Cli#run crearly === 1.2.8 / 01.02.2013 * Update SMCAT to use Packungen.xls * Merge branch 'master' of ywesee.github.com:zdavatz/oddb2xml * Add additional Non-Pharma products === 1.2.7 / 31.01.2013 * Update to use lppv for article.xml and oddb.dat * Update to use pharmacode if SwissmedicNo5 == '0' * Update to include limitations in It-Codes === 1.2.6 / 30.01.2013 * Update to exclude 14-EAN for oddb_with_migel.dat * Create LIMNAMEABAG for code into limitations.xml * Create LIMNIV in limitation.xml * Add lims at parent level into limitations.xml * Fix typo Fr as De === 1.2.5 / 27.01.2013 * Add missing line break into dat === 1.2.4 / 25.01.2013 * Remove sl_entry check for IT-Number === 1.2.3 / 25.01.2013 * Change CBGG value as 3 * Add CLAG value from @fridges * Change dat as only a file with `-a nonpharma` * Update CKZL value with sl_entry or not * Update to use also BM_update from ywesee * Update to use also category from Packungen.xls === 1.2.2 / 24.01.2013 * Improve compressor for dat * Improve dat format builder * Add all products from swissINDEX into dat * Add oddb_with_migel.dat output * Fix closing of Zip on Windows * Fix Windows unzip === 1.2.1 / 23.01.2013 * Update ith column for dat * Add Packungen.xls for ith_swissmedic * Add ADDSCR from swissINDEX into name as quantity === 1.2.0 / 22.01.2013 * Add dat format output * Update file deletion on Windows === 1.1.9 / 17.01.2013 * Improve SSLv3 Error message output === 1.1.8 / 17.01.2013 * Improve File reading on Windows * Update ssl connection handling and information === 1.1.7 / 15.01.2013 * Updated Manifest.text * added set.bat and win_fetch_cacerts.rb for Windows-Users and SSLv3 support === 1.1.6 / 13.01.2013 * Update message for SSLv3 Error * mswin mswin mswin :( * enable SSL with SSLv3 cert at soap request === 1.1.5 / 11.01.2013 * Add BG tags into article.xml from ywesee BM.txt === 1.1.4 / 10.01.2013 * Add TITD tag into interaction.xml === 1.1.3 / 09.01.2013 * Add interaction.xml and code.xml output * Update to check option fi * Improve using of memory at file reading for mswin * Add oddb_fi_product.xml output to fi option * Restore Gemfile to use gemspec file === 1.1.2 / 08.01.2013 * Update Gemfile for development * Fix oddb_fi.xml tag name * Update to be suitable for release with Hoe * Add missing files * Remove white spaces === 1.1.1 / 07.01.2013 * Create oddb_fi.xml file with using swissmedicinfo -needs -o or --optional fi === 1.1.0 / 27.12.2012 * Add new additional file limitation.xml === 1.0.10 / 25.12.2012 * Add ORPH and COOL from swissmedic xls === 1.0.9 / 11.12.2012 * Added Substance Updater via BAG-XML from the Substance Branch. === 1.0.8 / 20.11.2012 * Update spec for cli * Add zip compress option * Use -t option also as prefix of filename * Allow tag suffix as flexible word * Update help message === 1.0.7 / 20.11.2012 * Add -t --tag-suffix option for 'md' === 1.0.6 / 23.10.2012 * Added nonpharma option === 1.0.5 / 19.10.2012 * Removed unnecessary quote * Added PROD_DATE, VALID_DATE as same with creation * Added SALECD as STATUS(I,A) of swissindex * Added SLOPLUS (FlagSB20) field into article.xml === 1.0.4 / 18.09.2012 * Updated option handling. $ oddb2xml $ oddb2xml -c tar.gz