UNPKG

@schedule-tribe/procedure

Version:

This package provides TypeScript type definitions for handling Procedure in Domain-Driven Design contexts

65 lines (64 loc) 2.25 kB
import { Result, Entity, UID } from "rich-domain"; export declare enum ProcedureType { Consulta = "Consulta", Cirurgia = "Cirurgia", Retorno = "Retorno", ExameDeSangue = "Exame de Sangue", ImagemMedica = "Imagem M\u00E9dica", Eletrocardiograma = "Eletrocardiograma (ECG)", Fisioterapia = "Fisioterapia", TerapiaOcupacional = "Terapia Ocupacional", Psicoterapia = "Psicoterapia", Vacinacao = "Vacina\u00E7\u00E3o", CheckupAnual = "Check-up Anual", LimpezaDental = "Limpeza Dental", ExtracaoDentaria = "Extra\u00E7\u00E3o Dent\u00E1ria", ProcedimentosRestauradores = "Procedimentos Restauradores", ExameGinecologico = "Exame Ginecol\u00F3gico", CuidadosPreNatal = "Cuidados Pr\u00E9-natais", ProcedimentosUrologicos = "Procedimentos Urol\u00F3gicos" } type Props = { id?: UID; type: ProcedureType; }; export declare class Procedure extends Entity<Props> { protected static readonly MESSAGE: string; private constructor(); /** * @description return a procedimento médico value. * @example example "Consulta". */ value(): Props; /** * @param procedimento value as TipoProcedimento * @returns true if procedimento matches with predefined enum and false if not. * @example param "Consulta" * @example param "Cirurgia" */ static isValidProps(value: ProcedureType): boolean; /** * @description check if procedimento value is valid. * @param value procedimento as TipoProcedimento * @returns true if value is valid and false if not. * @example "Consulta" * @example "Cirurgia" */ static isValid(value: ProcedureType): boolean; /** * * @param value value as TipoProcedimento * @returns instance of Procedure or throw an error */ static init(value: Props): Procedure; /** * @description create a procedimento médico value object * @param value procedimento as TipoProcedimento * @returns instance of Result with procedimento value * @example "Consulta" * @example "Cirurgia" * @summary fails if provide an invalid procedimento médico */ static create(value: Props): Result<Procedure>; } export default Procedure;