Struct ArticleSummary
pub struct ArticleSummary {Show 19 fields
pub pmid: String,
pub title: String,
pub authors: Vec<String>,
pub journal: String,
pub full_journal_name: String,
pub pub_date: String,
pub epub_date: String,
pub doi: Option<String>,
pub pmc_id: Option<String>,
pub volume: String,
pub issue: String,
pub pages: String,
pub languages: Vec<String>,
pub pub_types: Vec<String>,
pub issn: String,
pub essn: String,
pub sort_pub_date: String,
pub pmc_ref_count: u64,
pub record_status: String,
}Expand description
Lightweight article summary from the ESummary API
Contains basic metadata (title, authors, journal, dates) without the full abstract, MeSH terms, or chemical lists that EFetch provides. Use this when you only need basic bibliographic information for a large number of articles.
§Example
use pubmed_client::PubMedClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = PubMedClient::new();
let summaries = client.fetch_summaries(&["31978945", "33515491"]).await?;
for summary in &summaries {
println!("{}: {} ({})", summary.pmid, summary.title, summary.pub_date);
}
Ok(())
}Fields§
§pmid: StringPubMed ID
title: StringArticle title
Author names (e.g., [“Zhu N”, “Zhang D”, “Wang W”])
journal: StringJournal name (source field)
full_journal_name: StringFull journal name (e.g., “The New England journal of medicine”)
pub_date: StringPublication date (e.g., “2020 Feb”)
epub_date: StringElectronic publication date (e.g., “2020 Jan 24”)
doi: Option<String>DOI (Digital Object Identifier)
pmc_id: Option<String>PMC ID if available (e.g., “PMC7092803”)
volume: StringJournal volume (e.g., “382”)
issue: StringJournal issue (e.g., “8”)
pages: StringPage range (e.g., “727-733”)
languages: Vec<String>Languages (e.g., [“eng”])
pub_types: Vec<String>Publication types (e.g., [“Journal Article”, “Review”])
issn: StringISSN
essn: StringElectronic ISSN
sort_pub_date: StringSorted publication date (e.g., “2020/02/20 00:00”)
pmc_ref_count: u64PMC reference count (number of citing articles in PMC)
record_status: StringRecord status (e.g., “PubMed - indexed for MEDLINE”)
Trait Implementations§
§impl Clone for ArticleSummary
impl Clone for ArticleSummary
§fn clone(&self) -> ArticleSummary
fn clone(&self) -> ArticleSummary
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ArticleSummary
impl Debug for ArticleSummary
§impl<'de> Deserialize<'de> for ArticleSummary
impl<'de> Deserialize<'de> for ArticleSummary
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ArticleSummary, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ArticleSummary, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Serialize for ArticleSummary
impl Serialize for ArticleSummary
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for ArticleSummary
impl RefUnwindSafe for ArticleSummary
impl Send for ArticleSummary
impl Sync for ArticleSummary
impl Unpin for ArticleSummary
impl UnwindSafe for ArticleSummary
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more