Análise e Concepção de Sistemas de Informação ICONIX Sistema de Gestão de Fichas Médicas Carla Ferreira / José Borbinha Caso de Estudo (I) Desenvolver um sistema para a gestão de fichas de pacientes de um grupo de centros de saúde Uma ficha de cliente é composta por vários registos Os registos podem ser inseridos nas fichas pelo médico do paciente ou outro pessoal de apoio médico. Cada registo descreve uma consulta médica ou o resultado de um exame médico. Apenas os médicos podem criar novas fichas. Todos os utilizadores têm acesso ao mesmo sistema mesmo quando trabalham em diferentes centros de saúde. ACSI/ICONIX - Exemplo 2 Caso de Estudo (II) Cada médico pode trabalhar em mais de que um centro de saúde. Cada centro de saúde tem vários médicos. Cada paciente tem uma única ficha. Cada centro de saúde é caracterizado por um nome e morada. Os médicos são caracterizados pelo seu nome e os centros de saúde onde trabalham. Cada paciente é caracterizado pelo seu nome. ACSI/ICONIX - Exemplo 3 Casos de Estudo (III) O sistema deve disponibilizar a seguinte informação: – A ficha de um paciente – Quantos médicos um dado paciente já consultou – Quantos centros de saúde um dado paciente visitou – Quantos registos inseriu um médico – Quantos registos foram inseridos num dado centro de saúde ACSI/ICONIX - Exemplo 4 Iconix - Análise de Requisitos ACSI/ICONIX - Exemplo 5 1º Passo - Análise de Requisitos ACSI/ICONIX - Exemplo 6 Determinar Classes Sublinhar substantivos (possíveis classes...): – – – – – – – – – Ficha Paciente Registo de Paciente Médico Pessoal Médico Descrição Resultado de Exame Centro de Saúde ... ACSI/ICONIX - Exemplo 7 Determinar Associações Sublinhar verbos (possíveis associações...) – – – – – – – – Ficha é composta por Registos Médico cria nova Fichas Médico trabalha em Centro de Saúde Pessoal Médico trabalha em Centro de Saúde Pessoal Médico insere Registos Registo descreve Consulta Registo descreve Resultado de Exame Registo é inserido num Centro de Saúde ACSI/ICONIX - Exemplo 8 Diagrama de Classes (1) cd Modelo do Conceptual Médico Paciente atende cria pertence Ficha Administrativ o Consulta contem descreve PessoalMédico Registo insere descreve ResultadoExame criado trabalha ACSI/ICONIX - Exemplo Centro de Saúde 9 Diagrama de Casos de Uso Registar Centro Saúde Administrativ o Registar Pessoal Médico AdministradorSistema Extrair Dados Estatisticos PessoalMédico Inserir Registo Médico «include» Criar Ficha de Paciente Médico ACSI/ICONIX - Exemplo 10 Iconix - Análise e Desenho Preliminar ACSI/ICONIX - Exemplo 11 2º Passo - Análise e Desenho Preliminar ACSI/ICONIX - Exemplo 12 Caso de Uso - Descrição Textual Inserir Registo Médico Registar Pessoal Médico Registar Centro Saúde Nome: Registar Consulta Médica Actores: Pessoal Médico Nome: Registar Pessoal Médico Actores: Administrador de Sistema Nome: Registar Centro Saúde Actores: Administrador de Sistema 1) O utilizador insere a identificação do paciente 2) O sistema procura a ficha do paciente 3) O sistema apresenta a ficha do paciente 4) O utilizador insere a descrição da consulta ou o resultado do exame num novo registo 5) O registo é adicionado à ficha do paciente 1) O utilizador insere o ID do Pessoal Médico 2) Se o ID existe, o sistema apresenta a informação desse empregado 3) O sistema pergunta ao utilizador para criar ou editar informação do empregado 4) O utilizador insere a informação sobre o pessoal médico 5) Os dados inseridos são guardados 1) O utilizador insere o ID do centro de saúde 2) Se o ID existe, o sistema apresenta a informação desse centro de saúde 3) O sistema pergunta ao utilizador para criar ou editar informação do centro de saúde 4) O utilizador insere a informação sobre o centro de saúde 5) Os dados inseridos são guardados Cenário Alternativo 1 (ficha não existe): Idem aos passos 1) e 2) do cenário principal 3) Incluir caso de uso "Criar Ficha" Criar Ficha de Paciente Extrair Dados Estatisticos Nome: Criar Ficha Actores: Médico Nome: Extrair Dados Estatísticos Actores: Pessoal Médico ou Administrador do Sistema Cenário Principal: 1) O utilizador cria uma nova ficha 2) O utilizador insere a informação do paciente Cenário Principal: 1) O utilizador seleciona o tipo de estatística pretendida 2) Os resultados são calculados e apresentados ao utilizador ACSI/ICONIX - Exemplo 13 Diagrama de Robustez Criar Ficha de Paciente Registar Consulta Obter ID Paciente PessoalMédico (from Diagramas de Caso de Uso) (from Diagramas de Caso de Uso) [ficha não existe] [ficha existe] Mostrar Ficha Paciente Procurar Ficha Paciente Lista de Fichas de Pacientes Ficha Paciente Criar e Editar Registo Guardar Registo Registo ACSI/ICONIX - Exemplo 14 Diagrama de Robustez AdministradorSistema Obter ID Pessoal Médico Procurar Pessoal Médico Registar Pessoal Médico Mostrar Dados Pessoal Médico Lista de Pessoal Médico (from Diagramas de Caso de Uso) Selecionar Criar/Editar Criar Pessoal Médico Obter e Guardar Dados Pessoal Médico Pessoal Médico ACSI/ICONIX - Exemplo 15 Diagrama de Robustez Criar Ficha Paciente Editar Ficha de Paciente Ficha Paciente PessoalMédico (from Diagramas de Caso de Uso) Guardar Ficha Paciente Lista de Fichas de Pacientes ACSI/ICONIX - Exemplo 16 Diagrama de Classes (2) Adicionar multiplicidades, restrições, relações de agregação e composição Médico Paciente atende * * 1 cria Administrativ o pertence 0..* Ficha Consulta descreve 1 * PessoalMédico Registo 1 insere {xor} 1 1 Centro de Saúde trabalha * ACSI/ICONIX - Exemplo descreve * 0..* criado 1 ResultadoExame 1 17 Iconix - Desenho ACSI/ICONIX - Exemplo 18 3º Passo - Desenho ACSI/ICONIX - Exemplo 19 Diagrama de Sequência AdministradorSistema Registar Centro Saúde Registar Centro Saúde Lista de Centros de Saúde Centro Saúde getIDCentro 1) O utilizador insere o ID do centro de saúde getIDCentro getCentroSaude getNomeCentroSaude 2) Se o ID existe, o sistema apresenta a informação desse centro de saúde getPessoalMedico showInfoCentroSaude askEditCreate askEditCreate 3) O sistema pergunta ao utilizador para criar ou editar informação do centro de saúde 4) O utilizador insere os dados 5) Os dados são guardados ACSI/ICONIX - Exemplo CentroSaude getInfoCentroSaude getInfoCentroSaude storeInfoCentroSaude 20 Diagrama de Sequência PessoalMédico Registar Consulta Médica Registar Consulta Médica Lista de Fichas de Pacientes Ficha Paciente Registo getIDPaciente 1) O utilizador insere a identificação do paciente getIDPaciente getFichaPaciente 2) O sistema procura a ficha do paciente showFicha 3) O sistema apresenta a ficha do paciente getInfoRegisto getInfoRegisto 4) O utilizador insere a descrição da consulta ou o resultado do exame num novo registo Registo addRegisto 5) O registo é adicionado à ficha do paciente ACSI/ICONIX - Exemplo 21 AdministradorSistema Registar Pessoal Médico Registar Pessoal Médico Lista de Pessoal Médico Pessoal Médico getIDPessoal 1) O utilizador insere o ID do Pessoal Médico getIDPessoal getPessoalMedico Diagrama de Sequência getName 2) Se o ID existe, o sistema apresenta a informação desse empregado getOffices showInfoPessoalMedico askEditCreate askEditCreate 3) O sistema pergunta ao utilizador para criar ou editar informação do empregado 4) O utilizador insere a informação sobre o pessoal médico PessoalMedico getInfoPessoalMedico getInfoPessoalMedico storeInfoPessoalMedico 5) Os dados inseridos são guardados ACSI/ICONIX - Exemplo 22 Diagrama de Classes Actualizado... Médico Ficha de Paciente cria * - 1 IDPaciente: nomePaciente: Administrativ o * contem 1 * Pessoal Médico - Registo IDPessoalMedico: NomePessoalMedico: 1 * descrição: insere * * * criado Centro de Saúde trabalha 1..* - IDCentroSaude: 1 * 1 Lista de Pessoal Médico ACSI/ICONIX - Exemplo 1 1 Lista de Centros de Saúde Lista de Ficha de Pacientes 23 4º Passo – Implementação... Inserir Registo Médico Registar Centro Saúde Registar Pessoal Médico Registar Centro Saúde PessoalMédico Registar Consulta Médica Registar Consulta Médica Lista de Fichas de Pacientes Ficha Paciente AdministradorSistema Registo Registar Pessoal Médico AdministradorSistema Extrair Dados Estatisticos Nome: Registar Consulta Médica Actores: Pessoal Médico Nome: Registar Pessoal Médico Actores: Administrador de Sistema Nome: Registar Centro Saúde Actores: Administrador de Sistema 1) O utilizador insere a identificação do paciente 2) O sistema procura a ficha do paciente 3) O sistema apresenta a ficha do paciente 4) O utilizador insere a descrição da consulta ou o resultado do exame num novo registo 5) O registo é adicionado à ficha do paciente 1) O utilizador insere o ID do Pessoal Médico 2) Se o ID existe, o sistema apresenta a informação desse empregado 3) O sistema pergunta ao utilizador para criar ou editar informação do empregado 4) O utilizador insere a informação sobre o pessoal médico 5) Os dados inseridos são guardados 1) O utilizador insere o ID do centro de saúde 2) Se o ID existe, o sistema apresenta a informação desse centro de saúde 3) O sistema pergunta ao utilizador para criar ou editar informação do centro de saúde 4) O utilizador insere a informação sobre o centro de saúde 5) Os dados inseridos são guardados Cenário Alternativo 1 (ficha não existe): Idem aos passos 1) e 2) do cenário principal 3) Incluir caso de uso "Criar Ficha" PessoalMédico 1) O utilizador insere o ID do Pessoal Médico Criar Ficha de Paciente «include» Criar Ficha de Paciente getFichaPaciente getOffices showFicha showInfoPessoalMedico 3) O sistema apresenta a ficha do paciente askEditCreate getInfoRegisto askEditCreate 3) O sistema pergunta ao utilizador para criar ou editar informação do empregado 4) O utilizador insere a descrição da consulta ou o resultado do exame num novo registo 4) O utilizador insere a informação sobre o pessoal médico PessoalMedico getInfoPessoalMedico getInfoPessoalMedico storeInfoPessoalMedico addRegisto Nome: Extrair Dados Estatísticos Actores: Pessoal Médico ou Administrador do Sistema Cenário Principal: 1) O utilizador cria uma nova ficha 2) O utilizador insere a informação do paciente Cenário Principal: 1) O utilizador seleciona o tipo de estatística pretendida 2) Os resultados são calculados e apresentados ao utilizador Pessoal Médico getName 2) Se o ID existe, o sistema apresenta a informação desse empregado 2) O sistema procura a ficha do paciente Extrair Dados Estatisticos Nome: Criar Ficha Actores: Médico Lista de Pessoal Médico getPessoalMedico Registo Médico Registar Pessoal Médico getIDPessoal getIDPaciente getInfoRegisto Inserir Registo Médico Registar Pessoal Médico getIDPessoal getIDPaciente 1) O utilizador insere a identificação do paciente Administrativ o 5) Os dados inseridos são guardados 5) O registo é adicionado à ficha do paciente AdministradorSistema Registar Centro Saúde Registar Centro Saúde Lista de Centros de Saúde Centro Saúde getIDCentro 1) O utilizador insere o ID do centro de saúde getIDCentro getCentroSaude Obter ID Pessoal Médico Procurar Pessoal Médico Criar Ficha de Paciente Lista de Pessoal Médico Registar Consulta Obter ID Paciente getNomeCentroSaude 2) Se o ID existe, o sistema apresenta a informação desse centro de saúde PessoalMédico Criar Ficha Paciente getPessoalMedico (from Diagramas de Caso de Uso) (from Diagramas de Caso de Uso) Editar Ficha de Paciente Registar Pessoal Médico AdministradorSistema Ficha Paciente [ficha não existe] askEditCreate Mostrar Dados Pessoal Médico askEditCreate [ficha existe] (from Diagramas de Caso de Uso) Mostrar Ficha Paciente PessoalMédico (from Diagramas de Caso de Uso) Guardar Ficha Paciente showInfoCentroSaude Procurar Ficha Paciente Lista de Fichas de Pacientes 3) O sistema pergunta ao utilizador para criar ou editar informação do centro de saúde 4) O utilizador insere os dados Selecionar Criar/Editar CentroSaude getInfoCentroSaude getInfoCentroSaude Ficha Paciente 5) Os dados são guardados Criar Pessoal Médico Lista de Fichas de Pacientes Obter e Guardar Dados Pessoal Médico Criar e Editar Registo storeInfoCentroSaude Guardar Registo Registo Pessoal Médico cd Modelo do Conceptual Médico Médico Ficha de Paciente cria Paciente atende * - 1 IDPaciente: nomePaciente: Administrativ o cria * pertence contem Ficha 1 * Administrativ o Pessoal Médico Consulta contem Registo IDPessoalMedico: NomePessoalMedico: - * descrição: insere 1 descreve PessoalMédico - * * * criado Registo insere Centro de Saúde trabalha 1..* - IDCentroSaude: 1 descreve ResultadoExame criado trabalha Centro de Saúde ACSI/ICONIX - Exemplo * 1 Lista de Pessoal Médico 1 1 Lista de Centros de Saúde Lista de Ficha de Pacientes 24