Spaces:
Runtime error
Runtime error
Update simulado_system.py
Browse files- simulado_system.py +50 -1
simulado_system.py
CHANGED
@@ -376,7 +376,56 @@ class CasoClinicoSystem:
|
|
376 |
return []
|
377 |
|
378 |
class CasoClinicoSystem:
|
379 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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"""
|