fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
140 lines (139 loc) • 4.55 kB
JavaScript
;
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;