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
Download

Iconix