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.
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.
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.
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.
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.
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 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.
Sistema informatizado para registro, armazenamento, consulta e gerenciamento seguro e eficiente das informações clínicas dos alunos/pacientes.
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.
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.
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.
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.
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.
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).
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).
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).
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.
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).
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).
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).
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).
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.
Representação visual das interações entre os atores e o sistema, mostrando as principais funcionalidades (casos de uso) que o sistema oferece.
Tipo de diagrama da UML que descreve a estrutura de um sistema mostrando suas classes, atributos, métodos e os relacionamentos entre elas.
Modelo conceitual que descreve a estrutura de dados de um banco de dados, mostrando entidades, seus atributos e os relacionamentos entre elas.
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.
Representação da estrutura do banco de dados como ele será implementado, mostrando tabelas, colunas, tipos de dados, chaves primárias e estrangeiras.
Framework de desenvolvimento web, escrito em Python.
Utilizado no backend do projeto.
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".
Uma biblioteca para construir APIs Web com Django.
Utilizada no projeto para criar os endpoints da API.
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.
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.
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.
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).
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).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.
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.Uma mensagem enviada por um cliente (ex: navegador) para um servidor solicitando uma ação ou recurso.
Uma mensagem enviada por um servidor a um cliente em resposta a uma requisição.
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.
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).
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.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.
Como mencionado anteriormente, em Django as regras de negócio são definidas em uma camada de controle chamada de VIEW.
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.
Interface de Programação de Aplicações.
Número de identificação postal.
Código de identificação único a cada aluno (funciona como um ID).
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.
Valores Separados por Vírgula.
Formato de arquivo para armazenamento de dados estruturados em tabelas.
Modelo de dados que representa entidades e seus relacionamentos.
Data de nascimento.
Framework para construir APIs Web com Django.
Documento que descreve os fluxos de eventos de um caso de uso.
Chave Estrangeira.
Protocolo de Transferência de Hipertexto.
Protocolo de Transferência de Hipertexto Seguro.
Protocolo seguro de comunicação utilizado entre o navegador e o servidor.
Tempo Médio para Reparo.
Tempo médio necessário para corrigir falhas no sistema.
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).
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.
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.
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.
Chave Primária.
Identificador primário de uma entidade.
Prontuário ANNA MARIA PIETTÁ.
Acrônimo usado como nome para a aplicação desenvolvida neste projeto de estágio.
Linguagem de Consulta Estruturada, usada para gerenciar e consultar bancos de dados relacionais.
Linguagem de Modelagem Unificada, usada para especificar, visualizar, construir e documentar os artefatos de um sistema de software.
Identificador universalmente único.
Formato Open XML usado pelo Microsoft Excel.
Endereço completo, com rua e número do estudante.
Cidade associada ao CEP cadastrado.
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).
Representa a data de criação daquela entrada no banco de dados.
Campo com id do usuário que cadastrou esta entrada.
Data de cadastro da entidade.
Método para exportar arquivo de relatório no formato XLSX.
Campo de escolha entre masculino, feminino ou outro.
Nome completo do responsável legal pelo estudante.
CPF de cadastro do responsável.
Herdado a partir do usuário abstrato do Django, representa apenas o primeiro nome do usuário.
Método para gerar relatório de histórico.
Método para gerar relatório mensal.
Campo com a data de geração do relatório.
Campo de associação à entidade User para definir quem gerou aquele relatório.
Identificador único do profissional que registrou a entrada.
Valor único à cada instância cadastrada no banco.
Representa o campo que define os alunos ativos, ou inativos.
Herdado a partir do usuário abstrato do Django, representa o último nome do usuário (pode conter o nome do meio também).
Campo dedicado à descrição de observações do atendimento clínico.
Nome completo do estudante em uma única entrada.
Campo descritivo de qual tipo de relatório foi gerado (ex: Relatório mensal, histórico e etc...).
Campo descritivo da especialização do profissional.
Estado de residência cadastrado.
Identificador único do estudante associado a aquela entrada.
Campo de senha, herdado a partir do usuário abstrato do Django.
Campo descritivo do que foi feito no atendimento.
Já descrito nos termos técnicos: Campo associado à entidade User para definir o perfil do usuário no sistema.
Representa a data em que aquela instância foi atualizada.
Campo com id do último usuário a alterar esta entrada.
Campo que faz refência a alguma entidade de User.