# Demanda 32 · O PERFIL DO MEDICO — escopo fechado, SEGURO na fila do dono

Estado: as perguntas **95** (a cara) e **98** (o CRM) bloqueiam.
Ambas mudam a FORMA do trabalho. Assim que ele responder, correr o comando do fim — sem releitura.

## O que MEDI (e por isso NAO perguntei)
- `Utilizador` (schema.prisma:34-44): nome, email, senhaHash, papel, estado, `crm String?`.
  ⛔ Sem cara, ⛔ sem nucleo, ⛔ sem RQE. E `crm` **NAO e' unico**.
- `VinculoMedicoUpa` (:233): ja' guarda `situacao`, `decididoEm`, `decididoPorId`. O historico existe e **nenhum ecra o mostra**.
- `GET /api/v1/identidade/eu` (identidade.controlador.ts:65) devolve id, nome, papel, estado, crm — e e' a **UNICA** rota `@PermitePendente()`.
- ⛔ NINGUEM edita `Utilizador` no produto. A unica escrita e' `recalcularEstadoDoMedico` (vinculo.servico.ts:217): ATIVO com >=1 vinculo ACEITO, senao PENDENTE.
- Carregar imagem ja' esta' feito e provado: `POST /api/v1/marcas` (marca.controlador.ts:33) — formato lido do CONTEUDO (png/webp/svg), tecto 512 KB, saneador de SVG, id = hash. Hoje so' a Secretaria entra.
- Galeria: **39 pecas** pagas e aprovadas. ⛔ NENHUMA e' avatar de pessoa.

## O que DECIDI SOZINHO (reversivel, com precedente medido — e fica a' vista dele no aceite)
1. **A especialidade NAO sobe como pergunta: ja' esta' decidida.** Regras 100 + 102 — e' **NUCLEO** (a palavra da casa dele), lista controlada, a entidade `Nucleo` que ja' existe, e a lista **NAO e' fechada** (a Secretaria cria mais). Vai com o **RQE declarado pelo medico**, que ele ja' decidiu. ⟹ O texto da demanda mandava perguntar «lista fechada ou texto livre?»: seria gastar-lhe a fila duas vezes pela mesma coisa.
2. **Cara e nucleo sao OPCIONAIS, com por-omissao que NAO mente.** Precedente medido duas vezes: `Nucleo.marca` nulo = «ainda nao escolheu» (o ecra distingue-o de «escolheu esta»), e UPA desconhecida = avatar sem letras, ⛔ sem monograma inventado.
3. **O E-MAIL fica FORA desta demanda.** E' a credencial de entrada: troca-lo e' trocar a chave de casa, ⛔ nao corrigir um dado.
4. **Cresce do que existe, ⛔ nao duplica:** o perfil sai do `eu` que ja' responde; os vinculos saem do `VinculoMedicoUpa` que ja' guarda tudo.

## RESUMO (--resumo)
O medico passa a ter pagina de perfil, alcancavel pelo menu. VE o que ja' esta' guardado e nunca lhe foi mostrado — nome, email, papel, CRM, e cada UPA sua com a situacao, quem o aceitou e quando. CORRIGE o que e' dele: a cara e o nucleo de actuacao com o RQE, escolhido da lista controlada de nucleos que ja' existe (regras 100 e 102), nunca texto livre, e nenhum deles obrigatorio. PEDE uma UPA nova, que nasce a' espera do coordenador dela: as UPAs NAO se auto-atribuem (regra 46), o perfil mostra e pede, nao deixa entrar. Decidido pelo quadro, reversivel e com precedente no produto: a especialidade NAO subiu como pergunta porque o dono ja' a decidiu como nucleo + RQE; cara e nucleo sao opcionais com por-omissao que nao mente; o e-mail fica fora por ser credencial, nao dado. Por decidir pelo dono e a segurar: a CARA e' foto carregada ou desenho escolhido (95), e corrigir o CRM vale na hora ou volta a' conferencia do coordenador (98).

## CRITERIO DE PRONTO (--criterio)
Esta pronto quando um medico entra com a sua conta e, num ecra seu ALCANCAVEL PELO MENU (nao so' por link — foi assim que a sala da aula ao vivo ficou orfa): (1) VE, sem editar, nome, email, papel, CRM e as suas UPAs, cada uma com a situacao e, nas aceitas, quem o aceitou e quando — os tres ja' estao guardados e hoje ZERO ecras os mostram; (2) CORRIGE e fica guardado a sua cara (na forma decidida na pergunta 95) e o seu nucleo de actuacao com RQE, escolhido dos 10 nucleos existentes e NUNCA texto livre, sendo os dois opcionais; (3) PEDE uma UPA nova que nasce A ESPERA do coordenador dela, e NAO consegue aceitar-se a si proprio em nenhuma, provado com um medico a tentar; (4) o CRM comporta-se como decidido na pergunta 98 e o ecra diz POR PALAVRAS o que acontece ao corrigi-lo; (5) os 6 estados obrigatorios estao capturados (vazio, a carregar, erro, sem permissao, sucesso, parcial), e quem nao e' dono daquele perfil leva SEM PERMISSAO sem ver o dado por baixo nem desfocado; (6) um medico PENDENTE, ainda nao aceito por ninguem, alcanca o seu perfil e le' porque esta' a' espera.

## O COMANDO (correr assim que 95 e 98 forem respondidas, ajustando (2) e (4))
Ver `ESCOPO-D32-perfil-do-medico.comando.sh` ao lado.
