Releases: blue-button/bluebutton.js
0.4.2
0.4.1
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)
- thanks to @obalyuk87 for reporting
- 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)
- thanks to @ufl-taeber for reporting
- 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
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
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
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
- Breaking API change: the
labs
section has been renamed toresults
(mostly for consistency with general documentation - see #74)- That section contained a list called
results
, which is nowtests
- That section contained a list called
- 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 theimmunizations
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
, anddose_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
- Breaking API change: encounter
finding
is now a list calledfindings
- 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