# GNU Health/Primeiros Passos
## Terminologia

Antes de iniciar o processo de implementação, é importante se familiarizar com a terminologia utilizada no restante deste livro. No início algumas palavras podem ser um pouco confusas, mas com um pouco de prática, você vai achar esta terminologia bastante lógica.
Primeiro você deve saber que o GNU Health baseia-se em outro software. Mesmo se você não for uma pessoa técnica, o facilitaria o entendimento de que o GNU Health é uma extensão do Tryton, um sistema de planejamento de recursos para empresas (mais conhecido como ERP), que pode ser usado para quase qualquer tipo de empresa ou organização. Tryton é desenvolvido em linguagem de programação Python, e ele armazena todos os seus dados em um banco de dados PostgreSQL.
Os seguintes conceitos são essenciais para entender como funciona o GNU Health:
* Partido: No GNU Health, uma parte é uma entidade. Um conceito abstrato para definir alguém ou algo que tem status legal. É a unidade da relação em Tryton. Alguns exemplos de Partes são:
** Pacientes
** Companias
** Profissionais de saúde
** Centros de saúde
* Modelo: O modelo define cada objeto em Gnu Health. Modelos definem os objetos do banco de dados (tabelas). gnuhealth.patient é um exemplo de modelo.
* Campo: Os blocos de construção do modelo. Por exemplo: idade e sexo são campos do gnuhealth.patient.
* View: Views são a representação do modelo na tela. A maioria dos modelos terá uma forma individual para aceitar dados dentro do modelo e mostrar dados fora do modelo.
** Árvore: O formato de lista do modelo. A exibição em árvore nos permite procurar selecionando vários registros. Exemplo de uma lista de árvore
** Formulário: A representação do modelo ma tela que nos permite a entrada de dados Visão do formulário do mesmo registro
* Tabela: A representação do modelo no servidor de banco de dados. O modelo gnuhealth.patient é mapeado na tabela gnuhealth_patient no postgreSQL.
* Registro: Cada entrada única em uma tabela de banco de dados particular. Por exemplo Ana Betz é um registro na tabela gnuhealth_patient no PostgreSQL.
* Módulo: Módulos são programas que fornecem funcionalidades específicas. GNU Health fornece módulos diferentes para atender às suas necessidades de centros de saúde. Exemplo de módulos são Socioeconômicos, Genética e Cirurgia. Você só deve instalar os módulos que são realmente necessários para o seu centro.
* Relatório: Relatório te permite imprimir dinamicamente documentos em Formato de Documento Aberto (ODF)/LibreOffice, Formato de Documento Portável (PDF) ou mesmo diretamente para a impressora.
* Ação: Ações são processos executados em um ou mais registros selecionados.
* Notebook: Um grupo com guias de formas concebidas para tornar a navegação mais fácil.

# Área de Navegação

Agora é tempo para identificar os componentes da tela GNU Health. Na imagem seguinte marcamos as seções principais:
* Menu Principal: Nós podemos navegar entre as diferentes funcionalidades. Configuração, pacientes, financeiro, etc. Você pode desativar o menu principal (útil em dispositivos de baixa resolução), pressionando Ctrl + T
* Abas: Tryton lhe permite ter vários registros abertos ao mesmo tempo. A seção "Abas" da imagem mostra a forma atual.
* Ações: Na seção Abas você vai encontrar ícones diferentes que atuam sobre o registro atual. Você pode, por exemplo, criar um novo registro, gerar um relatório, alterar a exibição, selecionar registros associados relacionados a este paciente (consultas, testes de laboratório, etc.).
* Formulário de Registro: Este é o lugar onde você vê e insere as informações. Observe que você pode ter formas tabuladas (notebooks) na metade inferior do formulário, que permite navegação rápida e fácil. Neste exemplo algumas das guias dentro dos registros são o principal, medicamentos, doenças, cirurgias, socioeconomia e informações ginecológicas. O lado superior deste formulário é estático, de modo que o profissional de saúde tem as mais relevantes
informações sobre o paciente sempre visível.
* Barra de status: O lado inferior da tela mostra a barra de status. Da esquerda para a direita, estes são campos:
** Nome de usuário: Neste caso, logado como Administrador
** Nome da organização: Hospital GNU Solidário
** Pedidos : Tryton tem um sistema interno de mensagens. Você terá notificações em tempo real.
** Informação do servidor: A seção inferior direita te dá o login e informações do servidor. Neste exemplo, ele mostra "admin@localhost:8000/demo". Admin é o nome de login, localhost é o nome do servidor GNU Health, 8000 é a porta onde se conecta e demo é o nome do banco de dados.

# Os campos do formulário e tipos de campo

Vamos agora percorrer os tipos de campos mais relevantes e como usá-los corretamente. Vamos usar a imagem anterior do paciente como o exemplo.
* Campos de texto: Estes tipos de campos nos permitem entrar com um monte de informações. Você vai vê-los normalmente como grandes caixas. No nosso exemplo, o campo abaixo de "Alergias de Pacientes e Informações Críticas" é um campo de texto.
* Campos de caracteres: Estes tipos de campos são similares aos campos de texto, mas com um tamanho limitado. Há poucos campos de caracteres e nenhum neste exemplo. O tipo de dieta na seção de estilo de vida ou a identificação do gene na genética são exemplo para campos de caracteres.
* Campos de data: Estes campos vão abrir um calendário quando clicado, assim você pode escolher a data. Alternativamente, você pode digitar a data manualmente. A data de nascimento é um campo de data.
* Campos de datahora: Similar aos campos de data, mas com a adição de tempo. Um exemplo deste campo é o Data/hora de nascimento do recém-nascido, no módulo de neonatologia.
* Campos de número inteiro: Estes campos permitem apenas números inteiros. Eles mostram um "0" por padrão. Um exemplo é minutos de exercício físico por dia.
* Campos de número flutuante: Você pode inserir números decimais. A temperatura corporal é um exemplo de um campo flutuante.
* Campos de função: Estes são campos especiais, no sentido de que eles são calculados em tempo real, dependendo, na maioria das vezes, sobre os valores de outros campos. Por exemplo, a idade do paciente é um campo de função. Observe que o campo tem um fundo cinzento, significando que é somente leitura. Ele irá calcular a idade atual do paciente em anos/meses/dias, dependendo da data de nascimento do paciente. Um outro exemplo de campo de função é o estado de hospitalização do paciente.
* Campos de seleção: Estes campos permitirão que você escolha a partir de uma lista de opções. Por exemplo, o paciente Sexo ou tipo de sangue são campos de seleção. Este tipo de campo minimiza erro de digitação.
* Campos de modelo relacional: Estes campos recuperam informações de um modelo relacionado. Eles são do formato um para vários ou vários para um. Campos relacionais são importantes para manter a especificidade de dados. Ao utilizar este tipo de campos, você vincula o ID de um registro existente, sem duplicar a informação, para um outro registro. O paciente é um campo relacional (um para vários). Relaciona-se com o modelo parte, de onde se obtém todos os dados administrativos (número do seguro social, endereço, etc.).
    Atalho: [F2] abrirá o registro relacionado e [F3] irá criar um novo registro
* Campos de obrigatórios: Estes campos são obrigatórios. Você deve digitar informações ou então o registro não será salvo. Você pode identificar rapidamente os campos necessários, porque eles têm um fundo azul. O campo Paciente é um campo obrigatório.

## Hora de Praticar

Importante: Certifique-se de que você está no seu banco de dados demonstrativo. Esta base de dados de demonstração que você criou não tem nenhuma informação importante. Você pode colocar o que quiser. Você pode até mesmo eliminá-lo e recriá-lo. Apenas certifique-se de não usar um banco de dados de produção para os testes. Uma maneira de evitar entrar no banco de dados de produção acidentalmente é ter uma senha diferente para seu banco de dados demonstrativo, desta forma, se você selecionar o banco de dados errado, você não será capaz de logar.
Se você não tem um banco de dados de demonstração, no entanto, por favor consulte o capítulo Maneiras Diferentes para Testar o GNU Health para aprender a criar o seu próprio ambiente de teste.
Tem sido uma grande quantidade de informação! Agora é tempo para brincar com toda essa informação.
Com as informações tente o seguinte:
* Navegar no Menu Principal
* Abrir o submenu Configuração
* Criar um Médico com a Medicina Especializada Familiar.