1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! Query builder for constructing PubMed search queries with filters
//!
//! This module provides a flexible query builder for constructing complex PubMed search queries
//! using E-utilities syntax. The query builder supports:
//!
//! - Field-specific searches (title, abstract, journal, etc.)
//! - Date filtering with flexible precision
//! - MeSH term filtering
//! - Author and affiliation filtering
//! - Boolean logic operations (AND, OR, NOT)
//! - Article type and language filtering
//! - Query validation and optimization
//!
//! # Examples
//!
//! Basic search:
//! ```
//! use pubmed_client_rs::pubmed::SearchQuery;
//!
//! let query = SearchQuery::new()
//! .query("covid-19 treatment")
//! .published_after(2020)
//! .free_full_text()
//! .limit(10);
//! ```
//!
//! Complex boolean search:
//! ```
//! use pubmed_client_rs::pubmed::{SearchQuery, ArticleType, Language};
//!
//! let ai_query = SearchQuery::new()
//! .title_contains("machine learning")
//! .or(SearchQuery::new().mesh_term("Artificial Intelligence"));
//!
//! let medical_query = SearchQuery::new()
//! .mesh_term("Medicine")
//! .and(SearchQuery::new().human_studies_only());
//!
//! let final_query = ai_query
//! .and(medical_query)
//! .article_type(ArticleType::Review)
//! .language(Language::English)
//! .published_between(2020, Some(2023));
//! ```
// Core modules
// Feature modules
// Re-export all public types
pub use SearchQuery;
pub use PubDate;
pub use ;