Gestion du Contexte
Toutes transactions vers le DMP se fait en précisant un DMPCContext et une requête spécifique en argument d’une méthode du DMPCClient.
Le DMPCContext contient les informations permettant de définir :
- L’auteur de la transaction,
- Le code de confidentialité de la transaction (connexion secrète, invisible aux représentants légaux du patient).
À ce DMPCContext est associé un autre argument dépendant de la transaction réalisée.
En authentification directe (depus version 3.1)
En authentification directe, l’utilisateur personnel de santé est authentifié par sa carte CPS/CPE, ces informations sont récupérées lors de la lecture de la carte CPS.
Cas particulier des cartes CPE non nominatives, où le nom du service est demandé : context.author.service.nom (cf. authentification indirecte).
Prise en compte de PDT-INF-617
context.author.nom et context.author.prenom
En authentification indirecte (depuis version 1.0)
En authentification indirecte, seule la structure de santé (par son certificat serveur) est authentifiée.
L’auteur de la requête, c’est à dire le personnel de santé utilisateur (DMPCPersonnelSante), doit donc être authentifié soit localement soit par son rpps/adeli.
L’information du service au sein d’un établissement doit être donné (aucune vérification mais doit être présent).
Exemple Java :
DMPCContext context = new DMPCContext();
DMPCPersonnelSante ps = new DMPCPersonnelSante();
// ps.setInternalId("1234567890");
ps.setRpps("899700433153");
ps.setNom("MEDECIN RPPS 123");
ps.setPrenom("Virginie");
ps.setRole("10"); // Médecin dans la nomenclature DMPCCode.JeuxValeursDMP.SUBJECT_ROLE
ps.setSpecialite("G15_10/SM30"); // G15_10/SM30 Néphrologie dans la nomenclature DMPCCode.JeuxValeursDMP.AUTHOR_SPECIALITY
ps.setSecteurActivite("SA01"); // Etablissement public de santé dans la nomenclature DMPCCode.JeuxValeursDMP.HEALTH_CARE_FACILITY_TYPE_CODE
ps.getService().setNom("Service néprhologie"); // nom du service au sein d'un établissement.
context.setAuthor(ps);
Exemple curl :
curl --request POST '/dmp/tdxxxx' \
--data-raw '{
"context": {
"author" : {
"rpps" : "899700433156",
"nom" : "MEDECIN RPPS0043315",
"prenom" : "VIRGINIE",
"role" : "10",
"specialite" : "G15_10/SM26",
"secteurActivite" : "SA07",
"service" : {
"nom" : "Service pédiatrie"
}
},
"modeAcces": {
"acces": "NORMAL"
}
},
"request": {
...
}
}'