Docs
Connexion partenaire →

Référence de l’API partenaires

Consultations

Ouvrir une consultation en brouillon, remplir ses modules cliniques (anamnèse, commémoratifs, examen général, diagnostic, comportement), ajouter une note d'équipe et lire l'historique clinique d'un animal. Un partenaire ne valide jamais une consultation, ne la déverrouille ni ne la supprime, et n'écrit ni acte, ni produit, ni ordonnance : ces gestes restent au vétérinaire, dans Treats. Les modules d'actes, la vaccination et les mesures (température, pression, glycémie) se lisent en texte seulement. Une consultation d'un site non ouvert à l'application répond 404, jamais 403.

Lister les consultations

GET/api/partner/v1/consultations#

consultations:read

Rend les consultations des sites ouverts à l'application (ou du seul site demandé), brouillons et validées, triées par updatedAt croissant puis id : c'est la liste de synchronisation. Une consultation remonte quand son en-tête change ou quand un de ses modules est écrit. Une écriture apparaît dans cette liste au plus 60 secondes après ; la lecture par identifiant, elle, est immédiate. Reprendre une synchronisation à updated_since = dernier updatedAt vu − 5 minutes et dédoublonner par id.

Les éléments n'ont ni category ni ownerReport : lire GET /consultations/{id} pour les avoir. Un consentement limité à certains sites ne voit, avec patient_id, que les animaux dont le client est rattaché à l'un de ses sites.

Paramètres

patient_idrequête · uuid

Ne garde que les consultations de cet animal. Animal inconnu ou non visible de l'application : 404 PATIENT_NOT_FOUND, jamais une liste vide.

site_idrequête · uuid

Ne garde que ce site. Le paramètre l'emporte sur l'en-tête.

statusrequête · enum

Ne garde que ce statut. Lu sans distinction de casse (draft vaut DRAFT).

updated_sincerequête · date-time

Ne rend que les consultations dont updatedAt est postérieur ou égal à cet instant (ISO 8601, années 1900 à 9999).

limitrequête · integer

Taille de la page, de 1 à 200. Au-delà de 200, la page fait 200.

Défaut : 50
cursorrequête · string

Curseur rendu par la page précédente (nextCursor), à repasser tel quel avec les mêmes filtres.

Treats-Site-Iden-tête · uuid

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

Réponse

200Une page de consultations.

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

Identifiant de la consultation.

publicIdstring

Identifiant public partageable, préfixé cns_.

peut être null
siteIduuid

Site de la consultation.

patientIduuid

Animal examiné.

appointmentIduuid

Rendez-vous d'origine. Nul pour une consultation ouverte sans rendez-vous.

peut être null
vetIduuid

Membre de l'équipe qui porte la consultation (voir GET /staff).

peut être null
statusenum

DRAFT : brouillon, modifiable. VALIDATED : validée par le vétérinaire, plus rien ne s'y écrit par l'API sauf une note d'équipe.

DRAFTVALIDATED
reasonstring

Motif affiché de la consultation.

peut être null
motifIduuid

Motif du référentiel de l'organisation, s'il a été choisi.

peut être null
templateSlugstring

Modèle de consultation utilisé à l'ouverture.

peut être null
startedAtdate-time

Début de la consultation.

peut être null
validatedAtdate-time

Date de validation. Nulle sur un brouillon.

peut être null
createdAtdate-time

Date de création.

updatedAtdate-time

Clé de synchronisation : dernière modification de l'en-tête ou d'un module. Pour une consultation jamais modifiée depuis l'ouverture de l'API, la plus récente de sa création, de son début et de sa validation.

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 DRAFT/VALIDATED, patient_id qui n'est pas un UUID, updated_since illisible ou hors des années 1900 à 9999, limit inférieur à 1, cursor invalide.

404 PATIENT_NOT_FOUND

patient_id inconnu, d'une autre organisation, ou dont le client n'est pas rattaché à un site 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.

Ouvrir une consultation en brouillon

POST/api/partner/v1/consultations#

consultations:writeIdempotency-Key

Ouvre une consultation en brouillon pour un animal, avec ou sans rendez-vous. Le site est celui du rendez-vous ; sans rendez-vous, c'est site_id (ou Treats-Site-Id), ou le seul site ouvert à l'application. Les modules du modèle choisi sont posés (sans templateSlug, le modèle par défaut du site). Le motif affiché prend le nom du motif choisi, à défaut celui du modèle. Si le rendez-vous a un acte associé, sa ligne est posée dans le module de facturation, comme quand la clinique ouvre la consultation. Le rendez-vous passe « en cours » au nom du praticien vetId, sauf s'il est déjà terminé, à facturer ou annulé.

Idempotente par rendez-vous : si ce rendez-vous a déjà sa consultation pour cet animal, elle est rendue telle quelle avec le statut 200 (son praticien n'est pas changé). Une nouvelle consultation répond 201. Une consultation ne s'ouvre que sur un rendez-vous du jour (heure de Paris), sauf si l'animal est déjà en salle d'attente ou en consultation. Ne valide jamais la consultation : la validation reste au vétérinaire, dans Treats.

Paramètres

site_idrequête · uuid

Site de la consultation sans rendez-vous. Avec un rendez-vous, à omettre ou égal au site du rendez-vous. 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 application/json

patientIduuidrequis

Animal examiné, visible de l'application.

vetIduuidrequis

Membre actif de l'équipe de l'organisation qui porte la consultation (voir GET /staff). Le compte d'intégration de l'application n'est pas accepté.

appointmentIduuid

Rendez-vous d'origine, sur un site ouvert à l'application et pour ce même animal.

templateSlugstring

Modèle de consultation du site. Absent : modèle par défaut du site.

motifIduuid

Motif actif du référentiel de l'organisation.

Réponse

200La consultation déjà ouverte pour ce rendez-vous, rendue telle quelle.

Champs de la réponse (16)
iduuid

Identifiant de la consultation.

publicIdstring

Identifiant public partageable, préfixé cns_.

peut être null
siteIduuid

Site de la consultation.

patientIduuid

Animal examiné.

appointmentIduuid

Rendez-vous d'origine. Nul pour une consultation ouverte sans rendez-vous.

peut être null
vetIduuid

Membre de l'équipe qui porte la consultation (voir GET /staff).

peut être null
statusenum

DRAFT : brouillon, modifiable. VALIDATED : validée par le vétérinaire, plus rien ne s'y écrit par l'API sauf une note d'équipe.

DRAFTVALIDATED
categoryenum

Type d'événement : consultation, urgence, suivi, chirurgie, hospitalisation, analyse, prévention, acte technique, administratif, euthanasie. Déduit du modèle de consultation.

CONSULTATIONEMERGENCYFOLLOW_UPSURGERYHOSPITALIZATIONANALYSISPREVENTIONTECHNICAL_ACTADMINISTRATIVEEUTHANASIApeut être null
reasonstring

Motif affiché de la consultation.

peut être null
motifIduuid

Motif du référentiel de l'organisation, s'il a été choisi.

peut être null
templateSlugstring

Modèle de consultation utilisé à l'ouverture.

peut être null
startedAtdate-time

Début de la consultation.

peut être null
validatedAtdate-time

Date de validation. Nulle sur un brouillon.

peut être null
createdAtdate-time

Date de création.

updatedAtdate-time

Clé de synchronisation, la même que dans la liste : dernière modification de l'en-tête ou d'un module.

peut être null
ownerReportConsultationOwnerReport

Synthèse remise au propriétaire, posée par le vétérinaire à la validation. Nulle tant qu'aucune de ses trois parties n'est remplie (toujours nulle sur un brouillon ouvert par l'API).

peut être null
summarystring

Résumé de la consultation.

peut être null
diagnosisstring

Diagnostic, formulé pour le propriétaire.

peut être null
instructionsstring

Consignes au propriétaire.

peut être null

Erreurs propres à cette opération

400 INVALID_FIELD

Champ hors contrat, patientId ou vetId absent, identifiant qui n'est pas un UUID, vetId qui n'est pas un membre actif de l'équipe de l'organisation, motifId absent du référentiel, templateSlug inconnu de ce site. Tous les champs refusés en une seule réponse.

400 SITE_ID_REQUIRED

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

400 SITE_MISMATCH

site_id (ou Treats-Site-Id) n'est pas le site du rendez-vous : l'omettre ou donner celui du rendez-vous.

404 PATIENT_NOT_FOUND

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

404 APPOINTMENT_NOT_FOUND

Rendez-vous inconnu ou sur un site non ouvert à l'application.

404 SITE_NOT_FOUND

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

409 APPOINTMENT_OTHER_PATIENT

Le rendez-vous est celui d'un autre animal.

409 CONSULTATION_APPOINTMENT_NOT_TODAY

Le rendez-vous n'est pas aujourd'hui (heure de Paris) et l'animal n'est ni en salle d'attente ni en consultation. Le message donne la date du rendez-vous.

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

Notifications envoyées :consultation.startedappointment.updated

Lire une consultation

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

consultations:read

Rend l'en-tête de la consultation, son type d'événement et, une fois validée, la synthèse remise au propriétaire. Le contenu clinique se lit par GET /consultations/{id}/modules. Lecture immédiate, sans le délai de la liste.

Paramètres

idchemin · uuidrequis

Identifiant de la consultation.

Réponse

200La consultation.

Champs de la réponse (16)
iduuid

Identifiant de la consultation.

publicIdstring

Identifiant public partageable, préfixé cns_.

peut être null
siteIduuid

Site de la consultation.

patientIduuid

Animal examiné.

appointmentIduuid

Rendez-vous d'origine. Nul pour une consultation ouverte sans rendez-vous.

peut être null
vetIduuid

Membre de l'équipe qui porte la consultation (voir GET /staff).

peut être null
statusenum

DRAFT : brouillon, modifiable. VALIDATED : validée par le vétérinaire, plus rien ne s'y écrit par l'API sauf une note d'équipe.

DRAFTVALIDATED
categoryenum

Type d'événement : consultation, urgence, suivi, chirurgie, hospitalisation, analyse, prévention, acte technique, administratif, euthanasie. Déduit du modèle de consultation.

CONSULTATIONEMERGENCYFOLLOW_UPSURGERYHOSPITALIZATIONANALYSISPREVENTIONTECHNICAL_ACTADMINISTRATIVEEUTHANASIApeut être null
reasonstring

Motif affiché de la consultation.

peut être null
motifIduuid

Motif du référentiel de l'organisation, s'il a été choisi.

peut être null
templateSlugstring

Modèle de consultation utilisé à l'ouverture.

peut être null
startedAtdate-time

Début de la consultation.

peut être null
validatedAtdate-time

Date de validation. Nulle sur un brouillon.

peut être null
createdAtdate-time

Date de création.

updatedAtdate-time

Clé de synchronisation, la même que dans la liste : dernière modification de l'en-tête ou d'un module.

peut être null
ownerReportConsultationOwnerReport

Synthèse remise au propriétaire, posée par le vétérinaire à la validation. Nulle tant qu'aucune de ses trois parties n'est remplie (toujours nulle sur un brouillon ouvert par l'API).

peut être null
summarystring

Résumé de la consultation.

peut être null
diagnosisstring

Diagnostic, formulé pour le propriétaire.

peut être null
instructionsstring

Consignes au propriétaire.

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 modules d'une consultation

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

consultations:read

Rend tous les modules de la consultation, dans l'ordre de l'écran, en une seule page (nextCursor vaut toujours null). Pour un module écrivable (writable: true), data donne son contenu selon le contrat publié ; pour les autres (actes, vaccination, mesures, imagerie, biologie…), seul le texte lisible text est rendu, sans aucun prix. Les notes d'équipe passent par GET /consultations/{id}/notes, pas par ces modules.

Paramètres

idchemin · uuidrequis

Identifiant de la consultation.

Réponse

200Les modules de la consultation.

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

Identifiant du module dans cette consultation.

slugstring

Identifiant stable du module (anamnese, examen-general, soins…). C'est la valeur de {slug} dans PUT /consultations/{id}/modules/{slug}.

peut être null
namestring

Nom du module, tel que la clinique le voit.

peut être null
categorystring

Famille du module, en minuscules : history, examination, diagnosis, procedure, treatment, prevention, vitals, lab, imaging, nutrition, billing, files, administrative.

peut être null
positioninteger

Rang du module dans la consultation (0 si non renseigné).

writableboolean

true : module écrivable par l'API (anamnese, commemoratifs, examen-general, diagnostic, comportement), data suit son contrat. false : lecture seule, data est nul et seul text est rendu.

dataobject

Contenu du module selon son contrat publié (GET /module-definitions/{slug}), pour un module écrivable : tous les champs du contrat, à null quand rien n'est saisi. Formes par module : ModuleDataAnamnese, ModuleDataCommemoratifs, ModuleDataExamenGeneral, ModuleDataDiagnostic, ModuleDataComportement. Nul pour un module en lecture seule. Une valeur reprise d'un ancien logiciel hors de la liste d'un champ à valeurs fixes est rendue telle quelle.

peut être null
textstring

Rendu lisible du module, une ligne par constat (séparées par \n), le même que le compte rendu de consultation, valeurs traduites en français. Jamais de prix. Nul pour un module vide, pour la note interne et pour l'anesthésie (que le compte rendu n'imprime pas).

peut être null
updatedAtdate-time

Dernière modification du module.

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.

Écrire un module de consultation

PUT/api/partner/v1/consultations/{id}/modules/{slug}#

consultations:write

Écrit un module d'une consultation en brouillon. Cinq modules s'écrivent : anamnese (reason, symptomOnset, evolution), commemoratifs (medicalHistory, previousSurgeries, currentTreatment, allergies, notes), examen-general (normal, generalState, mucousMembranes, capillaryRefillSeconds, dehydration, notes), diagnostic (primary, differential, notes) et comportement (attitude, interaction, notes). Le corps ne contient que les champs du module visé : leur type, leurs bornes et leurs valeurs permises sont dans les schémas ModuleData… et sur GET /module-definitions/{slug}. Exemple : PUT /consultations/{id}/modules/anamnese avec {"reason": "Boiterie depuis 2 jours", "symptomOnset": "ONE_THREE_DAYS", "evolution": "STABLE"}.

Champ absent = inchangé, champ à null = effacé ; un objet (allergies) ou une liste (primary, differential) se remplace en entier. Tout le reste du module est gardé tel quel, dont les actes que la clinique y a posés : la facture brouillon n'est jamais touchée. L'écriture se fait sur le module relu au moment d'écrire : une saisie du vétérinaire faite entre-temps est gardée, jamais écrasée. Un corps invalide est refusé en entier avant toute écriture, avec un détail par champ (chemin compris, primary[0].diagnosisId).

Module absent de la consultation : il est ajouté et la route répond 201. Module déjà présent : il est mis à jour, réponse 200.

Paramètres

idchemin · uuidrequis

Identifiant de la consultation.

slugchemin · enumrequis

Module à écrire. Un autre module du site répond 409 MODULE_READ_ONLY, un module inconnu 404 MODULE_NOT_FOUND.

Corps de la requête application/json

reasonstring

anamnese : motif de consultation, dans les mots du propriétaire.

peut être null
symptomOnsetenum

anamnese : début des symptômes.

LESS_24HONE_THREE_DAYSMORE_THREE_DAYSCHRONICpeut être null
evolutionenum

anamnese : évolution.

IMPROVEMENTSTABLEWORSENINGpeut être null
medicalHistorystring

commemoratifs : antécédents médicaux.

peut être null
previousSurgeriesstring

commemoratifs : chirurgies antérieures.

peut être null
currentTreatmentstring

commemoratifs : traitement en cours.

peut être null
allergiesobject

commemoratifs : allergie, objet remplacé en entier. Les deux champs absents ou nuls effacent l'allergie. Un autre champ que type et allergen est refusé.

peut être null
typeenum

Type d'allergie.

FOODMEDICATIONOTHERpeut être null
allergenstring

Allergène.

peut être null
normalboolean

examen-general : true pour un examen sans particularité (RAS).

peut être null
generalStateenum

examen-general : état général.

GOODCORRECTALTEREDBADpeut être null
mucousMembranesenum

examen-general : muqueuses.

PINKPALECONGESTEDICTERICCYANOTICpeut être null
capillaryRefillSecondsnumber

examen-general : temps de recoloration capillaire, en secondes (0 à 20).

peut être null
dehydrationenum

examen-general : déshydratation.

NONEFIVE_PERCENTSIX_EIGHT_PERCENTTEN_TWELVE_PERCENTTWELVE_FIFTEEN_PERCENTpeut être null
primaryobject[]

diagnostic : diagnostic principal, 30 éléments au plus, liste remplacée en entier ; null ou [] l'efface. Un autre champ que label et diagnosisId est refusé.

peut être null
labelstring

Libellé. Obligatoire sauf si diagnosisId est donné (le nom du diagnostic est alors repris).

diagnosisIduuid

Diagnostic actif du référentiel de l'organisation, sinon refus.

peut être null
differentialobject[]

diagnostic : diagnostic différentiel, mêmes règles que primary.

peut être null
labelstring

Libellé. Obligatoire sauf si diagnosisId est donné.

diagnosisIduuid

Diagnostic actif du référentiel de l'organisation, sinon refus.

peut être null
attitudeenum

comportement : attitude.

NORMALDEPRESSEDAGGRESSIVEANXIOUSpeut être null
interactionenum

comportement : interaction.

NORMALDIMINISHEDABSENTpeut être null
notesstring

commemoratifs, examen-general, diagnostic, comportement : notes du module. Celles des commémoratifs et de l'examen général sont réservées à l'équipe (jamais imprimées sur le compte rendu).

peut être null

Réponse

200Le module mis à jour, relu après écriture.

Champs de la réponse (9)
iduuid

Identifiant du module dans cette consultation.

slugstring

Identifiant stable du module (anamnese, examen-general, soins…). C'est la valeur de {slug} dans PUT /consultations/{id}/modules/{slug}.

peut être null
namestring

Nom du module, tel que la clinique le voit.

peut être null
categorystring

Famille du module, en minuscules : history, examination, diagnosis, procedure, treatment, prevention, vitals, lab, imaging, nutrition, billing, files, administrative.

peut être null
positioninteger

Rang du module dans la consultation (0 si non renseigné).

writableboolean

true : module écrivable par l'API (anamnese, commemoratifs, examen-general, diagnostic, comportement), data suit son contrat. false : lecture seule, data est nul et seul text est rendu.

dataobject

Contenu du module selon son contrat publié (GET /module-definitions/{slug}), pour un module écrivable : tous les champs du contrat, à null quand rien n'est saisi. Formes par module : ModuleDataAnamnese, ModuleDataCommemoratifs, ModuleDataExamenGeneral, ModuleDataDiagnostic, ModuleDataComportement. Nul pour un module en lecture seule. Une valeur reprise d'un ancien logiciel hors de la liste d'un champ à valeurs fixes est rendue telle quelle.

peut être null
textstring

Rendu lisible du module, une ligne par constat (séparées par \n), le même que le compte rendu de consultation, valeurs traduites en français. Jamais de prix. Nul pour un module vide, pour la note interne et pour l'anesthésie (que le compte rendu n'imprime pas).

peut être null
updatedAtdate-time

Dernière modification du module.

peut être null

Erreurs propres à cette opération

400 BODY_REQUIRED

Corps absent ou vide.

400 INVALID_FIELD

Champ inconnu du contrat de ce module, texte trop long, valeur hors de la liste permise (sensible à la casse), nombre hors bornes, mauvais type, label manquant, diagnosisId qui n'est pas un UUID ou absent du référentiel. Un détail par champ, avec son chemin ; rien n'est écrit.

404 CONSULTATION_NOT_FOUND

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

404 MODULE_NOT_FOUND

Aucun module de ce nom sur le site de la consultation (liste : GET /module-definitions).

409 MODULE_READ_ONLY

Module en lecture seule par l'API (actes, vaccination, mesures, imagerie…). Le message liste les modules écrivables.

409 CONSULTATION_VALIDATED

La consultation est validée : elle ne se modifie plus par l'API. Seul un vétérinaire peut la déverrouiller, dans Treats.

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

Lire les notes d'équipe d'une consultation

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

consultations:notes

Rend les notes d'équipe de la consultation, en une seule page (nextCursor vaut toujours null). Les notes confidentielles ne sont jamais rendues. Exige le droit consultations:notes, distinct de consultations:write qui permet d'écrire une note : une application peut signaler « résultats reçus » sans lire les notes de l'équipe.

Paramètres

idchemin · uuidrequis

Identifiant de la consultation.

Réponse

200Les notes d'équipe.

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

Identifiant de la note.

consultationIduuid

Consultation de la note.

contentstring

Texte de la note.

authorUserIduuid

Auteur : un membre de l'équipe, ou le compte d'intégration de l'application pour une note écrite par l'API.

peut être null
createdByThisApplicationboolean

true : note écrite par votre application.

createdAtdate-time

Date d'écriture.

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.

Ajouter une note d'équipe

POST/api/partner/v1/consultations/{id}/notes#

consultations:writeIdempotency-Key

Ajoute une note d'équipe à la consultation, signée par le compte d'intégration de l'application. La note n'est jamais confidentielle. Permise aussi sur une consultation validée : une note s'ajoute, elle ne modifie pas la consultation. Une note ne se modifie ni ne se supprime par l'API.

Paramètres

idchemin · uuidrequis

Identifiant de la consultation.

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

contentstringrequis

Texte de la note, non vide.

Réponse

201La note créée.

Champs de la réponse (6)
iduuid

Identifiant de la note.

consultationIduuid

Consultation de la note.

contentstring

Texte de la note.

authorUserIduuid

Auteur : un membre de l'équipe, ou le compte d'intégration de l'application pour une note écrite par l'API.

peut être null
createdByThisApplicationboolean

true : note écrite par votre application.

createdAtdate-time

Date d'écriture.

peut être null

Erreurs propres à cette opération

400 INVALID_FIELD

content absent, vide ou de plus de 10 000 caractères ; champ hors contrat. confidential, isConfidential, private ou isPrivate sont refusés : une note confidentielle ne s'écrit pas par l'API.

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.

Lister les modules de consultation

GET/api/partner/v1/module-definitions#

consultations:read

Rend les modules de consultation proposés par un site, un par slug, en une seule page (nextCursor vaut toujours null). Pour les cinq modules écrivables (writable: true), fields publie le contrat de leur data : champs, types, bornes et valeurs permises, les mêmes que le formulaire de la clinique. Les autres sont listés en lecture seule, fields vide. Sans site_id, le premier site ouvert à l'application.

Paramètres

site_idrequête · uuid

Site dont lire les modules. 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.

Réponse

200Les modules du site.

Champs de la réponse (2)
itemsModuleDefinition[]
slugstring

Identifiant stable du module.

namestring

Nom du module, tel que la clinique le voit.

categorystring

Famille du module, en minuscules (history, examination, diagnosis, procedure, treatment, prevention, vitals, lab, imaging, nutrition, billing, files, administrative).

peut être null
writableboolean

true : module écrivable par PUT /consultations/{id}/modules/{slug} (anamnese, commemoratifs, examen-general, diagnostic, comportement). false : lecture seule.

fieldsModuleField[]

Champs du contrat, dans l'ordre de l'écran. Vide pour un module en lecture seule.

namestring

Nom du champ dans le corps et dans data.

typeenum

TEXT : texte. ENUM : une valeur de values. BOOLEAN. DECIMAL : nombre entre min et max. OBJECT : objet dont les champs sont dans properties. ARRAY : liste d'objets dont les champs sont dans items.

TEXTENUMBOOLEANDECIMALOBJECTARRAY
labelstring

Libellé français du champ.

descriptionstring

Précision sur le champ.

peut être null
maxLengthinteger

TEXT : nombre de caractères au plus (20 000 pour un texte libre, 500 pour un libellé). ARRAY : nombre d'éléments au plus (30).

peut être null
minnumber

DECIMAL : valeur minimale.

peut être null
maxnumber

DECIMAL : valeur maximale.

peut être null
unitstring

DECIMAL : unité de la valeur.

peut être null
valuesModuleEnumValue[]

ENUM : valeurs permises, dans l'ordre de l'échelle. Nul pour les autres types.

peut être null
valuestring

Valeur à envoyer, telle quelle (sensible à la casse).

labelstring

Libellé français, celui de l'écran.

propertiesModuleField[]

OBJECT : champs de l'objet. Nul pour les autres types.

peut être null
itemsModuleField[]

ARRAY : champs d'un élément de la liste. Nul pour les autres types.

peut être null
teamOnlyboolean

true : réservé à l'équipe, jamais imprimé sur le compte rendu remis au propriétaire.

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

Lire le contrat d'un module

GET/api/partner/v1/module-definitions/{slug}#

consultations:read

Rend un module de consultation du site et, s'il est écrivable, le contrat de son data : c'est le corps attendu par PUT /consultations/{id}/modules/{slug}. Sans site_id, le premier site ouvert à l'application.

Paramètres

slugchemin · stringrequis

Identifiant du module (anamnese, examen-general, soins…).

site_idrequête · uuid

Site dont lire le module. 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.

Réponse

200Le module et son contrat.

Champs de la réponse (5)
slugstring

Identifiant stable du module.

namestring

Nom du module, tel que la clinique le voit.

categorystring

Famille du module, en minuscules (history, examination, diagnosis, procedure, treatment, prevention, vitals, lab, imaging, nutrition, billing, files, administrative).

peut être null
writableboolean

true : module écrivable par PUT /consultations/{id}/modules/{slug} (anamnese, commemoratifs, examen-general, diagnostic, comportement). false : lecture seule.

fieldsModuleField[]

Champs du contrat, dans l'ordre de l'écran. Vide pour un module en lecture seule.

namestring

Nom du champ dans le corps et dans data.

typeenum

TEXT : texte. ENUM : une valeur de values. BOOLEAN. DECIMAL : nombre entre min et max. OBJECT : objet dont les champs sont dans properties. ARRAY : liste d'objets dont les champs sont dans items.

TEXTENUMBOOLEANDECIMALOBJECTARRAY
labelstring

Libellé français du champ.

descriptionstring

Précision sur le champ.

peut être null
maxLengthinteger

TEXT : nombre de caractères au plus (20 000 pour un texte libre, 500 pour un libellé). ARRAY : nombre d'éléments au plus (30).

peut être null
minnumber

DECIMAL : valeur minimale.

peut être null
maxnumber

DECIMAL : valeur maximale.

peut être null
unitstring

DECIMAL : unité de la valeur.

peut être null
valuesModuleEnumValue[]

ENUM : valeurs permises, dans l'ordre de l'échelle. Nul pour les autres types.

peut être null
valuestring

Valeur à envoyer, telle quelle (sensible à la casse).

labelstring

Libellé français, celui de l'écran.

propertiesModuleField[]

OBJECT : champs de l'objet. Nul pour les autres types.

peut être null
itemsModuleField[]

ARRAY : champs d'un élément de la liste. Nul pour les autres types.

peut être null
teamOnlyboolean

true : réservé à l'équipe, jamais imprimé sur le compte rendu remis au propriétaire.

Erreurs propres à cette opération

404 MODULE_NOT_FOUND

Aucun module de ce nom sur le site.

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.

Lire l'historique clinique d'un animal

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

consultations:read

Rend les consultations récentes de l'animal, de la plus récente à la plus ancienne, résumées, sur les sites ouverts à l'application seulement (hospitalisations comprises, résultats de laboratoire exclus). C'est un résumé, sans curseur (nextCursor vaut toujours null) : pour tout synchroniser, GET /consultations?patient_id=…. limit compte les lignes rendues, après le filtre des sites.

Paramètres

idchemin · uuidrequis

Identifiant de l'animal.

limitrequête · integer

Nombre de consultations au plus, de 1 à 200. Au-delà de 200, 200.

Défaut : 50
sincerequête · date

Ne garde que les consultations de ce jour ou après (AAAA-MM-JJ, Europe/Paris, inclusif, années 1900 à 9999).

Réponse

200L'historique résumé.

Champs de la réponse (2)
itemsHistoryEntry[]
consultationIduuid

Consultation (à lire par GET /consultations/{id}).

siteIduuid

Site de la consultation, toujours un site ouvert à l'application.

datedate-time

Date de la consultation.

categoryenum

Type d'événement : consultation, urgence, suivi, chirurgie, hospitalisation, analyse, prévention, acte technique, administratif, euthanasie.

CONSULTATIONEMERGENCYFOLLOW_UPSURGERYHOSPITALIZATIONANALYSISPREVENTIONTECHNICAL_ACTADMINISTRATIVEEUTHANASIA
titlestring

Titre affiché dans l'historique de la clinique.

peut être null
reasonstring

Motif de la consultation.

peut être null
vetNamestring

Nom du praticien.

peut être null
validatedboolean

true : consultation validée.

hasDocumentsboolean

true : au moins un document est rattaché à la consultation.

hasPrescriptionboolean

true : au moins une ordonnance est rattachée à la consultation.

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

limit inférieur à 1 ou non entier, since illisible ou hors des années 1900 à 9999.

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.

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