2020-07-10 14:44:50 +02:00
|
|
|
|
2021-10-15 15:00:15 +02:00
|
|
|
package eu.dnetlib.dhp.sx.bio.pubmed;
|
2020-07-10 14:44:50 +02:00
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* This class represent an instance of Pubmed Article extracted from the native XML
|
|
|
|
*
|
|
|
|
* @author Sandro La Bruzzo
|
|
|
|
*/
|
|
|
|
|
2020-07-10 14:44:50 +02:00
|
|
|
public class PMArticle implements Serializable {
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* the Pubmed Identifier
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
private String pmid;
|
2022-07-13 15:27:17 +02:00
|
|
|
|
|
|
|
private String pmcId;
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* the DOI
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
private String doi;
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* the Pubmed Date extracted from <PubmedPubDate> Specifies a date significant to either the article's history or the citation's processing.
|
|
|
|
* All <History> dates will have a <Year>, <Month>, and <Day> elements. Some may have an <Hour>, <Minute>, and <Second> element(s).
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
private String date;
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* This is an 'envelop' element that contains various elements describing the journal cited; i.e., ISSN, Volume, Issue, and PubDate and author name(s), however, it does not contain data itself.
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
private PMJournal journal;
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* The full journal title (taken from NLM cataloging data following NLM rules for how to compile a serial name) is exported in this element. Some characters that are not part of the NLM MEDLINE/PubMed Character Set reside in a relatively small number of full journal titles. The NLM journal title abbreviation is exported in the <MedlineTA> element.
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
private String title;
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* English-language abstracts are taken directly from the published article.
|
|
|
|
* If the article does not have a published abstract, the National Library of Medicine does not create one,
|
|
|
|
* thus the record lacks the <Abstract> and <AbstractText> elements. However, in the absence of a formally
|
|
|
|
* labeled abstract in the published article, text from a substantive "summary", "summary and conclusions" or "conclusions and summary" may be used.
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
private String description;
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* the language in which an article was published is recorded in <Language>.
|
|
|
|
* All entries are three letter abbreviations stored in lower case, such as eng, fre, ger, jpn, etc. When a single
|
|
|
|
* record contains more than one language value the XML export program extracts the languages in alphabetic order by the 3-letter language value.
|
|
|
|
* Some records provided by collaborating data producers may contain the value und to identify articles whose language is undetermined.
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
private String language;
|
2021-11-15 14:32:01 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* NLM controlled vocabulary, Medical Subject Headings (MeSH®), is used to characterize the content of the articles represented by MEDLINE citations. *
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
private final List<PMSubject> subjects = new ArrayList<>();
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* This element is used to identify the type of article indexed for MEDLINE;
|
|
|
|
* it characterizes the nature of the information or the manner in which it is conveyed as well as the type of
|
|
|
|
* research support received (e.g., Review, Letter, Retracted Publication, Clinical Conference, Research Support, N.I.H., Extramural).
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
private final List<PMSubject> publicationTypes = new ArrayList<>();
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* Personal and collective (corporate) author names published with the article are found in <AuthorList>.
|
|
|
|
*/
|
2021-06-16 14:56:24 +02:00
|
|
|
private List<PMAuthor> authors = new ArrayList<>();
|
2021-05-04 14:54:12 +02:00
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* <GrantID> contains the research grant or contract number (or both) that designates financial support by any agency of the United States Public Health Service
|
|
|
|
* or any institute of the National Institutes of Health. Additionally, beginning in late 2005, grant numbers are included for many other US and non-US funding agencies and organizations.
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
private final List<PMGrant> grants = new ArrayList<>();
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* get the DOI
|
|
|
|
* @return a DOI
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
public String getDoi() {
|
|
|
|
return doi;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* Set the DOI
|
|
|
|
* @param doi a DOI
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
public void setDoi(String doi) {
|
|
|
|
this.doi = doi;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* get the Pubmed Identifier
|
|
|
|
* @return the PMID
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public String getPmid() {
|
|
|
|
return pmid;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* set the Pubmed Identifier
|
|
|
|
* @param pmid the Pubmed Identifier
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public void setPmid(String pmid) {
|
|
|
|
this.pmid = pmid;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* the Pubmed Date extracted from <PubmedPubDate> Specifies a date significant to either the article's history or the citation's processing.
|
|
|
|
* All <History> dates will have a <Year>, <Month>, and <Day> elements. Some may have an <Hour>, <Minute>, and <Second> element(s).
|
|
|
|
*
|
|
|
|
* @return the Pubmed Date
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public String getDate() {
|
|
|
|
return date;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* Set the pubmed Date
|
|
|
|
* @param date
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public void setDate(String date) {
|
|
|
|
this.date = date;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* The full journal title (taken from NLM cataloging data following NLM rules for how to compile a serial name) is exported in this element.
|
2022-07-13 15:27:17 +02:00
|
|
|
* Some characters that are not part of the NLM MEDLINE/PubMed Character Set reside in a relatively small number of full journal titles.
|
2021-11-15 14:32:01 +01:00
|
|
|
* The NLM journal title abbreviation is exported in the <MedlineTA> element.
|
|
|
|
*
|
|
|
|
* @return the pubmed Journal Extracted
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public PMJournal getJournal() {
|
|
|
|
return journal;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* Set the mapped pubmed Journal
|
|
|
|
* @param journal
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public void setJournal(PMJournal journal) {
|
|
|
|
this.journal = journal;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
2022-07-13 15:27:17 +02:00
|
|
|
* <ArticleTitle> contains the entire title of the journal article. <ArticleTitle> is always in English;
|
|
|
|
* those titles originally published in a non-English language and translated for <ArticleTitle> are enclosed in square brackets.
|
|
|
|
* All titles end with a period unless another punctuation mark such as a question mark or bracket is present.
|
|
|
|
* Explanatory information about the title itself is enclosed in parentheses, e.g.: (author's transl).
|
|
|
|
* Corporate/collective authors may appear at the end of <ArticleTitle> for citations up to about the year 2000.
|
2021-11-15 14:32:01 +01:00
|
|
|
*
|
|
|
|
* @return the extracted pubmed Title
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public String getTitle() {
|
|
|
|
return title;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* set the pubmed title
|
|
|
|
* @param title
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public void setTitle(String title) {
|
|
|
|
this.title = title;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* English-language abstracts are taken directly from the published article.
|
|
|
|
* If the article does not have a published abstract, the National Library of Medicine does not create one,
|
|
|
|
* thus the record lacks the <Abstract> and <AbstractText> elements. However, in the absence of a formally
|
|
|
|
* labeled abstract in the published article, text from a substantive "summary", "summary and conclusions" or "conclusions and summary" may be used.
|
|
|
|
*
|
|
|
|
* @return the Mapped Pubmed Article Abstracts
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public String getDescription() {
|
|
|
|
return description;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* Set the Mapped Pubmed Article Abstracts
|
|
|
|
* @param description
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public void setDescription(String description) {
|
|
|
|
this.description = description;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* Personal and collective (corporate) author names published with the article are found in <AuthorList>.
|
|
|
|
*
|
|
|
|
* @return get the Mapped Authors lists
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public List<PMAuthor> getAuthors() {
|
|
|
|
return authors;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* Set the Mapped Authors lists
|
|
|
|
* @param authors
|
|
|
|
*/
|
2020-07-10 14:44:50 +02:00
|
|
|
public void setAuthors(List<PMAuthor> authors) {
|
|
|
|
this.authors = authors;
|
|
|
|
}
|
2021-05-04 14:54:12 +02:00
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
* This element is used to identify the type of article indexed for MEDLINE;
|
|
|
|
* it characterizes the nature of the information or the manner in which it is conveyed as well as the type of
|
|
|
|
* research support received (e.g., Review, Letter, Retracted Publication, Clinical Conference, Research Support, N.I.H., Extramural).
|
|
|
|
*
|
|
|
|
* @return the mapped Subjects
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
public List<PMSubject> getSubjects() {
|
|
|
|
return subjects;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* the language in which an article was published is recorded in <Language>.
|
|
|
|
* All entries are three letter abbreviations stored in lower case, such as eng, fre, ger, jpn, etc. When a single
|
|
|
|
* record contains more than one language value the XML export program extracts the languages in alphabetic order by the 3-letter language value.
|
|
|
|
* Some records provided by collaborating data producers may contain the value und to identify articles whose language is undetermined.
|
|
|
|
*
|
|
|
|
* @return The mapped Language
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
public String getLanguage() {
|
|
|
|
return language;
|
|
|
|
}
|
|
|
|
|
2021-11-15 14:32:01 +01:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
* Set The mapped Language
|
|
|
|
*
|
|
|
|
* @param language the mapped Language
|
|
|
|
*/
|
2021-05-04 14:54:12 +02:00
|
|
|
public void setLanguage(String language) {
|
|
|
|
this.language = language;
|
|
|
|
}
|
2021-11-15 14:32:01 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This element is used to identify the type of article indexed for MEDLINE;
|
|
|
|
* it characterizes the nature of the information or the manner in which it is conveyed as well as the type of
|
|
|
|
* research support received (e.g., Review, Letter, Retracted Publication, Clinical Conference, Research Support, N.I.H., Extramural).
|
|
|
|
*
|
|
|
|
* @return the mapped Publication Type
|
|
|
|
*/
|
|
|
|
public List<PMSubject> getPublicationTypes() {
|
|
|
|
return publicationTypes;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* <GrantID> contains the research grant or contract number (or both) that designates financial support by any agency of the United States Public Health Service
|
|
|
|
* or any institute of the National Institutes of Health. Additionally, beginning in late 2005, grant numbers are included for many other US and non-US funding agencies and organizations.
|
|
|
|
* @return the mapped grants
|
|
|
|
*/
|
|
|
|
|
|
|
|
public List<PMGrant> getGrants() {
|
|
|
|
return grants;
|
|
|
|
}
|
2022-07-13 15:27:17 +02:00
|
|
|
|
|
|
|
public String getPmcId() {
|
|
|
|
return pmcId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public PMArticle setPmcId(String pmcId) {
|
|
|
|
this.pmcId = pmcId;
|
|
|
|
return this;
|
|
|
|
}
|
2020-07-10 14:44:50 +02:00
|
|
|
}
|