@phema/cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
306 lines (222 loc) • 7.78 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DomainResource, Element, ElementDefinition, Extension, HumanName, Identifier, Narrative, Organization, OrganizationContactComponent, 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 OrganizationContactComponent
@exports OrganizationContactComponent as OrganizationContactComponent
*/
OrganizationContactComponent = (function(superClass) {
extend(OrganizationContactComponent, superClass);
function OrganizationContactComponent(json) {
this.json = json;
OrganizationContactComponent.__super__.constructor.call(this, this.json);
}
/**
Indicates a purpose for which the contact can be reached.
@returns {CodeableConcept}
*/
OrganizationContactComponent.prototype.purpose = function() {
if (this.json['purpose']) {
return new CodeableConcept(this.json['purpose']);
}
};
/**
A name associated with the contact.
@returns {HumanName}
*/
OrganizationContactComponent.prototype.name = function() {
if (this.json['name']) {
return new HumanName(this.json['name']);
}
};
/**
A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
@returns {Array} an array of {@link ContactPoint} objects
*/
OrganizationContactComponent.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;
}
};
/**
Visiting or postal addresses for the contact.
@returns {Address}
*/
OrganizationContactComponent.prototype.address = function() {
if (this.json['address']) {
return new Address(this.json['address']);
}
};
/**
Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.
@returns {Array} an array of {@link String} objects
*/
OrganizationContactComponent.prototype.gender = function() {
return this.json['gender'];
};
return OrganizationContactComponent;
})(BackboneElement);
/**
A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
@class Organization
@exports Organization as Organization
*/
Organization = (function(superClass) {
extend(Organization, superClass);
function Organization(json) {
this.json = json;
Organization.__super__.constructor.call(this, this.json);
}
/**
Identifier for the organization that is used to identify the organization across multiple disparate systems.
@returns {Array} an array of {@link Identifier} objects
*/
Organization.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 name associated with the organization.
@returns {Array} an array of {@link String} objects
*/
Organization.prototype.name = function() {
return this.json['name'];
};
/**
The kind of organization that this is.
@returns {CodeableConcept}
*/
Organization.prototype.type = function() {
if (this.json['type']) {
return new CodeableConcept(this.json['type']);
}
};
/**
A contact detail for the organization.
@returns {Array} an array of {@link ContactPoint} objects
*/
Organization.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;
}
};
/**
An address for the organization.
@returns {Array} an array of {@link Address} objects
*/
Organization.prototype.address = function() {
var i, item, len, ref, results;
if (this.json['address']) {
ref = this.json['address'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Address(item));
}
return results;
}
};
/**
The organization of which this organization forms a part.
@returns {Reference}
*/
Organization.prototype.partOf = function() {
if (this.json['partOf']) {
return new Reference(this.json['partOf']);
}
};
/**
Contact for the organization for a certain purpose.
@returns {Array} an array of {@link OrganizationContactComponent} objects
*/
Organization.prototype.contact = function() {
var i, item, len, ref, results;
if (this.json['contact']) {
ref = this.json['contact'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new OrganizationContactComponent(item));
}
return results;
}
};
/**
Location(s) the organization uses to provide services.
@returns {Array} an array of {@link Reference} objects
*/
Organization.prototype.location = function() {
var i, item, len, ref, results;
if (this.json['location']) {
ref = this.json['location'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Reference(item));
}
return results;
}
};
/**
Whether the organization's record is still in active use.
@returns {Array} an array of {@link boolean} objects
*/
Organization.prototype.active = function() {
return this.json['active'];
};
return Organization;
})(DomainResource);
module.exports.Organization = Organization;
}).call(this);
//# sourceMappingURL=organization.js.map