I-Health
Disciplina: Programação III Professor: Léuson da Silva
Turma: MINF-0083 Ano/Semestre Letivo: 2022.2
Alunos: Arquimedes, Caio Braga, Lucas Brennand e Jhosseph.
Sistema de Delivery de Serviços de Saúde
Descrição Geral: O sistema I- Health é responsável por gerenciar as atividades básicas de um sistema de delivery de serviços de saúde. Desta forma, o sistema deve ser responsável pelo cadastro de diferentes tipos de profissionais de saúde, pacientes, triagens, atendimentos e cálculo de atendimento particular, quando aplicável.
Funcionalidade 01: O sistema deve permitir o cadastro de pacientes. Desta forma, um paciente poderá realizar um atendimento de saúde por vez. Desta forma, o sistema deve guardar uma lista de todos os pacientes cadastrados e ativos no sistema. Para tanto, adicione uma classe GerenciaPaciente que deve ser responsável por adicionar/remover pacientes, bem como outras funcionalidades necessárias. Por exemplo, o sistema não deve permitir a adição de pacientes com o mesmo CPF.
Funcionalidade 02: O sistema deve permitir o cadastro de diferentes tipos de pessoas. Por exemplo, podemos ter dois tipos de pessoas principais: paciente e profissional de saúde. Profissionais de saúde possuem algumas informações que pacientes não possuem, como profissão, certificado do conselho, etc. Enquanto isso, pacientes podem ser divididos em dois tipos principais: pacientes com convênio (Plano de saúde) e pacientes particulares (Sem plano de saúde). Desta forma, um paciente com convênio apresenta o plano de saúde que ele possui, enquanto um paciente particular apresenta informações de cartão de crédito. Adicionalmente, o sistema deve guardar uma lista de todos os profissionais de saúde cadastrados e ativos no sistema. Para tanto, adicione uma classe GerenciaProfissionalDeSaude que deve ser responsável por adicionar/remover profissionais de saúde, bem como outras funcionalidades necessárias. Por exemplo, o sistema não deve permitir a adição de profissionais de saúde com o mesmo certificado.
Por fim, cada tipo de profissional de saúde deverá reportar suas informações gerais (descrição geral). Desta forma, cada tipo de profissional de saúde deverá explorar suas particularidades por meio do conjunto de seus atributos.
Funcionalidade 03: O sistema deve permitir o gerenciamento de atendimentos, onde se torne possível verificar qual(is) profissional(is) atendeu(ram) qual(is) paciente(s). É importante destacar que o atendimento deve guardar as informações de todos os atendimentos realizados. Para tanto, adicione uma classe GerenciaAtendimento que deve ser responsável por adicionar/remover atendimentos, bem como outras funcionalidades que o aluno julgue necessárias.
Funcionalidade 04: Para realizar um atendimento, o paciente deverá informar o certificado do profissional de saúde, bem como o CPF de um paciente. Caso o certificado de um profissional de saude informado não esteja cadastrado no sistema, uma exceção deve ser levantada informado que aquele profissional de saude não se encontra disponível. Do mesmo modo, caso o CPF do paciente que deseja realizar o atendimento não corresponda a um paciente cadastrado no sistema, outra exceção deve ser levantada informando que paciente informado não se encontra disponível. Desta forma, uma nova classe Triagem deve ser criada, onde esta classe será responsável por receber os codigos do paciente e profissional de saude, e verificar se estes códigos estão declarados nas classes GerenciaPaciente e GerenciaProfissionalDeSaude e, respectivamente.
Funcionalidade 05: Por fim, um usuário ao receber o atendimento, o sistema deve remover o atendimento da lista de atendimentos ativos no sistema.
Funcionalidade 06: Uma classe menu responsável pelo uso do sistema pelo usuário (atendente da empresa)