1#![forbid(unsafe_code)]
7#![deny(clippy::unwrap_used, clippy::expect_used, clippy::panic)]
8
9mod analysis;
10mod biomarker;
11mod disease;
12mod epidemiology;
13mod id;
14mod safety_burden;
15mod treatment;
16mod unmet_need;
17
18pub use analysis::DiseaseAnalysis;
19pub use biomarker::{Biomarker, BiomarkerType};
20pub use disease::Disease;
21pub use epidemiology::{Demographics, Epidemiology, Trend};
22pub use id::DiseaseId;
23pub use safety_burden::{ClassEffect, DrugWithdrawal, SafetyBurden};
24pub use treatment::{EvidenceLevel, LineOfTherapy, TreatmentLine};
25pub use unmet_need::{NeedSeverity, UnmetNeed};
26
27#[derive(Debug, Clone, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
29pub enum TherapeuticArea {
30 Oncology,
31 Immunology,
32 Neuroscience,
33 Cardiovascular,
34 Metabolic,
35 RareDisease,
36 Respiratory,
37 Infectious,
38 Hematology,
39 Ophthalmology,
40 Dermatology,
41 Gastroenterology,
42 Other(String),
43}
44
45impl std::fmt::Display for TherapeuticArea {
46 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
47 match self {
48 Self::Oncology => write!(f, "Oncology"),
49 Self::Immunology => write!(f, "Immunology"),
50 Self::Neuroscience => write!(f, "Neuroscience"),
51 Self::Cardiovascular => write!(f, "Cardiovascular"),
52 Self::Metabolic => write!(f, "Metabolic"),
53 Self::RareDisease => write!(f, "Rare Disease"),
54 Self::Respiratory => write!(f, "Respiratory"),
55 Self::Infectious => write!(f, "Infectious Disease"),
56 Self::Hematology => write!(f, "Hematology"),
57 Self::Ophthalmology => write!(f, "Ophthalmology"),
58 Self::Dermatology => write!(f, "Dermatology"),
59 Self::Gastroenterology => write!(f, "Gastroenterology"),
60 Self::Other(s) => write!(f, "{s}"),
61 }
62 }
63}