oddb.org 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. data/.gemtest +0 -0
  2. data/Guide.txt +23 -17
  3. data/{README → INSTALL_from_Source.txt} +64 -75
  4. data/Manifest.txt +110 -4
  5. data/README.txt +4 -2
  6. data/Rakefile +5 -0
  7. data/doc/favicon.ico +0 -0
  8. data/doc/index.rbx +15 -0
  9. data/doc/resources/anthroposophy/favicon.ico +0 -0
  10. data/doc/resources/anthroposophy/logo.png +0 -0
  11. data/doc/resources/atupri/logo.gif +0 -0
  12. data/doc/resources/desitin/logo.jpg +0 -0
  13. data/doc/resources/downloads/datadesc/analysis.csv.txt +57 -0
  14. data/doc/resources/downloads/datadesc/doctors.csv.txt +43 -0
  15. data/doc/resources/downloads/datadesc/doctors.yaml.txt +52 -0
  16. data/doc/resources/downloads/datadesc/fachinfo.yaml.txt +107 -0
  17. data/doc/resources/downloads/datadesc/generics.xls.txt +42 -0
  18. data/doc/resources/downloads/datadesc/index_therapeuticus.txt +38 -0
  19. data/doc/resources/downloads/datadesc/interactions.yaml.txt +78 -0
  20. data/doc/resources/downloads/datadesc/migel.csv.txt +84 -0
  21. data/doc/resources/downloads/datadesc/narcotics.csv.txt +49 -0
  22. data/doc/resources/downloads/datadesc/narcotics.yaml.txt +40 -0
  23. data/doc/resources/downloads/datadesc/oddb.csv.txt +98 -0
  24. data/doc/resources/downloads/datadesc/oddb.yaml.txt +255 -0
  25. data/doc/resources/downloads/datadesc/oddb2.csv.txt +94 -0
  26. data/doc/resources/downloads/datadesc/oddbdat.txt +228 -0
  27. data/doc/resources/downloads/datadesc/patents.xls.txt +29 -0
  28. data/doc/resources/downloads/datadesc/patinfo.yaml.txt +79 -0
  29. data/doc/resources/downloads/datadesc/price_history.csv.txt +43 -0
  30. data/doc/resources/downloads/datadesc/price_history.yaml.txt +55 -0
  31. data/doc/resources/downloads/datadesc/s31x.txt +40 -0
  32. data/doc/resources/downloads/datadesc/swissdrug-update.xls.txt +59 -0
  33. data/doc/resources/downloads/examples/Inderal.Preisvergleich.csv +19 -0
  34. data/doc/resources/downloads/examples/analysis.csv +35 -0
  35. data/doc/resources/downloads/examples/compendium_ch.oddb.org.firefox.epub +0 -0
  36. data/doc/resources/downloads/examples/compendium_ch.oddb.org.htc.prc +0 -0
  37. data/doc/resources/downloads/examples/compendium_ch.oddb.org.kindle.mobi +0 -0
  38. data/doc/resources/downloads/examples/compendium_ch.oddb.org.stanza.epub +0 -0
  39. data/doc/resources/downloads/examples/doctors.csv +13 -0
  40. data/doc/resources/downloads/examples/doctors.yaml +238 -0
  41. data/doc/resources/downloads/examples/fachinfo.yaml +1255 -0
  42. data/doc/resources/downloads/examples/fachinfos_de.pdf +51565 -0
  43. data/doc/resources/downloads/examples/fachinfos_fr.pdf +52072 -0
  44. data/doc/resources/downloads/examples/generics.xls +0 -0
  45. data/doc/resources/downloads/examples/index_therapeuticus.tar.gz +0 -0
  46. data/doc/resources/downloads/examples/interactions.yaml +161 -0
  47. data/doc/resources/downloads/examples/migel.csv +36 -0
  48. data/doc/resources/downloads/examples/narcotics.yaml +92 -0
  49. data/doc/resources/downloads/examples/oddb.csv +1378 -0
  50. data/doc/resources/downloads/examples/oddb.yaml +14976 -0
  51. data/doc/resources/downloads/examples/oddb2.csv +1566 -0
  52. data/doc/resources/downloads/examples/oddbdat.tar.gz +0 -0
  53. data/doc/resources/downloads/examples/patents.xls +0 -0
  54. data/doc/resources/downloads/examples/patinfo.yaml +2505 -0
  55. data/doc/resources/downloads/examples/price_history.csv +99 -0
  56. data/doc/resources/downloads/examples/price_history.yaml +431 -0
  57. data/doc/resources/downloads/examples/swissdrug-update.xls +0 -0
  58. data/doc/resources/errors/appdown.html +50 -0
  59. data/doc/resources/errors/logo.png +0 -0
  60. data/doc/resources/errors/logo_de.gif +0 -0
  61. data/doc/resources/gcc/banner.gif +0 -0
  62. data/doc/resources/gcc/logo.png +0 -0
  63. data/doc/resources/gcc/logo_de.gif +0 -0
  64. data/doc/resources/gcc/logo_doc.gif +0 -0
  65. data/doc/resources/gcc/logo_fr.gif +0 -0
  66. data/doc/resources/gcc/logo_rss.png +0 -0
  67. data/doc/resources/generika/favicon.ico +0 -0
  68. data/doc/resources/generika/logo.gif +0 -0
  69. data/doc/resources/generika/logo_de.gif +0 -0
  70. data/doc/resources/generika/logo_fr.gif +0 -0
  71. data/doc/resources/homeopathy/favicon.ico +0 -0
  72. data/doc/resources/homeopathy/logo.png +0 -0
  73. data/doc/resources/icon_twitter.gif +0 -0
  74. data/doc/resources/innova/logo.gif +0 -0
  75. data/doc/resources/innova/logo_de.gif +0 -0
  76. data/doc/resources/javascript/admin.js +14 -0
  77. data/doc/resources/javascript/autofill.js +21 -0
  78. data/doc/resources/javascript/bit.ly.js +29 -0
  79. data/doc/resources/javascript/company.js +22 -0
  80. data/doc/resources/javascript/dojo/Editor.js +219 -0
  81. data/doc/resources/javascript/dojo/HtmlEditorToolbar.html +163 -0
  82. data/doc/resources/javascript/dojo/sigma.gif +0 -0
  83. data/doc/resources/javascript/widget/SymbolPalette.js +162 -0
  84. data/doc/resources/javascript/widget/Tooltip.js +85 -0
  85. data/doc/resources/javascript/widget/__package__.js +2 -0
  86. data/doc/resources/livemarks16.png +0 -0
  87. data/doc/resources/mail.gif +0 -0
  88. data/doc/resources/mobile/logo.png +0 -0
  89. data/doc/resources/paypal_donate.gif +0 -0
  90. data/doc/resources/phyto-pharma/favicon.ico +0 -0
  91. data/doc/resources/phyto-pharma/logo.png +0 -0
  92. data/doc/resources/plugins/Generika.cc.gif +0 -0
  93. data/doc/resources/plugins/Generika.cc.html +34 -0
  94. data/doc/resources/plugins/Generika.cc.src +34 -0
  95. data/doc/resources/plugins/oddb.org.gif +0 -0
  96. data/doc/resources/plugins/oddb.org.html +34 -0
  97. data/doc/resources/plugins/oddb.org.src +34 -0
  98. data/doc/resources/print.css +33 -0
  99. data/doc/resources/provita/logo_de.gif +0 -0
  100. data/doc/resources/santesuisse/logo_de.gif +0 -0
  101. data/doc/resources/schoenenberger/logo_de.gif +0 -0
  102. data/doc/resources/swissmedic/logo.png +0 -0
  103. data/doc/resources/swissmedic/logo_de.gif +0 -0
  104. data/doc/resources/swissmedic/logo_doc.gif +0 -0
  105. data/doc/resources/swissmedic/logo_fr.gif +0 -0
  106. data/doc/resources/sympany/logo.gif +0 -0
  107. data/doc/robots.txt +29 -0
  108. data/ext/export/src/generics_xls.rb +29 -5
  109. data/ext/export/src/oddbdat.rb +1 -1
  110. data/ext/export/test/test_generics_xls.rb +216 -0
  111. data/ext/export/test/test_oddbdat.rb +880 -0
  112. data/lib/oddb.org.rb +1 -1
  113. data/src/model/package.rb +3 -2
  114. data/src/plugin/analysis.rb +2 -0
  115. data/src/plugin/bsv_xml.rb +1 -1
  116. data/src/plugin/hospitals.rb +1 -0
  117. data/src/plugin/oddbdat_export.rb +12 -2
  118. data/src/plugin/text_info.rb +16 -29
  119. data/src/util/exporter.rb +21 -1
  120. data/src/util/log.rb +3 -0
  121. data/src/util/oddbapp.rb +1 -1
  122. data/src/util/oddbconfig.rb +1 -1
  123. data/src/util/updater.rb +9 -1
  124. data/test/data/html/interaction/flockhart/prepared_table.asp +820 -0
  125. data/test/data/html/interaction/flockhart/table.asp +820 -0
  126. data/test/data/html/text_info/News.html +18 -93
  127. data/test/suite.rb +78 -4
  128. data/test/test_model/package.rb +38 -0
  129. data/test/test_plugin/bsv_xml.rb +4 -2
  130. data/test/test_plugin/flockhart.rb +1 -1
  131. data/test/test_plugin/oddbdat_export.rb +79 -658
  132. data/test/test_plugin/ouwerkerk.rb +2 -2
  133. data/test/test_plugin/suite.rb +8 -6
  134. data/test/test_plugin/text_info.rb +40 -52
  135. data/test/test_plugin/{doctors.rb → zdoctor.rb} +0 -0
  136. data/test/test_util/exporter.rb +500 -0
  137. data/test/test_util/suite.rb +8 -6
  138. data/test/test_util/{log.rb → zlog.rb} +19 -0
  139. data/test/test_view/{search.rb → asearch.rb} +0 -0
  140. data/test/test_view/suite.rb +8 -6
  141. metadata +143 -14
@@ -0,0 +1,84 @@
1
+ Datenbeschrieb migel.csv
2
+
3
+ Version: 2.2
4
+ Geändert: 12.03.2009 (2.2) durch hwyss@ywesee.com
5
+ Geändert: 17.04.2007 (2.1) durch hwyss@ywesee.com
6
+ Geändert: 30.09.2005 (2.0.2) durch hwyss@ywesee.com
7
+ Geändert: 28.09.2005 (2.0.1) durch ffricker@ywesee.com
8
+ Geändert: 27.09.2005 (2.0) durch ffricker@ywesee.com
9
+ Erstellt: 26.09.2005 (1.0) durch ffricker@ywesee.com
10
+
11
+ ## Struktur ##
12
+ Encoding: UTF-8
13
+ Record-Separator: \n (Für New-Lines in Feldern siehe Glossar: New-Line)
14
+ Field-Separator: ;
15
+
16
+ Migel-Record:
17
+ 00: migel_code (GG.UU.PP.ZZ.V) -> Migel-Code, siehe Glossar (Migel-Code)
18
+ 01: group_code (GG) -> Migel-Group-Code
19
+ 02: group_de (*) -> Gruppen-Bezeichnung De.
20
+ 03: group_fr (*) -> Gruppen-Bezeichnung Fr.
21
+ 04: group_it (*) -> Gruppen-Bezeichnung It.
22
+ 05: group_limitation_de (*) -> Gruppen-Limitation De.
23
+ 06: group_limitation_fr (*) -> Gruppen-Limitation Fr.
24
+ 07: group_limitation_it (*) -> Gruppen-Limitation It.
25
+ 08: subgroup_code (UU) -> Gruppen-Code
26
+ 09: subgroup_de (*) -> Untergruppen-Bezeichnung De.
27
+ 10: subgroup_fr (*) -> Untergruppen-Bezeichnung Fr.
28
+ 11: subgroup_it (*) -> Untergruppen-Bezeichnung It.
29
+ 12: subgroup_limitation_de (*) -> Limitation-Untergruppe De.
30
+ 13: subgroup_limitation_fr (*) -> Limitation-Untergruppe Fr.
31
+ 14: subgroup_limitation_it (*) -> Limitation-Untergruppe It.
32
+ 15: product_code (PP) -> Produkte Code
33
+ 16: product_de (*) -> Produkt-Bezeichnung De.
34
+ 17: product_fr (*) -> Produkt-Bezeichnung Fr.
35
+ 18: product_it (*) -> Produkt-Bezeichnung It.
36
+ 19: accessory_code (ZZ.V) -> Zubehör-Code
37
+ 20: accessory_de (*) -> Zubehör De.
38
+ 21: accessory_fr (*) -> Zubehör Fr.
39
+ 22: accessory_it (*) -> Zubehör It.
40
+ 23: product_limitation_de (*) -> Produkt-Limitation De.
41
+ 24: product_limitation_fr (*) -> Produkt-Limitation Fr.
42
+ 25: product_limitation_it (*) -> Produkt-Limitation It.
43
+ 26: price (Float) -> Preis
44
+ 27: qty (Integer) -> Anzahl
45
+ 28: unit_de (*) -> Einheit De.
46
+ 29: unit_fr (*) -> Einheit Fr.
47
+ 30: unit_it (*) -> Einheit It.
48
+ 31: limitation_flag (Boolean) -> Limitations Zeichen, siehe Glossar (Limitations Zeichen)
49
+ 32: date (DD.MM.YYYY) -> Aufnahme Datum
50
+
51
+ ## Glossar ##
52
+ * Sprachen
53
+ De. - Deutsch
54
+ Fr. - Französisch
55
+ It. - Italienisch
56
+
57
+ * Migel-Code
58
+ 03.03.02.02.2
59
+ | | | | |
60
+ | | | | Verkaufsart
61
+ | | | |
62
+ | | | Zubehör
63
+ | | |
64
+ | | Produkt
65
+ | |
66
+ | Untergruppe
67
+ |
68
+ Produkt-Gruppe
69
+
70
+ * New-Line
71
+ In den Ausgangsdaten wurden Zeilenumbrüche mit ASCII-11 (Vertical Tab)
72
+ formatiert. In unseren Datenbanksystemen sind diese Daten jedoch als
73
+ ACSCII-10 (Line-Feed) gespeichert.
74
+ Aufgrund der Tatsache, das viele CSV-Parser mühe haben, Record-Seperators
75
+ innerhalb von Fields anzutreffen, sind die Daten im CSV-Export mit den
76
+ Vertical-Tabs formatiert.
77
+
78
+ * Version
79
+ Versionsnummern bezeichnen Änderungen nach dem Schema "Major.Minor.Documentation"
80
+ - Major: Komplett neuer Aufbau des Exports
81
+ - Minor: Kleinere Änderungen am Export (z.B. Refactoring von Adressangaben in eine Address2-Klasse)
82
+ - Documentation: Ergänzungen und Änderungen im Datenbeschrieb, die keine Änderung des Exports als Ursache haben.
83
+ Die komplette Version-History ist zu finden unter:
84
+ http://scm.ywesee.com/?p=oddb.org;a=history;f=doc/resources/downloads/datadesc/migel.csv.txt
@@ -0,0 +1,49 @@
1
+ Datenbeschrieb narcotics.csv
2
+
3
+ Version: 1.1.0
4
+ Geändert: 12.03.2009 (1.1.0) durch hwyss@ywesee.com
5
+ Erstellt: 25.11.2005 (1.0.0) durch hwyss@ywesee.com
6
+
7
+ ## Struktur ##
8
+ Encoding: UTF-8
9
+ Record-Separator: \n (Für New-Lines in Feldern siehe Glossar: New-Line)
10
+ Field-Separator: ;
11
+
12
+ Narcotic-Record:
13
+ 00: cas-rn (*) -> CAS-Registry Number
14
+ 01: smcd (*) -> Swissmedic-Code
15
+ 02: substance_de (*) -> Substanz-Bezeichnung De.
16
+ 03: substance_fr (*) -> Substanz-Bezeichnung Fr.
17
+ 04: category (b-d) -> siehe Glossar: Kategorie
18
+ 05: reservation_de (*) -> Vorbehaltstext De.
19
+ 06: reservation_fr (*) -> Vorbehaltstext Fr.
20
+
21
+ ## Glossar ##
22
+ * CAS Registry Number
23
+ http://www.cas.org/EO/regsys.html
24
+
25
+ * Kategorie
26
+ b) von der Kontrolle teilweise Ausgenommen
27
+ c) in kleinen Mengen ohne ärztliche Verschreibung erhältlich und von
28
+ der Kontrolle teilweise Ausgenommen
29
+ d) verboten
30
+
31
+ * Sprachen
32
+ De. - Deutsch
33
+ Fr. - Französisch
34
+
35
+ * New-Line
36
+ In den Ausgangsdaten wurden Zeilenumbrüche mit ASCII-11 (Vertical Tab)
37
+ formatiert. In unseren Datenbanksystemen sind diese Daten jedoch als
38
+ ACSCII-10 (Line-Feed) gespeichert.
39
+ Aufgrund der Tatsache, das viele CSV-Parser mühe haben, Record-Seperators
40
+ innerhalb von Fields anzutreffen, sind die Daten im CSV-Export mit den
41
+ Vertical-Tabs formatiert.
42
+
43
+ * Version
44
+ Versionsnummern bezeichnen Änderungen nach dem Schema "Major.Minor.Documentation"
45
+ - Major: Komplett neuer Aufbau des Exports
46
+ - Minor: Kleinere Änderungen am Export (z.B. Refactoring von Adressangaben in eine Address2-Klasse)
47
+ - Documentation: Ergänzungen und Änderungen im Datenbeschrieb, die keine Änderung des Exports als Ursache haben.
48
+ Die komplette Version-History ist zu finden unter:
49
+ http://scm.ywesee.com/?p=oddb.org;a=history;f=doc/resources/downloads/datadesc/narcotics.csv.txt
@@ -0,0 +1,40 @@
1
+ Datenbeschrieb narcotics.yaml
2
+
3
+ Version: 1.2.0
4
+ Geändert: 12.03.2009 (1.2.0) durch hwyss@ywesee.com
5
+ Geändert: 18.02.2009 (1.1.0) durch hwyss@ywesee.com
6
+ Erstellt: 25.11.2005 (1.0.0) durch hwyss@ywesee.com
7
+
8
+ ## Struktur ##
9
+ Encoding: UTF-8
10
+
11
+ Top-Level:
12
+ - Stream von voneinander unabhängigen YAML-Documents, wovon jedes ein Narcotic beschreibt.
13
+
14
+ Narcotic:
15
+ - oid (Integer, NOT NULL) -> Unique Identifier
16
+ - casrn (String) -> CAS-Registry Number
17
+ - substances (Array (Substance)) -> Substanzen
18
+ - packages (Array (String)) -> Verknüpfungen zu Package
19
+
20
+ Substance:
21
+ - oid (Integer, NOT NULL) -> Unique Identifier
22
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Indikationstext. siehe Glossar (SimpleLanguage::Descriptions)
23
+ - synonyms (Array (String)) -> Weitere bezeichnungen
24
+ - effective_form (Substance) -> Wirkform
25
+ - narcotic (String) -> CAS-Registry Number
26
+
27
+ ## Glossar ##
28
+ * CAS Registry Number
29
+ http://www.cas.org/EO/regsys.html
30
+
31
+ * YAML
32
+ Yet Another Markup Language. Offener Standard, beschrieben unter http://www.yaml.org
33
+
34
+ * Version
35
+ Versionsnummern bezeichnen Änderungen nach dem Schema "Major.Minor.Documentation"
36
+ - Major: Komplett neuer Aufbau des Exports
37
+ - Minor: Kleinere Änderungen am Export (z.B. Refactoring von Adressangaben in eine Address2-Klasse)
38
+ - Documentation: Ergänzungen und Änderungen im Datenbeschrieb, die keine Änderung des Exports als Ursache haben.
39
+ Die komplette Version-History ist zu finden unter:
40
+ http://scm.ywesee.com/?p=oddb.org;a=history;f=doc/resources/downloads/datadesc/narcotics.yaml.txt
@@ -0,0 +1,98 @@
1
+ Datenbeschrieb oddb.csv
2
+
3
+ Version: 1.5.0
4
+ Geändert: 07.05.2010 (1.5.0) durch hwyss@ywesee.com
5
+ Geändert: 28.04.2010 (1.4.0) durch hwyss@ywesee.com
6
+ Geändert: 12.03.2009 (1.3.0) durch hwyss@ywesee.com
7
+ Geändert: 06.06.2006 (1.2.0) durch hwyss@ywesee.com
8
+ Geändert: 27.02.2006 (1.1.0) durch hwyss@ywesee.com
9
+ Geändert: 09.12.2005 (1.0.3) durch hwyss@ywesee.com
10
+ Geändert: 30.09.2005 (1.0.2) durch hwyss@ywesee.com
11
+ Geändert: 02.09.2005 (1.0.1) durch hwyss@ywesee.com
12
+ Erstellt: 01.09.2005 (1.0.0) durch hwyss@ywesee.com
13
+
14
+ ## Struktur ##
15
+ Encoding: UTF-8
16
+ Record-Separator: \n
17
+ Field-Separator: ;
18
+
19
+ Es kommen zwei Record-Arten vor: ATC-Record und Produkt-Record
20
+
21
+ ATC-Record: alle folgenden Produkt-Records gehören zu diesem ATC-Code
22
+ 00: rectype (#MGroup), CONST -> Record-Type
23
+ 01: code (1-7), NOT NULL -> Atc-Code. siehe Glossar (AtcCode)
24
+ 02: de (*) -> Deutsche Bezeichnung
25
+
26
+ Produkt-Record:
27
+ 00: rectype (#Medi), CONST -> Record-Type
28
+ 01: iksnr (Integer (5)), NOT NULL -> Registrationsnummer der Swissmedic
29
+ 02: ikscd (Integer (3)), NOT NULL -> Packungsnummer der Swissmedic
30
+ 03: ikskey (Integer (8)), NOT NULL -> Swissmedic-Nr, zusammengesetzt aus iksnr und ikscd
31
+ 04: barcode (Integer (13)), NOT NULL -> Packungs-Barcode, zusammengesetzt aus iksnr und ikscd
32
+ 05: bsv_dossier (Integer) -> BSV-Dossier
33
+ 06: pharmacode (Integer) -> Pharmacode, wo vorhanden
34
+ 07: name_base (*) -> Hauptname der Sequenz aus der Registrationsurkunde, enthält z.T. Dosisangaben.
35
+ 08: galenic_form (*) -> Galenische Form, Deutsche Bezeichnung
36
+ 09: dose (*) -> Dosierung. Wird falls möglich aus dem Namen gewonnen, andernfalls aus der Zusammensetzung.
37
+ 10: size (*) -> Packungsgrösse (z.B. 5 x 28 Tabletten)
38
+ 11: numerical_size (Integer) -> Packungsgrösse, verrechnet (z.B. 140)
39
+ 12: price_exfactory (Float) -> Exfactorypreis in Franken und Rappen
40
+ 13: price_public (Float) -> Publikumspreis in Franken und Rappen
41
+ 14: company (*) -> Registrationsinhaber
42
+ 15: ikscat (*) -> Abgabekategorie. A-E. siehe Glossar (Abgabekategorie)
43
+ 16: sl_entry (Ja/Nein) -> Eintrag in der SL
44
+ 17: introduction_date (dd.mm.yyyy) -> Datum der Aufnahme in die Spezialitätenliste
45
+ 18: limitation (Ja/Nein) -> Limitation
46
+ 19: limitation_points (Integer) -> Limitationspunkte
47
+ 20: limitation_text (*) -> Limitationstext in Deutsch
48
+ 21: lppv (Ja/Nein) -> Eintrag in der LPPV
49
+ 22: registration_date (dd.mm.yyyy) -> Datum der ersten Zulassung in der Schweiz
50
+ 23: inactive_date (dd.mm.yyyy) -> Falls ein Produkt unabhängig von der Swissmedic ausser Handel genommen wird: Datum der Ausserhandelnahme
51
+ 24: export_flag (*) -> Wenn gesetzt: Produkt ist nur für den Export Bestimmt
52
+ 25: narcotic (*) -> Wenn gesetzt: CAS Registry Number des Eintrags in der Betäubungsmittelliste
53
+ 26: generic_type (O/G) -> O: Original, G: Generikum
54
+ 27: has_generic (Ja/Nein) -> Wenn Ja: es ist mindestens ein Generikum zu diesem Produkt bekannt
55
+ 28: deductible (10%/20%) -> Selbstbehalt für SL-Produkte
56
+ 29: out_of_trade (Ja/Nein) -> Ausser Handel laut http://www.refdata.ch ?
57
+ 30: complementary (C/A/H/P) -> Komplementärprodukt,siehe Glossar (Komplementärprodukt)
58
+ 31: index_therapeuticus (*) -> Index Therapeuticus Code (BAG)
59
+ 31: ith_swissmedic (*) -> Index Therapeuticus Code (Swissmedic)
60
+ 33: narcotic (Ja/Nein) -> Wenn Ja: das Produkt ist ein Betäubungsmittel und untersteht besonderen Abgabevorschriften
61
+ 34: vaccine (Ja/Nein) -> Wenn Ja: das Produkt ist ein Impfstoff oder Blutprodukt und untersteht besonderen Vorschriften
62
+
63
+ ## Glossar ##
64
+ * AtcCode:
65
+ Anatomisch-Therapeutisch-Chemischer Code der durch die WHO vergeben wird. Hat 5 Ebenen:
66
+ Level 1: C -> Anatomische Gruppierung, z.B. A: Alimentäres System und Stoffwechsel
67
+ Level 2: +NN -> Therapeutische Gruppierung, z.B. A02: Mittel bei Säure bedingten Erkrankungen
68
+ Level 3: +C -> Therapeutische Untergruppe, z.B. A02A: Antacida
69
+ Level 4: +C -> Chemische Gruppierung, z.B. A02AA: Magnesium-haltige Verbindungen
70
+ Level 5: +NN -> Wirkstoff(-Kombination), z.B. A02AA01: Magnesiumcarbonat
71
+
72
+ * Abgabekategorie
73
+ A: verschärft Rezeptpflichtig
74
+ B: Rezeptpflichtig
75
+ C: erhältlich in Apotheken ohne Rezept
76
+ D: erhältlich in Apotheken und Drogerien
77
+ http://www.trichema.ch/D/faq.php#15
78
+
79
+ * CAS Registry Number:
80
+ http://www.cas.org/EO/regsys.html
81
+
82
+ * Index Therapeuticus Code:
83
+ Index Therapeuticus gemäss http://www.galinfo.net, bestehend aus 3
84
+ Gruppierungs-Ebenen die der Regular Expression "(\d{2}\.){1,3}" entsprechen.
85
+
86
+ * Komplementärprodukt:
87
+ C: Komplementärprodukt
88
+ A: Antroposophisches Heilmittel
89
+ H: Homöopathisches Heilmittel
90
+ P: Phytotherapeutisches Heilmittel
91
+
92
+ * Version
93
+ Versionsnummern bezeichnen Änderungen nach dem Schema "Major.Minor.Documentation"
94
+ - Major: Komplett neuer Aufbau des Exports
95
+ - Minor: Kleinere Änderungen am Export (z.B. Refactoring von Adressangaben in eine Address2-Klasse)
96
+ - Documentation: Ergänzungen und Änderungen im Datenbeschrieb, die keine Änderung des Exports als Ursache haben.
97
+ Die komplette Version-History ist zu finden unter:
98
+ http://scm.ywesee.com/?p=oddb.org;a=history;f=doc/resources/downloads/datadesc/oddb.csv.txt
@@ -0,0 +1,255 @@
1
+ Datenbeschrieb oddb.yaml
2
+
3
+ Version: 1.8.0
4
+ Geändert: 28.10.2009 (1.8.0) durch hwyss@ywesee.com
5
+ Geändert: 29.09.2009 (1.7.0) durch hwyss@ywesee.com
6
+ Geändert: 12.03.2009 (1.6.0) durch hwyss@ywesee.com
7
+ Geändert: 10.02.2009 (1.5.1) durch hwyss@ywesee.com
8
+ Geändert: 04.12.2008 (1.5.0) durch hwyss@ywesee.com
9
+ Geändert: 22.11.2007 (1.4.0) durch hwyss@ywesee.com
10
+ Geändert: 20.09.2007 (1.3.2) durch hwyss@ywesee.com
11
+ Geändert: 21.03.2007 (1.3.1) durch hwyss@ywesee.com
12
+ Geändert: 09.12.2005 (1.3.0) durch hwyss@ywesee.com
13
+ Geändert: 14.11.2005 (1.2.0) durch hwyss@ywesee.com
14
+ Geändert: 30.09.2005 (1.1.3) durch hwyss@ywesee.com
15
+ Geändert: 02.09.2005 (1.1.2) durch hwyss@ywesee.com
16
+ Geändert: 01.09.2005 (1.1.1) durch hwyss@ywesee.com
17
+ Geändert: 23.08.2005 (1.1.0) durch hwyss@ywesee.com
18
+ Erstellt: 26.07.2005 (1.0.0) durch hwyss@ywesee.com
19
+
20
+ ## Struktur ##
21
+ Encoding: UTF-8
22
+
23
+ Top-Level:
24
+ - Hash (Company.oid, Company)
25
+
26
+ Company:
27
+ - oid (Integer, NOT NULL) -> Unique Identifier
28
+ - ean13 (String) -> Ean13 der Firma
29
+ - name (String) -> Name der Firma
30
+ - business_area (String) -> Geschäftsbereich
31
+ - generic_type (Symbol) -> siehe Glossar (GenericType)
32
+ - registrations (Array (Registration)) -> Produkte der Firma (siehe Registration)
33
+ - url (String) -> Allgemeine Internet-Adresse
34
+ - email (String) -> Allgemeine Email-Adresse
35
+ - addresses (Array (Address2)) -> Sammlung von Adressen für diese Firma (i.A. aus der Swissmedic-Registrationsurkunde)
36
+ - contact (String) -> Vorname und Name der Kontaktperson
37
+ - contact_email (String) -> Kontakt-Email
38
+
39
+ Address2:
40
+ - type (String) -> Adresstyp: at_work | at_private | at_praxis
41
+ - title (String) -> Titel und/oder Anrede
42
+ - name (String) -> Name wie in der Adresse gewünscht
43
+ - additional_lines (Array (String)) -> Zusätzliche Adresszeilen vor Strasse/Nr.
44
+ - address (String) -> Strasse/Nr. (französische Schweiz: Nr./Strasse)
45
+ - location (String) -> PLZ/Ort
46
+ - canton (String) -> 2-Stelliges Kantonskürzel
47
+ - fon (Array (String)) -> Mit dieser Adresse verbundene Telefonnummern
48
+ - fax (Array (String)) -> Mit dieser Adresse verbundene Faxnummern
49
+
50
+ Registration:
51
+ - iksnr (String(5) NOT NULL) -> Registrations-Id der Swissmedic (ehemals IKS)
52
+ - registration_date (Date) -> Datum der ersten Zulassung in der Schweiz
53
+ - revision_date (Date) -> Datum der letzen gültigen Registrationsurkunde
54
+ - expiration_date (Date) -> Ende der Gültigkeit der letzen gültigen Registrationsurkunde
55
+ - inactive_date (Date) -> Falls ein Produkt unabhängig der Swissmedic ausser Handel genommen wird: Datum der Ausserhandelnahme
56
+ - sequences (Hash (Sequence.seqnr, Sequence)) -> Sequenzen der Registration (siehe Sequence)
57
+ - indication (Indication) -> Indikationsbezeichnung aus der Registrationsurkunde
58
+ - generic_type (Symbol) -> siehe Glossar (GenericType)
59
+ - complementary_type(Symbol) -> siehe Glossar (ComplementaryType)
60
+ - export_flag (Boolean) -> Produkt ist nur für den Export bestimmt
61
+ - fachinfo_oid (Integer) -> Verbindungsschlüssel zur Fachinformation (in fachinfo.yaml)
62
+
63
+ Sequence:
64
+ - seqnr (String, NOT NULL) -> Sequenznumerierung aus der Registrationsurkunde
65
+ - name_base (String) -> Hauptname der Sequenz aus der Registrationsurkunde, enthält z.T. Dosisangaben.
66
+ - name_descr (String) -> Zusatzname der Sequenz aus der Registrationsurkunde, z.B. 'Tabletten'
67
+ - atc_class (AtcClass) -> Atc-Klassierung der Sequenz (siehe AtcClass)
68
+ - composition_text (String) -> Text der Zusammensetzung.
69
+ - compositions (Array (Composition)) -> Zusammensetzungen (siehe Composition)
70
+ - packages (Hash (Package.ikscd, Package) -> Packungen der Sequenz (siehe Package)
71
+
72
+ Composition:
73
+ - galenic_form (GalenicForm) -> Galenische Form
74
+ - active_agents (Array (ActiveAgent) -> Wirkstoff/Dosis
75
+
76
+ Package:
77
+ - ikscd (String(3), NOT NULL) -> Packungsnummer. Ergibt zusammen mit Registration.iksnr die 8-Stellige Swissmedic-Nummer.
78
+ - descr (String) -> Zusätzlicher Beschreibungstext. Selten.
79
+ - ikscat (String) -> Abgabekategorie. A-E
80
+ - parts (Array (Part)) -> Packungsbestandteile (siehe Part)
81
+ - out_of_trade (Boolean) -> Nicht im Handel erhältlich
82
+ - price_exfactory (Integer) -> Exfactorypreis in Rappen
83
+ - price_public (Integer) -> Publikumspreis in Rappen
84
+ - sl_entry (SlEntry) -> Eintrag in der SL, NULL = Nein, SlEntry = Ja.
85
+ - ean13 (String) -> Ean13 des Produkts
86
+ - narcotics (Array (String)) -> Betäubungsmitteleinträge: CAS Registry Numbers
87
+ - pharmacode (String) -> Pharmacode gemäss RefData
88
+ - lppv (Boolean) -> Produkt ist in LPPV
89
+ - has_generic (Boolean) -> Es gibt Generika zu diesem Produkt
90
+ - deductible (Integer) -> Selbstbehalt in Prozent
91
+
92
+ Part:
93
+ - composition (Composition) -> Zusammensetzung dieses Bestandteils
94
+ - multi: (Integer) -> _5_ x 10 + 10 Ampullen à 15 ml
95
+ - count: (Integer) -> 5 x _10_ + 10 Ampullen à 15 ml
96
+ - addition: (Integer) -> 5 x 10 + _10_ Ampullen à 15 ml
97
+ - commercial_form: (CommercialForm) -> 5 x 10 + 10 _Ampullen_ à 15 ml
98
+ - measure: (Dose) -> 5 x 10 + 10 Ampullen à _15 ml_
99
+
100
+ CommercialForm:
101
+ - oid (Integer, NOT NULL) -> Unique Identifier
102
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Bezeichnung. siehe Glossar (SimpleLanguage::Descriptions)
103
+
104
+ AtcClass:
105
+ - code (String(1-7), NOT NULL)-> Atc-Code. siehe Glossar (AtcCode)
106
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Bezeichnung. siehe Glossar (SimpleLanguage::Descriptions)
107
+ - guidelines (Text::Document) -> Guidelines der WHO zum Atc-Code. Sprache: en
108
+ - ddd_guidelines (Text::Document) -> Guidelines der WHO zu den DailyDoses. Sprache: en
109
+ - ddds (Hash (DDD.administration_route, DDD) -> DailyDrugDose Informationen der WHO. siehe Glossar (DailyDrugDose)
110
+
111
+ GalenicForm:
112
+ - oid (Integer, NOT NULL) -> Unique Identifier
113
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Bezeichnung. siehe Glossar (SimpleLanguage::Descriptions)
114
+ - galenic_group (GalenicGroup) -> siehe Glossar (GalenicGroup)
115
+
116
+ ActiveAgent:
117
+ - substance (Substance, NOT NULL) -> Substanz/Wirkstoff
118
+ - dose (Dose) -> Dosis
119
+
120
+ SlEntry:
121
+ - bsv_dossier (String) -> BSV-Dossier-Nummer
122
+ - introduction_date (Date) -> Datum der Aufnahme in die Spezialitätenliste
123
+ - limitation (Boolean) -> Limitation Ja/Nein
124
+ - limitation_points (Integer) -> Limitationspunkte
125
+ - limitation_text (LimitationText) -> Limitationstexte in 3 Sprachen: de/it/fr
126
+
127
+ Indication:
128
+ - oid (Integer, NOT NULL) -> Unique Identifier
129
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Indikationstext. siehe Glossar (SimpleLanguage::Descriptions)
130
+
131
+ Substance:
132
+ - oid (Integer, NOT NULL) -> Unique Identifier
133
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Substanzname. siehe Glossar (SimpleLanguage::Descriptions)
134
+ - synonyms (Array (String)) -> Weitere bezeichnungen
135
+ - effective_form (Substance) -> Wirkform
136
+ - narcotic (String) -> CAS Registry Number
137
+ - swissmedic_code (String) -> Substanz-Code der Swissmedic. siehe Glossar (Swissmedic-Code)
138
+
139
+ Dose:
140
+ - not_normalized (String) -> Ursprüngliche Text-repräsentation
141
+ - val (Float, NOT NULL) -> Wert/Grösse der Dosis (normalisiert, siehe Glossar)
142
+ - unit (String) -> Einheit der Dosis
143
+ - scale (Dose) -> Skalierungsfaktor (Umkehrung des Normalisierungsfaktors)
144
+
145
+ AtcClass::DDD:
146
+ - administration_route (String, NOT NULL) -> Route of Administration, Codiert gemäss WHO. Diverse Werte.
147
+ - dose (Dose) -> Empfohlene Tagesdosis für diese Route of Administration gemäss WHO.
148
+ - note (String) -> Bemerkung zu dieser DDD. Sprache: en
149
+
150
+ LimitationText:
151
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Limitationstext. siehe Glossar (SimpleLanguage::Descriptions)
152
+
153
+ GalenicGroup:
154
+ - oid (Integer, NOT NULL) -> Unique Identifier
155
+ - descriptions (SimpleLanguage::Descriptions (String, String)) -> Sprache, Bezeichnung. siehe Glossar (SimpleLanguage::Descriptions)
156
+
157
+ Text::Document:
158
+ - descriptions (SimpleLanguage::Descriptions (String, Text::Chapter)) -> Sprache, Formatierter Text
159
+
160
+ Text::Chapter:
161
+ - heading (String) -> Titel
162
+ - sections (Array (Text::Section)) -> Abschnitte
163
+
164
+ Text::Section:
165
+ - subheading (String) -> Abschnitt-Titel
166
+ - paragraphs (Array (Text::Paragraph)) -> Absätze
167
+
168
+ Text::Paragraph:
169
+ - formats (Array (Text::Format)) -> Formatdefinitionen
170
+ - text (String) -> unformatierter Text
171
+ - preformatted (Boolean) -> Wenn ja, sollte whitespace 1:1 übernommen werden.
172
+
173
+ Text::Format:
174
+ - values (Array (Symbol)) -> mögliche Werte: alle Kombinationen von :bold, :italic und :symbol. Wenn Symbol, dann ist der Betreffende Text im Symbol-Font darzustellen.
175
+ - start (Integer NOT NULL) -> 0-N Char-Position innerhalb des Paragraphs an welchem das Format beginnt.
176
+ - end (Integer NOT NULL) -> 1-N, -1. Wenn -1, gilt das Format bis zum Ende des Paragraphs.
177
+
178
+
179
+ ## Glossar ##
180
+ * AtcCode:
181
+ Anatomisch-Therapeutisch-Chemischer Code der durch die WHO vergeben wird. Hat 5 Ebenen:
182
+ Level 1: C -> Anatomische Gruppierung, z.B. A: Alimentäres System und Stoffwechsel
183
+ Level 2: +NN -> Therapeutische Gruppierung, z.B. A02: Mittel bei Säure bedingten Erkrankungen
184
+ Level 3: +C -> Therapeutische Untergruppe, z.B. A02A: Antacida
185
+ Level 4: +C -> Chemische Gruppierung, z.B. A02AA: Magnesium-haltige Verbindungen
186
+ Level 5: +NN -> Wirkstoff(-Kombination), z.B. A02AA01: Magnesiumcarbonat
187
+
188
+ * CAS Registry Number
189
+ http://www.cas.org/EO/regsys.html
190
+
191
+ * ComplementaryType:
192
+ Komplementärprodukt-Typ. Kann in Company oder Registration gesetzt sein zu einem von 5 Werten:
193
+ - :complementary -> Komplementärprodukte (allgemein)
194
+ - :homeopathy -> Homöopathische Produkte
195
+ - :anthroposophy -> Heilmittel auf Grundlage antroposophischer Erkenntnis
196
+ - :phytotherapy -> Phytotherapeutische Produkte
197
+ - :unknown / NULL -> Unbekannt / nicht gesetzt
198
+
199
+ * DailyDrugDose
200
+ Richtlinien der WHO zur Dosierung von Medikamenten: http://www.whocc.no/atcddd/
201
+
202
+ * Date:
203
+ serialisiert in der Form YYYY-MM-DD
204
+
205
+ * GalenicGroup:
206
+ Gruppierung von Galenischen Formen. Alle Galenischen Formen mit der gleichen Galenischen Gruppe gelten für Vergleichszwecke als equivalent.
207
+ Ausnahme: die Galenischen Formen in der Galenischen Gruppe mit der oid 1 ('Unbekannt') sind nicht equivalent.
208
+
209
+ * GenericType:
210
+ Produkt-Typ. Kann in Company oder Registration gesetzt sein zu einem von 4 Werten:
211
+ - :original -> Originalprodukt
212
+ - :generic -> Generikum
213
+ - :complementary -> Produkt der Komplementärmedizin
214
+ - :unknown / NULL -> Unbekannt / nicht gesetzt
215
+
216
+ Ist Registration.generic_type gesetzt, so gilt immer dieser.
217
+ Ist Registration.generic_type nicht gesetzt, und Company.generic_type ist gesetzt so gilt Company.generic_type.
218
+ Ist weder Registration.generic_type noch Company.generic_type gesetzt, so ist der Produkt-Typ :unknown.
219
+
220
+ * Hash
221
+ Hash-Table. Unsortierte, indexierte Collection.
222
+
223
+ * Normalisiert
224
+ Dosis-Werte, die einen Nenner != 1 haben, werden normalisiert. So wird aus
225
+ 5mg/2ml der normalisierte Wert 2.5 mg/ml. Multipliziert mit dem Skalierungsfaktor
226
+ 2ml ergibt dies die absolute Wirkstoffmenge von 5mg.
227
+
228
+ * Sequence, Sequenz:
229
+ Bezeichnung für die Gruppierung aller Packungsgrössen einer Registration, deren Dosierung/Zusammensetzung identisch ist.
230
+
231
+ * SimpleLanguage::Descriptions:
232
+ Subklasse von Hash. Key-Value pairs für Sprache/Text, wobei folgende Werte als Schlüssel vorkommen:
233
+ - de -> Deutsch
234
+ - fr -> Französisch
235
+ - it -> Italienisch
236
+ - en -> Englisch
237
+ - lt -> Latein
238
+
239
+ * Swissmedic-Code
240
+ Substanz-Code der Swissmedic. Datenquelle: Betäubungsmittelliste (als GTIN).
241
+ GTIN = 7611 + swissmedic_code + Prüfziffer.
242
+
243
+ * Symbol:
244
+ Interne Repräsentation eines Namens. In anderen Programmiersprachen auch Atom.
245
+
246
+ * YAML
247
+ Yet Another Markup Language. Offener Standard, beschrieben unter http://www.yaml.org
248
+
249
+ * Version
250
+ Versionsnummern bezeichnen Änderungen nach dem Schema "Major.Minor.Documentation"
251
+ - Major: Komplett neuer Aufbau des Exports
252
+ - Minor: Kleinere Änderungen am Export (z.B. Refactoring von Adressangaben in eine Address2-Klasse)
253
+ - Documentation: Ergänzungen und Änderungen im Datenbeschrieb, die keine Änderung des Exports als Ursache haben.
254
+ Die komplette Version-History ist zu finden unter:
255
+ http://scm.ywesee.com/?p=oddb.org;a=history;f=doc/resources/downloads/datadesc/oddb.yaml.txt