cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
231 lines (159 loc) • 6.12 kB
JavaScript
// Generated by CoffeeScript 1.9.3
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, Coverage, DT, DomainResource, Element, ElementDefinition, Extension, 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;
/**
Financial instrument which may be used to pay for or reimburse for health care products and services.
@class Coverage
@exports Coverage as Coverage
*/
Coverage = (function(superClass) {
extend(Coverage, superClass);
function Coverage(json) {
this.json = json;
Coverage.__super__.constructor.call(this, this.json);
}
/**
The program or plan underwriter or payor.
@returns {Reference}
*/
Coverage.prototype.issuer = function() {
if (this.json['issuer']) {
return new Reference(this.json['issuer']);
}
};
/**
Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.
@returns {Period}
*/
Coverage.prototype.period = function() {
if (this.json['period']) {
return new Period(this.json['period']);
}
};
/**
The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health.
@returns {Coding}
*/
Coverage.prototype.type = function() {
if (this.json['type']) {
return new Coding(this.json['type']);
}
};
/**
The main (and possibly only) identifier for the coverage - often referred to as a Subscriber Id, Certificate number or Personal Health Number or Case ID.
@returns {Array} an array of {@link Identifier} objects
*/
Coverage.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;
}
};
/**
Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
@returns {Array} an array of {@link String} objects
*/
Coverage.prototype.group = function() {
return this.json['group'];
};
/**
Identifies a style or collective of coverage issues by the underwriter, for example may be used to identify a class of coverage or employer group. May also be referred to as a Policy or Group ID.
@returns {Array} an array of {@link String} objects
*/
Coverage.prototype.plan = function() {
return this.json['plan'];
};
/**
Identifies a sub-style or sub-collective of coverage issues by the underwriter, for example may be used to identify a specific employer group within a class of employers. May be referred to as a Section or Division ID.
@returns {Array} an array of {@link String} objects
*/
Coverage.prototype.subplan = function() {
return this.json['subplan'];
};
/**
A unique identifier for a dependent under the coverage.
@returns {Array} an array of {@link Number} objects
*/
Coverage.prototype.dependent = function() {
return this.json['dependent'];
};
/**
An optional counter for a particular instance of the identified coverage which increments upon each renewal.
@returns {Array} an array of {@link Number} objects
*/
Coverage.prototype.sequence = function() {
return this.json['sequence'];
};
/**
The party who 'owns' the insurance contractual relationship to the policy or to whom the benefit of the policy is due.
@returns {Reference}
*/
Coverage.prototype.subscriber = function() {
if (this.json['subscriber']) {
return new Reference(this.json['subscriber']);
}
};
/**
The identifier for a community of providers.
@returns {Identifier}
*/
Coverage.prototype.network = function() {
if (this.json['network']) {
return new Identifier(this.json['network']);
}
};
/**
The policy(s) which constitute this insurance coverage.
@returns {Array} an array of {@link Reference} objects
*/
Coverage.prototype.contract = function() {
var i, item, len, ref, results;
if (this.json['contract']) {
ref = this.json['contract'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Reference(item));
}
return results;
}
};
return Coverage;
})(DomainResource);
module.exports.Coverage = Coverage;
}).call(this);
//# sourceMappingURL=coverage.js.map