cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
431 lines (311 loc) • 10.1 kB
JavaScript
// Generated by CoffeeScript 1.9.3
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DetailsComponent, DomainResource, Element, ElementDefinition, Extension, HumanName, Identifier, Narrative, NotesComponent, Parameters, PaymentReconciliation, 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 DetailsComponent
@exports DetailsComponent as DetailsComponent
*/
DetailsComponent = (function(superClass) {
extend(DetailsComponent, superClass);
function DetailsComponent(json) {
this.json = json;
DetailsComponent.__super__.constructor.call(this, this.json);
}
/**
Code to indicate the nature of the payment, adjustment, funds advance, etc.
@returns {Coding}
*/
DetailsComponent.prototype.type = function() {
if (this.json['type']) {
return new Coding(this.json['type']);
}
};
/**
The claim or financial resource.
@returns {Reference}
*/
DetailsComponent.prototype.request = function() {
if (this.json['request']) {
return new Reference(this.json['request']);
}
};
/**
The claim response resource.
@returns {Reference}
*/
DetailsComponent.prototype.responce = function() {
if (this.json['responce']) {
return new Reference(this.json['responce']);
}
};
/**
The Organization which submitted the invoice or financial transaction.
@returns {Reference}
*/
DetailsComponent.prototype.submitter = function() {
if (this.json['submitter']) {
return new Reference(this.json['submitter']);
}
};
/**
The organization which is receiving the payment.
@returns {Reference}
*/
DetailsComponent.prototype.payee = function() {
if (this.json['payee']) {
return new Reference(this.json['payee']);
}
};
/**
The date of the invoice or financial resource.
@returns {Array} an array of {@link Date} objects
*/
DetailsComponent.prototype.date = function() {
if (this.json['date']) {
return DT.DateTime.parse(this.json['date']);
}
};
/**
Amount paid for this detail.
@returns {Money}
*/
DetailsComponent.prototype.amount = function() {
if (this.json['amount']) {
return new Money(this.json['amount']);
}
};
return DetailsComponent;
})(BackboneElement);
/**
Embedded class
@class NotesComponent
@exports NotesComponent as NotesComponent
*/
NotesComponent = (function(superClass) {
extend(NotesComponent, superClass);
function NotesComponent(json) {
this.json = json;
NotesComponent.__super__.constructor.call(this, this.json);
}
/**
The note purpose: Print/Display.
@returns {Coding}
*/
NotesComponent.prototype.type = function() {
if (this.json['type']) {
return new Coding(this.json['type']);
}
};
/**
The note text.
@returns {Array} an array of {@link String} objects
*/
NotesComponent.prototype.text = function() {
return this.json['text'];
};
return NotesComponent;
})(BackboneElement);
/**
This resource provides payment details supporting a bulk payment, or the errors in, processing a ReconciliationRequest resource.
@class PaymentReconciliation
@exports PaymentReconciliation as PaymentReconciliation
*/
PaymentReconciliation = (function(superClass) {
extend(PaymentReconciliation, superClass);
function PaymentReconciliation(json) {
this.json = json;
PaymentReconciliation.__super__.constructor.call(this, this.json);
}
/**
The Response Business Identifier.
@returns {Array} an array of {@link Identifier} objects
*/
PaymentReconciliation.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;
}
};
/**
Original request resource referrence.
@returns {Reference}
*/
PaymentReconciliation.prototype.request = function() {
if (this.json['request']) {
return new Reference(this.json['request']);
}
};
/**
Transaction status: error, complete.
@returns {Array} an array of {@link String} objects
*/
PaymentReconciliation.prototype.outcome = function() {
return this.json['outcome'];
};
/**
A description of the status of the adjudication.
@returns {Array} an array of {@link String} objects
*/
PaymentReconciliation.prototype.disposition = function() {
return this.json['disposition'];
};
/**
The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
@returns {Coding}
*/
PaymentReconciliation.prototype.ruleset = function() {
if (this.json['ruleset']) {
return new Coding(this.json['ruleset']);
}
};
/**
The style (standard) and version of the original material which was converted into this resource.
@returns {Coding}
*/
PaymentReconciliation.prototype.originalRuleset = function() {
if (this.json['originalRuleset']) {
return new Coding(this.json['originalRuleset']);
}
};
/**
The date when the enclosed suite of services were performed or completed.
@returns {Array} an array of {@link Date} objects
*/
PaymentReconciliation.prototype.date = function() {
if (this.json['date']) {
return DT.DateTime.parse(this.json['date']);
}
};
/**
The Insurer who produced this adjudicated response.
@returns {Reference}
*/
PaymentReconciliation.prototype.organization = function() {
if (this.json['organization']) {
return new Reference(this.json['organization']);
}
};
/**
The practitioner who is responsible for the services rendered to the patient.
@returns {Reference}
*/
PaymentReconciliation.prototype.requestProvider = function() {
if (this.json['requestProvider']) {
return new Reference(this.json['requestProvider']);
}
};
/**
The organization which is responsible for the services rendered to the patient.
@returns {Reference}
*/
PaymentReconciliation.prototype.requestOrganization = function() {
if (this.json['requestOrganization']) {
return new Reference(this.json['requestOrganization']);
}
};
/**
List of individual settlement amounts and the corresponding transaction.
@returns {Array} an array of {@link DetailsComponent} objects
*/
PaymentReconciliation.prototype.detail = function() {
var i, item, len, ref, results;
if (this.json['detail']) {
ref = this.json['detail'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new DetailsComponent(item));
}
return results;
}
};
/**
The form to be used for printing the content.
@returns {Coding}
*/
PaymentReconciliation.prototype.form = function() {
if (this.json['form']) {
return new Coding(this.json['form']);
}
};
/**
Total payment amount.
@returns {Money}
*/
PaymentReconciliation.prototype.total = function() {
if (this.json['total']) {
return new Money(this.json['total']);
}
};
/**
List of errors detected in the request.
@returns {Array} an array of {@link Coding} objects
*/
PaymentReconciliation.prototype.error = function() {
var i, item, len, ref, results;
if (this.json['error']) {
ref = this.json['error'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Coding(item));
}
return results;
}
};
/**
Suite of notes.
@returns {Array} an array of {@link NotesComponent} objects
*/
PaymentReconciliation.prototype.note = function() {
var i, item, len, ref, results;
if (this.json['note']) {
ref = this.json['note'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new NotesComponent(item));
}
return results;
}
};
return PaymentReconciliation;
})(DomainResource);
module.exports.PaymentReconciliation = PaymentReconciliation;
}).call(this);
//# sourceMappingURL=paymentreconciliation.js.map