zdavatz / oddb.org

Open Drug Database for Switzerland
https://ch.oddb.org
GNU General Public License v3.0
10 stars 8 forks source link

Reparse von Pi 67241 funktioniert nicht #137

Closed zdavatz closed 3 years ago

zdavatz commented 3 years ago
  1. Das klappt nicht:
  2. sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --no-download --target=pi 67241 --reparse
zdavatz commented 3 years ago

Das klappt auch nicht:

ch.oddb> reg = @system.registration('67241'); delete reg.patinfo.pointer; update reg.pointer, :patinfo => nil

ergibt

-> undefined method `patinfo' for #<ODDB::Registration:0x00007f1cd5383a30 @registration_date=2020-02-19, @odba_id=44648744, @iksnr="67241", @odba_observers=[], @indication=#<ODBA::Stub:698040#10042 @odba_class= @odba_container=698020#44648744>, @company=#<ODBA::Stub:698060#27652860 @odba_class= @odba_container=698020#44648744>, @revision=2021-02-01 08:01:33.709174711 +0100, @export_flag=nil, @pointer=#<ODDB::Persistence::Pointer:0x00007f1cd5383418 @directions=[[:registration, "67241"]]>, @fachinfo=#<ODBA::Stub:698080#47434410 @odba_class=ODDB::Fachinfo @odba_container=698020#44648744>, @sequences=#<ODBA::Stub:698100#44648745 @odba_class=Hash @odba_container=698020#44648744>, @inactive_date=nil, @data_origins={"ith_swissmedic"=>:swissmedic, "production_science"=>:swissmedic, "vaccine"=>:swissmedic, "registration_date"=>:swissmedic, "expiration_date"=>:swissmedic, "renewal_flag"=>:swissmedic, "renewal_flag_swissmedic"=>:swissmedic, "inactive_date"=>:swissmedic, "export_flag"=>:swissmedic, "company"=>:swissmedic, "indication"=>:swissmedic, "fachinfo"=>nil, "generic_type"=>:bag, "index_therapeuticus"=>:bag}, @odba_persistent=true, @generic_type=:generic, @expiration_date=2025-02-18, @index_therapeuticus="08.01.93.", @vaccine=nil, @renewal_flag=false, @ith_swissmedic="08.01.93.", @production_science="Synthetika", @renewal_flag_swissmedic=false>
zdavatz commented 3 years ago

Ich habe die Packung 001 von 67241 via GUI gelöscht und neu erstellt. Jetzt ist die PI Verlinkung weg.

zdavatz commented 3 years ago

Nächster Versuch von sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --no-download --target=pi 67241 --reparse

zdavatz commented 3 years ago

Resultiert in

Error: NoMethodError
Message: undefined method `delete' for #<ODDB::PatinfoDocument:0x00007f85ce5ae230 @revision=2021-04-02 07:53:35.290246881 +0200, @odba_id=47434581, @oid=47434581, @iksnrs=#<ODBA::Stub:3360420#47748105 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @name=#<ODBA::Stub:3360440#47748106 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @company=#<ODBA::Stub:3360460#47748107 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @galenic_form=nil, @effects=#<ODBA::Stub:3360480#47748108 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @amendments=#<ODBA::Stub:3360500#47748109 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @contra_indications=#<ODBA::Stub:3360520#47748110 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @precautions=#<ODBA::Stub:3360540#47748111 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @pregnancy=#<ODBA::Stub:3360560#47748112 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @usage=#<ODBA::Stub:3360580#47748113 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @unwanted_effects=#<ODBA::Stub:3360600#47748114 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @general_advice=#<ODBA::Stub:3360620#47748115 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @composition=nil, @packages=#<ODBA::Stub:3360640#47748116 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @distribution=nil, @fabrication=nil, @date=#<ODBA::Stub:3360660#47748117 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @odba_persistent=true, @odba_observers=[]>
Backtrace:
/var/www/oddb.org/src/plugin/text_info.rb:307:in `rescue in store_package_patinfo'
/var/www/oddb.org/src/plugin/text_info.rb:299:in `store_package_patinfo'
/var/www/oddb.org/src/plugin/text_info.rb:341:in `store_patinfo_for_all_packages'
/var/www/oddb.org/src/plugin/text_info.rb:374:in `block in update_patinfo_lang'
/var/www/oddb.org/src/plugin/text_info.rb:373:in `each'
/var/www/oddb.org/src/plugin/text_info.rb:373:in `update_patinfo_lang'
/var/www/oddb.org/src/plugin/text_info.rb:1294:in `parse_textinfo'
/var/www/oddb.org/src/plugin/text_info.rb:1488:in `block in import_swissmedicinfo'
/var/www/oddb.org/src/plugin/text_info.rb:1487:in `each'
/var/www/oddb.org/src/plugin/text_info.rb:1487:in `import_swissmedicinfo'
/var/www/oddb.org/src/util/updater.rb:548:in `block in update_notify_simple'
/var/www/oddb.org/src/util/updater.rb:504:in `wrap_update'
/var/www/oddb.org/src/util/updater.rb:542:in `update_notify_simple'
/var/www/oddb.org/src/util/updater.rb:328:in `update_textinfo_swissmedicinfo'
jobs/update_textinfo_swissmedicinfo:39:in `block in <module:Util>'
/var/www/oddb.org/src/util/job.rb:41:in `run'
jobs/update_textinfo_swissmedicinfo:12:in `<module:Util>'
jobs/update_textinfo_swissmedicinfo:11:in `<module:ODDB>'
jobs/update_textinfo_swissmedicinfo:10:in `<main>'
zdavatz commented 3 years ago

Nächster Versuch: sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --no-download --target=pi 67241

zdavatz commented 3 years ago

Resultiert in einem Import von

Stored 4 updated patinfos:
  54825 fr: EchinaMed®
  61302 fr: EchinaMed®
  67445 de: Similasan Reise-Beschwerden N
  67510 de: Similasan Reise-Beschwerden N
Stored 0 updated fachinfos:
zdavatz commented 3 years ago

67240 und 67241 haben die gleichen PI, aber irgendwie kann man die nicht verknüpfen.

zdavatz commented 3 years ago

Hier klappt die "Zuweisen" Funktion auch nicht: latest-screenshot

ngiger commented 3 years ago

Auf oddb-ci2 (mit einer älteren DB) ist das reparse erfolgreich durchgelaufen. Im Mail kam

Stored 4 updated patinfos:
  67240 de: Co-Amoxicillin Spirig HC® Filmtabletten
  67240 fr: Co-Amoxicilline Spirig HC® Comprimés filmés
  67241 de: Co-Amoxicillin Spirig HC® Filmtabletten
  67241 fr: Co-Amoxicilline Spirig HC® Comprimés filmés
Stored 0 updated fachinfos:

Ich hatte den Befehl aber ohne --no-download wie folgt aufgerufen: sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --target=pi 67241 --reparse

Aus wenn ich 67240 anstelle 67241 angab, lief der import durch. Es gab allerdings am Ende des Jobs einige Fehler wie

Descriptions.description error
/var/www/oddb.org/src/util/language.rb:29:in `description'
/var/www/oddb.org/src/util/language.rb:54:in `method_missing'
/var/www/oddb.org/src/util/language.rb:34:in `description'
/var/www/oddb.org/src/util/language.rb:54:in `method_missing'
/var/www/oddb.org/src/model/fachinfo.rb:79:in `localized_name'
/var/www/oddb.org/vendor/bundle/ruby/3.0.0/gems/odba-1.1.6/lib/odba/stub.rb:112:in `method_missing'
/var/www/oddb.org/src/view/rss/fachinfo.rb:85:in `block (2 levels) in to_html'
/var/www/oddb.org/src/view/rss/fachinfo.rb:84:in `each'
/var/www/oddb.org/src/view/rss/fachinfo.rb:84:in `block in to_html'
/var/www/oddb.org/vendor/bundle/ruby/3.0.0/gems/rss-0.2.9/lib/rss/maker/base.rb:439:in `make'
/var/www/oddb.org/vendor/bundle/ruby/3.0.0/gems/rss-0.2.9/lib/rss/maker/base.rb:403:in `make'
ODBA::Stub was unable to replace ODDB::SimpleLanguage::Descriptions#30593148 from ODDB::Fachinfo:#30593146
zdavatz commented 3 years ago

Ja, die Fehler sollten nicht sein. Wozu dient --reparse 2?

ngiger commented 3 years ago

Sorry, das 2 am Schluss sollte nicht dortstehen, ich hatte via 2>&1 | tee reparse.log die Ausgaben geloggt.

zdavatz commented 3 years ago

Ok, das klappt nicht auf dem Server dann. Habe ich gestern probiert.

ngiger commented 3 years ago

Ja, habe die DB vom thinpower geholt und jetzt gibt es auch schon einen Fehler wenn ich http://192.168.0.75:8012/de/gcc/patinfo/reg/67241/seq/01/pack/001 anschaue. Da muss bei einem Import/reparse was Dummes geschehen sein.

ngiger commented 3 years ago

Habe das Problem lokal gelöst und die Anpassungen auf github gepushed. Jetzt sollten dann alle Tests durchlaufen. Werde morgen thinpower hochziehen (ein bundle install muss dann noch gemacht werden) und die beiden IKSNR neu einlesen. Aufwand heute war 2.5h.