Client Java pour SADV

Intégration avec java

Les librairies sadv-client et nuva sont disponible pour le langage Java.

Ajout de la dépendance sadv-client

Avec Maven

Ajoutez la dépendance suivante à pom.xml :

<dependency>
  <groupId>com.syadem.sadv</groupId>
  <artifactId>sadv-client</artifactId>
  <version>0.0.1</version>
  <scope>compile</scope>
</dependency>
Avec Gradle

Ajoutez la dépendance suivante à votre fichier de build :

  repositories {
    mavenCentral()
  }
  dependencies {
     implementation "com.syadem.sadv:sadv-client:0.0.1"
  }

Exemple de récupération de diagnostic

Pré-requis : vos identifiants d’accès doivent être saisis dans les variables d’environnement SADV_CLIENT_ID et SADV_CLIENT_SECRET.

public class Main {

  public static void main(String[] args) {
    // Instantiation d'un client
    var client = new ApiClient(
      Optional
        .ofNullable(System.getenv("SADV_CLIENT_ID"))
        .orElseThrow(() ->
          new IllegalStateException(
            "Environment variable SADV_CLIENT_ID is missing."
          )
        ),
      // Client secret
      Optional
        .ofNullable(System.getenv("SADV_CLIENT_SECRET"))
        .orElseThrow(() ->
          new IllegalStateException(
            "Environment variable SADV_CLIENT_SECRET is missing."
          )
        ),
      null
    );

    // Configuration du client
    client.setBasePath("https://api.fr.sad.mesvaccins.net");
    client.setDebugging(true);

    // Instantiation de l'API
    var sadvApi = new DefaultApi(client);
    var diagnosticRequest = new DiagnosticRequest()
      .patient(
        new Patient()
          .gender(GenderEnum.M)
          .birthdate(LocalDate.of(2023, 1, 1))
          .addPreventionActsItem(
            new ImmunizationAct()
              .date(LocalDate.of(2023, 1, 1))
              .preventionMethodId("e05d945b-1e8c-4670-b2d0-281ebeea0a1c")
              .booster(false)
          )
      );

    try {
      // Appel de l'API
      var result = sadvApi.diagnosticForPatient(diagnosticRequest);

      // Affichage des résultats
      System.out.println(
        "The immunization conclusion is \"" + result.getConclusion() + "\"."
      );
      for (var diseaseDiagnostic : result.getDiagnosticPerDisease()) {
        System.out.println(
          "The patient has status \"" +
          diseaseDiagnostic.getAdvice().getConclusion() +
          "\" for " +
          diseaseDiagnostic.getDisease().getName() +
          "."
        );
      }
    } catch (ApiException e) {
      System.err.println(
        "Exception when calling DefaultApi#diagnosticForPatient"
      );
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Projet example

Vous pouvez télécharger l’archive d’un projet exemple ici.