view · edit · sidebar · attach · print · history

20130819-wrong-patinfo3

<< | Index | >>


Summary

  • There are still patinfos which are not correctly linked

Commits

Index


There are still patinfos which are not correctly linked

  • No more valid IKSNR 34384 Methadon Hydrochlorid)

Zeno opened https://github.com/zdavatz/oddb.org/issues/11. I look first at http://ch.oddb.org/de/gcc/patinfo/reg/34383/seq/01 where we have in the PID only the following 34385, 56552. Trying to verify if I have the same situation on http://oddb-ci.dyndns.org/de/gcc/patinfo/reg/34383/seq/01. The links is also wrong, but points to Streuli Methadon with 34385, 56552. Launching on oddb-ci an import job to for 34385 and 34383 to see whether this will fix the problem. This did not fix the problem. The culprit is probably that we have in our database http://ch.oddb.org/de/gcc/search/zone/drugs/search_query/34384/search_type/st_registration#best_result an old IKSRN 34384 'Suppositorien (Methadon Hydrochlorid 10 mg)', which messes up the whole thing.

Under Swissmedicinfo.ch I find (looking for 'Vitamin D3 Streuli®') the numbers 33481, 32435 (Swissmedic). 32435 is therefore correct. It was not in the list of IKSNR we reimported the last week. The displayed patinfo points at 33481

Collected the patinfo sequnces for 32435 which looked, ran

res = []; reg = registration('32435'); reg.sequences.each{ |seq| res << [seq[1].patinfo.name_base, reg.name_base, seq[1].patinfo.pointer]}; res
-> [["Vitamin D3 Streuli", "Vitamin D3 Streuli", :!patinfo,2363.]]
res = []; reg = registration('33481'); reg.sequences.each{ |seq| res << [seq[1].patinfo.name_base, reg.name_base, seq[1].patinfo.pointer]}; res
-> [["Vitamin D3 Streuli", "Vitamin D3 Streuli", :!patinfo,2363.]]

Run an import on 33481 32435. Results are:

  • Ideas to improve the check. Collect all FI and PI IKSRN from the download.xml. Then iterate over all registrations to see whether we have the same view. Estimated effort 3 to 8 h.
  • Using watir to test

Side note: I think we should create a tool (e.g. watir based) which just iterates over all swissmedic number and all sequences to check whether the patinfo is correct. Using an web based tool would be a block box approach, whereas we until know tried to figure out the problem using our white box knowledge.

  • Added new check looking up the iksnrs inside the patinfo via seq.patinfo.descriptions['de'].iksnrs.to_s. Some minor adjustements to the reports and I found 590 new inconsistencies. See Attach:mail.txt. Will run update job while going to eat. The job pretends to have corrected 588 errors. But a closer inspection found, that we have still inconsitencies. Situation is:
Verified this with bin/admin
ch.oddb> registration('33481').sequences.first[1].patinfo.descriptions['de'].iksnrs.to_s
-> Zulassungsnummer
33481 (Swissmedic)
ch.oddb> registration('32435').sequences.first[1].patinfo.descriptions['de'].iksnrs.to_s
-> Zulassungsnummer
33481 (Swissmedic)
  • Conclusion: Must correct removing patinfo links in this situation.

Made a few corrections, nicer report. The changes did not work. Had reload the database dump. After that the update completed and the checks seem to be okay. The update had (after sending the Attach:email.txt) the following error

(druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:736:in `rescue in block in open': druby://oddb.niklaus.org:48187 - #<Errno::ETIMEDOUT: Connection timed out - connect(2)> (DRb::DRbConnError)
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:730:in `block in open'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:729:in `each'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:729:in `open'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1191:in `initialize'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1171:in `new'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1171:in `open'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1087:in `block in method_missing'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1105:in `with_friend'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1086:in `method_missing'
        from (druby://localhost:10000) /usr/local/lib64/ruby/gems/1.9.1/gems/odba-1.1.0/lib/odba/odba.rb:38:in `unpeer'
        from (druby://localhost:10000) /var/www/oddb.org/src/util/oddbapp.rb:1610:in `unpeer_cache'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1548:in `perform_without_block'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1508:in `perform'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1586:in `block (2 levels) in main_loop'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1582:in `loop'
        from (druby://localhost:10000) /usr/lib64/ruby/1.9.1/drb/drb.rb:1582:in `block in main_loop'
        from /var/www/oddb.org/src/util/job.rb:50:in `run'
        from /var/www/oddb.org/jobs/update_swissmedicno_fi_pi:12:in `<module:Util>'
        from /var/www/oddb.org/jobs/update_swissmedicno_fi_pi:11:in `<module:ODDB>'
        from /var/www/oddb.org/jobs/update_swissmedicno_fi_pi:10:in `<main>'
/var/www/oddb.org/log/job.pid is deleted

http://oddb-ci.dyndns.org/de/gcc/patinfo/reg/32435/seq/01 now correctly reports "Die von Ihnen gewünschte Information ist leider nicht mehr vorhanden."

Now running the update again to see whether we really fixed all the problems. Still found 8 problems:

Problems in your database?

Check for inconsistencies in swissmedicinfo FI and PI found 8 problems.

["Sebivo 600 mg", "59170", "not in pi_iksnrs ", ["57660"]]
["Lopresor 100", "44447", "not in pi_iksnrs ", []]
["Alka-Seltzer", "08671", "not in pi_iksnrs ", []]
["Skinoren", "55784", "not in pi_iksnrs ", ["50262"]]
["Podomexef 100", "52294", "not in pi_iksnrs ", []]
["Augmentin 625 mg (500/125)", "53692", "not in pi_iksnrs ", ["45674"]]
["Amoxicillin Spirig HC 375", "45859", "not in pi_iksnrs ", ["56056"]]
["Azitro-Acino 250", "62974", "not in pi_iksnrs ", ["62973"]]
  • Analysing Sebivo 59170. Inside the Aips-XML I found
<medicalInformation type="pi" version="2" lang="de" safetyRelevant="false">
    <title>Sebivo®</title>
    <authHolder>Novartis Pharma Schweiz AG</authHolder>
    <authNrs>57660, 59170</authNrs>
<..>
><span>Zulassungsnummer</span></span></p><p class="s5"><span class="s4"><span>57'660 (Swissmedic)</span></span></p><p class="s14" id="section13"><span class="s2"><span>Wo erhalten Sie Sebivo

which is not consistent!

  • Also Lopresor (name Lopresor has swissmedico "Zulassungsnummer Lopresor 100: 39'252 (Swissmedic) Lopresor Retard 200: 44'447 (Swissmedic)") Parser probably confused by the 100: and 200: in the name.
  • Skinoren has at swissmedicinfo in the FI the correct iksnr 50262, 55784 (Swissmedic), but the PI shows "50262 (Creme), 5584 (Gel) (Swissmedic)." (A 5 got lost)
view · edit · sidebar · attach · print · history
Page last modified on August 19, 2013, at 06:57 PM