@phema/cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
349 lines (247 loc) • 9.6 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DomainResource, Element, ElementDefinition, Extension, ExtensionDefinition, ExtensionDefinitionMappingComponent, HumanName, Identifier, Narrative, Parameters, Period, Quantity, Range, Ratio, Reference, Resource, SampledData, Timing,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
DT = require('../cql-datatypes');
CORE = require('./core');
Element = CORE.Element;
Resource = CORE.Resource;
Timing = CORE.Timing;
Period = CORE.Period;
Parameters = CORE.Parameters;
Coding = CORE.Coding;
Resource = CORE.Resource;
Range = CORE.Range;
Quantity = CORE.Quantity;
Attachment = CORE.Attachment;
BackboneElement = CORE.BackboneElement;
DomainResource = CORE.DomainResource;
ContactPoint = CORE.ContactPoint;
ElementDefinition = CORE.ElementDefinition;
Extension = CORE.Extension;
HumanName = CORE.HumanName;
Address = CORE.Address;
Ratio = CORE.Ratio;
SampledData = CORE.SampledData;
Reference = CORE.Reference;
CodeableConcept = CORE.CodeableConcept;
Identifier = CORE.Identifier;
Narrative = CORE.Narrative;
Element = CORE.Element;
/**
Embedded class
@class ExtensionDefinitionMappingComponent
@exports ExtensionDefinitionMappingComponent as ExtensionDefinitionMappingComponent
*/
ExtensionDefinitionMappingComponent = (function(superClass) {
extend(ExtensionDefinitionMappingComponent, superClass);
function ExtensionDefinitionMappingComponent(json) {
this.json = json;
ExtensionDefinitionMappingComponent.__super__.constructor.call(this, this.json);
}
/**
An Internal id that is used to identify this mapping set when specific mappings are made.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinitionMappingComponent.prototype.identity = function() {
return this.json['identity'];
};
/**
A URI that identifies the specification that this mapping is expressed to.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinitionMappingComponent.prototype.uri = function() {
return this.json['uri'];
};
/**
A name for the specification that is being mapped to.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinitionMappingComponent.prototype.name = function() {
return this.json['name'];
};
/**
Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinitionMappingComponent.prototype.comments = function() {
return this.json['comments'];
};
return ExtensionDefinitionMappingComponent;
})(BackboneElement);
/**
Defines an extension that can be used in resources.
@class ExtensionDefinition
@exports ExtensionDefinition as ExtensionDefinition
*/
ExtensionDefinition = (function(superClass) {
extend(ExtensionDefinition, superClass);
function ExtensionDefinition(json) {
this.json = json;
ExtensionDefinition.__super__.constructor.call(this, this.json);
}
/**
The URL at which this definition is (or will be) published, and which is used to reference this profile in extension urls in operational FHIR systems.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.url = function() {
return this.json['url'];
};
/**
Formal identifier that is used to identify this profile when it is represented in other formats (e.g. ISO 11179(, or referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI), (if it's not possible to use the literal URI).
@returns {Array} an array of {@link Identifier} objects
*/
ExtensionDefinition.prototype.identifier = function() {
var i, item, len, ref, results;
if (this.json['identifier']) {
ref = this.json['identifier'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Identifier(item));
}
return results;
}
};
/**
A free text natural language name identifying the extension.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.name = function() {
return this.json['name'];
};
/**
Defined so that applications can use this name when displaying the value of the extension to the user.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.display = function() {
return this.json['display'];
};
/**
Details of the individual or organization who accepts responsibility for publishing the extension definition.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.publisher = function() {
return this.json['publisher'];
};
/**
Contact details to assist a user in finding and communicating with the publisher.
@returns {Array} an array of {@link ContactPoint} objects
*/
ExtensionDefinition.prototype.telecom = function() {
var i, item, len, ref, results;
if (this.json['telecom']) {
ref = this.json['telecom'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new ContactPoint(item));
}
return results;
}
};
/**
A free text natural language description of the extension and its use.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.description = function() {
return this.json['description'];
};
/**
A set of terms from external terminologies that may be used to assist with indexing and searching of extension definitions.
@returns {Array} an array of {@link Coding} objects
*/
ExtensionDefinition.prototype.code = function() {
var i, item, len, ref, results;
if (this.json['code']) {
ref = this.json['code'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Coding(item));
}
return results;
}
};
/**
The status of the extension.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.status = function() {
return this.json['status'];
};
/**
This extension definition was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.
@returns {Array} an array of {@link boolean} objects
*/
ExtensionDefinition.prototype.experimental = function() {
return this.json['experimental'];
};
/**
The date that this version of the extension was published.
@returns {Array} an array of {@link Date} objects
*/
ExtensionDefinition.prototype.date = function() {
if (this.json['date']) {
return DT.DateTime.parse(this.json['date']);
}
};
/**
The Scope and Usage that this extension was created to meet.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.requirements = function() {
return this.json['requirements'];
};
/**
An external specification that the content is mapped to.
@returns {Array} an array of {@link ExtensionDefinitionMappingComponent} objects
*/
ExtensionDefinition.prototype.mapping = function() {
var i, item, len, ref, results;
if (this.json['mapping']) {
ref = this.json['mapping'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new ExtensionDefinitionMappingComponent(item));
}
return results;
}
};
/**
Identifies the type of context to which the extension applies.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.contextType = function() {
return this.json['contextType'];
};
/**
Identifies the types of resource or data type elements to which the extension can be applied.
@returns {Array} an array of {@link String} objects
*/
ExtensionDefinition.prototype.context = function() {
return this.json['context'];
};
/**
Definition of the elements that are defined to be in the extension.
@returns {Array} an array of {@link ElementDefinition} objects
*/
ExtensionDefinition.prototype.element = function() {
var i, item, len, ref, results;
if (this.json['element']) {
ref = this.json['element'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new ElementDefinition(item));
}
return results;
}
};
return ExtensionDefinition;
})(DomainResource);
module.exports.ExtensionDefinition = ExtensionDefinition;
}).call(this);
//# sourceMappingURL=extensiondefinition.js.map