bluebutton
Version:
BlueButton.js helps developers navigate complex health data with ease.
56 lines (42 loc) • 1.26 kB
JavaScript
/*
* Parser for the C32 vitals section
*/
Parsers.C32.vitals = function (c32) {
var parseDate = Documents.parseDate;
var parseName = Documents.parseName;
var parseAddress = Documents.parseAddress;
var data = [], el;
var vitals = c32.section('vitals');
vitals.entries().each(function(entry) {
el = entry.tag('effectiveTime');
var entry_date = parseDate(el.attr('value'));
var result;
var results = entry.elsByTag('component');
var results_data = [];
for (var j = 0; j < results.length; j++) {
result = results[j];
// Results
el = result.tag('code');
var name = el.attr('displayName'),
code = el.attr('code'),
code_system = el.attr('codeSystem'),
code_system_name = el.attr('codeSystemName');
el = result.tag('value');
var value = parseFloat(el.attr('value')),
unit = el.attr('unit');
results_data.push({
name: name,
code: code,
code_system: code_system,
code_system_name: code_system_name,
value: value,
unit: unit
});
}
data.push({
date: entry_date,
results: results_data
});
});
return data;
};