UNPKG

fhirbuilder

Version:
140 lines (139 loc) 4.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PractitionerRole = void 0; const base_1 = require("../base"); const base_2 = require("../../../core/r4/validators/base"); /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for PractitionerRole Resource * @property {string} resourceType * @property {IIdentifier[]} identifier * @property {boolean} active * @property {IElement} _active * @property {IPeriod} period * @property {IReference} practitioner * @property {IReference} organization * @property {ICodeableConcept[]} code * @property {ICodeableConcept[]} specialty * @property {IReference[]} location * @property {IReference[]} healthcareService * @property {IContactPoint[]} telecom * @property {IPractitionerRoleAvailableTime[]} availableTime * @property {IPractitionerRoleNotAvailable[]} notAvailable * @property {string} availabilityExceptions * @property {IElement} _availabilityExceptions * @property {IReference[]} endpoint * @author Roberto Araneda Espinoza */ class PractitionerRole extends base_1.DomainResource { /** * @description The type of resource */ resourceType = 'PractitionerRole'; /** * @description Business Identifiers that are specific to a role/location. */ identifier; /** * @description Whether this practitioner role record is in active use. */ active; /** * @description Extensions for active */ _active; /** * @description The period during which the person is authorized to act as a practitioner in these role(s) for the organization. */ period; /** * @description Practitioner that is able to provide the defined services for the organization. */ practitioner; /** * @description The organization where the Practitioner performs the roles associated. */ organization; /** * @description Roles which this practitioner is authorized to perform for the organization. */ code; /** * @description Specific specialty of the practitioner. */ specialty; /** * @description The location(s) at which this practitioner provides care. */ location; /** * @description The list of healthcare services that this worker provides for this role's Organization/Location(s). */ healthcareService; /** * @description Contact details that are specific to the role/location/service. */ telecom; /** * @description A collection of times the practitioner is available or performing this role at the location and/or healthcareservice. */ availableTime; /** * @description The practitioner is not available or performing this role during this period of time due to the provided reason. */ notAvailable; /** * @description A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. */ availabilityExceptions; /** * @description Extensions for availabilityExceptions */ _availabilityExceptions; /** * @description Technical endpoints providing access to services operated for the practitioner with this role. */ endpoint; /** * @description Returns a JSON representation of the model * @returns {Record<string, any>} */ toJson() { return JSON.parse(JSON.stringify(this)); } /** * @description Returns a string representation of the model * @returns {string} */ toString() { return `PractitionerRole${JSON.stringify(this.toJson())}`; } /** * @description Returns a pretty string representation of the model * @returns {string} */ toPrettyString() { return `PractitionerRole${JSON.stringify(this.toJson(), null, 2)}`; } /** * @description Returns a serialized string representation of the model * @returns {string} */ serialize() { return JSON.stringify(this.toJson()); } /** * @description Validates the model * @returns {isValid: boolean, operationOutcome: IOperationOutcome} */ validate() { return (0, base_2.ConformanceValidator)('PractitionerRole', this); } constructor(args) { super(); if (args) Object.assign(this, args); } } exports.PractitionerRole = PractitionerRole;