Struct PubMedArticle
pub struct PubMedArticle {Show 20 fields
pub pmid: String,
pub title: String,
pub authors: Vec<Author>,
pub author_count: u32,
pub journal: String,
pub pub_date: String,
pub doi: Option<String>,
pub pmc_id: Option<String>,
pub abstract_text: Option<String>,
pub structured_abstract: Option<Vec<AbstractSection>>,
pub article_types: Vec<String>,
pub mesh_headings: Option<Vec<MeshHeading>>,
pub keywords: Option<Vec<String>>,
pub chemical_list: Option<Vec<ChemicalConcept>>,
pub volume: Option<String>,
pub issue: Option<String>,
pub pages: Option<String>,
pub language: Option<String>,
pub journal_abbreviation: Option<String>,
pub issn: Option<String>,
}Expand description
Represents a PubMed article with metadata
Fields§
§pmid: StringPubMed ID
title: StringArticle title
List of authors with detailed metadata
Number of authors (computed from authors list)
journal: StringJournal name
pub_date: StringPublication date
doi: Option<String>DOI (Digital Object Identifier)
pmc_id: Option<String>PMC ID if available (with PMC prefix, e.g., “PMC7092803”)
abstract_text: Option<String>Abstract text (if available)
structured_abstract: Option<Vec<AbstractSection>>Structured abstract sections with labels (if available)
Some PubMed articles have structured abstracts with labeled sections like
“BACKGROUND”, “METHODS”, “RESULTS”, “CONCLUSIONS”. When available, this
field contains each section separately. The abstract_text field still
contains the full concatenated text.
article_types: Vec<String>Article types (e.g., “Clinical Trial”, “Review”, etc.)
mesh_headings: Option<Vec<MeshHeading>>MeSH headings associated with the article
keywords: Option<Vec<String>>Author-provided keywords
chemical_list: Option<Vec<ChemicalConcept>>Chemical substances mentioned in the article
volume: Option<String>Journal volume (e.g., “88”)
issue: Option<String>Journal issue number (e.g., “3”)
pages: Option<String>Page range (e.g., “123-130”)
language: Option<String>Article language (e.g., “eng”, “jpn”)
journal_abbreviation: Option<String>ISO journal abbreviation (e.g., “J Biol Chem”)
issn: Option<String>ISSN (International Standard Serial Number)
Implementations§
§impl PubMedArticle
impl PubMedArticle
pub fn get_major_mesh_terms(&self) -> Vec<String>
pub fn get_major_mesh_terms(&self) -> Vec<String>
pub fn has_mesh_term(&self, term: &str) -> bool
pub fn has_mesh_term(&self, term: &str) -> bool
pub fn get_all_mesh_terms(&self) -> Vec<String>
pub fn get_all_mesh_terms(&self) -> Vec<String>
Get corresponding authors from the article
§Returns
A vector of references to authors marked as corresponding
pub fn has_international_collaboration(&self) -> bool
pub fn has_international_collaboration(&self) -> bool
Check if the article has international collaboration
§Returns
true if authors are from multiple countries
pub fn mesh_term_similarity(&self, other: &PubMedArticle) -> f64
pub fn mesh_term_similarity(&self, other: &PubMedArticle) -> f64
pub fn get_mesh_qualifiers(&self, term: &str) -> Vec<String>
pub fn get_mesh_qualifiers(&self, term: &str) -> Vec<String>
pub fn has_mesh_terms(&self) -> bool
pub fn has_mesh_terms(&self) -> bool
Check if the article has any MeSH terms
§Returns
true if the article has MeSH terms, false otherwise
pub fn get_chemical_names(&self) -> Vec<String>
pub fn get_chemical_names(&self) -> Vec<String>
Trait Implementations§
§impl Clone for PubMedArticle
impl Clone for PubMedArticle
§fn clone(&self) -> PubMedArticle
fn clone(&self) -> PubMedArticle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for PubMedArticle
impl Debug for PubMedArticle
§impl<'de> Deserialize<'de> for PubMedArticle
impl<'de> Deserialize<'de> for PubMedArticle
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PubMedArticle, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PubMedArticle, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl ExportFormat for PubMedArticle
impl ExportFormat for PubMedArticle
Source§fn to_csl_json(&self) -> Value
fn to_csl_json(&self) -> Value
§impl Serialize for PubMedArticle
impl Serialize for PubMedArticle
§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 PubMedArticle
impl RefUnwindSafe for PubMedArticle
impl Send for PubMedArticle
impl Sync for PubMedArticle
impl Unpin for PubMedArticle
impl UnwindSafe for PubMedArticle
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