Expand description
PubMed identifiers (#500, ADR-0061): a PMID or PMCID is resolved to the DOI PubMed lists for it, and the paper is then fetched, cited and stored under that DOI like any other.
A PubMed-identified entry used to be reported and left: “identified only
by PMID, which doiget cannot resolve yet”. It is now an alias. The store
identity stays the DOI, so no safekey class, no Ref variant and no
store layout change: the id is looked up once, through NCBI E-utilities
(esummary.fcgi, db=pubmed for a PMID, db=pmc for a PMCID), and the
articleids[] entry with idtype == "doi" is the answer. A record with
no DOI there is reported as such, never guessed from.
NCBI’s usage guidance (NBK25497): at most 3 requests a second without an
API key, which is tighter than doiget’s global cap and therefore a
crate::SOURCE_RATE_OVERRIDES entry; tool and email identify the
caller and are sent (the email only when one is configured). doiget sends
no API key, so the 10-a-second keyed rate is never assumed.
Structs§
- Digits
- The numeric part of a PubMed id: 1 to 12 ASCII digits. Only
PubmedId::parseandPubmedId::from_kindmake one, so aPubmedIdalways holds a valid id (#649 review). - Unresolved
- A bibliography entry PubMed could not turn into a DOI.
Enums§
- Lookup
- What PubMed says about an id.
- Pubmed
Id - A PubMed identifier.
- Resolved
- One bibliography entry after PubMed resolution.
Constants§
- NCBI
- HTTP and rate-limiter source key for NCBI E-utilities.
- NCBI_
BASE_ ENV - Base-URL override for
NCBI.
Functions§
- lookup
- Ask NCBI E-utilities for the DOI of
id. - lookup_
in_ session lookupas its own logged session:session_startbefore andsession_endafter, for a caller whose context exists only for the lookup – so itsresolverow is bracketed like every other call’s.- resolve_
entries - Resolve every PMID / PMCID entry of a parsed bibliography to its DOI, leaving every other entry as it was. One request per PubMed id, at NCBI’s rate.
- resolve_
entries_ in_ session resolve_entriesas its own logged session (seelookup_in_session).