eHealth platform services connectors

Tout sur le service

Les « eHealth platform services connectors » sont des librairies locales (et légères) dont l’objectif est d’aider les développeurs de software à destination des prestataires de soins individuels et des pharmacies de soins à intégrer les services de base de la plate-forme eHealth qui sont proposés au travers d’interfaces « webservices ». Ces librairies visent également, plus généralement, à supporter les connexions aux services à valeur ajoutée accessibles via la plate-forme eHealth ou qui souscrivent aux standards ICT mis en place par la plate-forme eHealth (comme, par exemple, les « hubs »). Le développement de ces librairies s’inscrit donc dans une logique de standardisation et de support à l’utilisation des services de base de la plate-forme eHealth. Ces connecteurs sont structurés en deux « couches »:

  • La première couche, dénommée « connecteur technique » offre une API générique de support à l’utilisation des services de base purement techniques (principalement afférents à la sécurité : authentification, cryptage, etc.).
  • La seconde couche, dénommée « connecteurs business », exploite le connecteur technique pour faciliter les connexions à un ensemble de services associés à un public cible donné au sein d’une même session.

Les connecteurs sont évidemment tributaires des interfaces des services qu’ils intègrent. Les mises à jour des connecteurs inhérentes aux changements de ces interfaces seront mises à disposition dans la mesure des possibilités de la plate-forme eHealth au travers de cette page web.

Ces connecteurs sont disponibles en JAVA et .NET mais sont uniquement développés en JAVA. Le code .NET n’est donc pas un code natif. Cette génération est effectuée via une version de l’outil IKVM ( wcag.label.externalLink)  légèrement adaptée pour nos besoins. Si vous entendez développer vos propres librairies sur base des nôtres dans la même philosophie, nous vous recommandons d’utiliser cette même version de l’outil et de respecter les « directives d’intégration » proposées avec celle-ci.

Les connecteurs sont des librairies distribuées sous licence libre. Elles sont disponibles pour tous ceux qui souhaitent les utiliser. Pour bénéficier de support dans l’utilisation de ces librairies, il faut, par contre, avoir préalablement introduit une demande auprès de la plate-forme eHealth. Vous pouvez introduire cette demande via l’adresse mail info@ehealth.fgov.be ( wcag.label.externalLink)  (avec la mention « eHealth platform services connectors » au niveau du sujet du mail).

Modification d'avril 2023 par rapport aux versions précédentes

Les fonctionnalités suivantes sur le connecteur business ont été modifiées :

Release 4.3.0

CONNECTEUR BUSINESS

  • Business connecteur Civics V2: Alignement des SOAP actions sur le WSDL du service. Pas d’impact sur votre code existant.
  • Suppression du connecteur business Dics V3.
  • Suppression du connecteur MyCareNet Insurability V1.
  • Suppression du connecteur business MyCareNet eAttest V1.

CONNECTEUR TECHNIQUE

  • L’algorithme de signature par défaut devient RSA-SHA-256.
  • Par défaut l’interface STS devient WS-Trust, ceci afin d’utiliser par défaut la nouvelle version de SecurityTokenService, qui inclut les algorithmes de hashing SHA-256 et de signature RSA-SHA-256 / ECDSA- SHA-256.
  • Note : ce changement doit être reflété dans la configuration du endpoint sts: endpoint.sts=$uddi{uddi:ehealth-fgov-be:business:iamsecuritytokenservice:v1}
  • Désactivation de la vérification de certificat si le certificat est “self-signed” afin d’éviter de loguer le message "Cert chain NOT trusted"
  • Mise à jour de la version de schematron (1.12.0).
  • Bug fix :
    • Remplacement du jar bcprov-jdk15on-1.56.jar par le jar bcprov-jdk15on-1.68.jar dans le package du connecteur technique (la version 1.56 ne fonctionnant pas avec les autres jars Bouncy Castle)
    • Suppression du « caching » des options de signature afin d’éviter les « memory leaks ».
    • Une nouvelle session eID avec une carte différente peut à présent être créée (le certificat de la première session était utilisé pour les sessions suivantes).

Note : Compatibilité Java: le connecteur a à présent une compatibilité runtime jusqu’au JDK 15 de façon automatique, et en ajoutant des options VM pour les JDK 16 et plus Cf releases notes incluses dans les livrables du connecteur pour plus de détails.

Pour des raisons de performance il est conseillé aux applications .NET d’utiliser les versions 3.x du connecteur. Les fonctionnalités de la version 4.x citées ci-dessus ont été appliquées à la version 3.24.0 du connecteur business & technique.

Services couverts au niveau des couches « business »

Compatibilité du connecteur technique

La compatibilité du connecteur technique version 4.1 avec les connecteurs Recip-e est validée.

Download

Les connecteurs « java » et un fichier d’archive pour les connecteurs « .net » sont disponibles via un maven repository ( wcag.label.externalLink) . La liste suivante contient des liens vers les connecteurs business des différentes catégories professionnelles et le connecteur technique :

Connector v4 : Manuel d’utilisation

Il s'agit d'un aperçu technique de l'utilisation du connecteur eHealth (version 4). L'objectif est de guider le développeur d'une application logicielle pour utilisateur final dans l'utilisation, la configuration, l'extension et l'intégration de son application avec le connecteur eHealth.

Version 1.9 (13/10/2021) - 1.39 MB Fichier PDF (Ce document est en anglais)

Le nouveau connecteur « Release 4.3.0 » est disponible

Toutes les  informations concernant les modifications dans les fonctionnalités peuvent être trouvées via ce lien.

 

En raison de la migration vers une nouvelle technologie, il ne sera plus possible de télécharger les WSDL et XSD via l’UDDI. Vous trouverez dorénavant ces informations sur l’API Portal.

Le Registry est le catalogue des webservices offerts par la plate-forme eHealth et ses partenaires. Les informations sont structurées selon le standard UDDI.

Il s’agit d’informations :

  • techniques : URL, version, contrat formel (WSDL+XSD)
  • fonctionnelles : liens vers la documentation disponible, description des services en ligne

 

La dernière version des fichiers .jks se trouve toujours dans la dernière version du connector qui peut être téléchargée à partir du dépôt maven. En voici un exemple avec la page Index de maven2 sur le site de eHealth. Les fichiers .jks se trouvent dans le dossier « config/P12 ».

Les différents keystores peuvent également être trouvés dans la section « Keystore » sur la page Certificats eHealth du site eHealth.

Des exemples de codes pour les différents services ont été rassemblés sur le Connector (un répertoire interne rassemblant plusieurs dossiers).

Pour les obtenir, rendez-vous sur le Connector caché dans le site eHealth. Téléchargez-y le package proposé. Vous y trouverez des exemples en java et en .net des codes pour chaque service, à l’intérieur du dossier « Examples ».
 

À partir d'octobre 2023, la version minimale prise en charge est la version 4.1.2.
Veuillez passer à une nouvelle version si ce n'est pas déjà le cas.

Pour l'instant, seule la version Java 1.8 est entièrement prise en charge. Les versions plus récentes de Java manqueront au moins plusieurs classes incluses dans JRE 1.8.
Il est prévu de prendre en charge au moins Java 11 à l'avenir, mais le calendrier n'a pas encore été confirmé.

À partir d'octobre 2023, l'utilisation de SHA256 sera obligatoire. La version minimale supportée du Connecteur sera alors la version 4.1.2.
Les adaptations nécessaires dépendent de la version du connecteur utilisée.

Version 4.1.2

Les propriétés suivantes doivent être modifiées/ajoutées :

  • default.rsa.digest.method.algorithm=http://www.w3.org/2001/04/xmlenc#sha256 ;
  • default.rsa.signature.method.algorithm=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 ;
  • service.sts.class=be.ehealth.technicalconnector.service.sts.impl.STSServiceWsTrustImpl.

Version 4.2.x

Cette version utilise SHA256 par défaut.

Pour toutes les versions

Si vous utilisez les services IntraHub, la propriété suivante doit être ajoutée : intrahubv3.sha1feature.enabled=false

Plus d'information sur le fonctionnement sur la page Sécurisation des services web de ce site.

Le service STS Saml11TokenService ne sera plus utilisé à partir d'octobre 2023.

Vous pouvez ajouter la propriété suivante (acceptation ou production) pour passer au nouveau SecurityTokenService : endpoint.sts=$uddi{uddi:ehealth-fgov-be:business:iamsecuritytokenservice:v1}

ou en fonction de l'environnement :

  • endpoint.sts=https://services-acpt.ehealth.fgov.be/IAM/SecurityTokenService/v1 ;
  • endpoint.sts=https://services.ehealth.fgov.be/IAM/SecurityTokenService/v1.

Plus d’information sur le fonctionnement sur les pages Sécurisation des services web et Identity Access Management de ce site. 
 

L’une des causes possibles est une valeur obsolète dans la propriété « endpoint.sts ». Par exemples :

  • endpoint.sts=$uddi{uddi:ehealth-fgov-be:business:iamsaml11tokenservice:v1}, ou
  • endpoint.sts=https://services-acpt.ehealth.fgov.be/IAM/Saml11TokenService/v1.

Voir la FAQ « Comment adapter le connecteur au nouveau SecurityTokenService ? » pour connaître la valeur correcte.
 

Vous pouvez configurer les headers « User-Agent » et « From » à l'aide des propriétés suivantes du connecteur :

  • be.ehealth.technicalconnector.handler.mimeheaders.user-agent.prefix=<content> ;
  • be.ehealth.technicalconnector.handler.mime-headers.from.value=<adresse électronique d'urgence>.

Veuillez noter qu'à partir de la version 4.3.x du connecteur, ces éléments sont obligatoires.

Vous trouverez plus amples informations sur la valeur attendue dans les cookbooks du service web (par exemple dans Consent Cookbook point 5.1.4).