Votre volet CDA

Ou encore un document CDA généré par l’intégrateur

@Since DMP-4.7.0

Il est possible que vous souhaitiez maîtriser la génération du document CDA, et que vous souhaitiez seulement déléguer l’envoi au DMP de ce dernier.

Il vous suffit de générer un document CDA conforme au schematron et de l’envoyer dans une enveloppe de soummission au travers d’une transaction TD21submitDocuments

En java, Cela consiste à créer un document enveloppe (Wrapper) DMPCDocumentCDAWrapped avec les quelques metadata non déductibles du CDA et le cda sous forme d’un tableau de byte:

    byte[] documentCDA = integrateur.genereUnCDA();

    DMPCDocumentCdaWrapped wrappedDocument = DMPCDocumentCdaWrapped.builder()
                .format("urn:ihe:lab:xd-lab:2008")
                .classCode("11")
                .confidentialities(List.of("N"))
                .content(documentCda)  // le contenu du CDA sera relu pour récupérer les métadonnées nécessaires à la soumission XDS du DMP.
                .build();

    DMPCSoumission dmpcSoumission = new DMPCSoumission();
    dmpcSoumission.addDocument(wrappedDocument); // ajout du document dans la soumission
    dmpcSoumission.setTitle("Exemple de soumission wrapped");
    dmpcSoumission.setPatient(patient);  // attention à la cohérence des identifiants patients.
    dmpcSoumission.setContentType("04");

    client.td21SubmitDocuments(context, new TD21Request(dmpcSoumission));

En Rest, il faut préciser le type de document DMP soumis via dmpcType: "wrapped" et mettre le contenu encodé en Base64

curl --location --request POST 'http://127.0.0.1:8080/dmp/td21SubmitDocuments' \
--header 'Content-Type: application/json' \
--data-raw '{
    "context": {
        ...
    },
    "request": {
        "submission": {
            "title": "soumission d'un document wrapped",
            "contentType": "04",
            "patient": {
                "ins": "148115530271002",
                "internalId": "67890"
                
            },
            "documents": [
                {
                    "dmpcType": "wrapped",
                    "auteurs": [
                        {
                            "internalId": "123456",
                            "nom": "Durand",
                            "prenom": "Pierre"
                        }
                    ],
                    "classCode": "11",
                    "comments": "Document Wrapped soumis via Postman",
                    "confidentialities": [
                        "N"
                    ],
                    "format": "urn:ihe:lab:xd-lab:2008",
                    "content": "PD94bWwgdmVyc2lvbj0iMS4wIi
                    ... Document CDA xml encodé en base64 ...
                    BlbmNvZGluZz0iVVRGLTgiP1bWVudCB4bWxucz0i+"
                }
            ]
        }
    }
}