Class ExternalApiService

java.lang.Object
it.uniupo.simnova.service.ai_api.ExternalApiService

@Service public class ExternalApiService extends Object
Servizio per interagire con le API esterne per la generazione di esami, scenari, referti e materiali.
Version:
1.0
Author:
Alessandro Zappatore
  • Constructor Details

    • ExternalApiService

      public ExternalApiService(org.springframework.web.client.RestTemplate restTemplate)
      Costruttore del servizio ExternalApiService.
      Parameters:
      restTemplate - RestTemplate per effettuare le chiamate HTTP.
  • Method Details

    • generateLabExamsFromScenario

      public Optional<LabExamSet> generateLabExamsFromScenario(LabExamGenerationRequest request) throws org.springframework.web.client.RestClientException
      Genera esami di laboratorio a partire da uno scenario specificato nella richiesta.
      Parameters:
      request - la richiesta di generazione degli esami di laboratorio contenente la descrizione dello scenario,
      Returns:
      un Optional contenente il set di esami di laboratorio generati, o vuoto se la generazione fallisce
      Throws:
      org.springframework.web.client.RestClientException - se si verifica un errore durante la chiamata all'API esterna
    • generateScenario

      public Optional<String> generateScenario(ScenarioGenerationRequest request) throws org.springframework.web.client.RestClientException
      Genera uno scenario a partire dalla richiesta specificata.
      Parameters:
      request - la richiesta di generazione dello scenario contenente la descrizione, il tipo di scenario, il target e la difficoltà
      Returns:
      un Optional contenente lo scenario generato come stringa JSON, o vuoto se la generazione fallisce
      Throws:
      org.springframework.web.client.RestClientException - se si verifica un errore durante la chiamata all'API esterna
    • generateReport

      public Optional<ReportSet> generateReport(ReportGenerationRequest request) throws org.springframework.web.client.RestClientException
      Genera un referto medico a partire dalla richiesta specificata.
      Parameters:
      request - la richiesta di generazione del referto contenente la descrizione dello scenario, il tipo di paziente, il tipo di esame e l'esame obiettivo
      Returns:
      un Optional contenente il set di referti generati, o vuoto se la generazione fallisce
      Throws:
      org.springframework.web.client.RestClientException - se si verifica un errore durante la chiamata all'API esterna
    • generateMaterial

      public Optional<List<MatSet>> generateMaterial(MatGenerationRequest request) throws org.springframework.web.client.RestClientException
      Genera i materiali necessari per uno scenario specificato nella richiesta.
      Parameters:
      request - la richiesta di generazione dei materiali contenente la descrizione dello scenario, il tipo di paziente, il target e l'esame obiettivo
      Returns:
      un Optional contenente una lista di MatSet generati, o vuoto se la generazione fallisce
      Throws:
      org.springframework.web.client.RestClientException - se si verifica un errore durante la chiamata all'API esterna