de.oddb 2.0.0

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.
Files changed (431) hide show
  1. data/Guide.txt +3 -0
  2. data/History.txt +5 -0
  3. data/LICENCE.txt +339 -0
  4. data/Manifest.txt +430 -0
  5. data/README +423 -0
  6. data/README.txt +25 -0
  7. data/Rakefile +28 -0
  8. data/bin/admin +71 -0
  9. data/bin/exportd +44 -0
  10. data/bin/oddbd +33 -0
  11. data/data/fulltext/data/dicts/french/fulltext.aff +1057 -0
  12. data/data/fulltext/data/dicts/french/fulltext.dict +91189 -0
  13. data/data/fulltext/data/dicts/french/fulltext.stop +135 -0
  14. data/data/fulltext/data/dicts/german/fulltext.aff +1233 -0
  15. data/data/fulltext/data/dicts/german/fulltext.dict +287574 -0
  16. data/data/fulltext/data/dicts/german/fulltext.stop +133 -0
  17. data/data/fulltext/data/german_compound/README +15 -0
  18. data/data/fulltext/data/german_compound/compound.pl +63 -0
  19. data/data/fulltext/data/german_compound/german.stop +20 -0
  20. data/data/fulltext/data/ispell-german-compound.tar.gz +0 -0
  21. data/data/fulltext/redist/dict_french/Makefile +12 -0
  22. data/data/fulltext/redist/dict_french/README.french +1 -0
  23. data/data/fulltext/redist/dict_french/dict_french.sql.in +7 -0
  24. data/data/fulltext/redist/dict_french/dict_snowball.c +56 -0
  25. data/data/fulltext/redist/dict_french/french_stem.c +1222 -0
  26. data/data/fulltext/redist/dict_french/french_stem.h +16 -0
  27. data/data/fulltext/redist/dict_french/subinclude.h +2 -0
  28. data/data/fulltext/redist/dict_german/Makefile +12 -0
  29. data/data/fulltext/redist/dict_german/README.german +1 -0
  30. data/data/fulltext/redist/dict_german/dict_german.sql.in +7 -0
  31. data/data/fulltext/redist/dict_german/dict_snowball.c +56 -0
  32. data/data/fulltext/redist/dict_german/german_stem.c +527 -0
  33. data/data/fulltext/redist/dict_german/german_stem.h +16 -0
  34. data/data/fulltext/redist/dict_german/subinclude.h +1 -0
  35. data/data/fulltext/redist/french_stem.c +1222 -0
  36. data/data/fulltext/redist/french_stem.h +16 -0
  37. data/data/fulltext/redist/german_stem.c +527 -0
  38. data/data/fulltext/redist/german_stem.h +16 -0
  39. data/jobs/export_chde_xls +20 -0
  40. data/jobs/export_csv +20 -0
  41. data/jobs/export_fachinfo_yaml +20 -0
  42. data/jobs/export_patinfo_yaml +20 -0
  43. data/jobs/export_yaml +20 -0
  44. data/jobs/import_dimdi +15 -0
  45. data/jobs/import_gkv +19 -0
  46. data/jobs/import_pharma24 +15 -0
  47. data/jobs/import_pharmnet +30 -0
  48. data/jobs/import_whocc +18 -0
  49. data/lib/fixes/singular.rb +9 -0
  50. data/lib/fixes/yaml.rb +13 -0
  51. data/lib/oddb.rb +13 -0
  52. data/lib/oddb/business/company.rb +18 -0
  53. data/lib/oddb/business/grant_download.rb +27 -0
  54. data/lib/oddb/business/invoice.rb +75 -0
  55. data/lib/oddb/config.rb +112 -0
  56. data/lib/oddb/currency.rb +6 -0
  57. data/lib/oddb/drugs.rb +16 -0
  58. data/lib/oddb/drugs/active_agent.rb +37 -0
  59. data/lib/oddb/drugs/atc.rb +53 -0
  60. data/lib/oddb/drugs/composition.rb +41 -0
  61. data/lib/oddb/drugs/ddd.rb +24 -0
  62. data/lib/oddb/drugs/dose.rb +107 -0
  63. data/lib/oddb/drugs/galenic_form.rb +21 -0
  64. data/lib/oddb/drugs/galenic_group.rb +17 -0
  65. data/lib/oddb/drugs/package.rb +111 -0
  66. data/lib/oddb/drugs/part.rb +55 -0
  67. data/lib/oddb/drugs/product.rb +25 -0
  68. data/lib/oddb/drugs/sequence.rb +68 -0
  69. data/lib/oddb/drugs/substance.rb +31 -0
  70. data/lib/oddb/drugs/substance_group.rb +13 -0
  71. data/lib/oddb/drugs/unit.rb +12 -0
  72. data/lib/oddb/export.rb +4 -0
  73. data/lib/oddb/export/csv.rb +94 -0
  74. data/lib/oddb/export/l10n_sessions.rb +30 -0
  75. data/lib/oddb/export/rss.rb +44 -0
  76. data/lib/oddb/export/server.rb +137 -0
  77. data/lib/oddb/export/xls.rb +127 -0
  78. data/lib/oddb/export/yaml.rb +212 -0
  79. data/lib/oddb/html/state/download.rb +13 -0
  80. data/lib/oddb/html/state/drugs/admin/package.rb +190 -0
  81. data/lib/oddb/html/state/drugs/admin/product.rb +56 -0
  82. data/lib/oddb/html/state/drugs/admin/sequence.rb +253 -0
  83. data/lib/oddb/html/state/drugs/ajax/explain_ddd_price.rb +19 -0
  84. data/lib/oddb/html/state/drugs/ajax/explain_price.rb +19 -0
  85. data/lib/oddb/html/state/drugs/ajax/global.rb +18 -0
  86. data/lib/oddb/html/state/drugs/ajax/package_infos.rb +19 -0
  87. data/lib/oddb/html/state/drugs/ajax/remote_infos.rb +19 -0
  88. data/lib/oddb/html/state/drugs/atc_browser.rb +39 -0
  89. data/lib/oddb/html/state/drugs/atc_guidelines.rb +21 -0
  90. data/lib/oddb/html/state/drugs/compare.rb +52 -0
  91. data/lib/oddb/html/state/drugs/download_export.rb +18 -0
  92. data/lib/oddb/html/state/drugs/downloads.rb +42 -0
  93. data/lib/oddb/html/state/drugs/fachinfo.rb +21 -0
  94. data/lib/oddb/html/state/drugs/feedback.rb +91 -0
  95. data/lib/oddb/html/state/drugs/global.rb +270 -0
  96. data/lib/oddb/html/state/drugs/init.rb +18 -0
  97. data/lib/oddb/html/state/drugs/login.rb +17 -0
  98. data/lib/oddb/html/state/drugs/package.rb +32 -0
  99. data/lib/oddb/html/state/drugs/patinfo.rb +21 -0
  100. data/lib/oddb/html/state/drugs/products.rb +51 -0
  101. data/lib/oddb/html/state/drugs/result.rb +125 -0
  102. data/lib/oddb/html/state/global.rb +206 -0
  103. data/lib/oddb/html/state/global_predefine.rb +17 -0
  104. data/lib/oddb/html/state/limit.rb +17 -0
  105. data/lib/oddb/html/state/login.rb +56 -0
  106. data/lib/oddb/html/state/paypal/checkout.rb +97 -0
  107. data/lib/oddb/html/state/paypal/collect.rb +19 -0
  108. data/lib/oddb/html/state/paypal/download.rb +61 -0
  109. data/lib/oddb/html/state/paypal/redirect.rb +18 -0
  110. data/lib/oddb/html/state/register_download.rb +24 -0
  111. data/lib/oddb/html/state/register_export.rb +38 -0
  112. data/lib/oddb/html/state/register_poweruser.rb +17 -0
  113. data/lib/oddb/html/state/viral/admin.rb +79 -0
  114. data/lib/oddb/html/state/viral/poweruser.rb +16 -0
  115. data/lib/oddb/html/util/annotated_list.rb +39 -0
  116. data/lib/oddb/html/util/know_it_all.rb +28 -0
  117. data/lib/oddb/html/util/known_user.rb +55 -0
  118. data/lib/oddb/html/util/lookandfeel.rb +698 -0
  119. data/lib/oddb/html/util/need_all_input.rb +29 -0
  120. data/lib/oddb/html/util/session.rb +84 -0
  121. data/lib/oddb/html/util/sort.rb +72 -0
  122. data/lib/oddb/html/util/unsaved_helper.rb +20 -0
  123. data/lib/oddb/html/util/validator.rb +59 -0
  124. data/lib/oddb/html/view/ajax/json.rb +22 -0
  125. data/lib/oddb/html/view/alpha_header.rb +28 -0
  126. data/lib/oddb/html/view/document.rb +117 -0
  127. data/lib/oddb/html/view/download.rb +33 -0
  128. data/lib/oddb/html/view/drugs/admin/package.rb +245 -0
  129. data/lib/oddb/html/view/drugs/admin/product.rb +104 -0
  130. data/lib/oddb/html/view/drugs/admin/sequence.rb +305 -0
  131. data/lib/oddb/html/view/drugs/ajax/explain_ddd_price.rb +87 -0
  132. data/lib/oddb/html/view/drugs/ajax/explain_price.rb +61 -0
  133. data/lib/oddb/html/view/drugs/ajax/package_infos.rb +105 -0
  134. data/lib/oddb/html/view/drugs/ajax/remote_infos.rb +44 -0
  135. data/lib/oddb/html/view/drugs/atc_browser.rb +68 -0
  136. data/lib/oddb/html/view/drugs/atc_guidelines.rb +94 -0
  137. data/lib/oddb/html/view/drugs/compare.rb +95 -0
  138. data/lib/oddb/html/view/drugs/download_export.rb +28 -0
  139. data/lib/oddb/html/view/drugs/downloads.rb +128 -0
  140. data/lib/oddb/html/view/drugs/fachinfo.rb +46 -0
  141. data/lib/oddb/html/view/drugs/feedback.rb +235 -0
  142. data/lib/oddb/html/view/drugs/init.rb +51 -0
  143. data/lib/oddb/html/view/drugs/legend.rb +24 -0
  144. data/lib/oddb/html/view/drugs/package.rb +403 -0
  145. data/lib/oddb/html/view/drugs/patinfo.rb +46 -0
  146. data/lib/oddb/html/view/drugs/products.rb +97 -0
  147. data/lib/oddb/html/view/drugs/result.rb +296 -0
  148. data/lib/oddb/html/view/drugs/search.rb +33 -0
  149. data/lib/oddb/html/view/drugs/template.rb +15 -0
  150. data/lib/oddb/html/view/foot.rb +52 -0
  151. data/lib/oddb/html/view/google.rb +23 -0
  152. data/lib/oddb/html/view/google_ads.rb +40 -0
  153. data/lib/oddb/html/view/head.rb +78 -0
  154. data/lib/oddb/html/view/limit.rb +109 -0
  155. data/lib/oddb/html/view/list.rb +59 -0
  156. data/lib/oddb/html/view/login.rb +38 -0
  157. data/lib/oddb/html/view/navigation.rb +67 -0
  158. data/lib/oddb/html/view/offset_header.rb +35 -0
  159. data/lib/oddb/html/view/paypal/collect.rb +95 -0
  160. data/lib/oddb/html/view/paypal/redirect.rb +51 -0
  161. data/lib/oddb/html/view/paypal/register_form.rb +149 -0
  162. data/lib/oddb/html/view/register_download.rb +29 -0
  163. data/lib/oddb/html/view/register_export.rb +29 -0
  164. data/lib/oddb/html/view/register_poweruser.rb +29 -0
  165. data/lib/oddb/html/view/rss/feedback.rb +64 -0
  166. data/lib/oddb/html/view/rss_preview.rb +61 -0
  167. data/lib/oddb/html/view/search.rb +104 -0
  168. data/lib/oddb/html/view/snapback.rb +24 -0
  169. data/lib/oddb/html/view/template.rb +56 -0
  170. data/lib/oddb/import/dimdi.rb +583 -0
  171. data/lib/oddb/import/excel.rb +45 -0
  172. data/lib/oddb/import/gkv.rb +463 -0
  173. data/lib/oddb/import/importer.rb +36 -0
  174. data/lib/oddb/import/pharma24.rb +211 -0
  175. data/lib/oddb/import/pharmnet.rb +1186 -0
  176. data/lib/oddb/import/rtf.rb +409 -0
  177. data/lib/oddb/import/whocc.rb +148 -0
  178. data/lib/oddb/import/xml.rb +15 -0
  179. data/lib/oddb/model.rb +179 -0
  180. data/lib/oddb/persistence.rb +22 -0
  181. data/lib/oddb/persistence/odba.rb +32 -0
  182. data/lib/oddb/persistence/odba/business/company.rb +13 -0
  183. data/lib/oddb/persistence/odba/business/grant_download.rb +14 -0
  184. data/lib/oddb/persistence/odba/business/invoice.rb +15 -0
  185. data/lib/oddb/persistence/odba/drugs/atc.rb +15 -0
  186. data/lib/oddb/persistence/odba/drugs/galenic_form.rb +18 -0
  187. data/lib/oddb/persistence/odba/drugs/galenic_group.rb +13 -0
  188. data/lib/oddb/persistence/odba/drugs/package.rb +25 -0
  189. data/lib/oddb/persistence/odba/drugs/product.rb +13 -0
  190. data/lib/oddb/persistence/odba/drugs/sequence.rb +21 -0
  191. data/lib/oddb/persistence/odba/drugs/substance.rb +21 -0
  192. data/lib/oddb/persistence/odba/drugs/substance_group.rb +13 -0
  193. data/lib/oddb/persistence/odba/drugs/unit.rb +13 -0
  194. data/lib/oddb/persistence/odba/export.rb +26 -0
  195. data/lib/oddb/persistence/odba/model.rb +68 -0
  196. data/lib/oddb/persistence/odba/text/document.rb +11 -0
  197. data/lib/oddb/persistence/odba/util/code.rb +11 -0
  198. data/lib/oddb/persistence/odba/util/m10l_document.rb +13 -0
  199. data/lib/oddb/persistence/og.rb +16 -0
  200. data/lib/oddb/persistence/og/drugs/composition.rb +14 -0
  201. data/lib/oddb/persistence/og/drugs/product.rb +14 -0
  202. data/lib/oddb/persistence/og/drugs/sequence.rb +15 -0
  203. data/lib/oddb/persistence/og/model.rb +25 -0
  204. data/lib/oddb/persistence/og/util/multilingual.rb +13 -0
  205. data/lib/oddb/redist/rtf_tools/reader.rb +139 -0
  206. data/lib/oddb/remote/business/company.rb +17 -0
  207. data/lib/oddb/remote/drugs/active_agent.rb +27 -0
  208. data/lib/oddb/remote/drugs/atc.rb +31 -0
  209. data/lib/oddb/remote/drugs/dose.rb +8 -0
  210. data/lib/oddb/remote/drugs/galenic_form.rb +24 -0
  211. data/lib/oddb/remote/drugs/package.rb +128 -0
  212. data/lib/oddb/remote/drugs/part.rb +30 -0
  213. data/lib/oddb/remote/drugs/substance.rb +20 -0
  214. data/lib/oddb/remote/drugs/unit.rb +20 -0
  215. data/lib/oddb/remote/object.rb +36 -0
  216. data/lib/oddb/text/chapter.rb +23 -0
  217. data/lib/oddb/text/document.rb +42 -0
  218. data/lib/oddb/text/format.rb +37 -0
  219. data/lib/oddb/text/paragraph.rb +53 -0
  220. data/lib/oddb/text/picture.rb +89 -0
  221. data/lib/oddb/text/table.rb +68 -0
  222. data/lib/oddb/util.rb +9 -0
  223. data/lib/oddb/util/annotated_list.rb +37 -0
  224. data/lib/oddb/util/code.rb +69 -0
  225. data/lib/oddb/util/comparison.rb +36 -0
  226. data/lib/oddb/util/download.rb +17 -0
  227. data/lib/oddb/util/exporter.rb +8 -0
  228. data/lib/oddb/util/feedback.rb +23 -0
  229. data/lib/oddb/util/ipn.rb +53 -0
  230. data/lib/oddb/util/job.rb +23 -0
  231. data/lib/oddb/util/logger.rb +20 -0
  232. data/lib/oddb/util/m10l_document.rb +41 -0
  233. data/lib/oddb/util/mail.rb +87 -0
  234. data/lib/oddb/util/money.rb +64 -0
  235. data/lib/oddb/util/multilingual.rb +70 -0
  236. data/lib/oddb/util/quanty.rb +3 -0
  237. data/lib/oddb/util/quanty/fact.rb +242 -0
  238. data/lib/oddb/util/quanty/main.rb +164 -0
  239. data/lib/oddb/util/quanty/parse.rb +872 -0
  240. data/lib/oddb/util/quanty/units.dump +0 -0
  241. data/lib/oddb/util/server.rb +150 -0
  242. data/lib/oddb/util/smtp_tls.rb +58 -0
  243. data/lib/oddb/util/updater.rb +161 -0
  244. data/lib/oddb/util/ydim.rb +110 -0
  245. data/lib/oddb/util/yus.rb +46 -0
  246. data/test/business/test_company.rb +29 -0
  247. data/test/business/test_grant_download.rb +29 -0
  248. data/test/drugs/test_active_agent.rb +53 -0
  249. data/test/drugs/test_atc.rb +54 -0
  250. data/test/drugs/test_composition.rb +88 -0
  251. data/test/drugs/test_ddd.rb +22 -0
  252. data/test/drugs/test_dose.rb +189 -0
  253. data/test/drugs/test_galenic_form.rb +41 -0
  254. data/test/drugs/test_package.rb +172 -0
  255. data/test/drugs/test_part.rb +32 -0
  256. data/test/drugs/test_product.rb +31 -0
  257. data/test/drugs/test_sequence.rb +140 -0
  258. data/test/drugs/test_substance.rb +51 -0
  259. data/test/drugs/test_substance_group.rb +27 -0
  260. data/test/export/test_rss.rb +86 -0
  261. data/test/export/test_server.rb +163 -0
  262. data/test/export/test_xls.rb +146 -0
  263. data/test/export/test_yaml.rb +120 -0
  264. data/test/import/data/csv/products.csv +11 -0
  265. data/test/import/data/html/dimdi_index.html +400 -0
  266. data/test/import/data/html/gkv/Befreiungsliste_Arzneimittel_Versicherte.gkvnet +508 -0
  267. data/test/import/data/html/pharma24/1337397.html +754 -0
  268. data/test/import/data/html/pharma24/842756.html +570 -0
  269. data/test/import/data/html/pharma24/ac-page-10.html +2999 -0
  270. data/test/import/data/html/pharma24/ac-page-11.html +2999 -0
  271. data/test/import/data/html/pharma24/ac-page-12.html +2999 -0
  272. data/test/import/data/html/pharma24/ac-page-13.html +2999 -0
  273. data/test/import/data/html/pharma24/ac-page-14.html +2999 -0
  274. data/test/import/data/html/pharma24/ac-page-15.html +3011 -0
  275. data/test/import/data/html/pharma24/ac-page-16.html +3050 -0
  276. data/test/import/data/html/pharma24/ac-page-17.html +3285 -0
  277. data/test/import/data/html/pharma24/ac-page-18.html +3109 -0
  278. data/test/import/data/html/pharma24/ac-page-19.html +3126 -0
  279. data/test/import/data/html/pharma24/ac-page-2.html +3005 -0
  280. data/test/import/data/html/pharma24/ac-page-20.html +3007 -0
  281. data/test/import/data/html/pharma24/ac-page-21.html +2999 -0
  282. data/test/import/data/html/pharma24/ac-page-22.html +2999 -0
  283. data/test/import/data/html/pharma24/ac-page-23.html +3055 -0
  284. data/test/import/data/html/pharma24/ac-page-24.html +2999 -0
  285. data/test/import/data/html/pharma24/ac-page-25.html +3004 -0
  286. data/test/import/data/html/pharma24/ac-page-26.html +2999 -0
  287. data/test/import/data/html/pharma24/ac-page-27.html +3167 -0
  288. data/test/import/data/html/pharma24/ac-page-28.html +3236 -0
  289. data/test/import/data/html/pharma24/ac-page-29.html +3110 -0
  290. data/test/import/data/html/pharma24/ac-page-3.html +2999 -0
  291. data/test/import/data/html/pharma24/ac-page-30.html +2999 -0
  292. data/test/import/data/html/pharma24/ac-page-31.html +2999 -0
  293. data/test/import/data/html/pharma24/ac-page-32.html +2999 -0
  294. data/test/import/data/html/pharma24/ac-page-33.html +3001 -0
  295. data/test/import/data/html/pharma24/ac-page-34.html +2999 -0
  296. data/test/import/data/html/pharma24/ac-page-35.html +2999 -0
  297. data/test/import/data/html/pharma24/ac-page-36.html +2999 -0
  298. data/test/import/data/html/pharma24/ac-page-37.html +2999 -0
  299. data/test/import/data/html/pharma24/ac-page-38.html +3003 -0
  300. data/test/import/data/html/pharma24/ac-page-39.html +2999 -0
  301. data/test/import/data/html/pharma24/ac-page-4.html +2999 -0
  302. data/test/import/data/html/pharma24/ac-page-40.html +2999 -0
  303. data/test/import/data/html/pharma24/ac-page-41.html +2999 -0
  304. data/test/import/data/html/pharma24/ac-page-42.html +2999 -0
  305. data/test/import/data/html/pharma24/ac-page-43.html +2999 -0
  306. data/test/import/data/html/pharma24/ac-page-44.html +2999 -0
  307. data/test/import/data/html/pharma24/ac-page-45.html +2999 -0
  308. data/test/import/data/html/pharma24/ac-page-46.html +2999 -0
  309. data/test/import/data/html/pharma24/ac-page-47.html +2999 -0
  310. data/test/import/data/html/pharma24/ac-page-48.html +2999 -0
  311. data/test/import/data/html/pharma24/ac-page-49.html +2999 -0
  312. data/test/import/data/html/pharma24/ac-page-5.html +3168 -0
  313. data/test/import/data/html/pharma24/ac-page-50.html +2999 -0
  314. data/test/import/data/html/pharma24/ac-page-51.html +2999 -0
  315. data/test/import/data/html/pharma24/ac-page-52.html +3003 -0
  316. data/test/import/data/html/pharma24/ac-page-53.html +2999 -0
  317. data/test/import/data/html/pharma24/ac-page-54.html +3095 -0
  318. data/test/import/data/html/pharma24/ac-page-55.html +3041 -0
  319. data/test/import/data/html/pharma24/ac-page-56.html +2999 -0
  320. data/test/import/data/html/pharma24/ac-page-57.html +3001 -0
  321. data/test/import/data/html/pharma24/ac-page-58.html +3001 -0
  322. data/test/import/data/html/pharma24/ac-page-59.html +2999 -0
  323. data/test/import/data/html/pharma24/ac-page-6.html +3072 -0
  324. data/test/import/data/html/pharma24/ac-page-60.html +3001 -0
  325. data/test/import/data/html/pharma24/ac-page-61.html +3005 -0
  326. data/test/import/data/html/pharma24/ac-page-62.html +2999 -0
  327. data/test/import/data/html/pharma24/ac-page-63.html +3007 -0
  328. data/test/import/data/html/pharma24/ac-page-64.html +3007 -0
  329. data/test/import/data/html/pharma24/ac-page-65.html +2999 -0
  330. data/test/import/data/html/pharma24/ac-page-66.html +3011 -0
  331. data/test/import/data/html/pharma24/ac-page-67.html +3026 -0
  332. data/test/import/data/html/pharma24/ac-page-68.html +2999 -0
  333. data/test/import/data/html/pharma24/ac-page-69.html +3010 -0
  334. data/test/import/data/html/pharma24/ac-page-7.html +2999 -0
  335. data/test/import/data/html/pharma24/ac-page-70.html +3192 -0
  336. data/test/import/data/html/pharma24/ac-page-71.html +3133 -0
  337. data/test/import/data/html/pharma24/ac-page-72.html +2999 -0
  338. data/test/import/data/html/pharma24/ac-page-73.html +3227 -0
  339. data/test/import/data/html/pharma24/ac-page-74.html +3241 -0
  340. data/test/import/data/html/pharma24/ac-page-75.html +3227 -0
  341. data/test/import/data/html/pharma24/ac-page-76.html +3244 -0
  342. data/test/import/data/html/pharma24/ac-page-77.html +1164 -0
  343. data/test/import/data/html/pharma24/ac-page-8.html +2999 -0
  344. data/test/import/data/html/pharma24/ac-page-9.html +2999 -0
  345. data/test/import/data/html/pharma24/ac.html +2999 -0
  346. data/test/import/data/html/pharmnet/display.html +662 -0
  347. data/test/import/data/html/pharmnet/display1.html +625 -0
  348. data/test/import/data/html/pharmnet/display2.html +625 -0
  349. data/test/import/data/html/pharmnet/display3.html +625 -0
  350. data/test/import/data/html/pharmnet/display_tramal.html +634 -0
  351. data/test/import/data/html/pharmnet/empty_result.html +395 -0
  352. data/test/import/data/html/pharmnet/gate.html +246 -0
  353. data/test/import/data/html/pharmnet/index.html +258 -0
  354. data/test/import/data/html/pharmnet/paged_result_1.html +401 -0
  355. data/test/import/data/html/pharmnet/paged_result_2.html +401 -0
  356. data/test/import/data/html/pharmnet/result.html +401 -0
  357. data/test/import/data/html/pharmnet/search.html +865 -0
  358. data/test/import/data/html/pharmnet/search_filtered.html +182 -0
  359. data/test/import/data/html/whocc/A.html +56 -0
  360. data/test/import/data/html/whocc/A03.html +48 -0
  361. data/test/import/data/html/whocc/A03AB.html +48 -0
  362. data/test/import/data/html/whocc/A06AA.html +47 -0
  363. data/test/import/data/html/whocc/C03.html +47 -0
  364. data/test/import/data/html/whocc/login.html +77 -0
  365. data/test/import/data/mail/csv.mail +81 -0
  366. data/test/import/data/rtf/pharmnet/aarane.pi.rtf +648 -0
  367. data/test/import/data/rtf/pharmnet/ace_hemmer_ratio.pi.rtf +324 -0
  368. data/test/import/data/rtf/pharmnet/ace_hemmer_ratio.rtf +4816 -0
  369. data/test/import/data/rtf/pharmnet/acemetacin.pi.rtf +388 -0
  370. data/test/import/data/rtf/pharmnet/acemit.pi.rtf +240 -0
  371. data/test/import/data/rtf/pharmnet/acerbon.pi.rtf +1257 -0
  372. data/test/import/data/rtf/pharmnet/acetylcystein.pi.rtf +323 -0
  373. data/test/import/data/rtf/pharmnet/aciclo.pi.rtf +287 -0
  374. data/test/import/data/rtf/pharmnet/aciclovir.pi.rtf +236 -0
  375. data/test/import/data/rtf/pharmnet/actrapid.pi.rtf +322 -0
  376. data/test/import/data/rtf/pharmnet/amlodipin.pi.rtf +452 -0
  377. data/test/import/data/rtf/pharmnet/amlodipin.rtf +473 -0
  378. data/test/import/data/rtf/pharmnet/aspirin.pi.rtf +313 -0
  379. data/test/import/data/rtf/pharmnet/aspirin.rtf +781 -0
  380. data/test/import/data/rtf/pharmnet/baymycard.pi.rtf +447 -0
  381. data/test/import/data/rtf/pharmnet/omeprazol.pi.rtf +510 -0
  382. data/test/import/data/rtf/pharmnet/omeprazol.rtf +9216 -0
  383. data/test/import/data/rtf/pharmnet/paroxetin.pi.rtf +678 -0
  384. data/test/import/data/rtf/pharmnet/selegilin.pi.rtf +312 -0
  385. data/test/import/data/rtf/pharmnet/selegilin.rtf +683 -0
  386. data/test/import/data/rtf/pharmnet/valium.pi.rtf +387 -0
  387. data/test/import/data/txt/gkv/gkv_p1.txt +17 -0
  388. data/test/import/data/xls/darform_010706.xls +0 -0
  389. data/test/import/data/xls/fb010706.xls +0 -0
  390. data/test/import/data/xls/liste_zuzahlungsbefreite_arzneimittel_suchfunktion.xls +0 -0
  391. data/test/import/data/xls/wirkkurz_010406.xls +0 -0
  392. data/test/import/data/xml/ATC_2006.xml +47 -0
  393. data/test/import/data/xml/ATC_2006_ddd.xml +35 -0
  394. data/test/import/test_dimdi.rb +323 -0
  395. data/test/import/test_excel.rb +31 -0
  396. data/test/import/test_gkv.rb +260 -0
  397. data/test/import/test_pharma24.rb +112 -0
  398. data/test/import/test_pharmnet.rb +980 -0
  399. data/test/import/test_rtf.rb +37 -0
  400. data/test/import/test_whocc.rb +314 -0
  401. data/test/remote/drugs/test_active_agent.rb +36 -0
  402. data/test/selenium/selenium-server.jar +0 -0
  403. data/test/selenium/test_atc_browser.rb +121 -0
  404. data/test/selenium/test_atc_guidelines.rb +95 -0
  405. data/test/selenium/test_collect.rb +137 -0
  406. data/test/selenium/test_compare.rb +294 -0
  407. data/test/selenium/test_fachinfo.rb +128 -0
  408. data/test/selenium/test_feedback.rb +192 -0
  409. data/test/selenium/test_init.rb +64 -0
  410. data/test/selenium/test_limit.rb +304 -0
  411. data/test/selenium/test_login.rb +67 -0
  412. data/test/selenium/test_package.rb +516 -0
  413. data/test/selenium/test_patinfo.rb +128 -0
  414. data/test/selenium/test_product.rb +80 -0
  415. data/test/selenium/test_products.rb +141 -0
  416. data/test/selenium/test_search.rb +933 -0
  417. data/test/selenium/test_sequence.rb +513 -0
  418. data/test/selenium/unit.rb +190 -0
  419. data/test/stub/http_server.rb +144 -0
  420. data/test/stub/model.rb +173 -0
  421. data/test/suite.rb +15 -0
  422. data/test/test_model.rb +83 -0
  423. data/test/util/test_code.rb +74 -0
  424. data/test/util/test_ipn.rb +117 -0
  425. data/test/util/test_mail.rb +85 -0
  426. data/test/util/test_multilingual.rb +97 -0
  427. data/test/util/test_server.rb +94 -0
  428. data/test/util/test_updater.rb +130 -0
  429. data/test/util/test_ydim.rb +115 -0
  430. data/test/util/test_yus.rb +79 -0
  431. metadata +568 -0
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::State::Viral::PowerUser -- de.oddb.org -- 23.01.2008 -- hwyss@ywesee.com
3
+
4
+ require 'sbsm/viralstate'
5
+
6
+ module ODDB
7
+ module Html
8
+ module State
9
+ module Viral
10
+ module PowerUser
11
+ include SBSM::ViralState
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::Util::AnnotatedList -- de.oddb.org -- 06.12.2006 -- hwyss@ywesee.com
3
+
4
+ module ODDB
5
+ module Html
6
+ module Util
7
+ class AnnotatedList < Array
8
+ def initialize(annotations = {})
9
+ if(annotations.is_a?(Hash))
10
+ super()
11
+ @annotations = annotations
12
+ else
13
+ super
14
+ @annotations = {}
15
+ end
16
+ end
17
+ def sort_by(*args, &block)
18
+ _delegate(super(*args, &block))
19
+ end
20
+ def [](*args, &block)
21
+ _delegate(super(*args, &block))
22
+ end
23
+ def method_missing(key, *args)
24
+ mname = key.id2name
25
+ if(args.size == 1 && /=$/.match(mname))
26
+ mname.chop!
27
+ @annotations[mname.to_sym] = args.first
28
+ else
29
+ @annotations[key]
30
+ end
31
+ end
32
+ private
33
+ def _delegate(content)
34
+ self.dup.clear.concat(content)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+ # KnowItAll -- de.oddb.org -- 15.01.2009 -- hwyss@ywesee.com
3
+
4
+ module ODDB
5
+ module Html
6
+ module Util
7
+ class KnowItAll
8
+ def initialize delegate, values={}
9
+ @delegate = delegate
10
+ @values = values
11
+ end
12
+ def is_a? mod
13
+ @delegate.is_a?(mod) || super
14
+ end
15
+ def method_missing name, *args, &block
16
+ if @delegate.respond_to? name
17
+ @delegate.send name, *args, &block
18
+ else
19
+ @values[name]
20
+ end
21
+ end
22
+ def respond_to? name
23
+ @delegate.respond_to?(name) || @values.include?(name)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::Util::KnownUser -- de.oddb.org -- 29.10.2007 -- hwyss@ywesee.com
3
+
4
+ require 'sbsm/user'
5
+ require 'iconv'
6
+
7
+ module ODDB
8
+ module Html
9
+ module Util
10
+ class KnownUser < SBSM::User
11
+ attr_reader :auth_session
12
+ PREFERENCE_KEYS = [ :address, :city, :name_first, :name_last, :plz,
13
+ :salutation, ]
14
+ PREFERENCE_KEYS.each { |key|
15
+ define_method(key) {
16
+ remote_call(:get_preference, key)
17
+ }
18
+ }
19
+ @@iconv = Iconv.new('utf8', 'latin1')
20
+ def initialize(session)
21
+ @auth_session = session
22
+ end
23
+ def allowed?(action, key=nil)
24
+ allowed = remote_call(:allowed?, action, key)
25
+ ODDB.logger.debug('User') {
26
+ sprintf('%s: allowed?(%s, %s) -> %s', name, action, key, allowed)
27
+ }
28
+ allowed
29
+ end
30
+ def entity_valid?(email)
31
+ !!(allowed?('edit', 'yus.entities') \
32
+ && (entity = remote_call(:find_entity, email)) && entity.valid?)
33
+ end
34
+ def email
35
+ remote_call :name
36
+ end
37
+ def navigation
38
+ [ :logout ]
39
+ end
40
+ def remote_call(method, *args, &block)
41
+ res = @auth_session.send(method, *args, &block)
42
+ case res
43
+ when String
44
+ @@iconv.iconv res rescue res
45
+ else
46
+ res
47
+ end
48
+ rescue RangeError, DRb::DRbError => e
49
+ ODDB.logger.error('auth') { e }
50
+ end
51
+ alias :method_missing :remote_call
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,698 @@
1
+ #!/usr/bin/env ruby
2
+ # Html::Util::Lookandfeel -- de.oddb.org -- 27.10.2006 -- hwyss@ywesee.com
3
+
4
+ require 'oddb/currency'
5
+ require 'sbsm/lookandfeel'
6
+ require 'sbsm/lookandfeelfactory'
7
+ require 'sbsm/lookandfeelwrapper'
8
+ require 'turing'
9
+ require 'fileutils'
10
+
11
+ module ODDB
12
+ module Html
13
+ module Util
14
+ class Lookandfeel < SBSM::Lookandfeel
15
+ @@turing_files = {}
16
+ @@turing_finalizer = proc { |id|
17
+ if file = @@turing_files.delete(id)
18
+ path = File.join(ODDB.config.var, 'captcha', file)
19
+ File.delete(path) if File.exist?(path)
20
+ end
21
+ }
22
+ Thread.new {
23
+ FileUtils.rm Dir.glob(File.join(ODDB.config.var, 'captcha', '*'))
24
+ }
25
+ DICTIONARIES = {
26
+ "de" => {
27
+ :active_agents0 => '',
28
+ :active_agents1 => ' Wirkstoffe',
29
+ :address => 'Strasse/Nr.',
30
+ :administration => 'Verabreichungsform',
31
+ :administration_O => 'Oral',
32
+ :administration_P => 'Parenteral',
33
+ :administration_R => 'Rektal',
34
+ :atc => 'ATC-Code',
35
+ :atc_assign => 'ATC zuweisen',
36
+ :atc_browser => 'ATC-Browser',
37
+ :atc_name => 'ATC-Name',
38
+ :atc_unknown => 'ATC-Code nicht bekannt',
39
+ :ba_doctor => 'Arzt',
40
+ :ba_health => 'Gesundheitsdienstleister',
41
+ :ba_hospital => 'Spital',
42
+ :ba_info => 'Medi-Information',
43
+ :ba_insurance => 'Krankenkasse',
44
+ :ba_pharma => 'Pharmaunternehmen',
45
+ :breadcrumb_divider => '&nbsp;&ndash;&nbsp;',
46
+ :business_area => 'Geschäftsbereich',
47
+ :captcha => 'Was steht im Bild unten?',
48
+ :chapter_active_agents => 'Wirkstoffe',
49
+ :chapter_additional_information => 'Zusätzliche Angaben',
50
+ :chapter_application => 'Anwendung',
51
+ :chapter_bioavailability => 'Bioverfügbarkeit',
52
+ :chapter_clinical => 'Klinische Angaben',
53
+ :chapter_company => 'Zulassungsinhaber',
54
+ :chapter_composition => 'Zusammensetzung',
55
+ :chapter_counterindications => 'Gegenanzeigen',
56
+ :chapter_date => 'Stand der Information',
57
+ :chapter_default => 'Einleitung',
58
+ :chapter_disposal => 'Beseitigung',
59
+ :chapter_dosage => 'Dosierung',
60
+ :chapter_driving_ability => 'Verkehrstüchtigkeit',
61
+ :chapter_emergency => 'Verhalten im Notfall',
62
+ :chapter_excipients => 'Sonstige Bestandteile',
63
+ :chapter_fachinfo => 'Vollständige Fachinformation',
64
+ :chapter_galenic_form => 'Darreichungsform',
65
+ :chapter_incompatibilities => 'Inkompabilitäten',
66
+ :chapter_indications => 'Anwendungsgebiete',
67
+ :chapter_interactions => 'Wechselwirkungen',
68
+ :chapter_name => 'Bezeichnung',
69
+ :chapter_overdose => 'Überdosierung',
70
+ :chapter_other_advice => 'Sonstige Hinweise',
71
+ :chapter_packaging => 'Handelsformen',
72
+ :chapter_patinfo => 'Vollständige Gebrauchsinformation',
73
+ :chapter_personal => 'Zusammenfassung',
74
+ :chapter_pharmaceutic => 'Pharmazeutische Angaben',
75
+ :chapter_pharmacodynamics => 'Pharmakodynamik',
76
+ :chapter_pharmacokinetics => 'Pharmakokinetik',
77
+ :chapter_pharmacology => 'Pharmakologie',
78
+ :chapter_precautions => 'Vorsichtsmassnahmen',
79
+ :chapter_preclinicals => 'Präklinische Daten',
80
+ :chapter_pregnancy => 'Schwangerschaft / Stillzeit',
81
+ :chapter_producer => 'Hersteller',
82
+ :chapter_registration => 'Zulassungsnummern',
83
+ :chapter_registration_date => 'Zulassungsdatum',
84
+ :chapter_sale_limitation => 'Verkaufsabgrenzung',
85
+ :chapter_shelf_life => 'Haltbarkeit',
86
+ :chapter_storage => 'Aufbewahrung',
87
+ :chapter_substance_group => 'Stoffgruppe',
88
+ :chapter_toxicology => 'Toxikologie',
89
+ :chapter_unwanted_effects => 'Nebenwirkungen',
90
+ :checkout => 'Bezahlen',
91
+ :company_name => 'Firmenname',
92
+ :choose_range => 'Bitte wählen Sie den anzuzeigenden Bereich',
93
+ :ch_sl => 'SL',
94
+ :ch_sl_entry => 'Spezialitätenliste',
95
+ :ch_ikscat => 'Abgabekategorie',
96
+ :ch_ikscat_A => 'Einmalige Abgabe auf ärztliche Verschreibung',
97
+ :ch_ikscat_B => 'Abgabe auf ärztliche Verschreibung',
98
+ :ch_ikscat_C => 'Abgabe nach Fachberatung durch Medizinalpersonen',
99
+ :ch_ikscat_D => 'Abgabe nach Fachberatung',
100
+ :ch_ikscat_E => 'Abgabe ohne Fachberatung',
101
+ :city => 'Ort',
102
+ :code_cid => 'Pharmazentralnummer',
103
+ :code_festbetragsgruppe => 'Festbetragsgruppe',
104
+ :code_festbetragsstufe => 'Festbetragsstufe',
105
+ :code_prescription => 'Rezeptpflichtig',
106
+ :code_registration => 'EU-Zulassungsnummer / AMD-Reg.-Nummer',
107
+ :code_zuzahlungsbefreit => 'Zuzahlungsbefreit',
108
+ :comment => 'Anmerkung',
109
+ :company => 'Zulassungsinhaber',
110
+ :compare => 'Preisvergleich',
111
+ :compare_remote => 'Preisvergleich',
112
+ :comparison_for0 => 'Preisvergleich für ',
113
+ :comparison_for1 => '',
114
+ :compositions => 'Bestandteile',
115
+ :compr_gz => 'GZ',
116
+ :compr_zip => 'ZIP',
117
+ :compression_label => 'Gewünschte Komprimierung',
118
+ :confirm_pass => 'Bestätigung',
119
+ :contact => 'Kontakt',
120
+ :contact_url => 'http://wiki.oddb.org/wiki.php/ODDB/Kontakt',
121
+ :create_active_agent => 'Wirkstoff hinzufügen',
122
+ :create_composition => 'Bestandteil hinzufügen',
123
+ :download_description => 'Datenbeschrieb',
124
+ :download_example => 'Beispiel-Download',
125
+ :"download_howto_compendium_de.oddb.org.firefox.epub" => 'Installation Firefox',
126
+ :"download_howto_url_compendium_de.oddb.org.firefox.epub" => 'http://www.ywesee.com/pmwiki.php/Main/EPUB',
127
+ :"download_howto_compendium_de.oddb.org.htc.prc" => 'Installation HTC',
128
+ :"download_howto_url_compendium_de.oddb.org.htc.prc" => 'http://www.ywesee.com/pmwiki.php/Ywesee/HTC',
129
+ :"download_howto_compendium_de.oddb.org.kindle.mobi" => 'Installation Kindle',
130
+ :"download_howto_url_compendium_de.oddb.org.kindle.mobi" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Kindle',
131
+ :"download_howto_compendium_de.oddb.org.stanza.epub" => 'Installation Stanza',
132
+ :"download_howto_url_compendium_de.oddb.org.stanza.epub" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Stanza',
133
+ :"download_howto_patinfos_de.oddb.org.firefox.epub" => 'Installation Firefox',
134
+ :"download_howto_url_patinfos_de.oddb.org.firefox.epub" => 'http://www.ywesee.com/pmwiki.php/Main/EPUB',
135
+ :"download_howto_patinfos_de.oddb.org.htc.prc" => 'Installation HTC',
136
+ :"download_howto_url_patinfos_de.oddb.org.htc.prc" => 'http://www.ywesee.com/pmwiki.php/Ywesee/HTC',
137
+ :"download_howto_patinfos_de.oddb.org.kindle.mobi" => 'Installation Kindle',
138
+ :"download_howto_url_patinfos_de.oddb.org.kindle.mobi" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Kindle',
139
+ :"download_howto_patinfos_de.oddb.org.stanza.epub" => 'Installation Stanza',
140
+ :"download_howto_url_patinfos_de.oddb.org.stanza.epub" => 'http://www.ywesee.com/pmwiki.php/Ywesee/Stanza',
141
+ :days => 'Tage',
142
+ :days0 => '',
143
+ :days1 => ' Tage',
144
+ :days_genitive0 => '',
145
+ :days_genitive1 => ' Tagen',
146
+ :days_one_genitive => 'einem Tag',
147
+ :ddd => 'Tagesdosis',
148
+ :ddd_price_calculation => 'Berechnung',
149
+ :ddd_price_calculation0 => '( ',
150
+ :ddd_price_calculation1 => ' / ',
151
+ :ddd_price_calculation2 => ' ) x ( ',
152
+ :ddd_price_calculation3 => ' / ',
153
+ :ddd_price_calculation4 => ' ) = <b>EUR ',
154
+ :ddd_price_calculation5 => ' / Tag </b>',
155
+ :delete => 'Löschen',
156
+ :delete_composition => 'Bestandteil löschen',
157
+ :delete_package_confirm => 'Wollen Sie diese Packung wirklich löschen?',
158
+ :delete_sequence_confirm => 'Wollen Sie diese Sequenz wirklich löschen?',
159
+ :display_grouped => 'Zur ATC-Übersicht',
160
+ :display_paged => 'Alle Präparate anzeigen',
161
+ :download => 'Download-Registrierung',
162
+ :download_descr => 'Der Download der Stammdaten ist kostenpflichtig. Bitte geben Sie Ihre Kontakt-Daten an und gehen Sie dann weiter zum Checkout.',
163
+ :download_export_mail_body => 'Die Bezahlung für Ihren CSV-Export konnte erfolgreich abgewickelt werden.',
164
+ :download_export_mail_instr => 'Sie können die Daten mit dem folgenden Link abrufen:',
165
+ :download_mail_body => 'Die Bezahlung für Ihren Download konnte erfolgreich abgewickelt werden.',
166
+ :download_mail_instr => 'Sie können die Daten mit den folgenden Links abrufen:',
167
+ :download_info => 'Mehr Infos zu den Stammdaten von de.ODDB.org',
168
+ :downloads => 'Stammdaten Download',
169
+ :dose => 'Stärke',
170
+ :drugs => 'Medikamente',
171
+ :drugs_atc_codes => "ATC-Codes, DDD's:",
172
+ :drugs_copay_free => 'Zuzahlungsbefreite Arzneimittel:',
173
+ :drugs_fixprices => 'Arzneimittelfestbeträge:',
174
+ :dstype => 'Art der Suche:',
175
+ :ean0 => 'EAN-13: ',
176
+ :ean1 => '',
177
+ :e_duplicate_pzn0 => 'Die Pharmazentralnummer ',
178
+ :e_duplicate_pzn1 => ' ist bereits vergeben.',
179
+ :e_duplicate_registration0 => 'Die EU-Registrationsnummer ',
180
+ :e_duplicate_registration1 => ' ist bereits vergeben.',
181
+ :e_failed_turing_test => 'Ihre Eingabe stimmt nicht mit dem Bild überein. Bitte versuchen Sie es noch einmal.',
182
+ :e_missing_atc => 'Bitte geben Sie einen gültigen ATC-Code an.',
183
+ :e_unknown_atc0 => 'Der ATC-Code "',
184
+ :e_unknown_atc1 => '" ist nicht bekannt.',
185
+ :e_missing_downloads => 'Bitte wählen Sie mindestens ein File zum Download aus.',
186
+ :e_unknown_galenic_form0 => 'Die Galenische Form "',
187
+ :e_unknown_galenic_form1 => '" ist nicht bekannt.',
188
+ :e_unknown_substance0 => 'Die Substanz "',
189
+ :e_unknown_substance1 => '" ist nicht bekannt.',
190
+ :e_need_all_input => 'Bitte füllen Sie alle Felder aus.',
191
+ :e_query_short => 'Ihr Such-Stichwort ergibt ein sehr grosses Resultat. Bitte verwenden Sie mindestens 3 Buchstaben.',
192
+ :e_missing_days => 'Bitte wählen Sie eine Zeitdauer.',
193
+ :e_missing_code_cid => 'Bitte geben Sie eine Pharmazentralnummer an.',
194
+ :e_missing_company => 'Bitte geben Sie einen Zulassungsinhaber an.',
195
+ :e_missing_email => 'Bitte geben Sie eine gültige E-Mail-Adresse an.',
196
+ :e_missing_name => 'Bitte geben Sie einen Namen an.',
197
+ :e_state_expired => 'Die Seite ist nicht mehr gültig.',
198
+ :e_unknown_company0 => 'Der Zulassungsinhaber "',
199
+ :e_unknown_company1 => '" ist nicht bekannt.',
200
+ :email => 'E-Mail',
201
+ :email_not_public => 'E-Mail wird nicht angezeigt.',
202
+ :email_public => 'E-Mail anzeigen',
203
+ :email_public_false => 'Ich will anonym bleiben.',
204
+ :email_public_true => 'Ich bin bereit, meine Erfahrungen mit diesem Medikament mit anderen Leuten auszutauschen. Meine Mail-Adresse muss nicht anonym bleiben.',
205
+ :empty_comparison => <<-EOS,
206
+ In unserer Datenbank wurden leider keine Produkte gefunden,
207
+ die mit diesem Produkt verglichen werden können.
208
+ EOS
209
+ #
210
+ :empty_packages => <<-EOS,
211
+ Ihr Such-Stichwort hat zu keinem Suchergebnis geführt. Bitte
212
+ überprüfen Sie die Schreibweise und versuchen Sie es noch
213
+ einmal.
214
+ EOS
215
+ :equivalence_factor => 'Wirkstärkenäquivalenzfaktor (waef)',
216
+ :explain_compare => 'Für einen Preisvergleich klicken Sie bitte auf den Medikamentennamen; zum Umsortieren auf den Tabellentitel.',
217
+ :explain_currency_convert => 'Wechselkurs (1 EUR in CHF)',
218
+ :explain_remote => 'Rot = CH - Produkte',
219
+ :explain_zuzahlungsbefreit => 'Gelb = Zuzahlungsbefreit',
220
+ :explain_search => <<-EOS,
221
+ Vergleichen Sie einfach und schnell Medikamentenpreise.
222
+ Suchen Sie nach Medikamentname oder Wirkstoff.
223
+ EOS
224
+ :export => 'CSV-Export Datenerfassung',
225
+ :export_csv => 'Resultat als CSV Exportieren',
226
+ :export_descr => 'Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.',
227
+ :fachinfo => 'Fachinformation',
228
+ :feedback => 'Feedback',
229
+ :feedback_alt0 => 'Feedback zu ',
230
+ :feedback_alt1 => '',
231
+ :feedback_changed => 'Vielen Dank! Ihr Feedback wurde geändert. Sie können noch weitere Änderungen vornehmen.',
232
+ :feedback_for0 => 'Feedback zu ',
233
+ :feedback_for1 => ' in der Handelsform: ',
234
+ :feedback_for2 => '',
235
+ :feedback_for_sequence0 => 'Feedback zu ',
236
+ :feedback_for_sequence1 => '',
237
+ :feedback_by0 => 'Feedback von ',
238
+ :feedback_by1 => '<br/>erstellt am: ',
239
+ :feedback_by2 => '',
240
+ :feedback_feed_description => 'Patienten- und Ärztefeedback zu Medikamenten im Schweizer Gesundheitsmarkt',
241
+ :feedback_feed_title => 'Patienten- und Ärztefeedback zu Medikamenten',
242
+ :feedback_message => 'Meine Erfahrung / Meine persönliche Meinung zu diesem Medikament ist: (max. 400 Zeichen)',
243
+ :feedback_preview0 => '',
244
+ :feedback_preview1 => ' in der Handelsform: ',
245
+ :feedback_preview2 => '',
246
+ :feedback_saved => 'Vielen Dank! Ihr Feedback wurde gespeichert. Sie können jetzt noch Änderungen vornehmen.',
247
+ :feedback_short => 'FB',
248
+ :festbetragsstufe => ' (Gesetzestext)',
249
+ :festbetragsstufe_url => 'http://www.sozialgesetzbuch-bundessozialhilfegesetz.de/buch/sgbv/35.html',
250
+ :festbetragsstufe_1 => 'Arzneimittel mit denselben Wirkstoffen',
251
+ :festbetragsstufe_2 => 'Arzneimittel mit pharmakologisch-therapeutisch vergleichbaren Wirkstoffen, insbesondere mit chemisch verwandten Stoffen',
252
+ :festbetragsstufe_3 => 'Arzneimittel mit therapeutisch vergleichbarer Wirkung, insbesondere Arzneimittelkombinationen',
253
+ :fachinfo_url => 'URL zur Fachinformation',
254
+ :galenic_form => 'Galenische Form',
255
+ :google => 'G',
256
+ :google0 => 'Google-Suche nach ',
257
+ :google1 => '',
258
+ :home => 'Home',
259
+ :html_title => 'DE - ODDB.org',
260
+ :html_owner => 'Open Drug Database',
261
+ :indication => 'Indikation',
262
+ :item_good_experience => 'Persönliche Erfahrung',
263
+ :item_good_experience_true => 'Ich habe mit diesem Medikament positive Erfahrungen gemacht.',
264
+ :item_good_experience_false => 'Ich habe mit diesem Medikament negative Erfahrungen gemacht.',
265
+ :item_good_impression => 'Persönlicher Eindruck',
266
+ :item_good_impression_true => 'Dieses Medikament hat einen guten Eindruck auf mich gemacht.',
267
+ :item_good_impression_false => 'Dieses Medikament hat keinen guten Eindruck auf mich gemacht.',
268
+ :item_helps => 'Wirkung',
269
+ :item_helps_true => 'Dieses Medikament hat mir geholfen.',
270
+ :item_helps_false => 'Dieses Medikament hat mir nicht geholfen.',
271
+ :item_recommended => 'Empfehlung',
272
+ :item_recommended_true => 'Ich werde dieses Medikament weiterempfehlen.',
273
+ :item_recommended_false => 'Ich werde dieses Medikament nicht weiterempfehlen.',
274
+ :lgpl_license => 'LGPL',
275
+ :login => 'Anmelden',
276
+ :login_ => 'Anmelden',
277
+ :logout => 'Abmelden',
278
+ :logo => 'de.oddb.org - peer reviewed open drug database',
279
+ :minus => '-',
280
+ :more => '+',
281
+ :name => 'Name',
282
+ :name_first => 'Vorname',
283
+ :name_last => 'Nachname',
284
+ :new_package => 'Neue Packung',
285
+ :new_sequence => 'Neue Sequenz',
286
+ :no => 'Nein',
287
+ :no_active_agents => 'Wirkstoffe unbekannt',
288
+ :oddb_ch => 'Schweiz',
289
+ :oddb_chde => 'Deutschland - Schweiz',
290
+ :oddb_de => 'Deutschland',
291
+ :oddb_version => 'Commit-ID',
292
+ :package => 'Details',
293
+ :packages => 'Präparate',
294
+ :packages_admin => 'Packungen',
295
+ :package_and_substances => 'Packungsgrösse und Wirkstoffe',
296
+ :package_details_for0 => 'Packungsdetails für "',
297
+ :package_details_for1 => '"',
298
+ :pager0 => 'Seite ',
299
+ :pager1 => ' von ',
300
+ :pager2 => ':',
301
+ :parts => 'Teilpackungen',
302
+ :pass => 'Passwort',
303
+ :patinfo => 'Gebrauchsinformation',
304
+ :paypal_completed => 'Bezahlung erfolgreich übermittelt',
305
+ :paypal_e_expired0 => '',
306
+ :paypal_e_expired1 => ': die Gültigkeitsdauer ist abgelaufen (',
307
+ :paypal_e_expired2 => ')',
308
+ :paypal_e_invalid_time => 'Ungültige Zeitangabe',
309
+ :paypal_e_missing_invoice => 'Ihre Transaktion ist bei uns nicht registriert. Setzen Sie sich bitte per <a href="mailto:zdavatz@ywesee.com">E-Mail</a> mit uns in Verbindung.',
310
+ :paypal_explain_login0 => 'Ihr PowerUser-Account ist bereit. Bitte melden Sie sich',
311
+ :paypal_explain_login1 => ' hier ',
312
+ :paypal_explain_login2 => 'erneut mit E-Mail und Passwort an.',
313
+ :paypal_explain_poweruser => 'Sie sind bereits angemeldet und können sofort weitersuchen.',
314
+ :paypal_msg_succ_p => 'Vielen Dank! Sie können jetzt mit den untigen Links die Daten downloaden. Diese Links wurden Ihnen auch in einem E-Mail zugestellt.',
315
+ :paypal_msg_succ_download => 'Vielen Dank! Sie können jetzt mit dem untigen Link die Daten downloaden. Dieser Link wurden Ihnen auch in einem E-Mail zugestellt.',
316
+ :paypal_msg_succ_poweruser => 'Vielen Dank! Als angemeldeter Benutzer können Sie jetzt ohne Beschränkung Abfragen vornehmen.',
317
+ :paypal_msg_unconfirmed => 'Ihre Bezahlung ist von PayPal noch nicht bestätigt worden. Sobald dies geschieht werden wir Sie per E-Mail benachrichtigen.',
318
+ :paypal_failed => 'Fehler',
319
+ :patinfo_url => 'URL zur Gebrauchsinformation',
320
+ :phone => 'Telefon',
321
+ :plus => '+',
322
+ :postal_code => 'PLZ',
323
+ :poweruser => 'Power-User Datenerfassung',
324
+ :poweruser_descr => 'Bitte geben Sie Ihre persönlichen Angaben ein und wählen Sie einen Benutzernamen und ein Passwort.',
325
+
326
+
327
+ :poweruser_mail_body => 'Die Bezahlung für Ihren Power-User-Account konnte erfolgreich abgewickelt werden.',
328
+ :poweruser_mail_instr0 => 'Um während ',
329
+ :poweruser_mail_instr1 => ' uneingeschränkt Abfragen tätigen zu können, melden sie sich bitte unter ',
330
+ :poweruser_mail_instr2 => ' an.',
331
+ :poweruser_mail_salut0 => 'Guten Tag ',
332
+ :poweruser_mail_salut1 => ' ',
333
+ :poweruser_mail_salut2 => '',
334
+
335
+
336
+
337
+ :poweruser_mail_subject => 'Power-User bei ODDB.org',
338
+ :prescription_free => 'O',
339
+ :prescription_needed => 'R',
340
+ :price_difference => 'Abweichung vom Festbetrag',
341
+ :price_exfactory => 'Fabrikabgabepreis',
342
+ :price_festbetrag => 'Festbetrag',
343
+ :price_public => 'Apothekenverkaufspreis',
344
+ :price_zuzahlung => 'Zuzahlung/Selbstbeteiligung',
345
+ :proceed_download => 'Weiter zur Adresseingabe',
346
+ :proceed_export => 'CSV-Export',
347
+ :proceed_poweruser => 'Weiter',
348
+ :product => 'Produkt',
349
+ :product_details_for0 => 'Produktdetails für "',
350
+ :product_details_for1 => '"',
351
+ :products => 'Arzneimittel A-Z',
352
+ :pzn0 => 'Pharmazentralnummer: ',
353
+ :pzn1 => '',
354
+ :query_info => 'Bitte HIER Such-Stichwort eingeben',
355
+ :query_limit0 => 'Abfragebeschränkung auf ',
356
+ :query_limit1 => ' Abfragen pro Tag.',
357
+ :query_limit_login => 'B) Falls Sie bereits als Benutzer registriert sind, geben Sie Ihr E-Mail und Passwort an um zur gewünschten Ansicht zu gelangen:',
358
+ :query_limit_more_info => 'Mehr Informationen',
359
+ :query_limit_new_user => 'A) Falls Sie noch nicht als Benutzer registriert sind, lesen Sie bitte folgendes: ',
360
+ :query_limit_explain0 => 'de.ODDB.org misst die Anzahl Abfragen von einer IP-Adresse. Bei Ihrer IP-Adresse &lt;',
361
+ :query_limit_explain1 => '&gt; haben wir innerhalb eines Tages mehr als ',
362
+ :query_limit_explain2 => ' Abfragen gemessen.<br/>Gerne möchten wir Ihnen folgende Möglichkeiten anbieten, direkter und schneller zu Ihrer gewünschten Dienstleistung zu gelangen.',
363
+ :query_limit_poweruser_1 => 'Tages-User',
364
+ :query_limit_poweruser_30 => 'Durchschnitts-User',
365
+ :query_limit_poweruser_365 => 'Power-User',
366
+ :query_limit_poweruser_a0 => ' Lösen Sie ein <b>jährliches Abo</b> für <b>EUR ',
367
+ :query_limit_poweruser_a1 => '</b>. Mit diesem Abo können Sie de.ODDB.org für ein Jahr uneingeschränkt verwenden. Die Gebühr gilt pro Benutzer.',
368
+ :query_limit_poweruser_b0 => ' Sie machen mehr als ',
369
+ :query_limit_poweruser_b1 => ' Abfragen pro Tag, möchten de.ODDB.org aber nur mal für <b>einen Monat</b> testen? Dies kostet Sie <b>EUR ',
370
+ :query_limit_poweruser_b2 => '</b> pro Monat. Die Gebühr gilt pro Benutzer.',
371
+ :query_limit_poweruser_c0 => ' Sie möchten de.ODDB.org nur für einen Tag uneingeschränkt testen? Dies kostet Sie <b>EUR ',
372
+ :query_limit_poweruser_c1 => '</b> pro <b>24h</b>. Die Gebühr gilt pro Benutzer.',
373
+ :query_limit_poweruser => 'Sind Sie von de.ODDB.org überzeugt und benutzen Sie de.ODDB.org regelmässig? Wir haben für Sie folgende 3 Optionen:',
374
+ :query_limit_poweruser_ => 'Unbekannter User',
375
+ :query_limit_thanks => 'C) Vielen Dank!',
376
+ :query_limit_thanks0 => 'Falls Sie Fragen, Bemerkungen oder Verbesserungsvorschläge haben senden Sie ein E-Mail an ',
377
+ :query_limit_thanks1 => ' oder rufen Sie +41 43 540 05 50 an.',
378
+ :query_limit_welcome => 'Geschätzer Kunde, willkommen auf de.ODDB.org',
379
+ :registration => 'Registration',
380
+ :reset => 'Zurücksetzen',
381
+ :result => 'Suchresultat',
382
+ :salutation => 'Anrede',
383
+ :salutation_f => 'Frau',
384
+ :salutation_m => 'Herr',
385
+ :sb_digg => 'Digg',
386
+ :sb_delicious => 'Bookmark',
387
+ :sb_simpy => 'Simpy',
388
+ :sb_stumble => 'Stumble',
389
+ :screencast => 'Video-Anleitung (Screencast)',
390
+ :screencast_url => 'http://www.youtube.com/watch?v=TFqW4hmLzn8',
391
+ :search => 'Suchen',
392
+ :sequence => 'Sequenz',
393
+ :sequence_details_for0 => 'Sequenzdetails für "',
394
+ :sequence_details_for1 => '"',
395
+ :sequences => 'Sequenzen',
396
+ :square_fachinfo => 'FI',
397
+ :square_patinfo => 'GI',
398
+ :size => 'Packungsgrösse',
399
+ :substance => 'Inhaltsstoff',
400
+ :th_active_agents => 'Wirkstoff',
401
+ :th_administration => 'Verabreichung',
402
+ :th_atc => 'ATC-Code',
403
+ :th_code_festbetragsstufe => 'FB-Stufe',
404
+ :th_code_zuzahlungsbefreit => 'Zuzahlungsbefreit',
405
+ :th_comment => 'Kommentar',
406
+ :th_company => 'Hersteller',
407
+ :th_ddd_prices => 'TK',
408
+ :th_difference => '%',
409
+ :th_dose => 'Tagesdosis',
410
+ :th_doses => 'Stärke',
411
+ :th_download_howto => 'Anleitung',
412
+ :th_package_infos => 'Zuzahl. / Rezept',
413
+ :th_price_1 => 'Einmalig',
414
+ :th_price_12 => '1 Jahr 12 Updates',
415
+ :th_price_difference => 'ABS-Differenz',
416
+ :th_price_exfactory => 'FAP',
417
+ :th_price_festbetrag => 'FB',
418
+ :th_price_public => 'AVP',
419
+ :th_price_zuzahlung => 'ZZ',
420
+ :th_product => 'Präparat',
421
+ :th_size => 'Packungsgrösse',
422
+ :time_format_long => '%A, %d. %B %Y, %H:%M:%S',
423
+ :title_found0 => 'Suchergebnis für "',
424
+ :title_found1 => '", Total ',
425
+ :title_found2 => ' Präparate',
426
+ :total_brutto => 'Total inkl. MwSt.:',
427
+ :total_netto => 'Total:',
428
+ :tradename => 'Markenname',
429
+ :tt_active_agents => 'Die Stärke bezieht sich auf Darreichungsform-Einheit (Tablette, Zäpfchen, Sirup, etc). Siehe auch: ',
430
+ :tt_active_agents_link => 'Darreichungsformen',
431
+ :tt_atc => <<-EOS,
432
+ The field of drug utilization research has attracted increasing
433
+ interest since its infancy in the 1960s. At a symposium in Oslo
434
+ in 1969 entitled The Consumption of Drugs, it was agreed that an
435
+ internationally accepted classification system for drug consumption
436
+ studies was needed. At the same symposium the Drug Utilization Research
437
+ Group (DURG) was established and tasked with the development of
438
+ internationally applicable methods for drug utilization research...
439
+ EOS
440
+ # rcov needs a comment between two here-documents
441
+ :tt_code_festbetragsstufe => <<-EOS,
442
+ Gruppen "vergleichbarer" Arzneimittel können nach unterschiedlichen Kriterien gebildet werden, deshalb werden drei Stufen der Vergleichbarkeit unterschieden: Festbetragsgruppen der Stufe 1 werden aus Arzneimitteln mit denselben Wirkstoffen gebildet. Festbetragsgruppen der Stufe 2 werden aus Arzneimitteln gebildet, deren Wirkstoffe pharmakologisch, insbesondere chemisch, und dabei gleichzeitig auch hinsichtlich ihrer therapeutischen Wirkung vergleichbar sind. Festbetragsgruppen der Stufe 3 werden aus Arzneimitteln gebildet, die nicht hinsichtlich ihrer Wirkstoffe, aber hinsichtlich ihrer therapeutischen Wirkung vergleichbar sind...
443
+
444
+ Quelle:
445
+ EOS
446
+ # rcov needs a comment between two here-documents
447
+ :tt_code_zuzahlungsbefreit => <<-EOS,
448
+ Zuzahlungsbefreite Arzneimittel:
449
+
450
+ Die Spitzenverbände der Krankenkassen haben am 11.05.2006 gemeinsam und einheitlich für bestimmte zu Lasten ihrer Krankenkassen abgegebene Arzneimittel Zuzahlungsbefreiungsgrenzen festgelegt.
451
+
452
+ Bei der Verordnung von Arzneimitteln, deren Apothekenverkaufspreise inkl. MwSt. den Wert der jeweiligen Zuzahlungsbefreiungrenze nicht überschreiten, sind Versicherte ab dem 1. Juli 2006 von der gesetzlichen Zuzahlung nach § 31 Abs. 3 Satz 1 SGB V befreit.
453
+
454
+ Quelle:
455
+ EOS
456
+ :tt_company => 'Der Hersteller oder Zulassungsinhaber des Produkts',
457
+ :tt_ddd_prices => 'Tageskosten',
458
+ :tt_price_festbetrag => <<-EOS,
459
+ Festbetrag: DIMDI hat die Aufgabe, die von den Spitzenverbänden der
460
+ Krankenkassen erstellten und veröffentlichten Übersichten über
461
+ sämtliche Festbeträge und die betroffenen Arzneimittel im Internet
462
+ abruffähig zu veröffentlichen...
463
+ EOS
464
+ :tt_price_difference => 'Absolute Differenz zwischen Preis und Festbetrag',
465
+ :tt_price_exfactory => 'Preis: Fabrikabgabepreis exkl. MwSt. in Euro',
466
+ :tt_price_public => 'Preis: Apothekenverkaufspreis inkl. MwSt. in Euro',
467
+ :tt_price_zuzahlung => 'Preis: Zuzahlung/Selbstbeteiligung in Euro',
468
+ :tt_product => 'Präparat ist der Handelsname des Medikaments',
469
+ :unsaved => '(unsaved)',
470
+ :update => 'Speichern',
471
+ :vat => 'MwSt.',
472
+ :welcome_user0 => 'Willkommen bei de.oddb.org! Sie sind angemeldet als ',
473
+ :welcome_user1 => '',
474
+ :welcome_data_declaration => '** Herkunftsdeklaration der Daten **',
475
+ :welcome_drugs => <<-EOS,
476
+ Willkommen bei de.oddb.org, dem aktuellsten
477
+ Medikamenten-Preisvergleichs-Portal Deutschlands.
478
+ EOS
479
+ :who_ddd => 'WHO-DDD',
480
+ :yes => 'Ja',
481
+ :ywesee => 'ywesee.com',
482
+ :ywesee_contact_email => 'zdavatz@ywesee.com',
483
+ :ywesee_contact_href => 'mailto:zdavatz@ywesee.com',
484
+ }
485
+ }
486
+ RESOURCES = {
487
+ :logo => 'logo.png',
488
+ :css => 'oddb.css',
489
+ :downloads => 'downloads',
490
+ :javascript => 'javascript',
491
+ :rss => 'rss',
492
+ :rss_img => 'livemarks16.png',
493
+ }
494
+ def base_url
495
+ [@session.http_protocol + ':/', @session.server_name,
496
+ @language, @session.zone].compact.join("/")
497
+ end
498
+ def captcha
499
+ outdir = File.join(ODDB.config.var, 'captcha')
500
+ dict = File.join(ODDB.config.data_dir, 'captcha', language)
501
+ FileUtils.mkdir_p outdir
502
+ @turing ||= Turing::Challenge.new(:outdir => outdir, :dictionary => dict)
503
+ end
504
+ def csv_components
505
+ [ :pzn, :product, :active_agents, :size, :price_exfactory, :price_public,
506
+ :price_festbetrag, :ddd_prices, :company, ]
507
+ end
508
+ def currency_factor
509
+ 1.0
510
+ end
511
+ def generate_challenge
512
+ challenge = nil
513
+ Thread.exclusive {
514
+ kcode = $KCODE
515
+ $KCODE = 'NONE'
516
+ challenge = captcha.generate_challenge
517
+ @@turing_files.store challenge.object_id, challenge.file
518
+ $KCODE = kcode
519
+ }
520
+ ObjectSpace.define_finalizer challenge, @@turing_finalizer
521
+ challenge
522
+ end
523
+ def legend_components
524
+ { [0,0] => 'explain_zuzahlungsbefreit' }
525
+ end
526
+ def price_factor
527
+ tax_factor * currency_factor
528
+ end
529
+ def products_components
530
+ {
531
+ [0,0] => :fachinfo_link,
532
+ [1,0] => :patinfo_link,
533
+ [2,0] => :product,
534
+ [3,0] => :atc,
535
+ [4,0] => :company,
536
+ [5,0] => :google,
537
+ }
538
+ end
539
+ def result_components
540
+ {
541
+ [0,0] => :fachinfo_link,
542
+ [1,0] => :patinfo_link,
543
+ [2,0] => :product,
544
+ [3,0] => :active_agents,
545
+ [4,0] => :size,
546
+ [5,0] => :price_exfactory,
547
+ [6,0] => :price_public,
548
+ [7,0] => :price_festbetrag,
549
+ [8,0] => :ddd_prices,
550
+ [9,0] => :price_zuzahlung,
551
+ [10,0] => :company,
552
+ [11,0] => :package_infos,
553
+ [12,0] => :feedback,
554
+ [13,0] => :google,
555
+ }
556
+ end
557
+ def tax_factor
558
+ (1 + tax_factor_add) / (1 + tax_factor_sub)
559
+ end
560
+ def tax_factor_add
561
+ 0
562
+ end
563
+ def tax_factor_sub
564
+ 0
565
+ end
566
+ end
567
+ class LookandfeelWrapper < SBSM::LookandfeelWrapper
568
+ def base_url
569
+ [@session.http_protocol + ':/', @session.server_name,
570
+ @language, @session.zone].compact.join("/")
571
+ end
572
+ def price_factor
573
+ tax_factor * currency_factor
574
+ end
575
+ def tax_factor
576
+ (1 + tax_factor_add) / (1 + tax_factor_sub)
577
+ end
578
+ end
579
+ class LookandfeelJustMedical < LookandfeelWrapper
580
+ DICTIONARIES = {
581
+ "de" => {
582
+ :contact_url => 'http://www.just-medical.de/imprint.cfm',
583
+ }
584
+ }
585
+ DISABLED = [ :country_links, :logo ]
586
+ ENABLED = [
587
+ # Features:
588
+ :external_css, :explain_price,
589
+ # Navigation-Links:
590
+ :home, :products, :atc_browser,
591
+ ]
592
+ RESOURCES = {
593
+ :external_css => 'http://www.just-medical.com/css/de.oddb.css',
594
+ }
595
+ def result_components
596
+ {
597
+ [0,0] => :fachinfo_link,
598
+ [1,0] => :patinfo_link,
599
+ [2,0] => :product,
600
+ [3,0] => :active_agents,
601
+ [4,0] => :size,
602
+ [5,0] => :price_exfactory,
603
+ [6,0] => :price_public,
604
+ [7,0] => :price_festbetrag,
605
+ [8,0] => :ddd_prices,
606
+ [9,0] => :company,
607
+ [10,0] => :package_infos,
608
+ [11,0] => :feedback,
609
+ [12,0] => :google,
610
+ }
611
+ end
612
+ end
613
+ class LookandfeelMeineMedikamente < LookandfeelWrapper
614
+ DICTIONARIES = {
615
+ 'de' => {
616
+ :ddd_price_calculation4 => ' ) = <b>CHF ',
617
+ :html_title => 'CH | DE - ODDB.org',
618
+ :html_owner => 'Open Drug Database',
619
+ :price_local => 'Preis Schweiz (CHF)',
620
+ :price_db => 'Preis Deutschland (CHF)',
621
+ :screencast_url => 'http://www.youtube.com/watch?v=8lWYIzjlOe0',
622
+ :tax_add => 'MwSt. Schweiz (7.6%)',
623
+ :tax_sub => 'MwSt. Deutschland (19%)',
624
+ :tt_price_public => 'Preis: Apothekenverkaufspreis inkl. MwSt. in CHF',
625
+ :welcome_drugs => <<-EOS,
626
+ Willkommen bei chde.oddb.org, dem aktuellsten
627
+ Medikamenten-Portal für den Preisvergleich zwischen
628
+ der Schweiz und Deutschland. Alle Preise sind in CHF.
629
+ EOS
630
+ },
631
+ }
632
+ ENABLED = [
633
+ # Features:
634
+ :explain_price, :google_ads, :remote_databases, :query_limit, :welcome,
635
+ :screencast, :social_bookmarks,
636
+ # Navigation-Links:
637
+ :atc_browser, :contact, :home, :products,
638
+ ]
639
+ RESOURCES = {
640
+ :logo => 'logo.png',
641
+ }
642
+ def currency_factor
643
+ @factor ||= Currency.rate('EUR', 'CHF')
644
+ end
645
+ def legend_components
646
+ {
647
+ [0,0] => 'explain_remote',
648
+ [0,1] => 'explain_zuzahlungsbefreit',
649
+ }
650
+ end
651
+ def products_components
652
+ {
653
+ [0,0] => :product,
654
+ [1,0] => :atc,
655
+ [2,0] => :company,
656
+ [3,0] => :google,
657
+ }
658
+ end
659
+ def result_components
660
+ {
661
+ [0,0] => :product,
662
+ [1,0] => :active_agents,
663
+ [2,0] => :size,
664
+ [3,0] => :price_exfactory,
665
+ [4,0] => :price_public,
666
+ [5,0] => :ddd_prices,
667
+ [6,0] => :company,
668
+ [7,0] => :package_infos,
669
+ [8,0] => :google,
670
+ }
671
+ end
672
+ def tax_factor_add
673
+ 7.6 / 100.0
674
+ end
675
+ def tax_factor_sub
676
+ 19.0 / 100.0
677
+ end
678
+ end
679
+ class LookandfeelFactory < SBSM::LookandfeelFactory
680
+ BASE = Lookandfeel
681
+ WRAPPERS = {
682
+ 'mm' => [ LookandfeelMeineMedikamente ],
683
+ 'just-medical' => [ LookandfeelJustMedical ],
684
+ }
685
+ end
686
+ class LookandfeelStub < Lookandfeel
687
+ def initialize(language, zone='drugs')
688
+ @language = language
689
+ @zone = zone
690
+ set_dictionary(@language)
691
+ end
692
+ def base_url
693
+ sprintf "http://%s/%s/%s", ODDB.config.server_name, @language, @zone
694
+ end
695
+ end
696
+ end
697
+ end
698
+ end