Skip to content

Ramonrune/nhs-db

Repository files navigation

NHS Database

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.

Banco de dados (SQL SERVER)

alt text

Sqlite

alt text

Dicionario de dados

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

 

Licença

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.