fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
136 lines (135 loc) • 4.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CareTeam = 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 CareTeam Resource
* @property {string} resourceType
* @property {IIdentifier[]} identifier
* @property {CareTeamStatusType} status
* @property {IElement} _status
* @property {ICodeableConcept[]} category
* @property {string} name
* @property {IElement} _name
* @property {IReference} subject
* @property {IReference} encounter
* @property {IPeriod} period
* @property {ICareTeamParticipant[]} participant
* @property {ICodeableConcept[]} reasonCode
* @property {IReference[]} reasonReference
* @property {IReference[]} managingOrganization
* @property {IContactPoint[]} telecom
* @property {IAnnotation[]} note
* @author Roberto Araneda Espinoza
*/
class CareTeam extends base_1.DomainResource {
/**
* @description The type of resource
*/
resourceType = 'CareTeam';
/**
* @description Business identifiers assigned to this care team by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
*/
identifier;
/**
* @description Indicates the current state of the care team.
proposed | active | suspended | inactive | entered-in-error.
*/
status;
/**
* @description Extensions for status
*/
_status;
/**
* @description Identifies what kind of team. This is to support differentiation between multiple co-existing teams, such as care plan team, episode of care team, longitudinal care team.
*/
category;
/**
* @description A label for human use intended to distinguish like teams. E.g. the "red" vs. "green" trauma teams.
*/
name;
/**
* @description Extensions for name
*/
_name;
/**
* @description Identifies the patient or group whose intended care is handled by the team.
*/
subject;
/**
* @description The Encounter during which this CareTeam was created or to which the creation of this record is tightly associated.
*/
encounter;
/**
* @description Indicates when the team did (or is intended to) come into effect and end.
*/
period;
/**
* @description Identifies all people and organizations who are expected to be involved in the care team.
*/
participant;
/**
* @description Describes why the care team exists.
*/
reasonCode;
/**
* @description Condition(s) that this care team addresses.
*/
reasonReference;
/**
* @description The organization responsible for the care team.
*/
managingOrganization;
/**
* @description A central contact detail for the care team (that applies to all members).
*/
telecom;
/**
* @description Comments made about the CareTeam.
*/
note;
/**
* @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 `CareTeam${JSON.stringify(this.toJson())}`;
}
/**
* @description Returns a pretty string representation of the model
* @returns {string}
*/
toPrettyString() {
return `CareTeam${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)('CareTeam', this);
}
constructor(args) {
super();
if (args)
Object.assign(this, args);
}
}
exports.CareTeam = CareTeam;