Projeto de Conclusão de Curso apresentado
como requisito parcial para obtenção do grau
Tecnólogo em Análise e Desenvolvimento de
Sistemas, pela Faculdade de Tecnologia de
Americana.
Time:
RAMON LACAVA GUTIERREZ GONÇALES
LEONARDO MARTINS DE OLIVEIRA
NATÁLIA AKINA UESUGI
Orientador: Prof. Dr. Kleber de Oliveira Andrade
Área de concentração: Engenharia de Software
Americana, SP
2018
Este trabalho se trata de uma plataforma de saúde digital unificada, que permite melhor gestão de informações de saúde e processos inteligentes.
A plataforma visa auxiliar o dia a dia das instituições de saúde e pacientes, buscando diminuir a quantidade de erros na área médica através de uma coleção consistente de dados do paciente, possibilitando que o sistema atue em qualquer instituição de saúde, e que tenha uma melhor eficiência e eficácia em atendimentos, sejam estes comuns ou de urgência e emergência.
O trabalho foi realizado em colaboração com a universidade de Durban, na África do Sul.
A metodologia empregada durante o decorrer do trabalho foi o SCRUM, que visa a transparência, dinamicidade e agrega valor ao produto final.
Foram desenvolvidos dois aplicativos para dispositivos móveis e um para computador, que realizam gestão de exames, diagnósticos, dados de saúde, medicamentos, instituições, médicos(as), dentre outros.
Diversos requisitos foram coletados de forma dinâmica com as equipes sul africanas para possibilitar a integração dos sistemas tanto no Brasil quanto na África do Sul.
Todo o desenvolvimento do sistema se voltou para agregar valor aos processos e interfaces de usuário (se focando em facilidade de uso e experiencia de usuário).
Os resultados foram dois aplicativos publicados na Google Play e um sistema computadorizado, sendo que os três estão em fase de testes na África do Sul.
Conclui-se que o sistema poderá auxiliar muito no ambiente da saúde, facilitando a gestão, fornecendo processos inteligentes e uma maior agilidade no atendimento, permitindo com que pacientes possuam acesso a seus dados de saúde, e com que funcionários de saúde possuam uma maior facilidade e uma maior quantidade de dados relevantes para análise durante os atendimentos.
O Dicionário de Dados (DD) consiste em uma lista organizada de todos os elementos de dados que são pertinentes para o sistema. As tabelas devem conter os seguintes campos:
Entidade: é o nome da entidade que foi definida no MER. A entidade é uma pessoa, objeto ou lugar que será considerada como objeto pelo qual temos interesse em guardar informações a seu respeito.
Atributo: Os atributos são as características da entidade cliente que desejamos guardar.
Classe: as classes podem ser: simples, composto, multivalorado e determinante. Simples indica um atributo normal. Composto indica que ele poderá ser dividido em outros atributos, como por exemplo, o endereço. Multivalorado é quando o valor do atributo poderá não ser único e determinante é um atributo que será usado como chave, como CPF, Código do cliente, etc.
Domínio: podem ser numéricos, texto, data e booleano. Podemos chamar também de tipo do valor que o atributo irá receber. A definição desses tipos deve seguir um processo lógico, exemplo: nome é texto, salário é numérico, data de nascimento é data e assim por diante.
Tamanho: define a quantidade de caracteres que serão necessários para armazenar o seu conteúdo. Geralmente o tamanho é definido apenas para atributos de domínio texto.
Descrição: é opcional e pode ser usado para descrever o que é aquele atributo ou dar informações adicionais que possam ser usadas futuramente pelo analista ou programador do sistema.
As tabelas apresentam o Dicionário de Dados de cada entidade.
Tabela - Dicionário de dados da entidade AUDIT_TRAIL
Entidade: AUDIT_TRAIL |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_audit_trail |
Determinante |
Texto |
36 |
Chave Primária da tabela de Auditoria. |
Event_date |
Simples |
Data |
|
Data em que ocorreu o evento. |
Category |
Simples |
Texto |
100 |
Categoria de pessoa que estava usando o sistema. |
Event_name |
Simples |
Texto |
200 |
Local onde ocorreu o evento. |
Additional_info |
Simples |
Texto |
|
Informações adicionais do evento. |
Id_user |
Simples |
Texto |
36 |
Código do usuário que acionou o evento. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade DIAGNOSIS
Entidade: DIAGNOSIS |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_diagnosis |
Determinante |
Texto |
36 |
Chave Primária da tabela de diagnósticos. |
Date_diagnosis |
Simples |
Data |
|
Data do diagnóstico. |
Anotation |
Simples |
Texto |
|
Anotações relativas ao diagnóstico. |
Id_patient |
Simples |
Texto |
36 |
Código do paciente a qual pertence o diagnóstico. |
Id_physician |
Simples |
Texto |
36 |
Código do médico que realizou o diagnóstico. |
Id_health_institution |
Simples |
Texto |
36 |
Código da instituição de saúde na qual o diagnóstico foi realizado. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade DIAGNOSIS_PROCEDURE
Entidade: DIAGNOSIS_PROCEDURE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_diagnosis_procedure |
Determinante |
Texto |
36 |
Chave Primária da tabela de procedimentos dos diagnósticos. |
Date_procedure |
Simples |
Data |
|
Data do procedimento. |
Anotation |
Simples |
Texto |
|
Anotações relativas ao procedimento. |
Status |
Simples |
Texto |
1 |
Status do diagnóstico. |
Id_diagnosis |
Simples |
Texto |
36 |
Código do diagnóstico médico. |
Id_nurse |
Simples |
Texto |
36 |
Código da enfermeira que realizou o procedimento. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade DISEASE
Entidade: DISEASE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_disease |
Determinante |
Texto |
36 |
Chave Primária da tabela de doenças. |
Name_en |
Simples |
Texto |
100 |
Nome em inglês da doença. |
Name_pt |
Simples |
Texto |
100 |
Nome em português da doença. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade ERROR_LOG
Entidade: ERROR_LOG |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_error |
Determinante |
Texto |
36 |
Chave Primária da tabela de logs de erros. |
Event_date |
Simples |
Data |
|
Data em que ocorreu o log. |
Message |
Simples |
Texto |
|
Mensagem do erro ocorrido. |
Name_of_file |
Simples |
Texto |
100 |
Nome do arquivo que gerou o erro. |
Class_name |
Simples |
Texto |
100 |
Nome da classe que gerou o erro. |
Method_name |
Simples |
Texto |
200 |
Método que gerou o erro. |
Line_number |
Simples |
Numérico |
|
Número da linha aonde ocorreu o erro. |
additional |
Simples |
Texto |
|
Informações adicionais sobre o erro. |
Id_user |
Simples |
Texto |
36 |
Código do usuário que gerou o erro. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade EXAM
Entidade: EXAM |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_exam |
Determinante |
Texto |
36 |
Chave Primária do exame. |
Date_exam |
Simples |
Data |
|
Data em que foi realizado o exame. |
Anotation |
Simples |
Texto |
|
Anotações do exame. |
Id_patient |
Simples |
Texto |
36 |
Código do paciente que realizou o exame. |
Id_physician |
Simples |
Texto |
36 |
Código do médico que solicitou o exame. |
Id_health_institution |
Simples |
Texto |
36 |
Código da instituição de a saúde responsável pelo exame. |
Tabela - Dicionário de dados da entidade EXAM_ATTACHMENT
Entidade: EXAM_ATTACHMENT |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_exam_attachment |
Determinante |
Texto |
36 |
Chave primária da tabela de anexos do exame. |
Attachment_name |
Simples |
Texto |
100 |
Nome do anexo. |
Id_exam |
Simples |
Texto |
36 |
Código do exame que possui o anexo. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade HEALTH_INSTITUTION
Entidade: HEALTH_INSTITUTION |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_health_institution |
Determinante |
Texto |
36 |
Chave Primária da tabela de Instituições de Saúde |
Identity_code |
Simples |
Texto |
20 |
Código de identificação da instituição. |
Name |
Simples |
Texto |
100 |
Nome da instituição. |
Postal_code |
Simples |
Texto |
8 |
Código postal da instituição. |
Country |
Simples |
Texto |
3 |
Pais da instituição. |
State |
Simples |
Texto |
100 |
Estado/Província da instituição. |
City |
Simples |
Texto |
100 |
Cidade da instituição. |
Street |
Simples |
Texto |
100 |
Rua em que fica localizada a instituição. |
Neighborhood |
Simples |
Texto |
50 |
Bairro. |
Number |
Simples |
Texto |
10 |
Número da instituição. |
Photo |
Simples |
Texto |
100 |
Foto da instituição. |
Latitude |
Simples |
Numérico |
|
Latitude da localização. |
Longitude |
Simples |
Numérico |
|
Longitude da localização. |
Telephone |
Simples |
Texto |
20 |
Telefone da instituição. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade MEDICINE
Entidade: MEDICINE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_medicine |
Determinante |
Texto |
36 |
Chave Primária do medicamento. |
Name |
Simples |
Texto |
100 |
Nome do medicamento. |
Language |
Simples |
Texto |
3 |
Linguagem que foi utilizada para inserir o medicamento (Inglês ou Português). |
Country |
Simples |
Texto |
3 |
Pais que foi inserido o medicamento. |
Status |
Simples |
Texto |
100 |
Status do medicamento (Ativo/Inativo). |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade NURSE
Entidade: NURSE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_nurse |
Determinante |
Texto |
36 |
Chave Primária da tabela de enfermeira. |
Id_user |
Simples |
Texto |
36 |
Código do usuário que foi cadastrado como enfermeira. |
Nurse_code |
Simples |
Texto |
15 |
Código da enfermeira. |
Nurse_type |
Simples |
Texto |
2 |
Tipo de enfermeira. |
Fonte: Elaborado pelo autor
Tabela – Dicionário de dados da entidade NURSE_HAS_SPECIALIZATION
Entidade: NURSE_HAS_SPECIALIZATION |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_nurse_has_specialization |
Determinante |
Texto |
36 |
Chave Primária da tabela de especialização da enfermeira. |
Id_nurse |
Simples |
Texto |
36 |
Código da enfermeira. |
Id_specialization |
Simples |
Texto |
36 |
Código da especialização atribuída a especialização da enfermeira. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade NURSE_SPECIALIZATION
Entidade: NURSE_SPECIALIZATION |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_specialization |
Determinante |
Texto |
36 |
Chave Primária da especialização. |
Name_pt |
Simples |
Texto |
100 |
Nome em português da especialização. |
Name_en |
Simples |
Texto |
100 |
Nome em inglês da especialização. |
Country |
Simples |
Texto |
3 |
País que possui a especialização em especifico. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PATIENT
Entidade: PATIENT |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_patient |
Determinante |
Texto |
36 |
Chave Primária da tabela de paciente (código do paciente). |
Blood_type |
Simples |
Texto |
2 |
Tipo sanguíneo do usuário. |
Color |
Simples |
Texto |
2 |
Cor da pele do usuário. |
Father_name |
Simples |
Texto |
100 |
Nome do pai. |
Mother_name |
Simples |
Texto |
100 |
Nome da mãe. |
Weight |
Simples |
Numérico |
|
Peso do usuário. |
Height |
Simples |
Numérico |
|
Altura do usuário. |
Id_user |
Simples |
Texto |
36 |
Código do usuário. |
Status |
Simples |
Texto |
1 |
Status dizendo se o paciente está ativo ou inativo. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PATIENT_HAS_DISEASE
Entidade: PATIENT_HAS_DISEASE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_patient_has_disease |
Determinante |
Texto |
36 |
Chave Primária da tabela de doenças do paciente. |
Id_patient |
Simples |
Texto |
36 |
Código do paciente que possui a doença. |
Id_disease |
Simples |
Texto |
36 |
Código da doença possuída. |
Anotations |
Simples |
Texto |
|
Anotações relativa a doença do paciente. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PATIENT_HAS_TAG
Entidade: PATIENT_HAS_TAG |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_patient_has_tag |
Determinante |
Texto |
36 |
Chave Primária da tabela de tag do paciente. |
Mac_code |
Simples |
Texto |
36 |
Código MAC da tag NFC. |
Id_patient |
Simples |
Texto |
36 |
Código do paciente que possui o equipamento de acesso. |
Tag_type |
Simples |
Texto |
2 |
Tipo do equipamento de acesso. |
Name |
Simples |
Texto |
100 |
Nome do equipamento de acesso. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PATIENT_USE_MEDICINE
Entidade: PATIENT_USE_MEDICINE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_patient_use_medicine |
Determinante |
Texto |
36 |
Chave Primária da tabela de medicamentos do paciente. |
Id_patient |
Simples |
Texto |
36 |
Código do paciente. |
Id_medicine |
Simples |
Texto |
36 |
Código do medicamento. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PHYSICIAN
Entidade: PHYSICIAN |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_physician |
Determinante |
Texto |
36 |
Chave Primária da tabela de médicos. |
Id_user |
Simples |
Texto |
36 |
Código do usuário que foi cadastrado como médico. |
Practice_document |
Simples |
Texto |
20 |
Código de licença do médico. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PHYSICIAN_ATTENDANCE
Entidade: PHYSICIAN_ATTENDANCE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_physician_attendance |
Determinante |
Texto |
36 |
Chave Primária da tabela de atendimento médico. |
Date_attendance |
Simples |
Data |
|
Data em que ocorreu o atendimento. |
Id_patient |
Simples |
Texto |
36 |
Código do paciente que foi atendido. |
Id_physician |
Simples |
Texto |
36 |
Código do médico que realizou o atendimento. |
Id_health_institution |
Simples |
Texto |
36 |
Código da instituição de saúde onde foi realizado o atendimento. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PHYSICIAN_HAS_SPECIALIZATION
Entidade: PHYSICIAN_HAS_SPECIALIZATION |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_physician_has_specialization |
Determinante |
Texto |
36 |
Chave Primária da especialização que o médico possui. |
Id_physician |
Simples |
Texto |
36 |
Código do médico que possui a especialização. |
Id_specialization |
Simples |
Texto |
36 |
Código da especialização possuída. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PHYSICIAN_ SPECIALIZATION
Entidade: PHYSICIAN_SPECIALIZATION |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_specialization |
Determinante |
Texto |
36 |
Chave Primária da especialização do médico. |
Name_pt |
Simples |
Texto |
100 |
Nome em português da especialização. |
Name_en |
Simples |
Texto |
100 |
Nome em inglês da especialização. |
Country |
Simples |
Texto |
3 |
Local que existe a especialização. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade USER_AND_HEALTH_INSTITUTION
Entidade: USER_AND_HEALTH_INSTITUTION |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_user_works_in_health_institution |
Determinante |
Texto |
36 |
Chave Primária do usuário da instituição. |
Id_user |
Simples |
Texto |
36 |
Código do usuário que pertence a instituição. |
Id_health_institution |
Simples |
Texto |
36 |
Código da instituição. |
Status |
Simples |
Texto |
1 |
Estado do usuário na instituição (ativo/inativo). |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade USER_HEALTH
Entidade: USER_HEALTH |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
Id_user |
Determinante |
Texto |
36 |
Chave Primária da tabela de usuário. |
Login |
Simples |
Texto |
100 |
Login para acesso aos sistemas. |
Password |
Simples |
Texto |
64 |
Senha utilizada para acesso aos sistemas. |
Name |
Simples |
Texto |
100 |
Nome do usuário. |
Type_of_user |
Simples |
Texto |
2 |
Tipo de usuário (Admin, Médico, Paciente e outros). |
Born_date |
Simples |
Data |
|
Data de nascimento. |
Gender |
Simples |
Texto |
1 |
Gênero do usuário. |
Postal_code |
Simples |
Texto |
8 |
Código postal do usuário. |
Country |
Simples |
Texto |
3 |
País do usuário. |
State |
Simples |
Texto |
100 |
Estado do usuário. |
City |
Simples |
Texto |
100 |
Cidade do usuário. |
Street |
Simples |
Texto |
100 |
Rua do Usuário. |
Neighborhood |
Simples |
Texto |
50 |
Bairro. |
Number |
Simples |
Texto |
10 |
Número da residência do usuário. |
Photo |
Simples |
Texto |
10 |
Foto do usuário. |
Identity_document |
Simples |
Texto |
36 |
Documento de identidade do usuário. |
Telephone |
Simples |
Texto |
20 |
Telefone do usuário. |
Secret_code |
Simples |
Texto |
4 |
Código secreto do usuário. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PATIENT_USES_MEDICINE do SQLite
Entidade: PATIENT_USES_MEDICINE |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
id_patient_uses_medicine |
Determinante |
Texto |
36 |
Chave Primária da tabela. |
id_user |
Simples |
Texto |
36 |
Identificador do usuário. |
remember |
Simples |
Numérico |
|
Indica se o determinado medicamento deve ou não ser lembrado. |
name |
Simples |
Texto |
|
Nome do medicamento. |
sunday |
Simples |
Texto |
|
Verifica se é necessário alertar o usuário sobre o medicamento no Domingo. |
monday |
Simples |
Numérico |
|
Verifica se é necessário alertar o usuário sobre o medicamento na Segunda-feira. |
tuesday |
Simples |
Numérico |
|
Verifica se é necessário alertar o usuário sobre o medicamento na Terça-feira. |
wednesday |
Simples |
Numérico |
|
Verifica se é necessário alertar o usuário sobre o medicamento na Quarta-feira. |
thursday |
Simples |
Numérico |
|
Verifica se é necessário alertar o usuário sobre o medicamento na Quinta-feira. |
friday |
Simples |
Numérico |
|
Verifica se é necessário alertar o usuário sobre o medicamento na Sexta-feira. |
saturday |
Simples |
Numérico |
|
Verifica se é necessário alertar o usuário sobre o medicamento no Sábado. |
id_medicine |
Simples |
Texto |
36 |
Identificador do medicamento. |
Fonte: Elaborado pelo autor
Tabela - Dicionário de dados da entidade PATIENT_USES_MEDICINE_IN_HOUR do SQLite
Entidade: PATIENT_USES_MEDICINE_IN_HOUR |
||||
Atributo |
Classe |
Domínio |
Tamanho |
Descrição |
id_patient_uses_medicine_in_hour |
Determinante |
Texto |
36 |
Chave Primária da tabela. |
hour |
Simples |
Numérico |
|
Indica o horário que o medicamento deve ser consumido. |
id_patient_uses_medicine |
Simples |
Texto |
36 |
Identificador da tabela PATIENT_USES_MEDICINE |
Fonte: Elaborado pelo autor
Copyright 2019
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.