Transactions supportées
Attention :
Suivre cette documentation ne vous dispense pas de lire attentivement le guide d’intégration “Service DMP intégré aux LPS” (SEL-MP-037) dans la version du package cible. Ce document est disponible sur l’espace industriel de Sesam-Vitale : https://industriels.sesam-vitale.fr/group/dmp-compatibilite
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.
Mode d’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.
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é localement.
Le système de la structure de santé doit être en mesure d’authentifié ses utilisateurs. Cet identifiant local au système doit être spécifié dans DMPCPersonnelSante.internalId
même si le rpps est connu.
Exemple Java :
DMPCContext context = new DMPCContext();
DMPCPersonnelSante ps = new DMPCPersonnelSante();
ps.setInternalId("1234567890");
ps.setNom("Forêt");
ps.setPrenom("Laurent");
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.getStructureSante().setNom("DEVCOOP Bureau de Léognan");
context.setAuthor(ps);
Exemple curl :
curl --request POST '/dmp/tdxxxx' \
--data-raw '{
"context": {
"author": {
"internalId": "123456",
"nom": "Durand",
"prenom": "Pierre",
"role": "10",
"secteurActivite": "SA43",
"specialite": "G15_10/SM28",
"structureSante": {
"nom": "Devcoop Bureau de Léognan"
}
},
"modeAcces": {
"acces": "NORMAL"
}
},
"request": {
...
}
}'
Récupération des différents paramètres du DMP
getParametres() (depuis version 3.0)
Afin de pouvoir récupérer le paramètrage du DMP qui permet de répondre à un certain nombre d’exigences notamment les fonctions-gestion-mineurs (EX_GEN-1550). Il faut accéder à la méthode getParametres
Exemple :
DMPCParametres parametres = dmpcClient.getParametres();
if (parametres.isFonctionsGestionMineurs() && agePatient < parametres.getAgeMajorite()) {
// Attention EX_GEN-1550
}
if (parametres.isProduction()) {
// Attention l'environnement est celui de production,
}
if (!parametres.isCumulInvisiblePatientMasquePs()) {
// Attention EX_2.1-1050
}
Exemple curl :
curl -X GET "/dmp/parametres"
getCodesFor() (depuis version 1.0)
Méthode permettant d’accéder aux différents jeux de valeurs imposés par le Guide d’intégration.
notamment :
public enum JeuxValeursDMP {
QUALITE_REPRESENTANT_LEGAL,
AUTHOR_SPECIALITY,
CLASS_CODE,
CONFIDENTIALITY_CODE,
CONTENT_TYPE_CODE,
FORMAT_CODE,
HEALTH_CARE_FACILITY_TYPE_CODE,
PRACTICE_SETTING_CODE,
SUBJECT_ROLE,
TYPE_CODE,
RESTRICTION_AUDIENCE_VIHF
}
Exemple Java :
List<DMPCCode> allPersonnelDeSanteSpecialities = client.getCodesFor(DMPCCode.JeuxValeursDMP.AUTHOR_SPECIALITY);
List<DMPCCode> allPossibleFormatCodesForADocument = client.getCodesFor(DMPCCode.JeuxValeursDMP.FORMAT_CODE);
Exemple curl :
curl -X GET "/dmp/nomenclatures?jeuxValeurs=AUTHOR_SPECIALTY"
curl -X GET "/dmp/nomenclatures?jeuxValeurs=FORMAT_CODE"
getTypesIndexedByClassCode() (depuis version 4.5)
Méthode permettant d’indexer tous les types par leur classCodes.
Exemple Java :
Map<String, List<DMPCCode>> allTypesIndexedByClassCode = client.getTypesIndexedByClassCode();
String compteRenduClassCode = "10";
List<DMPCCode> allCompteRenduTypes = allTypesIndexedByClassCode.get(compteRenduClassCode);
Exemple curl :
curl -X GET "/dmp/nomenclatures/typesByClassCode"
Transactions d’identification du patient
TD0.2 : test d’existence du DMP d’un patient et vérification de l’autorisation d’accès (depuis version 1.0)
Cette transaction permet de tester l’existence d’un DMP et de vérifier les autorisations d’accès ainsi que de récupérer les informations concernant la création du compte patient.
De là peut en découler des actions de créations de DMP, de création de compte internet, ou bien encore de connaître la raison d’une interdiction d’accès
Exemple Java :
TD02Response response = client.td02Exist(context, TD02Request.builder()
.matriculeINS(Identifiant.builder()
.valeur("277076322082910")
.identifiantSysteme(Oids.ANS_1_2_250_1_213._1_4_10_INS_NIR_TEST.val())
.build())
.build()
);
if (response.getAutorisation().equals(EXPIRE)) {
// prévoir une client.td03AddAuthorization()
} else if (response.getAutorisation().equals(INTERDIT)) {
// le PS ne peut accéder au DMP
final String raison = response.getRaison();
} else if (response.getAutorisation().equals(NON_EXISTE)) {
// prévoir une client.td03AddAuthorization()
} else if (response.getAutorisation().equals(VALIDE)) {
if (!response.getCompteInternetOuvert()) {
// prévour une client.td15aCreerAccesInternetPatient()
}
// contient les informations patient stockées dans leDMP
final DMPCPatient dmpPatient = response.getPatient();
if (response.getRole().equals(DMPCRole.MEDECIN_TRAITANT)) {
// le PS author est le médecint traitant
}
}
Exemple curl :
curl --request POST '/dmp/td02Exist' \
--data-raw '{
"context": {...},
"request": {
"matriculeINS": {
"valeur": "279035121518989",
"identifiantSysteme": "1.2.250.1.213.1.4.10"
}
}
}'
TD0.3 : modifier l’autorisation d’accès et/ou le statut médecin traitant DMP ou passer en mode d’accès « bris de glace » (depuis version 2.0)
Le LPS permet à l’utilisateur les actions suivantes.
- Ajouter une autorisation d’accès au DMP du patient ou passer en mode d’accès « bris de glace ». Cf. DMP_0.3a.
- Supprimer une autorisation d’accès au DMP du patient. Cf. DMP_0.3b.
- Modifier le statut médecin traitant DMP. Cf. DMP_0.3c.
Exemple :
client.td03AddAuthorization(context, new TD03Request(patient.getMatriculeINS(), DMPCRole.STANDARD));
client.td03RemoveAuthorization(context, new TD03Request(patient.getMatriculeINS(), DMPCRole.STANDARD));
Exemple curl :
curl --request PUT '/dmp/td03AddAuthorization' \
--data-raw '{
"context": {... },
"request": {
"matriculeINS": {
"valeur": "279035121518989",
"identifiantSysteme": "1.2.250.1.213.1.4.10"
},
"role": "STANDARD"
}
}'
url --request PUT '/dmp/td03RemoveAuthorization' \
--data-raw '{
"context": {...},
"request": {
"matriculeINS": {
"valeur": "279035121518989",
"identifiantSysteme": "1.2.250.1.213.1.4.10"
},
"role": "STANDARD"
}
}'
TD0.4 : lister les DMP autorisés (depuis version 5.0)
Les deux usages sont les suivants :
-
Elle permet de récupérer la liste des nouveaux DMP autorisés pour l’acteur de santé (avec les INS de patient et les traits d’identités). Outre les habituelles informations d’authentification, il est possible de paramétrer en entrée une date à partir de laquelle la recherche est effectuée. Par exemple : (date du jour - 3 jours) ou (date du jour - 1 semaine). L’éditeur peut mettre en oeuvre dans le LPS un appel planifié régulièrement à cette transaction (par exemple tous les 3 jours ou toutes les semaines). Exemple : Cette transaction peut être utile dans le cas d’un logiciel du SIH ne recueillant pas directement l’autorisation du patient. NB : l’autorisation d’accès est facultative pour alimenter le DMP avec des documents et pour supprimer des documents si le LPS implémente le profil Alimentation.
-
Cette transaction permet de récupérer la liste des patients pour lesquels un nouveau document a été ajouté dans son DMP depuis une date donnée. Le retour est le même, seul le paramétrage en entrée est différent.
Exemple Java :
// cas 1
var response = client.td04ListDMPActifs(context, TD04Request.builder()
.from(clock.getLocal().minusYears(1))
.searchType(TD04Request.PatientSearchType.LAST_AUTORIZATION)
.build()
);
// cas 2
var response = client.td04ListDMPActifs(context, TD04Request.builder()
.from(clock.getLocal().minusYears(1))
.searchType(TD04Request.PatientSearchType.LAST_DOC)
.build()
);
Exemple curl :
// cas 2
curl --location --request PUT 'http://localhost:8080/dmp/td04ListDMPActifs' \
--header 'Content-Type: application/json' \
--data-raw '{
"context": {
"author": {},
"modeAcces": {
"acces": "NORMAL"
}
},
"request": {
"from": "2021-08-12T15:16:10Z",
"searchType": "LAST_DOC"
}
}'
TD0.5
Non requis pour le DMP
Alimentation
Le profil alimentation du DMP se fait au travers de transaction XDS (https://wiki.ihe.net/index.php/Cross-Enterprise_Document_Sharing) supportée par le serveur DMP ainsi que par la DevBox-Santé DMP.
Les transactions XDS permettent de soumettre des documents au format CDA (https://www.hl7.org/implement/standards/product_brief.cfm?product_id=7) supporté également par le DMP et la DevBox-Santé DMP.
La DevBox-Santé DMP présente un modèle simplifé des informations demandées et s’occupe de la cohérence des métadonnées des transactions XDS d’avec les métadonnées des documents CDA )
TD2.1 : alimenter le DMP d’un patient avec des documents (depuis version 1.0)
Cette fonctionnalité permet d’alimenter le DMP d’un patient avec un ou plusieurs nouveaux documents :
- décrits sous la forme de documents CDA et de métadonnées XDS,
- et transmis au système DMP sous la forme d’un lot de soumission XDS signé (XAdES).
La cinématique générale est la suivante. Le PS constitue le ou les document(s) dans le LPS . Le LPS :
- construit le ou les document(s)
- construit le document au format CDA ==> action réalisée par la DevBox-Santé DMP
- alimente les métadonnées XDS ==> action réalisée par la DevBox-Santé DMP
- constitue un lot de soumission XDS et signe ce lot (XAdES) ==> action réalisée par la DevBox-Santé DMP
- soumet le lot de documents au système DMP ==> action réalisée par la DevBox-Santé DMP
Le LPS intégrateur de la DevBox-Santé DMP doit seulement fournir les valeurs des différentes métadonnées liées aux documents et à la soumission par l’intermédiaire d’un modèle simplifié :
En java :
final ZonedDateTime maintenant = timeManager.getLocal();
// création du document
InputStream input = this.getClass().getClassLoader().getResourceAsStream("1.pdf");
byte[] content = new byte[input.available()];
ByteStreams.readFully(input, content);
DMPCDocument document = DMPCDocument.builder()
.patient(patient)
.classCodeCode(client.getCodesFor(DMPCCode.JeuxValeursDMP.CLASS_CODE).get(0))
.confidentialityCodes(List.of(findCode(DMPCCode.JeuxValeursDMP.CONFIDENTIALITY_CODE, "N")))
.comments("Commentaire du Document")
.events(List.of(new DMPCCode("B18", "2.16.840.1.113883.6.3", "Hépatite virale chronique")))
.practiceSettingCode(findCode(DMPCCode.JeuxValeursDMP.PRACTICE_SETTING_CODE, "AMBULATOIRE"))
.serviceStartDateTime(maintenant.minusHours(3))
.serviceStopDateTime(maintenant.minusHours(2))
.title("Titre du Document")
.typeCode(findCode(DMPCCode.JeuxValeursDMP.TYPE_CODE, "11488-4"))
.creationDateTime(maintenant)
.formatCode(findCode(DMPCCode.JeuxValeursDMP.FORMAT_CODE, "urn:ihe:iti:xds-sd:pdf:2008"))
.content(content).build();
// création de la soumission
DMPCSoumission<DMPCDocument> soumission = DMPCSoumission.builder()
.documents(List.of(document))
.title("Soumission du document")
.comments("Commentaire de la soumission")
.patient(patient)
.contentType("04").build();
// envoi de la soumission
TD21Response td21Response = client.td21SubmitDocuments(context, new TD21Request(soumission));
System.out.println("Soumission enregistré avec l'uuid :" + td21Response.getSoumission().getUuid());
td21Response.getSoumission().getDocuments().forEach(submitted -> {
DMPCDocument submittedDocument = (DMPCDocument) submitted;
System.out.println(String.format("Contenant le document ayant pour uniqueId : %s et uuid : %s",
submittedDocument.getUniqueId(), submittedDocument.getEntryUuid()));
});
Pour une soumission de plusieurs documents, il suffit d’ajouter les documents à la soumission :
submission.addDocument(document1);
submission.addDocument(document2);
En REST :
curl --location --request POST 'http://localhost:9999/dmp/td21SubmitDocuments' \
--data-raw '{
"context": {
...
},
"request": {
"submission": {
"title": "Titre de la soumission",
"comments": "Soumission via Postman",
"contentType": "04",
"patient": {
"matriculeINS": {
"valeur": "279035121518989",
"identifiantSysteme": "1.2.250.1.213.1.4.10"
},
"internalId": "67890",
"prenom": "DOMINIQUE",
"nomUsuel": "pat-trois",
"dateDeNaissance": "19790328",
"ordreDeNaissance": 0,
"sexe": "F"
},
"documents": [
{
"auteurs": [],
"classCode": "11",
"comments": "Document soumis via Postman",
"confidentialities": [
"N"
],
"content": "UmFwcGVsIGNsaW5pcXVlIDogSWwgcydhZ2l0IGQndW4gaG9tbWUgZGUgNTMgYW5zLCAKcHLDqXNlbnRhbnQgdW4gbmFldnVzIGRlIGxhIGZhY2UgaW50ZXJuZSBkZSBsYSBjdWlzc2UgZ2F1Y2hlIGRlIDcgbW0gZGUgZ3JhbmQgYXhlIGVudmlyb24uIApEw6ljaXNpb24gZCdleMOpcsOoc2Ugc291cyBhbmVzdGjDqXNpZSBsb2NhbGUuIAoKSW50ZXJ2ZW50aW9uIDogRVhFUkVTRSBEJ1VOIE5BRVZVUyBERSBMQSBDVUlTU0UgR0FVQ0hFIApTb3VzIGFuZXN0aMOpc2llIGxvY2FsZSDDoCBsYSBYeWxvY2HDr25lIMOgIDEgJSBub24gYWRyw6luYWxpbsOpZS4gCgpJbmNpc2lvbiBjZW50csOpZSBzdXIgbGEgbMOpc2lvbiBwZXJtZXR0YW50IGwnZXjDqXLDqHNlIGR1IG5hZXZ1cyBkYW5zIHNhIHRvdGFsaXTDqS4gCkZlcm1ldHVyZSBjdXRhbsOpZSBlbiB1biBwbGFuIGRlIEZsZXhvY3JpbiAzLzAuICAKCkVYQU1FTiBISVNUT0xPR0lPVUUgVW5lIGzDqXNpb24gcG9seXBvw69kZSBkZSAxIHggMCw3IGNtIGEgw6l0w6kgY29tbXVuaXF1w6llLiAKT24gcmV0cm91dmUgYXUgcGxhbiBoaXN0b2xvZ2lxdWUgdW5lIGzDqXNpb24gdW4gcGV1IHZlcnJ1cXVldXNlLCAKY29tcG9ydGFudCB1bmUgcHJvbGlmw6lyYXRpb24gY2VsbHVsYWlyZSBuYWV2aXF1ZSDDqXBhcmduYW50IGwnw6lwaWTDqW1pZSwgCnNvdXMgZm9ybWUgZGUgdGjDqHF1ZXMgZW4gc3VyZmFjZSwgYXZlYyBxdWVscXVlcyBkw6lww7R0cyBkZSBtw6lsYW5pbmUsIAphc3NvY2nDqWUgw6AgdW4gZ3JhZGllbnQgZGUgbWF0dXJhdGlvbiB0csOocyBuZXQgdmVycyBsYSBwcm9mb25kZXVyLiAKCk9uIG5lIHJldHJvdXZlIHBhcyBkJ2F0eXBpZSBudWNsw6lvY3l0b3BsYXNtaXF1ZS4gCgpDT05DTFVTSU9OIE5BRVZVUyBERVJNSVFVRSBERVZFTE9QUEUgU1VSIFVOIE1PREUgRVhPUEhZVElRVUUgLiAKTEVTIExJTUlURVMgRCdFWEVSRVNFIFNPTlQgU0FJTkVTLiA=",
"creationTime": "20200928120000",
"events": [
{
"code": "H33",
"codingScheme": "2.16.840.1.113883.6.3",
"displayName": "Décollement et déchirement de la rétine"
}
],
"format": "urn:ihe:iti:xds-sd:text:2008",
"legalAuthenticator": {
"internalId": "123456",
"nom": "MED-CS RPPS0029614",
"prenom": "ANNE",
"role": "10",
"secteurActivite": "SA05",
"specialite": "G15_10/SM26",
"structureSante": {
"nom": "CENTRE DE SANTE RPPS15683",
"idNational": "10B0156832"
}
},
"patient": {
"matriculeINS": {
"valeur": "279035121518989",
"identifiantSysteme": "1.2.250.1.213.1.4.10"
},
"prenom": "DOMINIQUE",
"nomUsuel": "pat-trois",
"internalId": "67890",
"dateDeNaissance": "19790328",
"ordreDeNaissance": 0,
"sexe": "F"
},
"practiceSetting": "AMBULATOIRE",
"serviceStartTime": "20200928080000",
"serviceStopTime": "20200928080000",
"title": "Titre du document",
"type": "11488-4"
}
]
}
}
}
TD3.1 : (depuis version 3.2)
Il est possible de faire des recherches de document ainsi que des recherches des documentation
TD3.1b : rechercher l’identifiant technique d’un document (depuis version 3.0)
Cette fonctionnalité permet, aux LPS qui n’implémentent pas DMP_3.1a, de rechercher l’identifiant technique d’un document (dans le système DMP) à partir de l’identifiant local au LPS de ce document. Le LPS peut ensuite supprimer (DMP_3.3c), archiver (DMP_3.3d) ou remplacer un document dans le DMP du patient (DMP_2.1/2.2b).
En java :
String previousDocumentUniqueId = ...; // uniqueId d'un document envoyé précédemment dans le DMP
TD31bRequest td31bRequest = new TD31bRequest();
td31bRequest.setDocumentUniqueId(previousDocumentUniqueId());
td31bRequest.setIns(patient.getIns());
TD31bResponse response = client.td31bGetDocumentEntry(context, td31bRequest);
// uuid du document courant stocké dans le DMP
String documentCurrentUuid = response.getDocumentUuid();
// permet le remplacement de document avec une td21submit document ou encore une td33cUnpublished.
En REST :
curl --location --request POST 'http://localhost:9999/dmp/td31bGetDocumentEntry' \
--data-raw '{
"context": {
...
},
"request": {
"matriculeINS": {
"valeur": "279035121518989",
"identifiantSysteme": "1.2.250.1.213.1.4.10"
},
"documentUniqueId": "1.2.250.1.287.1.1669713300686.1.16709290066422"
}
}'
La réponse est :
{
"documentUuid": "ff38b3da-3ded-4b90-b30e-744a4dc907d8"
}
Remplacement
Le remplacement est possible suite à la recherche TD3.1b. Il suffit de préciser l’entryUUID
et le uniqueId
du document à remplacer.
Exemple de remplacement de document après recherche dans le DMP :
En java :
// récupération du uuid du document courant dans le DMP
TD31bRequest td31bRequest = new TD31bRequest();
td31bRequest.setDocumentUniqueId(uniqueIdDuDocumentAremplacer);
td31bRequest.setIns(patient.getIns());
TD31bResponse td31bresponse = client.td31bGetDocumentEntry(context, td31bRequest);
// création de la soummission pour le remplacement
DMPCSubmission submissionRemplace = ...;
DMPCDocument documentRemplace = ...;
// ajout des informations de remplacement dans le document qui remplace
documentRemplace.setReplacementOf(td31bresponse.getDocumentUuid());
documentRemplace.setReplacementOfUniqueId(documentE.getUniqueId());
submissionRemplace.setTitle("remplacement du document E");
// envoie de la soummission
client.td21SubmitDocuments(context, new TD21Request(submissionRemplaceE));
En REST
il suffit de renseigner les champs replacementOf, et replacementOfUniqueId dans le document qui remplace :
curl --location --request POST 'http://localhost:9999/dmp/td21SubmitDocuments' \
--data-raw '{
"context": {
...
},
"request": {
"submission": {
...
"documents": [
{
...
"replacementOf": "ff38b3da-3ded-4b90-b30e-744a4dc907d8",
"replacementOfUniqueId": "1.2.250.1.287.1.1669713300686.1.16709290066422"
}
]
}
}
}
TD33c : Supprimer un document (depuis version 1.0)
Cette fonctionnalité permet à l’utilisateur de supprimer un document dans le DMP d’un patient. La cinématique générale est la suivante :
- L’utilisateur indique qu’il souhaite supprimer le document sélectionné.
- L’utilisateur confirme l’action demandée.
- Le LPS envoie une requête de mise à jour des attributs d’un document au système DMP
Exemple :
TD33CRequest td33cRequest = new TD33CRequest();
td33cRequest.setDocumentUuid(uniqueIdDuDocumentASupprimer);
td33cRequest.setIns(patient.getIns());
td33cRequest.setContentType(contentTypeDuDocumentASupprimer); // le contentType est le même que pour une soumission de document.
client.td33cUnpublished(context, td33cRequest);
Gestion du Bris de Glace
Lorsque l’utilisateur a besoin de consulter le DMP d’un patient en cas d’urgence, sans avoir la possibilité de lui demander son autorisation, au lieu de se déclarer autorisé à accéder au dossier par le patient, il dispose de la possibilité d’accéder au dossier en mode « bris de glace ».
Dans l’api cela se traduit par une modification du Contexte :
En Java :
DMPCContext context = ...
DMPCModeAcces modeAcces = new DMPCModeAcces();
modeAcces.setAcces(DMPCModeAcces.ModeAcces.BRIS_DE_GLACE);
modeAcces.setRaison("Accès en urgence");
context.setModeAcces(modeAcces);
En REST :
{
"context": {
"author": {
...
},
"modeAcces": {
"acces": "BRIS_DE_GLACE",
"raison": "Accès en urgence"
}
},
"request": {
...
}
}
Gestion de la connexion secrète
L’exigence EX_0.1-1100 :
Le LPS doit permettre à l’utilisateur de mettre en oeuvre une connexion secrète pour les mineurs, en concertation avec son patient. Cf. donnée confidentiality-code dans le VIHF. Les modalités de mise en oeuvre : détermination de l’âge (cf. exigence EX_GEN-1550 au § 3.1.3) et proposition systématique, choix utilisateur,… devront être précisées par l’éditeur lors de son passage en homologation.
La décision de la mise en place de la connexion secrète est laissée à l’intégrateur. Dans le càs où, l’application veut déclarer la connexion secrète, il suffit d’ajouter le code de confidentialité INVISIBLE_REPRESENTANTS_LEGAUX
dans le contexte :
EN java :
DMPCContext context = ...
DMPCCode code = client.getCodesFor((DMPCCode.JeuxValeursDMP.RESTRICTION_AUDIENCE_VIHF)
.stream()
.filter(dmpcCode -> dmpcCode.getCode().equals("INVISIBLE_REPRESENTANTS_LEGAUX"))
.findFirst().get();
context.setConfidentialityCode(code);
En REST :
{
"context": {
"author": {
...
},
"confidentialityCode": {
"valeur": "INVISIBLE_REPRESENTANTS_LEGAUX",
"identifiantNomenclature": "1.2.250.1.213.1.1.4.13",
"libelle": "Non visible par les représentants légaux du patient"
}
},
"request": {
...
}
}
ATTENTION : Ne pas confondre la connexion secrète et la soumission de documents à visibilité réduite comme
INVISIBLE_REPRESENTANTS_LEGAUX
,INVISIBLE_PATIENT
, ou encoreMASQUE_PS
. Il s’agit dans ce cas de spécifier un code de confidentialité spécifique au document. Ces codes sont disponibles dans la nomenclatureDMPCCode.JeuxValeursDMP.CONFIDENTIALITY_CODE