Glossário do Projeto ProAMP

Este glossário define termos chave, conceitos e acrônimos relevantes para o projeto ProAMP, prontuário digital para a escola de educação especial Anna Maria Piettá.
O objetivo é fornecer uma referência rápida para entender a terminologia usada no projeto, facilitando a comunicação entre os interessados.

Termos Gerais do Projeto

Aluno (Student)

Indivíduo matriculado na escola e paciente do setor clínico, cujos dados cadastrais e de saúde são gerenciados pelo sistema.

Nos diagramas, é referido como Student.

Backend

A parte do sistema que lida com a lógica de negócios, processamento de dados e interações com o banco de dados.

No projeto, está sendo desenvolvido com Django e Django REST framework.

Biblioteca (Programação)

Conjunto de funções, classes e módulos reutilizáveis que fornecem funcionalidades específicas.

Em linguagens de programação, bibliotecas ajudam a acelerar o desenvolvimento.

Controle de Acesso

Mecanismo que define permissões para cada usuário (ator) conforme seu perfil (role) - administrador (sa_admin), gestor (sa_manager) ou profissional da saúde (sa_health_profissional) restringindo o acesso a funcionalidades e dados específicos do sistema.

Frontend

A parte do sistema em que o usuário interage diretamente, como botões, menus e imagens.

Em outras palavras, é a interface do usuário, a camada que o usuário vê e com a qual interage.

Interface Responsiva

Interface do sistema que se adapta a diferentes tamanhos de tela, como computadores, tablets e dispositivos móveis, garantindo uma boa experiência de usuário em todas as plataformas.

Prontuário Digital (Medical Record)

Sistema informatizado para registro, armazenamento, consulta e gerenciamento seguro e eficiente das informações clínicas dos alunos/pacientes.

Registro de Atendimentos (Medical Entry / Medical Record)

Funcionalidade que permite aos profissionais da saúde inserir, visualizar e atualizar dados sobre as consultas, avaliações, evoluções e outros procedimentos realizados com os alunos.

No projeto, as entradas de prontuário dos alunos são referidas como MedicalEntry, e a reunião destas entradas, agrupadas pelo id de cada aluno, formam o prontuário completo do mesmo, referido como Medical Record.

Logs de geração de relatório (ReportLog)

Funcionalidade que registra metadados sobre a geração de relatórios de atendimentos (ex: quem gerou, quando, tipo de relatório), sem armazenar o conteúdo do relatório em si no banco de dados principal, para otimizar o armazenamento.

Usuário (User)

Indivíduo que interage com o sistema, podendo ser um administrador, gestor ou profissional da saúde.

Cada usuário possui credenciais de acesso e um perfil (role) que define suas permissões.

Nos diagramas, referido como User.

Termos Técnicos e de Diagramas

AbstractUser (Django)

Classe base fornecida pelo Django que oferece a implementação fundamental de um sistema de usuário (autenticação, campos como username, password, email, etc.), permitindo customizações como a adição do campo role para diferentes perfis de usuário no projeto.

API (Application Programming Interface)

Interface que define como diferentes componentes de software devem interagir.

No contexto do projeto, o Django REST framework é usado para construir APIs que permitem a comunicação entre o frontend e o backend.

Ator (Actor)

Entidade externa que interage com o sistema.

No Diagrama de Casos de Uso, são representados como sa_admin (administrador do sistema), sa_health_profissional (profissional de saúde) e sa_manager (gestor).

Atributo (Attribute)

Uma característica ou propriedade de uma entidade ou classe.

Por exemplo, name (Nome), dob (Data de Nascimento), email são atributos da entidade Student (Estudante).

Boundary (Interface)

Elemento em diagramas (como o de Sequência) que representa a interface com a qual o ator interage, como uma tela do sistema (ex: Student Page no diagrama de sequência).

Cardinalidade (Cardinality)

Indica o número de instâncias de uma entidade que podem estar relacionadas a instâncias de outra entidade (ex: (0,n) zero para muitos; (1,1) um para um).

Visível nos Diagramas de Entidade-Relacionamento, Lógico e de Classe.

Caso de Uso (Use Case)

Descreve uma sequência de ações que o sistema pode realizar.

Exemplos do Diagrama de Casos de Uso: suc_manage_students (Gerenciar Alunos), suc_generate_report (Gerar Relatório).

Chave Estrangeira (Foreign Key - FK)

Um campo (ou conjunto de campos) em uma tabela que estabelece um link entre os dados em duas tabelas.

Ela referencia a chave primária de outra tabela.

Indicada com fk_ no Diagrama Lógico (ex: fk_User_uuid na tabela Health Profile).

Chave Primária (Primary Key - PK)

Um campo (ou conjunto de campos) que identifica unicamente cada registro em uma tabela do banco de dados.

Indicada com um ícone de chave no Diagrama Lógico (ex: uuid na tabela User).

Classe (Class)

Modelo para criar objetos em programação orientada a objetos.

Define atributos e métodos que os objetos terão.

Presente no Diagrama de Classes (ex: Student, User, ReportService).

Controlador (Controller)

Representa a lógica de negócios de uma determinada classe do sistema.

No diagrama de sequência, a classe Student (referenciada como Student Entity) manipula a lógica de negócio, através de métodos para operações de estudante.

O termo é comumente usado em sistemas MVC, estrutura do qual o Django REST Framework faz uso, porém neste a controller é renomeada como VIEW, assim constituíndo, em Django o modelo MVT.

Diagrama de Caso de Uso (Use Case Diagram)

Representação visual das interações entre os atores e o sistema, mostrando as principais funcionalidades (casos de uso) que o sistema oferece.

Diagrama de Classe (Class Diagram)

Tipo de diagrama da UML que descreve a estrutura de um sistema mostrando suas classes, atributos, métodos e os relacionamentos entre elas.

Diagrama de Entidade-Relacionamento (Entity-Relationship Diagram)

Modelo conceitual que descreve a estrutura de dados de um banco de dados, mostrando entidades, seus atributos e os relacionamentos entre elas.

Diagrama de Sequência (Sequence Diagram)

Diagrama UML que mostra a ordem temporal das interações entre objetos (ou atores e o sistema) para realizar uma funcionalidade específica ou parte dela.

Diagrama Lógico (Logic Diagram)

Representação da estrutura do banco de dados como ele será implementado, mostrando tabelas, colunas, tipos de dados, chaves primárias e estrangeiras.

Django

Framework de desenvolvimento web, escrito em Python.

Utilizado no backend do projeto.

Django App

Um submódulo de um projeto Django, projetado para realizar uma função específica.

O projeto está estruturado com apps como "estudantes" e "autenticação".

Django REST framework (DRF)

Uma biblioteca para construir APIs Web com Django.

Utilizada no projeto para criar os endpoints da API.

Endpoint

URL específica onde uma API pode ser acessada por uma aplicação cliente.

Por exemplo, /api/students/ é o endpoint usado para listar ou criar alunos.

Entidade (Entity)

Objeto do mundo real que é relevante para o sistema e sobre o qual os dados são armazenados.

No DER, exemplos são Student, User, Medical Entry.

Extensão (<<extend>>)

Relacionamento em Diagramas de Caso de Uso onde um caso de uso pode opcionalmente estender o comportamento de outro caso de uso base.

Ex: suc_generate_report estende suc_view_students_history.

HealthProfile (Perfil de Saúde)

Entidade/Classe que armazena informações específicas de profissionais da saúde, como especialidade (speciality) e número do conselho (council_number), vinculada a um User (usuário).

HTTP Status Codes

Códigos de resposta padrão dados por um servidor web a uma requisição HTTP:

  • HTTP_200_OK: Requisição bem-sucedida.
  • HTTP_201_CREATED: Requisição bem-sucedida e um novo recurso foi criado.
  • HTTP_204_NO_CONTENT: Requisição bem-sucedida, mas não há conteúdo para retornar (usado em operações de exclusão, por exemplo).

Método (Method)

Uma função associada a uma classe, que define um comportamento ou ação que um objeto daquela classe pode realizar.

Ex: save(student), soft_delete(student) na classe Student.

Relacionamentos (Relationships)

Conexões entre classes ou entidades que descrevem como elas interagem ou se associam.

Exemplos dos diagramas:

  • Generate (Gera): Relação entre User e Report/ReportLog.
  • Has (Possui): Relação entre User e Health Profile.
  • Manage (Gerencia): Relação entre User e Student.
  • Own (Possui): Relação entre Student e MedicalEntry.
  • Receive (Recebe): Relação entre Student e Medical Record.
  • Register (Registra): Relação entre User e Medical Entry.
  • Uses (Usa): Relação entre Report e ReportService.

Request (Requisição)

Uma mensagem enviada por um cliente (ex: navegador) para um servidor solicitando uma ação ou recurso.

Response (Resposta)

Uma mensagem enviada por um servidor a um cliente em resposta a uma requisição.

Role (Papel/Perfil)

Campo associado à entidade User para definir o perfil do usuário no sistema (ex: admin, gestor, profissional da saúde), determinando suas permissões e acesso.

Soft Delete (Exclusão Lógica)

Marca um registro como inativo (ex: is_active = false) em vez de removê-lo fisicamente do banco de dados.

Permite a recuperação de dados (restore_inactive_student).

SQL Data Types (Tipos de Dados SQL)

Definem o tipo de dado que uma coluna em uma tabela de banco de dados pode armazenar.

Vistos no Diagrama Lógico:

  • VARCHAR: Sequência de caracteres de tamanho variável.
  • DATE: Armazena uma data (ano, mês, dia).
  • BOOLEAN: Armazena valores verdadeiros ou falsos.
  • INTEGER: Armazena números inteiros.

UUID (Universally Unique Identifier)

Identificador universalmente único usado como chave primária (pk) para muitas entidades no projeto (ex: Student, User), garantindo que cada registro tenha um ID único globalmente.

View (Django)

Como mencionado anteriormente, em Django as regras de negócio são definidas em uma camada de controle chamada de VIEW.

Viewset (DRF)

Classe que agrupa vários endpoints de API relacionados numa única classe, combinando a lógica para operações comuns como listagem, criação, recuperação, atualização e exclusão de um modelo.

Acrônimos

API (Application Programming Interface)

Interface de Programação de Aplicações.

CEP (Código de Endereçamento Postal)

Número de identificação postal.

CGM (Código Geral Matrícula)

Código de identificação único a cada aluno (funciona como um ID).

CRUD (Create, Read, Update e Delete)

CRUD significa Create (Criar), Read (Ler), Update (Atualizar) e Delete (Excluir), sendo um acrônimo que representa as quatro operações básicas de gestão de dados persistentes.

CSV (Comma-Separated Values)

Valores Separados por Vírgula.

Formato de arquivo para armazenamento de dados estruturados em tabelas.

DER (Diagrama de Entidade-Relacionamento)

Modelo de dados que representa entidades e seus relacionamentos.

DOB (Date of Birth)

Data de nascimento.

DRF (Django REST Framework)

Framework para construir APIs Web com Django.

ECU (Especificação de Caso de Uso)

Documento que descreve os fluxos de eventos de um caso de uso.

FK (Foreign Key)

Chave Estrangeira.

HTTP (Hypertext Transfer Protocol)

Protocolo de Transferência de Hipertexto.

HTTPS (Hypertext Transfer Protocol Secure)

Protocolo de Transferência de Hipertexto Seguro.

Protocolo seguro de comunicação utilizado entre o navegador e o servidor.

MTTR (Mean Time to Repair)

Tempo Médio para Reparo.

Tempo médio necessário para corrigir falhas no sistema.

MVC (Model-View-Controller)

Padrão de arquitetura de software que separa a aplicação em três camadas: Model (dados), View (interface do usuário) e Controller (gerencia a lógica de negócio).

Django segue um padrão similar chamado MVT (Model-View-Template).

MVT (Model-View-Template)

Termo utilizado no contexto Django, para definir as camadas de um típico projeto MVC.

Model, modelo de entidades; View, lógica de negócios; Template, representação visual do sistema.

ORM (Object-Relational Mapping)

Mapeamento Objeto-Relacional.

Técnica que permite mapear dados entre sistemas incompatíveis usando linguagens de programação orientadas a objetos.

No Django, o ORM permite interagir com o banco de dados usando código Python em vez de SQL diretamente.

PIP (Pip Installs Packages)

Sistema de gerenciamento de pacotes para Python.

Ferramenta de linha de comando usada para instalar, atualizar e gerenciar bibliotecas e dependências Python.

Exemplo: pip install django para instalar o framework Django.

PK (Primary Key)

Chave Primária.

Identificador primário de uma entidade.

ProAMP

Prontuário ANNA MARIA PIETTÁ.

Acrônimo usado como nome para a aplicação desenvolvida neste projeto de estágio.

SQL (Structured Query Language)

Linguagem de Consulta Estruturada, usada para gerenciar e consultar bancos de dados relacionais.

UML (Unified Modeling Language)

Linguagem de Modelagem Unificada, usada para especificar, visualizar, construir e documentar os artefatos de um sistema de software.

UUID (Universally Unique Identifier)

Identificador universalmente único.

XLSX (Excel Open XML Spreadsheet)

Formato Open XML usado pelo Microsoft Excel.

Traduções dos campos em inglês

Address (Endereço)

Endereço completo, com rua e número do estudante.

City (Cidade)

Cidade associada ao CEP cadastrado.

Council_number (Número de conselho)

Campo com número de cadastro no conselho regional, específico a cada tipo de profissional da saúde (ex: CREFITO → Conselho Regional de Fisioterapia e Terapia Ocupacional; CRP → Conselho regional de Psicologia).

Created_at (Criado em)

Representa a data de criação daquela entrada no banco de dados.

Created_by (Criado por)

Campo com id do usuário que cadastrou esta entrada.

Date (Data)

Data de cadastro da entidade.

Export_to_xlsx (Exportar para XLSX)

Método para exportar arquivo de relatório no formato XLSX.

Gender (Gênero)

Campo de escolha entre masculino, feminino ou outro.

Guardian (Responsável)

Nome completo do responsável legal pelo estudante.

Guardian_cpf (CPF do responsável)

CPF de cadastro do responsável.

First_name (Primeiro nome)

Herdado a partir do usuário abstrato do Django, representa apenas o primeiro nome do usuário.

Generate_history (Gerar histórico)

Método para gerar relatório de histórico.

Generate_montly (Gerar mensal)

Método para gerar relatório mensal.

Generated_at (Gerado em)

Campo com a data de geração do relatório.

Generated_by (Gerado por)

Campo de associação à entidade User para definir quem gerou aquele relatório.

Healthpro_id (Identificador do profissional de saúde)

Identificador único do profissional que registrou a entrada.

Id (Identificador)

Valor único à cada instância cadastrada no banco.

Is_active (É ativo)

Representa o campo que define os alunos ativos, ou inativos.

Last_name (Último nome)

Herdado a partir do usuário abstrato do Django, representa o último nome do usuário (pode conter o nome do meio também).

Medrec_description (Descrição de recomendações clínicas)

Campo dedicado à descrição de observações do atendimento clínico.

Name (Nome)

Nome completo do estudante em uma única entrada.

Report_type (Tipo de relatório)

Campo descritivo de qual tipo de relatório foi gerado (ex: Relatório mensal, histórico e etc...).

Speciality (Especialidade)

Campo descritivo da especialização do profissional.

State (Estado)

Estado de residência cadastrado.

Student_id (Identificador do estudante)

Identificador único do estudante associado a aquela entrada.

Password (Senha)

Campo de senha, herdado a partir do usuário abstrato do Django.

Patient_evolution (Evolução do paciente)

Campo descritivo do que foi feito no atendimento.

Role (Papel)

Já descrito nos termos técnicos: Campo associado à entidade User para definir o perfil do usuário no sistema.

Updated_at (Atualizado em)

Representa a data em que aquela instância foi atualizada.

Updated_by (Atualizado por)

Campo com id do último usuário a alterar esta entrada.

User (Usuário)

Campo que faz refência a alguma entidade de User.