@phema/cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
319 lines (220 loc) • 8.58 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DomainResource, Element, ElementDefinition, Extension, HumanName, Identifier, NamingSystem, NamingSystemContactComponent, NamingSystemUniqueIdComponent, 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 NamingSystemUniqueIdComponent
@exports NamingSystemUniqueIdComponent as NamingSystemUniqueIdComponent
*/
NamingSystemUniqueIdComponent = (function(superClass) {
extend(NamingSystemUniqueIdComponent, superClass);
function NamingSystemUniqueIdComponent(json) {
this.json = json;
NamingSystemUniqueIdComponent.__super__.constructor.call(this, this.json);
}
/**
Identifies the unique identifier scheme used for this particular identifier.
@returns {Array} an array of {@link String} objects
*/
NamingSystemUniqueIdComponent.prototype.type = function() {
return this.json['type'];
};
/**
The string that should be sent over the wire to identify the code system or identifier system.
@returns {Array} an array of {@link String} objects
*/
NamingSystemUniqueIdComponent.prototype.value = function() {
return this.json['value'];
};
/**
Indicates whether this identifier is the "preferred" identifier of this type.
@returns {Array} an array of {@link boolean} objects
*/
NamingSystemUniqueIdComponent.prototype.preferred = function() {
return this.json['preferred'];
};
/**
Identifies the period of time over which this identifier is considered appropriate to refer to the namingsystem. Outside of this window, the identifier might be non-deterministic.
@returns {Period}
*/
NamingSystemUniqueIdComponent.prototype.period = function() {
if (this.json['period']) {
return new Period(this.json['period']);
}
};
return NamingSystemUniqueIdComponent;
})(BackboneElement);
/**
Embedded class
@class NamingSystemContactComponent
@exports NamingSystemContactComponent as NamingSystemContactComponent
*/
NamingSystemContactComponent = (function(superClass) {
extend(NamingSystemContactComponent, superClass);
function NamingSystemContactComponent(json) {
this.json = json;
NamingSystemContactComponent.__super__.constructor.call(this, this.json);
}
/**
Names of the person who can be contacted.
@returns {HumanName}
*/
NamingSystemContactComponent.prototype.name = function() {
if (this.json['name']) {
return new HumanName(this.json['name']);
}
};
/**
Identifies the mechanism(s) by which they can be contacted.
@returns {Array} an array of {@link ContactPoint} objects
*/
NamingSystemContactComponent.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;
}
};
return NamingSystemContactComponent;
})(BackboneElement);
/**
A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types.
@class NamingSystem
@exports NamingSystem as NamingSystem
*/
NamingSystem = (function(superClass) {
extend(NamingSystem, superClass);
function NamingSystem(json) {
this.json = json;
NamingSystem.__super__.constructor.call(this, this.json);
}
/**
Indicates the purpose for the namingsystem - what kinds of things does it make unique?.
@returns {Array} an array of {@link String} objects
*/
NamingSystem.prototype.type = function() {
return this.json['type'];
};
/**
The descriptive name of this particular identifier type or code system.
@returns {Array} an array of {@link String} objects
*/
NamingSystem.prototype.name = function() {
return this.json['name'];
};
/**
Indicates whether the namingsystem is "ready for use" or not.
@returns {Array} an array of {@link String} objects
*/
NamingSystem.prototype.status = function() {
return this.json['status'];
};
/**
If present, indicates that the identifier or code system is principally intended for use or applies to entities within the specified country. For example, the country associated with a national code system.
@returns {Array} an array of {@link String} objects
*/
NamingSystem.prototype.country = function() {
return this.json['country'];
};
/**
Categorizes a namingsystem for easier search by grouping related namingsystems.
@returns {CodeableConcept}
*/
NamingSystem.prototype.category = function() {
if (this.json['category']) {
return new CodeableConcept(this.json['category']);
}
};
/**
The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.
@returns {Array} an array of {@link String} objects
*/
NamingSystem.prototype.responsible = function() {
return this.json['responsible'];
};
/**
Details about what the namespace identifies including scope, granularity, version labeling, etc.
@returns {Array} an array of {@link String} objects
*/
NamingSystem.prototype.description = function() {
return this.json['description'];
};
/**
Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.
@returns {Array} an array of {@link String} objects
*/
NamingSystem.prototype.usage = function() {
return this.json['usage'];
};
/**
Indicates how the system may be identified when referenced in electronic exchange.
@returns {Array} an array of {@link NamingSystemUniqueIdComponent} objects
*/
NamingSystem.prototype.uniqueId = function() {
var i, item, len, ref, results;
if (this.json['uniqueId']) {
ref = this.json['uniqueId'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new NamingSystemUniqueIdComponent(item));
}
return results;
}
};
/**
The person who can be contacted about this system registration entry.
@returns {NamingSystemContactComponent}
*/
NamingSystem.prototype.contact = function() {
if (this.json['contact']) {
return new NamingSystemContactComponent(this.json['contact']);
}
};
/**
For namingsystems that are retired, indicates the namingsystem that should be used in their place (if any).
@returns {Reference}
*/
NamingSystem.prototype.replacedBy = function() {
if (this.json['replacedBy']) {
return new Reference(this.json['replacedBy']);
}
};
return NamingSystem;
})(DomainResource);
module.exports.NamingSystem = NamingSystem;
}).call(this);
//# sourceMappingURL=namingsystem.js.map