Struct PmcArticle
pub struct PmcArticle {Show 31 fields
pub pmcid: PmcId,
pub pmid: Option<PubMedId>,
pub doi: Option<String>,
pub article_type: Option<String>,
pub categories: Vec<String>,
pub title: String,
pub subtitle: Option<String>,
pub authors: Vec<Author>,
pub journal: JournalMeta,
pub pub_dates: Vec<PublicationDate>,
pub volume: Option<String>,
pub issue: Option<String>,
pub fpage: Option<String>,
pub lpage: Option<String>,
pub elocation_id: Option<String>,
pub abstract_text: Option<String>,
pub abstract_sections: Vec<AbstractSection>,
pub keywords: Vec<String>,
pub sections: Vec<Section>,
pub references: Vec<Reference>,
pub funding: Vec<FundingInfo>,
pub acknowledgments: Option<String>,
pub conflict_of_interest: Option<String>,
pub data_availability: Option<String>,
pub supplementary_materials: Vec<SupplementaryMaterial>,
pub appendices: Vec<Section>,
pub glossary: Vec<Definition>,
pub copyright: Option<String>,
pub license: Option<String>,
pub license_url: Option<String>,
pub history_dates: Vec<HistoryDate>,
}Expand description
PMC full-text article.
Maps to JATS <article>. Organized following the DTD’s front/body/back structure,
with identifiers and metadata from <article-meta>, content from <body>,
and references/acknowledgments from <back>.
Fields§
§pmcid: PmcIdPMC ID (e.g., PMC7906746). From <article-id pub-id-type="pmc">.
pmid: Option<PubMedId>PubMed ID. From <article-id pub-id-type="pmid">.
doi: Option<String>DOI. From <article-id pub-id-type="doi">.
article_type: Option<String>Article type. From <article article-type="..."> attribute.
categories: Vec<String>Subject categories. From <article-categories>/<subj-group>/<subject>.
title: StringArticle title. From <article-title>.
subtitle: Option<String>Article subtitle. From <subtitle>.
Authors. From <contrib-group>/<contrib contrib-type="author">.
journal: JournalMeta§pub_dates: Vec<PublicationDate>Publication dates (epub, ppub, collection, etc.). From <pub-date>.
volume: Option<String>Volume number. From <volume>.
issue: Option<String>Issue number. From <issue>.
fpage: Option<String>First page. From <fpage>.
lpage: Option<String>Last page. From <lpage>.
elocation_id: Option<String>Electronic location ID. From <elocation-id>.
abstract_text: Option<String>Plain abstract text (flattened). From <abstract> without <sec> children,
or concatenation of all section texts.
abstract_sections: Vec<AbstractSection>Structured abstract sections. From <abstract>/<sec>.
Present when the abstract has labeled sections (e.g., Background, Methods, Results).
keywords: Vec<String>Keywords. From <kwd-group>/<kwd>.
sections: Vec<Section>Article sections. From <body>/<sec>.
references: Vec<Reference>Reference list. From <ref-list>/<ref>.
funding: Vec<FundingInfo>Funding information. From <funding-group>/<award-group>.
acknowledgments: Option<String>Acknowledgments. From <back>/<ack>.
conflict_of_interest: Option<String>Conflict of interest statement. From <fn fn-type="COI-statement">
or <sec sec-type="COI-statement">.
data_availability: Option<String>Data availability statement. From <sec sec-type="data-availability">
or <notes notes-type="data-availability">.
supplementary_materials: Vec<SupplementaryMaterial>Supplementary materials. From <supplementary-material>.
appendices: Vec<Section>Appendices. From <back>/<app-group>/<app>.
glossary: Vec<Definition>Glossary definitions. From <back>/<glossary>/<def-list>.
copyright: Option<String>Copyright statement. From <copyright-statement>.
license: Option<String>License text. From <license> body content.
license_url: Option<String>License URL. From <license xlink:href="...">.
history_dates: Vec<HistoryDate>Publication history dates. From <history>/<date>.
Implementations§
§impl PmcArticle
impl PmcArticle
pub fn get_tar_files(&self) -> Vec<&SupplementaryMaterial>
pub fn get_tar_files(&self) -> Vec<&SupplementaryMaterial>
Get tar files from supplementary materials.
pub fn get_archive_files(&self) -> Vec<&SupplementaryMaterial>
pub fn get_archive_files(&self) -> Vec<&SupplementaryMaterial>
Get all archive files from supplementary materials.
pub fn has_supplementary_materials(&self) -> bool
pub fn has_supplementary_materials(&self) -> bool
Check if the article has supplementary materials.
pub fn get_supplementary_materials_by_type(
&self,
content_type: &str,
) -> Vec<&SupplementaryMaterial>
pub fn get_supplementary_materials_by_type( &self, content_type: &str, ) -> Vec<&SupplementaryMaterial>
Get supplementary materials by content type.
Trait Implementations§
§impl Clone for PmcArticle
impl Clone for PmcArticle
§fn clone(&self) -> PmcArticle
fn clone(&self) -> PmcArticle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for PmcArticle
impl Debug for PmcArticle
§impl<'de> Deserialize<'de> for PmcArticle
impl<'de> Deserialize<'de> for PmcArticle
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PmcArticle, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PmcArticle, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Serialize for PmcArticle
impl Serialize for PmcArticle
§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 PmcArticle
impl RefUnwindSafe for PmcArticle
impl Send for PmcArticle
impl Sync for PmcArticle
impl Unpin for PmcArticle
impl UnwindSafe for PmcArticle
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