UNPKG

fhirbuilder

Version:
125 lines (124 loc) 3.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EpisodeOfCare = 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 EpisodeOfCare Resource * @property {string} resourceType * @property {IIdentifier[]} identifier * @property {EpisodeOfCareStatusType} status * @property {IElement} _status * @property {IEpisodeOfCareStatusHistory[]} statusHistory * @property {ICodeableConcept[]} type * @property {IEpisodeOfCareDiagnosis[]} diagnosis * @property {IReference} patient * @property {IReference} managingOrganization * @property {IPeriod} period * @property {IReference[]} referralRequest * @property {IReference} careManager * @property {IReference[]} team * @property {IReference[]} account * @author Roberto Araneda Espinoza */ class EpisodeOfCare extends base_1.DomainResource { /** * @description The type of resource */ resourceType = 'EpisodeOfCare'; /** * @description The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes. */ identifier; /** * @description planned | waitlist | active | onhold | finished | cancelled. */ status; /** * @description Extensions for status */ _status; /** * @description The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). */ statusHistory; /** * @description A classification of the type of episode of care; e.g. specialist referral, disease management, type of funded care. */ type; /** * @description The list of diagnosis relevant to this episode of care. */ diagnosis; /** * @description The patient who is the focus of this episode of care. */ patient; /** * @description The organization that has assumed the specific responsibilities for the specified duration. */ managingOrganization; /** * @description The interval during which the managing organization assumes the defined responsibility. */ period; /** * @description Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals. */ referralRequest; /** * @description The practitioner that is the care manager/care coordinator for this patient. */ careManager; /** * @description The list of practitioners that may be facilitating this episode of care for specific purposes. */ team; /** * @description The set of accounts that may be used for billing for this EpisodeOfCare. */ account; /** * @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 `EpisodeOfCare${JSON.stringify(this.toJson())}`; } /** * @description Returns a pretty string representation of the model * @returns {string} */ toPrettyString() { return `EpisodeOfCare${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)('EpisodeOfCare', this); } constructor(args) { super(); if (args) Object.assign(this, args); } } exports.EpisodeOfCare = EpisodeOfCare;