Struct PmcFullText
pub struct PmcFullText {Show 25 fields
pub pmcid: String,
pub pmid: Option<String>,
pub title: String,
pub authors: Vec<Author>,
pub journal: JournalInfo,
pub pub_date: String,
pub doi: Option<String>,
pub sections: Vec<ArticleSection>,
pub references: Vec<Reference>,
pub article_type: Option<String>,
pub keywords: Vec<String>,
pub funding: Vec<FundingInfo>,
pub conflict_of_interest: Option<String>,
pub acknowledgments: Option<String>,
pub data_availability: Option<String>,
pub supplementary_materials: Vec<SupplementaryMaterial>,
pub abstract_text: Option<String>,
pub copyright: Option<String>,
pub license: Option<String>,
pub license_url: Option<String>,
pub history_dates: Vec<HistoryDate>,
pub categories: Vec<String>,
pub fpage: Option<String>,
pub lpage: Option<String>,
pub elocation_id: Option<String>,
}Expand description
Represents a full-text article from PMC
Fields§
§pmcid: StringPMC ID (e.g., “PMC1234567”)
pmid: Option<String>PubMed ID (if available)
title: StringArticle title
List of authors with detailed information
journal: JournalInfoJournal information
pub_date: StringPublication date
doi: Option<String>DOI (Digital Object Identifier)
sections: Vec<ArticleSection>Article sections with content
references: Vec<Reference>List of references
article_type: Option<String>Article type (if available)
keywords: Vec<String>Keywords
funding: Vec<FundingInfo>Funding information
conflict_of_interest: Option<String>Conflict of interest statement
acknowledgments: Option<String>Acknowledgments
data_availability: Option<String>Data availability statement
supplementary_materials: Vec<SupplementaryMaterial>Supplementary materials
abstract_text: Option<String>Abstract text
copyright: Option<String>Copyright statement (from <copyright-statement>)
license: Option<String>License text (from <license>)
license_url: Option<String>License URL (from <license xlink:href="...">)
history_dates: Vec<HistoryDate>Publication history dates (received, accepted, etc.)
categories: Vec<String>Article categories/subjects (from <article-categories>/<subj-group>/<subject>)
fpage: Option<String>First page (from <fpage>)
lpage: Option<String>Last page (from <lpage>)
elocation_id: Option<String>Electronic location identifier (from <elocation-id>)
Implementations§
§impl PmcFullText
impl PmcFullText
pub fn new(pmcid: String) -> PmcFullText
pub fn new(pmcid: String) -> PmcFullText
Create a new PmcFullText instance
pub fn has_content(&self) -> bool
pub fn has_content(&self) -> bool
Check if the article has full text content
pub fn total_sections(&self) -> usize
pub fn total_sections(&self) -> usize
Get the total number of sections (including subsections)
pub fn get_full_text(&self) -> String
pub fn get_full_text(&self) -> String
Get all section content as a single string
pub fn get_tar_files(&self) -> Vec<&SupplementaryMaterial>
pub fn get_tar_files(&self) -> Vec<&SupplementaryMaterial>
Get all 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 PmcFullText
impl Clone for PmcFullText
§fn clone(&self) -> PmcFullText
fn clone(&self) -> PmcFullText
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for PmcFullText
impl Debug for PmcFullText
§impl<'de> Deserialize<'de> for PmcFullText
impl<'de> Deserialize<'de> for PmcFullText
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PmcFullText, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PmcFullText, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Serialize for PmcFullText
impl Serialize for PmcFullText
§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 PmcFullText
impl RefUnwindSafe for PmcFullText
impl Send for PmcFullText
impl Sync for PmcFullText
impl Unpin for PmcFullText
impl UnwindSafe for PmcFullText
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