ApiBorne
Sommaire du guide

Lister les documents

L'état documentaire du RDV : ce qui est déjà là (documents) et ce qui est attendu (requiredDocumentTypes). La borne en déduit les manquants et pilote son flow de scan.

GET/appointments/{appointmentId}/documents
Base : {editorBaseUrl}/api/apiborneIntegrationService/v1Auth : X-Kiosk-Auth-Key + X-Kiosk-Device-IdRoute obligatoire

Pourquoi cette route existe

Tout le flow documentaire de la borne part de cette photographie : ce qui est déjà dans le dossier (documents) et ce qui est attendu (requiredDocumentTypes). La borne en déduit les manquants et guide le patient pièce par pièce — scan sur place, dépôt depuis le téléphone, ou déclaration au guichet. C'est vous qui décidez des attendus, RDV par RDV.

Pas de gestion documentaire chez vous ? La route reste obligatoire — l'implémentation minimale conforme est { "documents": [], "requiredDocumentTypes": [] } : la borne saute simplement le flow documentaire.

Séquence : la borne liste les documents du RDV, calcule les manquants par différence sur documentType, fait scanner le patient et téléverse ; un remplacement est un DELETE suivi d'un POST.Borne ApiBorneécran DocumentsVotre serveurdossier du RDVGET /appointments/{id}/documents{ documents, requiredDocumentTypes }présents + attendus, avec vos libellésmanquants = requis − présentsdifférence sur documentType, code par codePOST /appointments/{id}/documentsle patient scanne le manquant — pages base64201 { "documentId": "doc-16" }remplacement d'un document raté : DELETE de l'ancien, puis POST du nouveauÀ l'affichage : la conf admin ApiBorne surcharge vos libelléslibellé personnalisé + « fournissable depuis le téléphone » — page Paramètres des documents requis
La liste des attendus (requiredDocumentTypes) vient de VOTRE système ; la borne ne fait que la différence avec les documents présents, code par code.

Sémantique

  • requiredDocumentTypes = objets { documentType, label, availableOnPhone } — le documentType est l'enum du référentiel des types de documents, le label est votre libellé affichable ;
  • la borne calcule les manquants par différence sur documentType ;
  • availableOnPhone : le patient peut fournir ce type depuis son téléphone (QR managementPageUrl du RDV).

Requête et réponse

bash
curl -sS "$BASE/appointments/apt-1001/documents" "${AUTH[@]}"
200
{
  "documents": [
    { "id": "doc-15", "documentType": "prescription", "label": "Ordonnance", "availableOnPhone": false }
  ],
  "requiredDocumentTypes": [
    { "documentType": "prescription", "label": "Ordonnance", "availableOnPhone": false },
    { "documentType": "mutualInsuranceCard", "label": "Carte Mutuelle", "availableOnPhone": true }
  ]
}

Points d'attention

Renvoyez bien des objets dans requiredDocumentTypes, pas des chaînes : la borne lit rt.documentType — une liste de strings rendrait tous vos types requis invisibles.

Implémentation de référence

src/app/api/apiborneIntegrationService/v1/appointments/[appointmentId]/documents/route.ts — types requis paramétrables par RDV, avec repli sur « une ordonnance pour tout examen ».