danielraynaud commited on
Commit
3e9e434
·
verified ·
1 Parent(s): 20b4f22

Update simulado_system.py

Browse files
Files changed (1) hide show
  1. simulado_system.py +50 -1
simulado_system.py CHANGED
@@ -376,7 +376,56 @@ class CasoClinicoSystem:
376
  return []
377
 
378
  class CasoClinicoSystem:
379
- # [Implementação do CasoClinicoSystem aqui...]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
 
381
  def initialize_simulado_system(db_connection) -> Tuple[SimuladoSystem, CasoClinicoSystem]:
382
  """Inicializa o sistema de simulados"""
 
376
  return []
377
 
378
  class CasoClinicoSystem:
379
+ """
380
+ Sistema para gerenciar casos clínicos discursivos.
381
+ """
382
+
383
+ def __init__(self):
384
+ # Inicializa uma lista para armazenar os casos clínicos
385
+ self.casos_clinicos = []
386
+
387
+ def adicionar_caso(self, titulo: str, descricao: str, resposta_correta: str):
388
+ """
389
+ Adiciona um novo caso clínico ao sistema.
390
+ :param titulo: Título do caso clínico
391
+ :param descricao: Descrição do caso clínico
392
+ :param resposta_correta: Resposta esperada para o caso clínico
393
+ """
394
+ caso = {
395
+ "titulo": titulo,
396
+ "descricao": descricao,
397
+ "resposta_correta": resposta_correta
398
+ }
399
+ self.casos_clinicos.append(caso)
400
+
401
+ def listar_casos(self):
402
+ """
403
+ Retorna a lista de todos os casos clínicos.
404
+ """
405
+ return self.casos_clinicos
406
+
407
+ def avaliar_resposta(self, indice: int, resposta_aluno: str) -> bool:
408
+ """
409
+ Avalia a resposta de um aluno para um caso clínico específico.
410
+ :param indice: Índice do caso clínico na lista
411
+ :param resposta_aluno: Resposta fornecida pelo aluno
412
+ :return: True se a resposta for correta, False caso contrário
413
+ """
414
+ if 0 <= indice < len(self.casos_clinicos):
415
+ caso = self.casos_clinicos[indice]
416
+ return resposta_aluno.strip().lower() == caso["resposta_correta"].strip().lower()
417
+ else:
418
+ raise IndexError("Índice do caso clínico inválido.")
419
+
420
+ # Exemplo de uso
421
+ sistema_casos = CasoClinicoSystem()
422
+ sistema_casos.adicionar_caso(
423
+ titulo="Caso 1: Dor abdominal",
424
+ descricao="Paciente de 45 anos com dor abdominal há 3 dias.",
425
+ resposta_correta="Apendicite aguda"
426
+ )
427
+ print(sistema_casos.listar_casos())
428
+ print(sistema_casos.avaliar_resposta(0, "Apendicite aguda"))
429
 
430
  def initialize_simulado_system(db_connection) -> Tuple[SimuladoSystem, CasoClinicoSystem]:
431
  """Inicializa o sistema de simulados"""