Skip to content
This repository has been archived by the owner on Dec 1, 2017. It is now read-only.

Releases: blue-button/bluebutton.js

0.4.2

06 Sep 00:47
Compare
Choose a tag to compare

A couple of bug fixes:

  1. Improved resilience when parsing XML files without an appropriate XML header (c0ddfbc)
  2. Populate a procedure's specimen data if it's available (9a13a73)

0.4.1

26 Apr 23:34
Compare
Choose a tag to compare

There should not be any backwards incompatibilities from 0.3.0, but there are some places where the data parsed for the same field in the same CCDA may change.

Parser changes:

  • Fixed a bug that led to some CCDA vitals, medication, and results sections being completely ignored (see #125)
  • Include translation data for results (may be used for other code systems besides LOINC)
  • Include the document title
    • thanks to @anmolagar for contributing code for both of these
  • Time precision is no longer lost if a source specifically provides a datetime with a zero time (midnight; see #133)
  • Include the HL7 code for guardian relationships
  • Correct the data being parsed as the "drug vehicle" for medications
  • Correct the data being parsed as the "device" for procedures (see #17)
  • Unescape special XML/HTML characters (e.g., "<")
  • Parse non-numeric result values
  • Add free-text medication names, which sometimes contains data not found anywhere else in the med data (product.text)
  • Falls back to text fields when structured data is missing much more often and does a better job parsing text fields which reference data from HTML tables
    • thanks to @Smcner for reporting lots of fall downs

Generator changes:

  • Many more data elements in the BB JSON are now supported by the generator, including drug vehicle, problem translation, problem age, and result reference range
  • Better handling for some optional fields that were being treated as mandatory
  • Now properly handles non-numeric result values
  • Tests that will break on an ongoing basis if new data is added to the parser without being added to the generator

0.3.0

15 Feb 02:05
Compare
Choose a tag to compare

Potential breaking change: BB.js now successfully provides datetimes instead of just dates more often. Which means higher data integrity / better parsing! But the JSON format for our datetimes (YYYY-MM-DDThh:mm:ssZ) differs from the format for our dates (MM/DD/YYYY)**, so programs upstream of BB.js might break, if they were depending on receiving a string in the latter format.

** See #123 for the discussion about why we use the latter for pure dates

0.2.2

09 Jan 18:56
Compare
Choose a tag to compare

bluebutton.js was broken for anyone who recently installed it, because the package.json said to download the latest version of ejs available, but ejs 2.0 appears to be incompatible with our code (it deprecated filters, which our generator relies on a lot).

(For contributors, running the tests was also broken if you didn't happen to already have old copies of the dependencies installed. That should be fixed now too.)

0.2.1

01 Nov 21:57
Compare
Choose a tag to compare

A minor update to enable BB.js to function properly as a parser when EJS (the templating library used to enable generation) isn't available

0.2.0

01 Nov 21:09
Compare
Choose a tag to compare
  • Breaking API change: the labs section has been renamed to results (mostly for consistency with general documentation - see #74)
    • That section contained a list called results, which is now tests
  • Breaking API change: Declined/rejected immunizations are now recognized as such and have their own section (called immunization_declines). Examples would previously have showed up in the immunizations section but won't anymore. (see #111)
    • Generation ignores these right now
  • Node uses xmldom instead of jsdom for parsing now (should be ~10x faster)
  • Parses free-text from reference/content tags, which is especially common for medication signatures and primarily unstructured sections like patient instructions
  • Tweaks to improve the parsing of a number of real-world files
  • Other parsing improvements and bug fixes including:
    • catch more smoking statuses
    • parse streetAddress nullFlavor="NI" as [] instead of [null]
    • add lot_number, manufacturer_name, and dose_quantity to immunizations
  • Other generation improvements and bug fixes including:
    • Problems were always being output with a SNOMED indicating they were "active", regardless of the status passed in. Now we properly understand active/inactive/resolved
    • Add those immunization fields to what you can export
    • Null dates turn into a nullFlavor, not the unix time 0
    • Improved robustness in several spots (a wider range of data will still produce a valid CCDA)

0.1.0

23 May 18:45
Compare
Choose a tag to compare
  • Breaking API change: encounter finding is now a list called findings
  • Breaking API change: pure dates are now output in the JSON as date strings (like "04/27/2014") instead of local-timezone midnight datetimes (like "2014-04-27T08:00:00.000Z"). Datetimes are still output the same way.
  • Major new feature: C-CDA generation from BB JSON
  • Lots of additions to the parser, including:
    • smoking status
    • cognitive/functional statuses
    • medication schedule (the "time" component of a sig)
    • document author metadata
  • Fixed a bug that resulted in valid C-CDAs built on one of the eight templates besides ContinuityOfCareDocument failing to parse
  • Lots of internal work to clean up code organization / improve the test suite

0.0.19

22 Apr 16:09
Compare
Choose a tag to compare
Updating sandbox link