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 de septembre 2023 par rapport aux versions précédentes

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

Release 4.4.0

CONNECTEUR BUSINESS

  • Connecteur business MyCareNet / ChapterIV: la validation du timestamp est à présent compatible avec Timestamping V2. Le timestamp est d’abord validé par rapport à Timestamping V1 puis, en cas d’échec, le timestamp est validé par rapport à Timestamping V2. Cela a un impact sur l’interface du connecteur :

    • La méthode suivante: public TimeStampResponse getTimeStampResponse()
    • a été remplacée par celle-ci: public TimeStampToken getTimeStampToken()  
  • Connecteur business intrahub V3: Deux paramètres de configuration ont été ajoutés afin de permettre les appels avec un auteur CBE:

    • hubv3.session.is-cbe :
      a une valeur « false » par défaut. La valeur doit être true si la session a un token STS contenant un numéro CBE.
    • hubv3.request.create-author :
      a une valeur « true » par défaut. Changer la valeur à false permettra d’ajouter soi-même l’auteur (be.fgov.ehealth.standards.kmehr.schema.v1.AuthorType) à la requête (be.fgov.ehealth.hubservices.core.v1.RequestType). Cette option est à utiliser dans le cas où le connecteur ne parviendrait pas à générer l’auteur correctement pour un groupe cible qui n’est pas prévu par le connecteur (ex : une organisation).

De manière analogue, pour le connecteur business intrahub (V1) les paramètres de configuration hub.session.is-cbe et hub.request.create-author peuvent être utilisés.

CONNECTEUR TECHNIQUE

  • Mise à jour des bibliothèques logicielles eid, afin de pouvoir accéder à tous les types de cartes d’identité, en particulier pour les « Foreigner A », « Foreigner K » et « Foreigner L » .

Note : cette version 4.4.0 peut être considérée comme une release expérimentale pour les utilisateurs .NET, elle est censée améliorer les performances par rapport aux versions 4.x précédentes.

Pour les environnement de production et pour des raisons de performance il est toutefois toujours 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.25.0 du connecteur business & technique.

Services couverts au niveau des couches « business »

Compatibilité du connecteur technique

La compatibilité du connecteur technique version 4.4.0 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.

 

L’API portal est le catalogue des services web offerts par la plate-forme eHealth et ses partenaires via le API Gateway qui gère notamment la consommation des appels aux services.

Il s’agit d’informations :

  • techniques : URL, version, contrat formel (WSDL+XSD pour les services SOAP ou Swagger pour les services REST)
  • 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. 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.

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 ».
 

Depuis 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é.

Depuis octobre 2023, l'utilisation de SHA256 est obligatoire. La version minimale supportée du Connecteur est dès lors la version 4.1.2.
Les adaptations nécessaires dépendent de la version du connecteur utilisée.

Version 4.1.2 et Version 4.2.x

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.3.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.

Le service STS Saml11TokenService n'est plus utilisé depuis 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 la page Sécurisation des services web et la page Identity Access Management
 

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).