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