@startuml

skinparam actorStyle awesome

note as N1
  Todos casos de uso herdam do caso de uso "Faz login na aplicação",
  porém omitimos as setas para melhorar a legibilidade do diagrama
end note

"Administrador do sistema" as admin
"Secretaria " as secretaria
"Médico" as medico
"Gerente de estoque" as gerente
"Usuário" as usuario

"CRUD usuários do sistema" as (crud usuario)

"CRUD salas do hospital" as (crud salas)

"Cadastra novos produtos no estoque" as (cadastra produtos)
"Distribui produtos em salas" as (distribui produtos)

"CRUD pacientes" as (crud pacientes)

"Agenda consulta com um paciente" as (agenda consulta)

"Abre uma consulta" as (abre consulta)
"Consome produtos em consulta" as (consome produtos)
"Encerra uma consulta" as (encerra consulta)

"Faz login na aplicação" as (login)

usuario <|-- admin
usuario <|-- secretaria
usuario <|-- medico
usuario <|-- gerente

usuario -down-> (login)

admin -down-> (crud usuario)

admin -down-> (crud salas)

gerente -down-> (cadastra produtos)
gerente -down-> (distribui produtos)

secretaria -down-> (agenda consulta)
secretaria -down-> (crud pacientes)

medico -down-> (abre consulta) 
medico -down-> (consome produtos)
medico -down-> (encerra consulta) 

@enduml
