Closed peetucket closed 9 months ago
WoS REST client has been creating bad PMIDs.
Find all publications in last 5 months that have a publication identifer of type 'pmid' that starts with 'MEDLINE:':
pubs = PublicationIdentifier.where(identifier_type:'pmid').where('created_at > ?', Date.today - 5.months).filter_map {|pub| {pub_id: pub.publication_id, pmid: pub.identifier_value} if pub.identifier_value.starts_with?('MEDLINE:')}
Then remediate by removing MEDLINE prefix and updating pub hash for publication.
pubs.each do |pub| identifier = PublicationIdentifier.find_by(publication_id: pub[:pub_id], identifier_type: 'pmid') id_result = identifier.update(identifier_value: identifier.identifier_value.delete_prefix('MEDLINE:'), identifier_uri: identifier.identifier_uri.gsub('MEDLINE:','')) identifier.pub_hash_update pub_result = identifier.publication.save puts " #{pub[:pub_id]} : #{id_result} : #{pub_result}" end
Because of #1655
WoS REST client has been creating bad PMIDs.
Find all publications in last 5 months that have a publication identifer of type 'pmid' that starts with 'MEDLINE:':
Then remediate by removing MEDLINE prefix and updating pub hash for publication.