Skip to content

ldbib/MEDLINEXMLToJSON

Repository files navigation

MEDLINEXMLToJSON

MEDLINEXMLToJSON is a Node.js application designed for MEDLINE®/PubMed® Data licensees to download and convert the MEDLINE®/PubMed® XML data into a JSON format.

We are in no way affiliated with MEDLINE® or PubMed®. We're only a MEDLINE® licensed library that want to share this software with the public so that anyone with a MEDLINE license can easier utilize MEDLINE® metadata for improving healthcare.

Wikipedia has an article regarding MEDLINE® here https://en.wikipedia.org/wiki/MEDLINE and PubMed here https://en.wikipedia.org/wiki/PubMed

The U.S. National Library of Medicine have a page about MEDLINE® here http://www.nlm.nih.gov/pubs/factsheets/medline.html

It's developed for the 2014 version of the MEDLINE® XML DTD (Document type definition).

Dependencies

The only dependency is the XML parser sax by Isaac Z. Schlueter.

Installation

npm install medlinexmltojson

Example usage

Simple example

var medline2json = require("medlinexmltojson");

medline2json.parse("myxmlfile.xml", function(err, json) {
	// err is a string saying what's wrong. It's null if there's not an error.
	// json is the json string. It's null if there's an error.
});

Stream example

var medline2json = require("medlinexmltojson"),
	fs = require("fs");

medline2json.parse(fs.createReadStream("./myxmlfile.xml"), function(err, json) {
	// err is a string saying what's wrong. It's null if there's not an error.
	// json is the json string. It's null if there's an error.
});

Stream example with gzipping

var medline2json = require("medlinexmltojson"),
	fs = require("fs"),
	zlib = require('zlib'),
	gzip = zlib.createGunzip();

medline2json.parse(fs.createReadStream("./myxmlfile.xml.gz").pipe(gzip), function(err, json) {
	// err is a string saying what's wrong. It's null if there's not an error.
	// json is the json string. It's null if there's an error.
});

Continous "streaming" of JSON example

var medline2json = require("medlinexmltojson");

medline2json.parse("myxmlfile.xml", true, function(err, json) {
	// Callback will be run as many times as there are MEDLINE data in the XML file.
});

License

This project is released under the terms of the GNU AGPL version 3

Author

Emil Hemdal

Changelog

Version 1.2.1 - 20th of August 2014

Made numbers actual numbers in the JSON string instead of everything being strings.

Version 1.2.0 - 19th of August 2014

Added optional alternative callback functionality to continously call callback with each MEDLINE entry in JSON instead of all the JSON at once.

Version 1.1.0 - 15th of August 2014

Added data streaming functionality. Improved test.

Version 1.0.1 - 6th of August 2014

Changed to 1.0.1 to make npm less grumpy with publishing under the same version.

Version 1.0 - 6th of August 2014

Test added. Can and should be used as a module. Moved around files. Added an extensive test xml that contains a lot of the different possibilites that the MEDLINE® XML file could contain.

Version 0.1 - 30th of July 2014

Basic usage with example file. Can not be used as a module yet!

About

This software converts the MEDLINE XML format to a JSON format.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published