UNPKG

cql-execution

Version:

An execution framework for the Clinical Quality Language (CQL)

105 lines (91 loc) 4.32 kB
// Generated by CoffeeScript 1.12.7 (function() { var CodeDef, CodeSystemDef, ConceptDef, ExpressionDef, FunctionDef, Library, ParameterDef, Results, ValueSetDef, ref; module.exports.Library = Library = (function() { function Library(json, libraryManager) { var code, codesystem, concept, expr, i, j, k, l, len, len1, len2, len3, len4, len5, len6, len7, m, n, o, p, param, ref, ref1, ref10, ref11, ref12, ref13, ref14, ref15, ref16, ref17, ref18, ref19, ref2, ref20, ref21, ref22, ref23, ref3, ref4, ref5, ref6, ref7, ref8, ref9, u, valueset; this.source = json; this.usings = []; ref2 = (ref = (ref1 = json.library.usings) != null ? ref1.def : void 0) != null ? ref : []; for (i = 0, len = ref2.length; i < len; i++) { u = ref2[i]; if (u.localIdentifier !== "System") { this.usings.push({ "name": u.localIdentifier, "version": u.version }); } } this.parameters = {}; ref5 = (ref3 = (ref4 = json.library.parameters) != null ? ref4.def : void 0) != null ? ref3 : []; for (j = 0, len1 = ref5.length; j < len1; j++) { param = ref5[j]; this.parameters[param.name] = new ParameterDef(param); } this.codesystems = {}; ref8 = (ref6 = (ref7 = json.library.codeSystems) != null ? ref7.def : void 0) != null ? ref6 : []; for (k = 0, len2 = ref8.length; k < len2; k++) { codesystem = ref8[k]; this.codesystems[codesystem.name] = new CodeSystemDef(codesystem); } this.valuesets = {}; ref11 = (ref9 = (ref10 = json.library.valueSets) != null ? ref10.def : void 0) != null ? ref9 : []; for (l = 0, len3 = ref11.length; l < len3; l++) { valueset = ref11[l]; this.valuesets[valueset.name] = new ValueSetDef(valueset); } this.codes = {}; ref14 = (ref12 = (ref13 = json.library.codes) != null ? ref13.def : void 0) != null ? ref12 : []; for (m = 0, len4 = ref14.length; m < len4; m++) { code = ref14[m]; this.codes[code.name] = new CodeDef(code); } this.concepts = {}; ref17 = (ref15 = (ref16 = json.library.concepts) != null ? ref16.def : void 0) != null ? ref15 : []; for (n = 0, len5 = ref17.length; n < len5; n++) { concept = ref17[n]; this.concepts[concept.name] = new ConceptDef(concept); } this.expressions = {}; ref20 = (ref18 = (ref19 = json.library.statements) != null ? ref19.def : void 0) != null ? ref18 : []; for (o = 0, len6 = ref20.length; o < len6; o++) { expr = ref20[o]; this.expressions[expr.name] = expr.type === "FunctionDef" ? new FunctionDef(expr) : new ExpressionDef(expr); } this.includes = {}; ref23 = (ref21 = (ref22 = json.library.includes) != null ? ref22.def : void 0) != null ? ref21 : []; for (p = 0, len7 = ref23.length; p < len7; p++) { expr = ref23[p]; if (libraryManager) { this.includes[expr.localIdentifier] = libraryManager.resolve(expr.path, expr.version); } } } Library.prototype.get = function(identifier) { return this.expressions[identifier] || this.includes[identifier]; }; Library.prototype.getValueSet = function(identifier, libraryName) { var ref; if (this.valuesets[identifier] != null) { return this.valuesets[identifier]; } return (ref = this.includes[libraryName]) != null ? ref.valuesets[identifier] : void 0; }; Library.prototype.getCodeSystem = function(identifier) { return this.codesystems[identifier]; }; Library.prototype.getCode = function(identifier) { return this.codes[identifier]; }; Library.prototype.getConcept = function(identifier) { return this.concepts[identifier]; }; Library.prototype.getParameter = function(name) { return this.parameters[name]; }; return Library; })(); ref = require('./expressions'), ExpressionDef = ref.ExpressionDef, FunctionDef = ref.FunctionDef, ParameterDef = ref.ParameterDef, ValueSetDef = ref.ValueSetDef, CodeSystemDef = ref.CodeSystemDef, CodeDef = ref.CodeDef, ConceptDef = ref.ConceptDef; Results = require('../runtime/results').Results; }).call(this); //# sourceMappingURL=library.js.map