Minha dica:
Não faça seu modelo relacional como se estivesse fazendo um modelo OO. São coisas diferentes.
Seu modelo vai depender de seus requisitos, isso voce deve saber, mas veja que (a principio) não tem o menor sentido uma tabela pessoa, medico, paciente, secretaria.
enfim, antes de definir seu modelo, pense em seus requisitos. O que sua aplicação deve fazer?
Sobre dizer se o relacionamento entre as entidades estão corretas,
Apesar de não ser possível dizer sim ou nao com certeza sem saber os requisitos, o relacionamento entre as entidades não está legal pois mistura OO com Modelo Entidade Relacionamento.
Só para tentar deixar um pouco mais claro:
Veja sua tabela ‘administrador’. Essa tabela não deve existir. O que poderia existir é uma tabela chamada usuário, sendo que um destes usuários pode ser o administrador.
Quando vamos pra OO, poderiamos pensar em uma classe/objeto Administrador que poderia executar determinadas chamadas que outros objetos não poderiam fazer, ou que poderia fazer algumas chamadas de modo especifico, sobrescrevendo determinados métodos. Na pratica, esse controle fica mesmo por conta da parte de gerenciamento de acesso e não mesmo seria necessario um objeto Administrador. Utilizei aqui desta forma somente como exemplo.