Docs
Connexion partenaire →

Référence de l’API partenaires

Imagerie

Pour un fournisseur d'imagerie (radiographie, échographie, PACS) : lire les demandes d'examen que les cliniques lui adressent, puis déposer les résultats (images JPEG ou PNG, compte rendu PDF, lien vers l'étude). Les fichiers entrent dans le dossier de l'animal et la consultation est prévenue. L'application doit avoir été rattachée par Treats au fournisseur qu'elle représente (droit imaging:write) : elle ne voit que les demandes adressées à ce fournisseur, sur les sites ouverts par l'organisation. L'API ne crée ni n'annule de demande : c'est la clinique qui les émet.

Lister les demandes d'examen d'imagerie

GET/api/partner/v1/imaging/exams#

imaging:write

Rend les demandes d'examen adressées aux fournisseurs que représente l'application, sur les sites ouverts par l'organisation (ou sur le seul site demandé). Tri par date de modification croissante puis identifiant ; une demande modifiée apparaît dans la liste au plus 60 secondes après, alors que GET /imaging/exams/{id} la rend tout de suite. Pour suivre les examens à réaliser, lire status=REQUESTED avec updated_since. La liste ne rend pas les fichiers reçus, seulement leur décompte.

Paramètres

statusrequête · enum

Filtre de statut, insensible à la casse. Absent : tous les statuts.

site_idrequête · uuid

Limite la liste à un site ouvert à l'application (sinon 404 SITE_NOT_FOUND). Absent : tous les sites ouverts.

updated_sincerequête · date-time

Ne rend que les demandes modifiées à cet instant ou après (inclusif).

cursorrequête · string

Curseur opaque rendu par la page précédente (nextCursor).

limitrequête · integer

Taille de page, de 1 à 200 (au-delà, 200).

Défaut : 50
Treats-Site-Iden-tête · uuid

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

Réponse

200Une page de demandes d'examen.

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

Identifiant de la demande, transmis au fournisseur quand Treats lui pousse la demande. C'est l'identifiant du chemin de dépôt des résultats.

siteIduuid

Site de la clinique qui a demandé l'examen.

providerenum

Fournisseur à qui la demande est adressée (l'un de ceux que représente l'application).

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
statusenum

REQUESTED : résultats attendus (demande créée, transmise, ou dont la transmission a échoué). RECEIVED : des résultats ont été reçus. CANCELLED : annulée par la clinique, plus aucun dépôt accepté.

REQUESTEDRECEIVEDCANCELLED
modalityenum

Type d'examen : radiographie, échographie, scanner, IRM, endoscopie, autre.

RADIOECHOSCANNERIRMENDOSCOPIEAUTREpeut être null
accessionNumberstring

Numéro d'accession DICOM de la demande (liste de travail de l'appareil).

peut être null
examAtdate-time

Date de l'examen.

peut être null
requestedAtdate-time

Date de la demande.

receivedAtdate-time

Date de la première réception de résultats ; null tant que rien n'est reçu.

peut être null
updatedAtdate-time

Dernière modification ; clé de synchronisation des listes.

veterinarianstring

Vétérinaire demandeur : prénom et nom, précédés de « Dr » pour un vétérinaire.

peut être null
patientLabExamPatient

L'animal à examiner ; null s'il n'est plus lisible.

peut être null
iduuid

Identifiant de l'animal.

publicIdstring

Identifiant public de l'animal (pat_…). C'est l'identifiant à renvoyer dans patient.publicId avec un résultat.

peut être null
namestring

Nom de l'animal.

speciesstring

Code d'espèce du référentiel Treats, en majuscules (DOG, CAT, RABBIT, NAC…). Vocabulaire ouvert : de nouveaux codes peuvent apparaître.

peut être null
breedstring

Race, en texte libre.

peut être null
sexenum

Sexe et statut de stérilisation.

MALEFEMALEMALE_NEUTEREDFEMALE_SPAYEDUNKNOWNpeut être null
birthDatedate

Date de naissance.

peut être null
microchipNumberstring

Numéro de puce électronique.

peut être null
ownerobject

Le client propriétaire : nom seulement.

peut être null
lastNamestring

Nom de famille du client, ou raison sociale pour une personne morale.

peut être null
firstNamestring

Prénom du client.

peut être null
resultsobject

Ce que Treats a déjà reçu pour cet examen.

imageCountinteger

Nombre d'images reçues (tous canaux confondus).

reportReceivedboolean

Un compte rendu PDF a été reçu.

studyLinkstring

Lien vers l'étude chez le fournisseur (visionneuse), s'il en a envoyé un.

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

400 INVALID_FIELD

status hors de REQUESTED, RECEIVED, CANCELLED, updated_since illisible, limit non entier ou nul, cursor illisible.

400 INVALID_SITE_ID

site_id (ou Treats-Site-Id) n'est pas un UUID.

403 PARTNER_PROVIDER_NOT_LINKED

L'application n'est rattachée à aucun laboratoire ni fournisseur d'imagerie : le rattachement se demande à Treats.

404 SITE_NOT_FOUND

Le site demandé n'est pas ouvert à l'application.

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

Lire une demande d'examen d'imagerie

GET/api/partner/v1/imaging/exams/{id}#

imaging:write

Rend une demande d'examen avec l'animal et l'état des résultats reçus. La demande doit être d'un site ouvert à l'application et adressée à l'un de ses fournisseurs ; sinon la route répond 404, sans dire si elle existe ailleurs. Lecture immédiate, sans le délai des listes.

Paramètres

idchemin · uuidrequis

Identifiant de la demande.

Réponse

200La demande.

Champs de la réponse (13)
iduuid

Identifiant de la demande, transmis au fournisseur quand Treats lui pousse la demande. C'est l'identifiant du chemin de dépôt des résultats.

siteIduuid

Site de la clinique qui a demandé l'examen.

providerenum

Fournisseur à qui la demande est adressée (l'un de ceux que représente l'application).

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
statusenum

REQUESTED : résultats attendus (demande créée, transmise, ou dont la transmission a échoué). RECEIVED : des résultats ont été reçus. CANCELLED : annulée par la clinique, plus aucun dépôt accepté.

REQUESTEDRECEIVEDCANCELLED
modalityenum

Type d'examen : radiographie, échographie, scanner, IRM, endoscopie, autre.

RADIOECHOSCANNERIRMENDOSCOPIEAUTREpeut être null
accessionNumberstring

Numéro d'accession DICOM de la demande (liste de travail de l'appareil).

peut être null
examAtdate-time

Date de l'examen.

peut être null
requestedAtdate-time

Date de la demande.

receivedAtdate-time

Date de la première réception de résultats ; null tant que rien n'est reçu.

peut être null
updatedAtdate-time

Dernière modification ; clé de synchronisation des listes.

veterinarianstring

Vétérinaire demandeur : prénom et nom, précédés de « Dr » pour un vétérinaire.

peut être null
patientLabExamPatient

L'animal à examiner ; null s'il n'est plus lisible.

peut être null
iduuid

Identifiant de l'animal.

publicIdstring

Identifiant public de l'animal (pat_…). C'est l'identifiant à renvoyer dans patient.publicId avec un résultat.

peut être null
namestring

Nom de l'animal.

speciesstring

Code d'espèce du référentiel Treats, en majuscules (DOG, CAT, RABBIT, NAC…). Vocabulaire ouvert : de nouveaux codes peuvent apparaître.

peut être null
breedstring

Race, en texte libre.

peut être null
sexenum

Sexe et statut de stérilisation.

MALEFEMALEMALE_NEUTEREDFEMALE_SPAYEDUNKNOWNpeut être null
birthDatedate

Date de naissance.

peut être null
microchipNumberstring

Numéro de puce électronique.

peut être null
ownerobject

Le client propriétaire : nom seulement.

peut être null
lastNamestring

Nom de famille du client, ou raison sociale pour une personne morale.

peut être null
firstNamestring

Prénom du client.

peut être null
resultsobject

Ce que Treats a déjà reçu pour cet examen.

imageCountinteger

Nombre d'images reçues (tous canaux confondus).

reportReceivedboolean

Un compte rendu PDF a été reçu.

studyLinkstring

Lien vers l'étude chez le fournisseur (visionneuse), s'il en a envoyé un.

peut être null

Erreurs propres à cette opération

403 PARTNER_PROVIDER_NOT_LINKED

L'application n'est rattachée à aucun laboratoire ni fournisseur d'imagerie.

404 NOT_FOUND

Demande inconnue, d'un site non ouvert, adressée à un autre fournisseur, ou identifiant qui n'est pas un UUID.

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

Déposer les résultats d'un examen d'imagerie

POST/api/partner/v1/imaging/exams/{id}/results#

imaging:writeIdempotency-Key

Dépose, en multipart/form-data uniquement (un corps JSON est refusé), les images, le compte rendu PDF et le lien vers l'étude d'une demande. Les fichiers entrent parmi les documents d'imagerie de l'animal, la demande passe RECEIVED et la consultation d'origine est prévenue. Tout est contrôlé avant la première écriture : un envoi refusé n'écrit rien. Réponse 200 dans tous les cas, premier dépôt compris.

Treats dédoublonne fichier par fichier, selon la position : la n-ième image d'un envoi (images[n]) et le compte rendu ne sont enregistrés qu'une fois par examen. Un second envoi identique, avec une autre Idempotency-Key, n'ajoute rien et répond alreadyReceived: true ; un envoi qui porte plus d'images ajoute seulement les positions nouvelles. Une image différente envoyée à une position déjà reçue est donc ignorée : envoyer toutes les images de l'examen en un seul dépôt. Le lien studyLink n'est enregistré que si le dépôt ajoute au moins un fichier. La même Idempotency-Key rejoue la première réponse.

Paramètres

idchemin · uuidrequis

Identifiant de la demande d'examen.

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

imagesfichier[]

Images de l'examen, en JPEG (image/jpeg) ou PNG (image/png) : champ répétable (images ou images[]), 30 au plus, 25 Mo au plus chacune. Le type déclaré ET la signature du contenu sont vérifiés.

reportfichier

Compte rendu, déclaré application/pdf, 25 Mo au plus, contenu commençant par %PDF.

studyLinkstring

Lien vers l'étude chez le fournisseur (visionneuse) : adresse http:// ou https://, 2 000 caractères au plus.

Réponse

200Accusé de réception du dépôt.

Champs de la réponse (5)
examIduuid

Identifiant de la demande.

statusenum

Statut de la demande après le dépôt (RECEIVED dès qu'un fichier a été reçu).

REQUESTEDRECEIVEDCANCELLED
imageCountinteger

Nombre total d'images reçues pour l'examen.

reportReceivedboolean

Un compte rendu PDF a été reçu pour l'examen, par ce dépôt ou un précédent.

alreadyReceivedboolean

true : tous les fichiers envoyés l'avaient déjà été, rien n'a été ajouté ni modifié.

Erreurs propres à cette opération

400 MULTIPART_REQUIRED

Corps qui n'est pas en multipart/form-data (un corps JSON, par exemple).

400 MULTIPART_INVALID

Envoi multipart illisible.

400 NO_FILE

Ni image (images) ni compte rendu (report).

400 FILE_TOO_LARGE

Un fichier dépasse 25 Mo (le champ fautif est désigné dans details : images[0], report), ou l'envoi dépasse 200 Mo.

400 UNSUPPORTED_FILE_TYPE

Image qui n'est pas un JPEG ou un PNG, ou compte rendu qui n'est pas un PDF, par le type déclaré ou par le contenu (un PDF déclaré image/jpeg est refusé). Champ fautif dans details.

400 INVALID_FIELD

Plus de 30 images, ou studyLink qui n'est pas un lien http(s) de 2 000 caractères au plus.

403 PARTNER_PROVIDER_NOT_LINKED

L'application n'est rattachée à aucun laboratoire ni fournisseur d'imagerie.

404 NOT_FOUND

Demande inconnue, d'un site non ouvert, adressée à un autre fournisseur, ou identifiant qui n'est pas un UUID.

409 IMAGING_EXAM_CANCELLED

La demande a été annulée par la clinique : aucun résultat n'est accepté.

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

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