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#
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 |
| 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 ( |
| limitrequête · integer | Taille de page, de 1 à 200 (au-delà, 200). Défaut :50 |
| Treats-Site-Iden-tête · uuid | Équivalent de |
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 |
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 ; |
| 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 ; |
| iduuid | Identifiant de l'animal. |
| publicIdstring | Identifiant public de l'animal ( |
| namestring | Nom de l'animal. |
| speciesstring | Code d'espèce du référentiel Treats, en majuscules ( |
| 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 |
Erreurs propres à cette opération
| 400 INVALID_FIELD |
|
| 400 INVALID_SITE_ID |
|
| 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}#
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 |
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 ; |
| 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 ; |
| iduuid | Identifiant de l'animal. |
| publicIdstring | Identifiant public de l'animal ( |
| namestring | Nom de l'animal. |
| speciesstring | Code d'espèce du référentiel Treats, en majuscules ( |
| 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#
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 ( |
| reportfichier | Compte rendu, déclaré |
| studyLinkstring | Lien vers l'étude chez le fournisseur (visionneuse) : adresse |
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 ( 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 |
|
Erreurs propres à cette opération
| 400 MULTIPART_REQUIRED | Corps qui n'est pas en |
| 400 MULTIPART_INVALID | Envoi multipart illisible. |
| 400 NO_FILE | Ni image ( |
| 400 FILE_TOO_LARGE | Un fichier dépasse 25 Mo (le champ fautif est désigné dans |
| 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é |
| 400 INVALID_FIELD | Plus de 30 images, ou |
| 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.