UNPKG

cql-execution

Version:

An execution framework for the Clinical Quality Language (CQL)

386 lines (290 loc) 9.89 kB
// Generated by CoffeeScript 1.9.3 (function() { var Address, Attachment, BackboneElement, CORE, CodeableConcept, Coding, ContactPoint, DT, DomainResource, Element, ElementDefinition, Extension, HumanName, Identifier, Narrative, Parameters, Period, Practitioner, PractitionerQualificationComponent, 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 PractitionerQualificationComponent @exports PractitionerQualificationComponent as PractitionerQualificationComponent */ PractitionerQualificationComponent = (function(superClass) { extend(PractitionerQualificationComponent, superClass); function PractitionerQualificationComponent(json) { this.json = json; PractitionerQualificationComponent.__super__.constructor.call(this, this.json); } /** An identifier that applies to this person's qualification in this role. @returns {Array} an array of {@link Identifier} objects */ PractitionerQualificationComponent.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; } }; /** Coded representation of the qualification. @returns {CodeableConcept} */ PractitionerQualificationComponent.prototype.code = function() { if (this.json['code']) { return new CodeableConcept(this.json['code']); } }; /** Period during which the qualification is valid. @returns {Period} */ PractitionerQualificationComponent.prototype.period = function() { if (this.json['period']) { return new Period(this.json['period']); } }; /** Organization that regulates and issues the qualification. @returns {Reference} */ PractitionerQualificationComponent.prototype.issuer = function() { if (this.json['issuer']) { return new Reference(this.json['issuer']); } }; return PractitionerQualificationComponent; })(BackboneElement); /** A person who is directly or indirectly involved in the provisioning of healthcare. @class Practitioner @exports Practitioner as Practitioner */ Practitioner = (function(superClass) { extend(Practitioner, superClass); function Practitioner(json) { this.json = json; Practitioner.__super__.constructor.call(this, this.json); } /** An identifier that applies to this person in this role. @returns {Array} an array of {@link Identifier} objects */ Practitioner.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 person. @returns {HumanName} */ Practitioner.prototype.name = function() { if (this.json['name']) { return new HumanName(this.json['name']); } }; /** A contact detail for the practitioner, e.g. a telephone number or an email address. @returns {Array} an array of {@link ContactPoint} objects */ Practitioner.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; } }; /** The postal address where the practitioner can be found or visited or to which mail can be delivered. @returns {Array} an array of {@link Address} objects */ Practitioner.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; } }; /** 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 */ Practitioner.prototype.gender = function() { return this.json['gender']; }; /** The date and time of birth for the practitioner. @returns {Array} an array of {@link Date} objects */ Practitioner.prototype.birthDate = function() { if (this.json['birthDate']) { return DT.DateTime.parse(this.json['birthDate']); } }; /** Image of the person. @returns {Array} an array of {@link Attachment} objects */ Practitioner.prototype.photo = function() { var i, item, len, ref, results; if (this.json['photo']) { ref = this.json['photo']; results = []; for (i = 0, len = ref.length; i < len; i++) { item = ref[i]; results.push(new Attachment(item)); } return results; } }; /** The organization that the practitioner represents. @returns {Reference} */ Practitioner.prototype.organization = function() { if (this.json['organization']) { return new Reference(this.json['organization']); } }; /** Roles which this practitioner is authorized to perform for the organization. @returns {Array} an array of {@link CodeableConcept} objects */ Practitioner.prototype.role = function() { var i, item, len, ref, results; if (this.json['role']) { ref = this.json['role']; results = []; for (i = 0, len = ref.length; i < len; i++) { item = ref[i]; results.push(new CodeableConcept(item)); } return results; } }; /** Specific specialty of the practitioner. @returns {Array} an array of {@link CodeableConcept} objects */ Practitioner.prototype.specialty = function() { var i, item, len, ref, results; if (this.json['specialty']) { ref = this.json['specialty']; results = []; for (i = 0, len = ref.length; i < len; i++) { item = ref[i]; results.push(new CodeableConcept(item)); } return results; } }; /** The period during which the person is authorized to act as a practitioner in these role(s) for the organization. @returns {Period} */ Practitioner.prototype.period = function() { if (this.json['period']) { return new Period(this.json['period']); } }; /** The location(s) at which this practitioner provides care. @returns {Array} an array of {@link Reference} objects */ Practitioner.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; } }; /** Qualifications obtained by training and certification. @returns {Array} an array of {@link PractitionerQualificationComponent} objects */ Practitioner.prototype.qualification = function() { var i, item, len, ref, results; if (this.json['qualification']) { ref = this.json['qualification']; results = []; for (i = 0, len = ref.length; i < len; i++) { item = ref[i]; results.push(new PractitionerQualificationComponent(item)); } return results; } }; /** A language the practitioner is able to use in patient communication. @returns {Array} an array of {@link CodeableConcept} objects */ Practitioner.prototype.communication = function() { var i, item, len, ref, results; if (this.json['communication']) { ref = this.json['communication']; results = []; for (i = 0, len = ref.length; i < len; i++) { item = ref[i]; results.push(new CodeableConcept(item)); } return results; } }; return Practitioner; })(DomainResource); module.exports.Practitioner = Practitioner; }).call(this); //# sourceMappingURL=practitioner.js.map