UNPKG

@phema/cql-execution

Version:

An execution framework for the Clinical Quality Language (CQL)

371 lines (266 loc) 11.4 kB
// 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