@phema/cql-execution
Version:
An execution framework for the Clinical Quality Language (CQL)
371 lines (266 loc) • 11.4 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DomainResource, Element, ElementDefinition, Extension, HumanName, Identifier, ImmunizationRecommendation, ImmunizationRecommendationRecommendationComponent, ImmunizationRecommendationRecommendationDateCriterionComponent, ImmunizationRecommendationRecommendationProtocolComponent, 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 ImmunizationRecommendationRecommendationDateCriterionComponent
@exports ImmunizationRecommendationRecommendationDateCriterionComponent as ImmunizationRecommendationRecommendationDateCriterionComponent
*/
ImmunizationRecommendationRecommendationDateCriterionComponent = (function(superClass) {
extend(ImmunizationRecommendationRecommendationDateCriterionComponent, superClass);
function ImmunizationRecommendationRecommendationDateCriterionComponent(json) {
this.json = json;
ImmunizationRecommendationRecommendationDateCriterionComponent.__super__.constructor.call(this, this.json);
}
/**
Date classification of recommendation - e.g. earliest date to give, latest date to give, etc.
@returns {CodeableConcept}
*/
ImmunizationRecommendationRecommendationDateCriterionComponent.prototype.code = function() {
if (this.json['code']) {
return new CodeableConcept(this.json['code']);
}
};
/**
Date recommendation.
@returns {Array} an array of {@link Date} objects
*/
ImmunizationRecommendationRecommendationDateCriterionComponent.prototype.value = function() {
if (this.json['value']) {
return DT.DateTime.parse(this.json['value']);
}
};
return ImmunizationRecommendationRecommendationDateCriterionComponent;
})(BackboneElement);
/**
Embedded class
@class ImmunizationRecommendationRecommendationProtocolComponent
@exports ImmunizationRecommendationRecommendationProtocolComponent as ImmunizationRecommendationRecommendationProtocolComponent
*/
ImmunizationRecommendationRecommendationProtocolComponent = (function(superClass) {
extend(ImmunizationRecommendationRecommendationProtocolComponent, superClass);
function ImmunizationRecommendationRecommendationProtocolComponent(json) {
this.json = json;
ImmunizationRecommendationRecommendationProtocolComponent.__super__.constructor.call(this, this.json);
}
/**
Indicates the nominal position in a series of the next dose. This is the recommended dose number as per a specified protocol.
@returns {Array} an array of {@link Number} objects
*/
ImmunizationRecommendationRecommendationProtocolComponent.prototype.doseSequence = function() {
return this.json['doseSequence'];
};
/**
Contains the description about the protocol under which the vaccine was administered.
@returns {Array} an array of {@link String} objects
*/
ImmunizationRecommendationRecommendationProtocolComponent.prototype.description = function() {
return this.json['description'];
};
/**
Indicates the authority who published the protocol? E.g. ACIP.
@returns {Reference}
*/
ImmunizationRecommendationRecommendationProtocolComponent.prototype.authority = function() {
if (this.json['authority']) {
return new Reference(this.json['authority']);
}
};
/**
One possible path to achieve presumed immunity against a disease - within the context of an authority.
@returns {Array} an array of {@link String} objects
*/
ImmunizationRecommendationRecommendationProtocolComponent.prototype.series = function() {
return this.json['series'];
};
return ImmunizationRecommendationRecommendationProtocolComponent;
})(BackboneElement);
/**
Embedded class
@class ImmunizationRecommendationRecommendationComponent
@exports ImmunizationRecommendationRecommendationComponent as ImmunizationRecommendationRecommendationComponent
*/
ImmunizationRecommendationRecommendationComponent = (function(superClass) {
extend(ImmunizationRecommendationRecommendationComponent, superClass);
function ImmunizationRecommendationRecommendationComponent(json) {
this.json = json;
ImmunizationRecommendationRecommendationComponent.__super__.constructor.call(this, this.json);
}
/**
The date the immunization recommendation was created.
@returns {Array} an array of {@link Date} objects
*/
ImmunizationRecommendationRecommendationComponent.prototype.date = function() {
if (this.json['date']) {
return DT.DateTime.parse(this.json['date']);
}
};
/**
Vaccine that pertains to the recommendation.
@returns {CodeableConcept}
*/
ImmunizationRecommendationRecommendationComponent.prototype.vaccineType = function() {
if (this.json['vaccineType']) {
return new CodeableConcept(this.json['vaccineType']);
}
};
/**
This indicates the next recommended dose number (e.g. dose 2 is the next recommended dose).
@returns {Array} an array of {@link Number} objects
*/
ImmunizationRecommendationRecommendationComponent.prototype.doseNumber = function() {
return this.json['doseNumber'];
};
/**
Vaccine administration status.
@returns {CodeableConcept}
*/
ImmunizationRecommendationRecommendationComponent.prototype.forecastStatus = function() {
if (this.json['forecastStatus']) {
return new CodeableConcept(this.json['forecastStatus']);
}
};
/**
Vaccine date recommendations - e.g. earliest date to administer, latest date to administer, etc.
@returns {Array} an array of {@link ImmunizationRecommendationRecommendationDateCriterionComponent} objects
*/
ImmunizationRecommendationRecommendationComponent.prototype.dateCriterion = function() {
var i, item, len, ref, results;
if (this.json['dateCriterion']) {
ref = this.json['dateCriterion'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new ImmunizationRecommendationRecommendationDateCriterionComponent(item));
}
return results;
}
};
/**
Contains information about the protocol under which the vaccine was administered.
@returns {ImmunizationRecommendationRecommendationProtocolComponent}
*/
ImmunizationRecommendationRecommendationComponent.prototype.protocol = function() {
if (this.json['protocol']) {
return new ImmunizationRecommendationRecommendationProtocolComponent(this.json['protocol']);
}
};
/**
Immunization event history that supports the status and recommendation.
@returns {Array} an array of {@link Reference} objects
*/
ImmunizationRecommendationRecommendationComponent.prototype.supportingImmunization = function() {
var i, item, len, ref, results;
if (this.json['supportingImmunization']) {
ref = this.json['supportingImmunization'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Reference(item));
}
return results;
}
};
/**
Patient Information that supports the status and recommendation. This includes patient observations, adverse reactions and allergy/intolerance information.
@returns {Array} an array of {@link Reference} objects
*/
ImmunizationRecommendationRecommendationComponent.prototype.supportingPatientInformation = function() {
var i, item, len, ref, results;
if (this.json['supportingPatientInformation']) {
ref = this.json['supportingPatientInformation'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new Reference(item));
}
return results;
}
};
return ImmunizationRecommendationRecommendationComponent;
})(BackboneElement);
/**
A patient's point-of-time immunization status and recommendation with optional supporting justification.
@class ImmunizationRecommendation
@exports ImmunizationRecommendation as ImmunizationRecommendation
*/
ImmunizationRecommendation = (function(superClass) {
extend(ImmunizationRecommendation, superClass);
function ImmunizationRecommendation(json) {
this.json = json;
ImmunizationRecommendation.__super__.constructor.call(this, this.json);
}
/**
A unique identifier assigned to this particular recommendation record.
@returns {Array} an array of {@link Identifier} objects
*/
ImmunizationRecommendation.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;
}
};
/**
The patient who is the subject of the profile.
@returns {Reference}
*/
ImmunizationRecommendation.prototype.subject = function() {
if (this.json['subject']) {
return new Reference(this.json['subject']);
}
};
/**
Vaccine administration recommendations.
@returns {Array} an array of {@link ImmunizationRecommendationRecommendationComponent} objects
*/
ImmunizationRecommendation.prototype.recommendation = function() {
var i, item, len, ref, results;
if (this.json['recommendation']) {
ref = this.json['recommendation'];
results = [];
for (i = 0, len = ref.length; i < len; i++) {
item = ref[i];
results.push(new ImmunizationRecommendationRecommendationComponent(item));
}
return results;
}
};
return ImmunizationRecommendation;
})(DomainResource);
module.exports.ImmunizationRecommendation = ImmunizationRecommendation;
}).call(this);
//# sourceMappingURL=immunizationrecommendation.js.map