cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
282 lines (195 loc) • 7.17 kB
JavaScript
// Generated by CoffeeScript 1.9.3
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DomainResource, Element, ElementDefinition, Extension, HumanName, Identifier, Location, LocationPositionComponent, 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 LocationPositionComponent
@exports LocationPositionComponent as LocationPositionComponent
*/
LocationPositionComponent = (function(superClass) {
extend(LocationPositionComponent, superClass);
function LocationPositionComponent(json) {
this.json = json;
LocationPositionComponent.__super__.constructor.call(this, this.json);
}
/**
Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).
@returns {Array} an array of {@link Number} objects
*/
LocationPositionComponent.prototype.longitude = function() {
return this.json['longitude'];
};
/**
Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).
@returns {Array} an array of {@link Number} objects
*/
LocationPositionComponent.prototype.latitude = function() {
return this.json['latitude'];
};
/**
Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).
@returns {Array} an array of {@link Number} objects
*/
LocationPositionComponent.prototype.altitude = function() {
return this.json['altitude'];
};
return LocationPositionComponent;
})(BackboneElement);
/**
Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated.
@class Location
@exports Location as Location
*/
Location = (function(superClass) {
extend(Location, superClass);
function Location(json) {
this.json = json;
Location.__super__.constructor.call(this, this.json);
}
/**
Unique code or number identifying the location to its users.
@returns {Array} an array of {@link Identifier} objects
*/
Location.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;
}
};
/**
Name of the location as used by humans. Does not need to be unique.
@returns {Array} an array of {@link String} objects
*/
Location.prototype.name = function() {
return this.json['name'];
};
/**
Description of the Location, which helps in finding or referencing the place.
@returns {Array} an array of {@link String} objects
*/
Location.prototype.description = function() {
return this.json['description'];
};
/**
Indicates the type of function performed at the location.
@returns {CodeableConcept}
*/
Location.prototype.type = function() {
if (this.json['type']) {
return new CodeableConcept(this.json['type']);
}
};
/**
The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.
@returns {Array} an array of {@link ContactPoint} objects
*/
Location.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;
}
};
/**
Physical location.
@returns {Address}
*/
Location.prototype.address = function() {
if (this.json['address']) {
return new Address(this.json['address']);
}
};
/**
Physical form of the location, e.g. building, room, vehicle, road.
@returns {CodeableConcept}
*/
Location.prototype.physicalType = function() {
if (this.json['physicalType']) {
return new CodeableConcept(this.json['physicalType']);
}
};
/**
The absolute geographic location of the Location, expressed in a KML compatible manner (see notes below for KML).
@returns {LocationPositionComponent}
*/
Location.prototype.position = function() {
if (this.json['position']) {
return new LocationPositionComponent(this.json['position']);
}
};
/**
The organization that is responsible for the provisioning and upkeep of the location.
@returns {Reference}
*/
Location.prototype.managingOrganization = function() {
if (this.json['managingOrganization']) {
return new Reference(this.json['managingOrganization']);
}
};
/**
active | suspended | inactive.
@returns {Array} an array of {@link String} objects
*/
Location.prototype.status = function() {
return this.json['status'];
};
/**
Another Location which this Location is physically part of.
@returns {Reference}
*/
Location.prototype.partOf = function() {
if (this.json['partOf']) {
return new Reference(this.json['partOf']);
}
};
/**
Indicates whether a resource instance represents a specific location or a class of locations.
@returns {Array} an array of {@link String} objects
*/
Location.prototype.mode = function() {
return this.json['mode'];
};
return Location;
})(DomainResource);
module.exports.Location = Location;
}).call(this);
//# sourceMappingURL=location.js.map