Na aula 4 video 2 existe um erro no codigo:
(let [particular (->PacienteParticular 15, "Guilherme", "18/9/1981", :urgente)
plano (->PacientePlanoDeSaude 15, "Guilherme", "18/9/1981", :urgente, [:raio-x, :ultrassom])]
(pprint (deve-assinar-pre-autorizacao-do-pedido? [:paciente particular, :valor 1000, :procedimento :coleta-de-sangue}))
(pprint (deve-assinar-pre-autorizacao-do-pedido? [:paciente plano, :valor 1000, :procedimento :coleta-de-sangue}))
Creio que deveria ser (chaves ao invés de colchetes) :
(let [particular (->PacienteParticular 15, "Guilherme", "18/9/1981", :urgente)
plano (->PacientePlanoDeSaude 15, "Guilherme", "18/9/1981", :urgente, [:raio-x, :ultrassom])]
(pprint (deve-assinar-pre-autorizacao-do-pedido? {:paciente particular, :valor 1000, :procedimento :coleta-de-sangue}))
(pprint (deve-assinar-pre-autorizacao-do-pedido? {:paciente plano, :valor 1000, :procedimento :coleta-de-sangue}))