UNPKG

cql-execution

Version:

An execution framework for the Clinical Quality Language (CQL)

72 lines (62 loc) 1.96 kB
// Generated by CoffeeScript 1.9.3 (function() { var Code, CodeService, ValueSet, ref; ref = require('./datatypes/datatypes'), Code = ref.Code, ValueSet = ref.ValueSet; CodeService = (function() { function CodeService(valueSetsJson) { var code, codes, oid, version; if (valueSetsJson == null) { valueSetsJson = {}; } this.valueSets = {}; for (oid in valueSetsJson) { this.valueSets[oid] = {}; for (version in valueSetsJson[oid]) { codes = (function() { var i, len, ref1, results1; ref1 = valueSetsJson[oid][version]; results1 = []; for (i = 0, len = ref1.length; i < len; i++) { code = ref1[i]; results1.push(new Code(code.code, code.system, code.version)); } return results1; })(); this.valueSets[oid][version] = new ValueSet(oid, version, codes); } } } CodeService.prototype.findValueSetsByOid = function(oid) { var ref1, results1, valueSet, version; ref1 = this.valueSets[oid]; results1 = []; for (version in ref1) { valueSet = ref1[version]; results1.push(valueSet); } return results1; }; CodeService.prototype.findValueSet = function(oid, version) { var ref1, results; if (version != null) { return (ref1 = this.valueSets[oid]) != null ? ref1[version] : void 0; } else { results = this.findValueSetsByOid(oid); if (results.length === 0) { return null; } else { return results.reduce(function(a, b) { if (a.version > b.version) { return a; } else { return b; } }); } } }; return CodeService; })(); module.exports.CodeService = CodeService; }).call(this); //# sourceMappingURL=cql-code-service.js.map