Connecteur MS-SANTE
Bienvenue sur la plateforme de démo du connecteur ms-santé de la DevBox-Santé
Utilisation
2 modes d’intégration sont proposées :
- Embarqué : Intégration direct cette API avec son implémentation dans un projet java 11 avec spring.
- REST : Déploiement d’une application spring boot (jar exécutable intégrant un serveur Tomcat) offrant ces mêmes services en REST.
La plateforme de démo utilise le mode REST
L’API public
l’API est public et hébergée sur bitbucket : https://bitbucket.com/devbox-sante/ms-sante-api
Cette API définie les services disponibles et le modèle d’objet.
Pré-requis
Pour pouvoir utiliser le connecteur MS-Santé, il faut au préalable créer un compte selon l’opérateur choisi:
- mailiz: https://mailiz.mssante.fr/
- Apicrypt (en cours de développement): https://www.apicrypt.org/inscription
Authentification
2 modes d’authentification sont disponibles:
-
par carte CPS (nécessite l’installation du module cps de DevBox-Santé) :
authentificationWithCps()
-
par carte OTP, cette authentification s’effectue en 2 étapes :
otpParameters = {
otpCanalType: SMS | Mail, // canal pour recevoir l'otp
otpCanalPwd: password,
otpIdNat: idNat //(0+adeli ou 8+rpps)
}
AuthorizationContext context = authentificationWithOtpStep1(otpParameters);
context = authentificationWithOtpStep2(context, otp)
dans le cas de service REST, le contexte est automatiquement géré dans la session, le service retourne alors la liste des emails de l’utilisateur
Services
Les services suivants sont disponibles en mode embarqué,
ils ont tous leur équivalent en REST avec l’email passé en paramètre cf. swagger ).
ex : GET https://mss-demo.devbox-sante.fr/mssante/folders?email=xxxxxx@medecin.formation.mssante.fr
// Récupères les adresses mail du PS
List<String> getEmails() throws MssException;
// Récupération des dossiers (en cours, brouillon, ...)
List<Folder> getFolders(String email, Integer parentFolderId) throws MssException;
// Création d'un dossier
Folder createFolder(String email, String folderName, Integer parentFolderId) throws MssException;
// Renommage d'un dossier
void renameFolder(String email, Integer folderId, String newName) throws MssException;
// Déplacement d'un dossier
void moveFolder(String email, Integer folderId, Integer destinationFolderId) throws MssException;
// Suppression d'un dossier
void deleteFolder(String email, Integer folderId) throws MssException;
// Mise en corbeille d'un dossier
void moveFolderToTrash(String email, Integer folderId) throws MssException;
// Suppression des messages d'un dossier
void cleanFolder(String email, Integer folderId) throws MssException;
// Récupération des messages
List<Message> searchMessages(String email, MessageSearchCriteria criteria) throws MssException;
// Récupération des messages
List<Message> searchFullTextMessages(String email, MessageSearchCriteriaFullText criteria) throws MssException;
// Récupération d'une pièce jointe
byte[] getAttachment(String email, Integer messageId, Integer part) throws MssException;
// Récupération d'une pièce jointe
String uploadAttachment(String email, String mimeType, String filename, byte[] file) throws MssException;
// Récupération d'une pièce jointe
MessageInfo saveDraft(String email, Message message) throws MssException;
// Suppression d'un message
void deleteMessage(String email, Integer messageId) throws MssException;
// Envoi d'un message
MessageInfo sendMessage(String email, Message message) throws MssException;
// Suppression d'une pièce jointe
void removeAttachment(String email, Integer messageId, Integer part) throws MssException;
// Mise à jour du statut de message
void updateMessagesStatus(String email, List<Integer> messageIds, MessageStatus status) throws MssException;
// Déplacement de message
void moveMessages(String email, List<Integer> messageIds, Integer folderId) throws MssException;
// Recherche d'un professionnel
List<User> findUsers(UserCriteria criteria) throws MssException;
// Liste des codes d'une nomenclature
List<Code> getNomenclature(Nomenclatures nomenclature) throws MssException;
Documentation
La documentation officielle est disponible sur https://mailiz.mssante.fr/is/doc-technique
Il est recommandé pour les logiciels souhaitant envoyer des pièces jointes de lire les documents suivants:
- Echange de documents de santé via MSSanté : guide de normalisation à destination des éditeurs de clients de messagerie MSSanté (V1.2 - 21/12/2018)
- Guide éditeur de mise en oeuvre de la MSSanté et de l’alimentation du DMP dans un logiciel de professionnel de santé (V1.0.0 - mars 2016)
- Echange de compte rendu d’examens de biologie via MSSanté : guide de transition vers le format XDM (V1.0.0 - 27 /04/2017)
Tests
une environnement de démo est disponible pour les tests.
Sur cet environnement, seul l’authentification otp fonctionne.
L’interface web proposée est en cours de développement et est uniquement fournie à titre d’exemple pour l’utilisation des services.
Son code est disponible sur demande.
Au préalable pour utiliser la plateforme de test il faut se créer un compte sur mailiz formation : https://mailiz.formation.mssante.fr/
Interface web : https://mss-demo.devbox-sante.fr/index.html (authentification par otp sur le canal mail)