Docs
Connexion partenaire →

Référence de l’API partenaires

Laboratoire

Pour un laboratoire d'analyses : lire les commandes que les cliniques lui adressent, puis déposer les résultats structurés (lignes d'analyses, valeurs, unités, bornes, drapeaux) et leur compte rendu PDF. Treats rattache le résultat à la commande ou à l'animal par un identifiant sûr (commande, identifiant de l'animal, puce), jamais par le nom ; en cas de doute, le résultat attend dans la file « Résultats à rattacher » de la clinique. L'application doit avoir été rattachée par Treats au laboratoire qu'elle représente (droit lab:write) : elle ne voit que les commandes et les résultats de ce laboratoire, sur les sites ouverts par l'organisation.

Lister les commandes d'analyses

GET/api/partner/v1/lab/orders#

lab:write

Rend les commandes d'analyses adressées aux laboratoires 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 commande modifiée apparaît dans la liste au plus 60 secondes après, alors que GET /lab/orders/{id} la rend tout de suite. Pour suivre les nouvelles commandes, lire status=PENDING avec updated_since. La liste ne rend ni les résultats ni les commandes adressées à un autre laboratoire.

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 commandes 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 commandes.

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

Identifiant de la commande Treats. À renvoyer dans orderId avec le résultat : c'est le rattachement le plus sûr.

siteIduuid

Site de la clinique qui a passé la commande.

providerenum

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

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
providerOrderIdstring

Identifiant de la commande chez le laboratoire, quand Treats la lui a transmise par son connecteur.

peut être null
statusenum

PENDING : à réaliser (créée, transmise ou en cours, y compris après un résultat partiel). COMPLETED : résultat final reçu. CANCELLED : annulée par la clinique.

PENDINGCOMPLETEDCANCELLED
modalityenum

Mode d'analyse : au cabinet (IN_HOUSE), en laboratoire extérieur (REFERENCE_LAB), dématérialisé (DIGITAL), autre.

IN_HOUSEREFERENCE_LABDIGITALOTHERpeut être null
testCodesstring[]

Codes d'analyses demandés, au catalogue du laboratoire (CBC, CHEM10…). Liste vide si la commande n'en porte pas.

notesstring

Remarques de la clinique pour le laboratoire (« À jeun »…).

peut être null
veterinarianstring

Vétérinaire demandeur, en texte.

peut être null
createdAtdate-time

Date de la commande.

updatedAtdate-time

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

patientLabExamPatient

L'animal concerné ; null si la commande n'est rattachée à aucun animal 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
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 PENDING, COMPLETED, 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 commande d'analyses

GET/api/partner/v1/lab/orders/{id}#

lab:write

Rend une commande d'analyses, avec l'animal concerné. La commande doit être de l'organisation, d'un site ouvert à l'application et adressée à l'un de ses laboratoires ; 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 commande.

Réponse

200La commande.

Champs de la réponse (12)
iduuid

Identifiant de la commande Treats. À renvoyer dans orderId avec le résultat : c'est le rattachement le plus sûr.

siteIduuid

Site de la clinique qui a passé la commande.

providerenum

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

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
providerOrderIdstring

Identifiant de la commande chez le laboratoire, quand Treats la lui a transmise par son connecteur.

peut être null
statusenum

PENDING : à réaliser (créée, transmise ou en cours, y compris après un résultat partiel). COMPLETED : résultat final reçu. CANCELLED : annulée par la clinique.

PENDINGCOMPLETEDCANCELLED
modalityenum

Mode d'analyse : au cabinet (IN_HOUSE), en laboratoire extérieur (REFERENCE_LAB), dématérialisé (DIGITAL), autre.

IN_HOUSEREFERENCE_LABDIGITALOTHERpeut être null
testCodesstring[]

Codes d'analyses demandés, au catalogue du laboratoire (CBC, CHEM10…). Liste vide si la commande n'en porte pas.

notesstring

Remarques de la clinique pour le laboratoire (« À jeun »…).

peut être null
veterinarianstring

Vétérinaire demandeur, en texte.

peut être null
createdAtdate-time

Date de la commande.

updatedAtdate-time

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

patientLabExamPatient

L'animal concerné ; null si la commande n'est rattachée à aucun animal 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

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

Commande inconnue, d'une autre organisation, d'un site non ouvert, adressée à un autre laboratoire, ou identifiant qui n'est pas un UUID.

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

Déposer un résultat d'analyses

POST/api/partner/v1/lab/results#

lab:writeIdempotency-Key

Enregistre un résultat structuré (lignes d'analyses) avec, au besoin, son compte rendu PDF en base64. Rattachement, du plus sûr au moins sûr : la commande (orderId), l'identifiant de l'animal (patient.id ou patient.publicId, de l'organisation et visible des sites ouverts), puis la puce (un seul animal de l'organisation). Tous les identifiants fournis doivent désigner le même animal ; jamais le nom. Sans rattachement sûr, le résultat est quand même enregistré et attend dans « Résultats à rattacher » du site (matched: false, unmatchedReason). Un résultat rattaché entre au dossier de l'animal (et le PDF parmi ses documents) ; rattaché par sa commande, celle-ci passe COMPLETED (final: false : reste PENDING).

Site de réception : celui de la commande, sinon site_id ou Treats-Site-Id, sinon le seul site ouvert (SITE_ID_REQUIRED s'il y en a plusieurs). Réponse 201 pour un nouveau résultat. Renvoyer le même externalResultId du même laboratoire dans la même organisation, avec une autre Idempotency-Key, est une republication (200, même id) : les lignes sont toutes remplacées par celles envoyées, le PDF est remplacé s'il est fourni et gardé sinon, collectedAt et veterinarian sont mis à jour s'ils sont fournis. Le rattachement du premier envoi, resultType et modality sont conservés : orderId et patient sont contrôlés mais ne changent plus rien. La même Idempotency-Key rejoue la première réponse sans rien réécrire. Le même identifiant venu d'un autre laboratoire ou dans une autre organisation est un résultat distinct (201).

Paramètres

site_idrequête · uuid

Site de réception d'un résultat sans orderId, s'il doit être précisé (ignoré avec une commande).

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 application/json

externalResultIdstringrequis

Identifiant du résultat chez le laboratoire, 100 caractères au plus. Unique par organisation et par laboratoire : le renvoyer remplace le résultat déjà reçu (voir la route).

orderIduuid

Commande Treats à laquelle répond le résultat (id lu sur GET /lab/orders). Elle doit être adressée à un fournisseur de l'application, sur un site ouvert, sinon 404 LAB_ORDER_NOT_FOUND. Elle donne le site de réception, le fournisseur et l'animal.

providerenum

Laboratoire d'origine, insensible à la casse. Doit être l'un des fournisseurs que représente l'application et, avec orderId, celui de la commande. Facultatif avec orderId ou si l'application ne représente qu'un fournisseur ; obligatoire sinon (PROVIDER_REQUIRED).

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
patientobject

Identification de l'animal, quand le résultat ne passe pas par une commande (ou pour la confirmer). Tous les identifiants fournis (y compris l'animal de la commande) doivent désigner le même animal, sinon le résultat n'est pas rattaché : CONFLICTING_IDENTIFIERS, ou PATIENT_NOT_FOUND quand id et publicId se contredisent.

peut être null
iduuid

Identifiant de l'animal dans Treats.

publicIdstring

Identifiant public de l'animal (pat_…), tel que lu dans patient.publicId d'une commande ou d'une demande d'examen.

microchipstring

Numéro de puce : 6 à 23 caractères alphanumériques, espaces ignorés. Ne rattache que si un seul animal de l'organisation porte cette puce.

namestring

Nom de l'animal chez le laboratoire. Affiché à l'équipe dans « Résultats à rattacher » ; jamais utilisé pour rattacher.

ownerLastNamestring

Nom du propriétaire chez le laboratoire. Affiché à l'équipe dans « Résultats à rattacher » ; jamais utilisé pour rattacher.

resultTypeenum

Type de résultat, insensible à la casse. BIOPSY pour un compte rendu d'anatomopathologie.

BLOOD_PANELXRAYULTRASOUNDURINEBIOPSYOTHERdéfaut "OTHER"
modalityenum

Mode d'analyse, insensible à la casse.

IN_HOUSEREFERENCE_LABDIGITALOTHERdéfaut "REFERENCE_LAB"
collectedAtdate-time

Date de prélèvement (instant ISO 8601). À défaut, la date de réception par Treats en tient lieu.

finalboolean

false : résultat partiel. Ne joue que pour un résultat rattaché par sa commande : la commande reste PENDING (en cours) au lieu de passer COMPLETED.

défaut true
veterinarianstring

Biologiste ou vétérinaire signataire, enregistré avec le résultat.

linesobject[]

Lignes d'analyses, 500 au plus. Au moins une ligne ou un compte rendu (pdfBase64) est exigé. Les textes vides valent absents.

analytestringrequis

Paramètre mesuré (GLU, HCT…).

valuestring

Valeur telle qu'à afficher (« 12.31 », « < 10 », « positif »). value ou numericValue obligatoire ; sans value, l'écriture décimale de numericValue en tient lieu.

numericValuenumber

Valeur numérique, en nombre JSON (jamais un texte converti) : 6 décimales et 12 chiffres entiers au plus (valeur absolue jusqu'à 999 999 999 999).

unitstring

Unité (mmol/L, %…).

lownumber

Borne basse de l'intervalle de référence, mêmes limites que numericValue. Doit être inférieure ou égale à high.

highnumber

Borne haute de l'intervalle de référence, mêmes limites que numericValue.

referenceRangestring

Intervalle de référence en texte (« 3.9 - 7.8 »).

flagenum

Position de la valeur, insensible à la casse. Une valeur hors NORMAL est signalée à la clinique comme hors norme.

NORMALLOWHIGHCRITICAL_LOWCRITICAL_HIGHABNORMAL
categorystring

Rubrique (« Biochimie »…). Les lignes sont regroupées par rubrique.

testCodestring

Code de l'analyse au catalogue du laboratoire.

testNamestring

Nom de l'analyse.

notesstring

Commentaire sur la ligne.

pdfBase64string

Compte rendu PDF encodé en base64 (espaces et retours à la ligne ignorés), 20 Mo au plus une fois décodé. Le contenu doit commencer par la signature %PDF.

Réponse

200Résultat republié (même `externalResultId`, même laboratoire, même organisation) : même `id`, lignes remplacées.

Champs de la réponse (16)
iduuid

Identifiant du résultat dans Treats (pour GET /lab/results/{id} et le dépôt du PDF).

externalResultIdstring

Identifiant du résultat chez le laboratoire, tel qu'envoyé.

siteIduuid

Site de la clinique qui a reçu le résultat.

providerenum

Laboratoire d'origine du résultat.

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
matchedboolean

true : rattaché à un animal (dossier médical). false : en attente dans la file « Résultats à rattacher » de la clinique.

matchedByenum

Ce qui a permis le rattachement automatique : la commande (ORDER), l'identifiant de l'animal (PATIENT_ID) ou la puce (MICROCHIP). null si le résultat n'est pas rattaché, ou s'il l'a été ensuite à la main par l'équipe de la clinique.

ORDERPATIENT_IDMICROCHIPpeut être null
unmatchedReasonenum

Pourquoi le résultat n'a pas été rattaché : aucun identifiant d'animal (NO_IDENTIFIER), identifiant ou puce introuvable, ou animal hors des sites ouverts à l'application (PATIENT_NOT_FOUND), puce portée par plusieurs animaux (MICROCHIP_AMBIGUOUS), commande, identifiant et puce qui désignent des animaux différents (CONFLICTING_IDENTIFIERS). null si le résultat est rattaché.

NO_IDENTIFIERPATIENT_NOT_FOUNDMICROCHIP_AMBIGUOUSCONFLICTING_IDENTIFIERSpeut être null
orderIduuid

Commande Treats d'origine, si le résultat a été envoyé avec orderId.

peut être null
patientIduuid

Animal auquel le résultat est rattaché ; null tant qu'il ne l'est pas.

peut être null
patientPublicIdstring

Identifiant public (pat_…) de cet animal.

peut être null
resultTypeenum

Type de résultat.

BLOOD_PANELXRAYULTRASOUNDURINEBIOPSYOTHER
modalityenum

Mode d'analyse.

IN_HOUSEREFERENCE_LABDIGITALOTHERpeut être null
collectedAtdate-time

Date de prélèvement envoyée dans collectedAt ; à défaut, date de réception par Treats.

peut être null
createdAtdate-time

Date de la première réception par Treats.

pdfReceivedboolean

Un compte rendu PDF accompagne le résultat.

linesLabResultLine[]

Lignes d'analyses, regroupées par rubrique (category) dans l'ordre où chaque rubrique est apparue, puis dans l'ordre d'envoi. Liste vide pour un résultat en compte rendu PDF seul.

categorystring

Rubrique (« Biochimie », « Hématologie »…).

peut être null
testCodestring

Code de l'analyse au catalogue du laboratoire.

peut être null
testNamestring

Nom de l'analyse.

peut être null
analytestring

Paramètre mesuré (GLU, HCT…). Toujours rempli pour un résultat déposé par l'API ; peut manquer sur un résultat que Treats a reçu de ce laboratoire par un autre canal.

peut être null
valuestring

Valeur telle qu'affichée (« 12.31 », « < 10 », « positif »). Quand seule numericValue a été envoyée, son écriture décimale.

peut être null
numericValuenumber

Valeur numérique exacte, sans zéros superflus (12.3).

peut être null
unitstring

Unité (mmol/L, %, U/L…).

peut être null
lownumber

Borne basse de l'intervalle de référence.

peut être null
highnumber

Borne haute de l'intervalle de référence.

peut être null
referenceRangestring

Intervalle de référence en texte (« 3.9 - 7.8 »).

peut être null
flagenum

Position de la valeur par rapport à l'intervalle. null si le laboratoire n'en a pas donné.

NORMALLOWHIGHCRITICAL_LOWCRITICAL_HIGHABNORMALpeut être null
notesstring

Commentaire du laboratoire sur la ligne.

peut être null

Erreurs propres à cette opération

400 BODY_REQUIRED

Corps absent.

400 INVALID_FIELD

Champ inconnu (y compris dans patient), externalResultId absent ou trop long, ni ligne ni PDF, plus de 500 lignes, ligne sans analyte ou sans valeur, nombre envoyé en texte ou à plus de 6 décimales, low supérieure à high, flag ou resultType inconnu, puce ou UUID mal formé, PDF illisible, trop gros ou qui n'est pas un PDF, provider inconnu, non représenté par l'application ou différent de celui de la commande. Un détail par champ.

400 PROVIDER_REQUIRED

L'application représente plusieurs fournisseurs et ni provider ni orderId ne disent lequel.

400 INVALID_SITE_ID

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

400 SITE_ID_REQUIRED

Sans orderId, plusieurs sites ouverts et aucun précisé. Exigé aussi pour une republication sans orderId, même si le résultat garde son site d'origine.

403 PARTNER_PROVIDER_NOT_LINKED

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

404 LAB_ORDER_NOT_FOUND

orderId inconnu, d'une autre organisation, d'un site non ouvert ou adressé à un autre laboratoire.

404 SITE_NOT_FOUND

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

409 EXTERNAL_RESULT_ID_CONFLICT

Cet externalResultId est déjà porté par un résultat du même laboratoire reçu sur un site que la connexion ne couvre pas (rien n'est écrit : employer un autre identifiant), ou il est en cours d'enregistrement par un autre appel simultané (renvoyer dans quelques secondes : ce sera une republication).

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

Notifications envoyées :lab.result.received

Lire un résultat d'analyses

GET/api/partner/v1/lab/results/{id}#

lab:write

Rend un résultat avec toutes ses lignes et son état de rattachement, par exemple pour savoir si l'équipe de la clinique a rattaché un résultat resté en attente (matched passe à true, patientId est rempli). Le résultat doit être de l'organisation, reçu sur un site ouvert à l'application et venu de l'un de ses laboratoires, quel que soit le canal par lequel Treats l'a reçu ; sinon 404.

Paramètres

idchemin · uuidrequis

Identifiant Treats du résultat (id rendu par POST /lab/results).

Réponse

200Le résultat.

Champs de la réponse (16)
iduuid

Identifiant du résultat dans Treats (pour GET /lab/results/{id} et le dépôt du PDF).

externalResultIdstring

Identifiant du résultat chez le laboratoire, tel qu'envoyé.

siteIduuid

Site de la clinique qui a reçu le résultat.

providerenum

Laboratoire d'origine du résultat.

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
matchedboolean

true : rattaché à un animal (dossier médical). false : en attente dans la file « Résultats à rattacher » de la clinique.

matchedByenum

Ce qui a permis le rattachement automatique : la commande (ORDER), l'identifiant de l'animal (PATIENT_ID) ou la puce (MICROCHIP). null si le résultat n'est pas rattaché, ou s'il l'a été ensuite à la main par l'équipe de la clinique.

ORDERPATIENT_IDMICROCHIPpeut être null
unmatchedReasonenum

Pourquoi le résultat n'a pas été rattaché : aucun identifiant d'animal (NO_IDENTIFIER), identifiant ou puce introuvable, ou animal hors des sites ouverts à l'application (PATIENT_NOT_FOUND), puce portée par plusieurs animaux (MICROCHIP_AMBIGUOUS), commande, identifiant et puce qui désignent des animaux différents (CONFLICTING_IDENTIFIERS). null si le résultat est rattaché.

NO_IDENTIFIERPATIENT_NOT_FOUNDMICROCHIP_AMBIGUOUSCONFLICTING_IDENTIFIERSpeut être null
orderIduuid

Commande Treats d'origine, si le résultat a été envoyé avec orderId.

peut être null
patientIduuid

Animal auquel le résultat est rattaché ; null tant qu'il ne l'est pas.

peut être null
patientPublicIdstring

Identifiant public (pat_…) de cet animal.

peut être null
resultTypeenum

Type de résultat.

BLOOD_PANELXRAYULTRASOUNDURINEBIOPSYOTHER
modalityenum

Mode d'analyse.

IN_HOUSEREFERENCE_LABDIGITALOTHERpeut être null
collectedAtdate-time

Date de prélèvement envoyée dans collectedAt ; à défaut, date de réception par Treats.

peut être null
createdAtdate-time

Date de la première réception par Treats.

pdfReceivedboolean

Un compte rendu PDF accompagne le résultat.

linesLabResultLine[]

Lignes d'analyses, regroupées par rubrique (category) dans l'ordre où chaque rubrique est apparue, puis dans l'ordre d'envoi. Liste vide pour un résultat en compte rendu PDF seul.

categorystring

Rubrique (« Biochimie », « Hématologie »…).

peut être null
testCodestring

Code de l'analyse au catalogue du laboratoire.

peut être null
testNamestring

Nom de l'analyse.

peut être null
analytestring

Paramètre mesuré (GLU, HCT…). Toujours rempli pour un résultat déposé par l'API ; peut manquer sur un résultat que Treats a reçu de ce laboratoire par un autre canal.

peut être null
valuestring

Valeur telle qu'affichée (« 12.31 », « < 10 », « positif »). Quand seule numericValue a été envoyée, son écriture décimale.

peut être null
numericValuenumber

Valeur numérique exacte, sans zéros superflus (12.3).

peut être null
unitstring

Unité (mmol/L, %, U/L…).

peut être null
lownumber

Borne basse de l'intervalle de référence.

peut être null
highnumber

Borne haute de l'intervalle de référence.

peut être null
referenceRangestring

Intervalle de référence en texte (« 3.9 - 7.8 »).

peut être null
flagenum

Position de la valeur par rapport à l'intervalle. null si le laboratoire n'en a pas donné.

NORMALLOWHIGHCRITICAL_LOWCRITICAL_HIGHABNORMALpeut être null
notesstring

Commentaire du laboratoire sur la ligne.

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

Résultat inconnu, d'une autre organisation, reçu sur un site non ouvert, venu d'un autre laboratoire, ou identifiant qui n'est pas un UUID.

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

Déposer le compte rendu PDF d'un résultat

POST/api/partner/v1/lab/results/{id}/pdf#

lab:writeIdempotency-Key

Joint un compte rendu PDF à un résultat déjà reçu, en multipart/form-data (champ file), quand il n'a pas été envoyé en base64 avec le résultat. Il remplace le précédent. Résultat rattaché : le PDF entre parmi les documents de l'animal. Résultat en attente : le fichier est gardé et entre au dossier quand l'équipe rattache le résultat. Mêmes conditions d'accès que GET /lab/results/{id}. Ni les lignes ni le rattachement ne changent.

Paramètres

idchemin · uuidrequis

Identifiant Treats du résultat.

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 compte rendu, déclaré application/pdf, 20 Mo au plus ; son contenu doit commencer par la signature %PDF.

Réponse

200Le résultat relu (`pdfReceived: true`).

Champs de la réponse (16)
iduuid

Identifiant du résultat dans Treats (pour GET /lab/results/{id} et le dépôt du PDF).

externalResultIdstring

Identifiant du résultat chez le laboratoire, tel qu'envoyé.

siteIduuid

Site de la clinique qui a reçu le résultat.

providerenum

Laboratoire d'origine du résultat.

ANIMA_CAREIDEXXVETERNITYCENTRAVETICADNEPHTISPENNYLANEPICOXIAMYPACS
matchedboolean

true : rattaché à un animal (dossier médical). false : en attente dans la file « Résultats à rattacher » de la clinique.

matchedByenum

Ce qui a permis le rattachement automatique : la commande (ORDER), l'identifiant de l'animal (PATIENT_ID) ou la puce (MICROCHIP). null si le résultat n'est pas rattaché, ou s'il l'a été ensuite à la main par l'équipe de la clinique.

ORDERPATIENT_IDMICROCHIPpeut être null
unmatchedReasonenum

Pourquoi le résultat n'a pas été rattaché : aucun identifiant d'animal (NO_IDENTIFIER), identifiant ou puce introuvable, ou animal hors des sites ouverts à l'application (PATIENT_NOT_FOUND), puce portée par plusieurs animaux (MICROCHIP_AMBIGUOUS), commande, identifiant et puce qui désignent des animaux différents (CONFLICTING_IDENTIFIERS). null si le résultat est rattaché.

NO_IDENTIFIERPATIENT_NOT_FOUNDMICROCHIP_AMBIGUOUSCONFLICTING_IDENTIFIERSpeut être null
orderIduuid

Commande Treats d'origine, si le résultat a été envoyé avec orderId.

peut être null
patientIduuid

Animal auquel le résultat est rattaché ; null tant qu'il ne l'est pas.

peut être null
patientPublicIdstring

Identifiant public (pat_…) de cet animal.

peut être null
resultTypeenum

Type de résultat.

BLOOD_PANELXRAYULTRASOUNDURINEBIOPSYOTHER
modalityenum

Mode d'analyse.

IN_HOUSEREFERENCE_LABDIGITALOTHERpeut être null
collectedAtdate-time

Date de prélèvement envoyée dans collectedAt ; à défaut, date de réception par Treats.

peut être null
createdAtdate-time

Date de la première réception par Treats.

pdfReceivedboolean

Un compte rendu PDF accompagne le résultat.

linesLabResultLine[]

Lignes d'analyses, regroupées par rubrique (category) dans l'ordre où chaque rubrique est apparue, puis dans l'ordre d'envoi. Liste vide pour un résultat en compte rendu PDF seul.

categorystring

Rubrique (« Biochimie », « Hématologie »…).

peut être null
testCodestring

Code de l'analyse au catalogue du laboratoire.

peut être null
testNamestring

Nom de l'analyse.

peut être null
analytestring

Paramètre mesuré (GLU, HCT…). Toujours rempli pour un résultat déposé par l'API ; peut manquer sur un résultat que Treats a reçu de ce laboratoire par un autre canal.

peut être null
valuestring

Valeur telle qu'affichée (« 12.31 », « < 10 », « positif »). Quand seule numericValue a été envoyée, son écriture décimale.

peut être null
numericValuenumber

Valeur numérique exacte, sans zéros superflus (12.3).

peut être null
unitstring

Unité (mmol/L, %, U/L…).

peut être null
lownumber

Borne basse de l'intervalle de référence.

peut être null
highnumber

Borne haute de l'intervalle de référence.

peut être null
referenceRangestring

Intervalle de référence en texte (« 3.9 - 7.8 »).

peut être null
flagenum

Position de la valeur par rapport à l'intervalle. null si le laboratoire n'en a pas donné.

NORMALLOWHIGHCRITICAL_LOWCRITICAL_HIGHABNORMALpeut être null
notesstring

Commentaire du laboratoire sur la ligne.

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 NO_FILE

Aucun champ file, ou fichier illisible.

400 FILE_TOO_LARGE

PDF de plus de 20 Mo (ou envoi trop volumineux).

400 UNSUPPORTED_FILE_TYPE

Fichier non déclaré application/pdf, ou dont le contenu n'est pas un PDF.

403 PARTNER_PROVIDER_NOT_LINKED

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

404 NOT_FOUND

Résultat inconnu, d'une autre organisation, reçu sur un site non ouvert, venu d'un autre laboratoire, ou identifiant qui n'est pas un UUID.

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

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