Docs
Connexion partenaire →

Référence de l’API partenaires

Documents

Lire les documents du dossier d'un animal ou d'une consultation (comptes rendus, ordonnances, certificats, fichiers déposés…), les télécharger, et déposer un PDF (compte rendu de laboratoire, d'imagerie…) dans le dossier d'un animal. Un document déposé par l'API naît interne : c'est la clinique qui décide de le montrer au propriétaire. Seuls les documents des sites ouverts à l'application sont visibles ; un autre répond 404, jamais 403. Aucun antivirus n'analyse les fichiers déposés : seuls le type déclaré et la signature PDF des octets sont vérifiés.

Lister les documents d'une consultation

GET/api/partner/v1/consultations/{id}/documents#

documents:read

Rend les documents rattachés à la consultation et situés sur un site ouvert à l'application, en une seule page (nextCursor vaut toujours null). Métadonnées seulement : le contenu se télécharge par GET /documents/{id}/download.

Paramètres

idchemin · uuidrequis

Identifiant de la consultation.

Réponse

200Les documents de la consultation.

Champs de la réponse (2)
itemsDocument[]
iduuid

Identifiant du document.

siteIduuid

Site du document.

patientIduuid

Animal du document. Nul pour un document du seul dossier client.

peut être null
consultationIduuid

Consultation à laquelle le document est rattaché, s'il l'est.

peut être null
typeenum

Nature : synthèse, ordonnance, facture, certificat, dossier médical, carnet de vaccination, devis, consentement, bon de livraison, fichier déposé (UPLOAD, dont tout dépôt par l'API), avoir, compte rendu d'hospitalisation, compte rendu de consultation.

SUMMARYPRESCRIPTIONINVOICECERTIFICATEMEDICAL_RECORDVACCINATION_CARDQUOTECONSENT_FORMDELIVERY_NOTEUPLOADCREDIT_NOTEHOSPITALIZATION_REPORTCONSULTATION_REPORT
categoryenum

Rubrique du dossier : imagerie, chirurgie, certificats, consentements, information, résultats de laboratoire, administratif, autre.

IMAGERIECHIRURGIECERTIFICATSCONSENTEMENTSINFORMATIONRESULTATS_LABOADMINISTRATIFAUTREpeut être null
titlestring

Titre du document.

peut être null
statusenum

GENERATED : produit ou déposé, sans circuit de validation (tout fichier déposé). DRAFT : brouillon. VALIDATED : validé. SIGNED : signé. SENT : envoyé.

GENERATEDDRAFTVALIDATEDSIGNEDSENT
visibilityenum

INTERNAL : réservé à l'équipe (tout dépôt par l'API). OWNER : montré au propriétaire. ASV_ONLY : réservé aux assistants.

INTERNALOWNERASV_ONLY
createdAtdate-time

Date de création ou de dépôt.

updatedAtdate-time

Dernière modification.

peut être null
validatedAtdate-time

Date de validation, s'il a été validé.

peut être null
signedAtdate-time

Date de signature, s'il a été signé.

peut être null
nextCursorstring

Curseur opaque de la page suivante, à repasser tel quel dans cursor. null : dernière page.

peut être null

Erreurs propres à cette opération

404 CONSULTATION_NOT_FOUND

Consultation inconnue, d'une autre organisation ou d'un site non ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

Lire les métadonnées d'un document

GET/api/partner/v1/documents/{id}#

documents:read

Rend les métadonnées d'un document d'un site ouvert à l'application : nature, rubrique, titre, statut, visibilité, dates. Jamais son contenu ni ses notes internes : le contenu se télécharge par GET /documents/{id}/download.

Paramètres

idchemin · uuidrequis

Identifiant du document.

Réponse

200Le document.

Champs de la réponse (13)
iduuid

Identifiant du document.

siteIduuid

Site du document.

patientIduuid

Animal du document. Nul pour un document du seul dossier client.

peut être null
consultationIduuid

Consultation à laquelle le document est rattaché, s'il l'est.

peut être null
typeenum

Nature : synthèse, ordonnance, facture, certificat, dossier médical, carnet de vaccination, devis, consentement, bon de livraison, fichier déposé (UPLOAD, dont tout dépôt par l'API), avoir, compte rendu d'hospitalisation, compte rendu de consultation.

SUMMARYPRESCRIPTIONINVOICECERTIFICATEMEDICAL_RECORDVACCINATION_CARDQUOTECONSENT_FORMDELIVERY_NOTEUPLOADCREDIT_NOTEHOSPITALIZATION_REPORTCONSULTATION_REPORT
categoryenum

Rubrique du dossier : imagerie, chirurgie, certificats, consentements, information, résultats de laboratoire, administratif, autre.

IMAGERIECHIRURGIECERTIFICATSCONSENTEMENTSINFORMATIONRESULTATS_LABOADMINISTRATIFAUTREpeut être null
titlestring

Titre du document.

peut être null
statusenum

GENERATED : produit ou déposé, sans circuit de validation (tout fichier déposé). DRAFT : brouillon. VALIDATED : validé. SIGNED : signé. SENT : envoyé.

GENERATEDDRAFTVALIDATEDSIGNEDSENT
visibilityenum

INTERNAL : réservé à l'équipe (tout dépôt par l'API). OWNER : montré au propriétaire. ASV_ONLY : réservé aux assistants.

INTERNALOWNERASV_ONLY
createdAtdate-time

Date de création ou de dépôt.

updatedAtdate-time

Dernière modification.

peut être null
validatedAtdate-time

Date de validation, s'il a été validé.

peut être null
signedAtdate-time

Date de signature, s'il a été signé.

peut être null

Erreurs propres à cette opération

404 DOCUMENT_NOT_FOUND

Document inconnu, d'une autre organisation ou d'un site non ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

Télécharger le contenu d'un document

GET/api/partner/v1/documents/{id}/content#

documents:read

Rend les octets du document, après le même contrôle du site à chaque appel. Un fichier déposé est rendu avec son propre type (application/pdf pour tout dépôt par l'API ; une image ou un autre fichier déposé par la clinique garde le sien). Un document composé dans Treats est rendu en PDF à la demande. En-têtes Content-Disposition: attachment (nom d'origine d'un fichier déposé ; titre suivi de .pdf pour un document composé) et Cache-Control: private, no-store : ne pas mettre ce contenu en cache partagé. C'est l'adresse que rend GET /documents/{id}/download quand requiresAuthorization vaut true.

Paramètres

idchemin · uuidrequis

Identifiant du document.

Réponse

200Le contenu du document (PDF le plus souvent ; le type d'origine pour un fichier déposé par la clinique). · fichier application/pdf

Erreurs propres à cette opération

404 DOCUMENT_NOT_FOUND

Document inconnu, d'une autre organisation ou d'un site non ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

Obtenir l'adresse de téléchargement d'un document

GET/api/partner/v1/documents/{id}/download#

documents:read

Rend l'adresse où télécharger le contenu du document, produite seulement après le contrôle du site. Pour un fichier stocké, en production : une adresse pré-signée du stockage, valable 15 minutes, à suivre SANS en-tête d'autorisation (requiresAuthorization: false). Pour un document composé dans Treats (compte rendu, ordonnance… rendus en PDF à la demande), ou si le stockage ne pré-signe pas : la route GET /documents/{id}/content de l'API, à appeler avec le jeton (requiresAuthorization: true). Lire requiresAuthorization plutôt que de deviner à l'adresse. Une adresse pré-signée expirée se redemande ici.

Paramètres

idchemin · uuidrequis

Identifiant du document.

Réponse

200L'adresse de téléchargement.

Champs de la réponse (3)
urlstring

Adresse du contenu. requiresAuthorization: false : adresse pré-signée du stockage, à suivre sans en-tête d'autorisation. requiresAuthorization: true : la route GET /api/partner/v1/documents/{id}/content, à appeler avec le jeton.

expiresAtdate-time

Fin de validité de l'adresse pré-signée (15 minutes après l'appel). Nulle pour la route de l'API, qui ne périme pas.

peut être null
requiresAuthorizationboolean

true : passer Authorization: Bearer … en suivant url. false : ne PAS le passer (adresse pré-signée).

Erreurs propres à cette opération

404 DOCUMENT_NOT_FOUND

Document inconnu, d'une autre organisation ou d'un site non ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

Lister les documents d'un animal

GET/api/partner/v1/patients/{id}/documents#

documents:read

Rend les documents du dossier de l'animal situés sur un site ouvert à l'application, en une seule page (nextCursor vaut toujours null). Le dossier d'un animal est commun aux sites de l'organisation : un document d'un site non ouvert n'est pas rendu. Métadonnées seulement : le contenu se télécharge par GET /documents/{id}/download.

Paramètres

idchemin · uuidrequis

Identifiant de l'animal.

Réponse

200Les documents de l'animal.

Champs de la réponse (2)
itemsDocument[]
iduuid

Identifiant du document.

siteIduuid

Site du document.

patientIduuid

Animal du document. Nul pour un document du seul dossier client.

peut être null
consultationIduuid

Consultation à laquelle le document est rattaché, s'il l'est.

peut être null
typeenum

Nature : synthèse, ordonnance, facture, certificat, dossier médical, carnet de vaccination, devis, consentement, bon de livraison, fichier déposé (UPLOAD, dont tout dépôt par l'API), avoir, compte rendu d'hospitalisation, compte rendu de consultation.

SUMMARYPRESCRIPTIONINVOICECERTIFICATEMEDICAL_RECORDVACCINATION_CARDQUOTECONSENT_FORMDELIVERY_NOTEUPLOADCREDIT_NOTEHOSPITALIZATION_REPORTCONSULTATION_REPORT
categoryenum

Rubrique du dossier : imagerie, chirurgie, certificats, consentements, information, résultats de laboratoire, administratif, autre.

IMAGERIECHIRURGIECERTIFICATSCONSENTEMENTSINFORMATIONRESULTATS_LABOADMINISTRATIFAUTREpeut être null
titlestring

Titre du document.

peut être null
statusenum

GENERATED : produit ou déposé, sans circuit de validation (tout fichier déposé). DRAFT : brouillon. VALIDATED : validé. SIGNED : signé. SENT : envoyé.

GENERATEDDRAFTVALIDATEDSIGNEDSENT
visibilityenum

INTERNAL : réservé à l'équipe (tout dépôt par l'API). OWNER : montré au propriétaire. ASV_ONLY : réservé aux assistants.

INTERNALOWNERASV_ONLY
createdAtdate-time

Date de création ou de dépôt.

updatedAtdate-time

Dernière modification.

peut être null
validatedAtdate-time

Date de validation, s'il a été validé.

peut être null
signedAtdate-time

Date de signature, s'il a été signé.

peut être null
nextCursorstring

Curseur opaque de la page suivante, à repasser tel quel dans cursor. null : dernière page.

peut être null

Erreurs propres à cette opération

404 PATIENT_NOT_FOUND

Animal inconnu, d'une autre organisation, ou dont le client n'est pas rattaché à un site ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

Déposer un PDF dans le dossier d'un animal

POST/api/partner/v1/patients/{id}/documents#

documents:writeIdempotency-Key

Dépose un PDF (compte rendu de laboratoire, d'imagerie…) dans le dossier de l'animal, en multipart/form-data. Seul le PDF est accepté : type déclaré application/pdf ET contenu qui commence par la signature %PDF-. 20 Mo au plus par fichier ; un envoi plus gros est arrêté pendant la réception, même sans Content-Length. Le document naît de type UPLOAD, statut GENERATED, visibilité INTERNAL : la clinique décide de le montrer au propriétaire. Il est signé par le compte d'intégration de l'application.

Avec consultationId, le document est rattaché à cette consultation et naît sur son site. Sans, il naît sur site_id (ou Treats-Site-Id), ou sur le seul site ouvert à l'application. Idempotency-Key est obligatoire ; un même envoi est reconnu à son type et à sa taille : utiliser une clé par dépôt, sans quoi deux fichiers différents de même taille sous la même clé rendraient le premier.

Paramètres

idchemin · uuidrequis

Identifiant de l'animal.

site_idrequête · uuid

Site du document, sans consultationId. Ignoré avec consultationId. Le paramètre l'emporte sur l'en-tête.

Treats-Site-Iden-tête · uuid

Équivalent de site_id, lu quand le paramètre est absent.

Idempotency-Keyen-tête · stringrequis

Clé unique de l'envoi (un UUID). Le même envoi répété avec la même clé n'est appliqué qu'une fois pendant 24 h.

Corps de la requête multipart/form-data

filefichierrequis

Le PDF, partie déclarée application/pdf, 20 Mo au plus. Le nom du fichier envoyé (sans chemin, 150 caractères au plus) est gardé ; à défaut, document.pdf.

titlestring

Titre du document, de 1 à 200 caractères. Absent : le nom du fichier.

categoryenum

Rubrique du dossier.

RESULTATS_LABOIMAGERIEAUTREdéfaut "AUTRE"
consultationIduuid

Consultation de ce même animal à laquelle rattacher le document, sur un site ouvert à l'application.

Réponse

201Le document créé.

Champs de la réponse (13)
iduuid

Identifiant du document.

siteIduuid

Site du document.

patientIduuid

Animal du document. Nul pour un document du seul dossier client.

peut être null
consultationIduuid

Consultation à laquelle le document est rattaché, s'il l'est.

peut être null
typeenum

Nature : synthèse, ordonnance, facture, certificat, dossier médical, carnet de vaccination, devis, consentement, bon de livraison, fichier déposé (UPLOAD, dont tout dépôt par l'API), avoir, compte rendu d'hospitalisation, compte rendu de consultation.

SUMMARYPRESCRIPTIONINVOICECERTIFICATEMEDICAL_RECORDVACCINATION_CARDQUOTECONSENT_FORMDELIVERY_NOTEUPLOADCREDIT_NOTEHOSPITALIZATION_REPORTCONSULTATION_REPORT
categoryenum

Rubrique du dossier : imagerie, chirurgie, certificats, consentements, information, résultats de laboratoire, administratif, autre.

IMAGERIECHIRURGIECERTIFICATSCONSENTEMENTSINFORMATIONRESULTATS_LABOADMINISTRATIFAUTREpeut être null
titlestring

Titre du document.

peut être null
statusenum

GENERATED : produit ou déposé, sans circuit de validation (tout fichier déposé). DRAFT : brouillon. VALIDATED : validé. SIGNED : signé. SENT : envoyé.

GENERATEDDRAFTVALIDATEDSIGNEDSENT
visibilityenum

INTERNAL : réservé à l'équipe (tout dépôt par l'API). OWNER : montré au propriétaire. ASV_ONLY : réservé aux assistants.

INTERNALOWNERASV_ONLY
createdAtdate-time

Date de création ou de dépôt.

updatedAtdate-time

Dernière modification.

peut être null
validatedAtdate-time

Date de validation, s'il a été validé.

peut être null
signedAtdate-time

Date de signature, s'il a été signé.

peut être null

Erreurs propres à cette opération

400 MULTIPART_REQUIRED

Corps qui n'est pas en multipart/form-data.

400 MULTIPART_INVALID

Envoi multipart illisible.

400 FILE_REQUIRED

Partie file absente.

400 FILE_EMPTY

Fichier vide.

400 FILE_TOO_LARGE

Fichier de plus de 20 Mo (ou envoi total trop gros), détecté sur la taille annoncée ou pendant la réception.

400 FILE_UNREADABLE

Fichier illisible à la réception.

400 FILE_TYPE_NOT_ALLOWED

Partie non déclarée application/pdf, ou contenu qui n'est pas un PDF.

400 INVALID_FIELD

title vide ou de plus de 200 caractères, category hors de RESULTATS_LABO/IMAGERIE/AUTRE, consultationId qui n'est pas un UUID.

400 CONSULTATION_OTHER_PATIENT

consultationId est la consultation d'un autre animal.

400 SITE_ID_REQUIRED

Sans consultationId, l'organisation a ouvert plusieurs sites et ni site_id ni Treats-Site-Id n'est donné.

404 PATIENT_NOT_FOUND

Animal inconnu, d'une autre organisation, ou dont le client n'est pas rattaché à un site ouvert à l'application.

404 CONSULTATION_NOT_FOUND

consultationId inconnu, d'une autre organisation ou d'un site non ouvert à l'application.

404 SITE_NOT_FOUND

site_id (ou Treats-Site-Id) n'est pas un site ouvert à l'application.

Et les erreurs communes à toutes les opérations : erreurs et limites.

esc
↵ ouvrir↑↓ naviguerrésultats limités à ce site