Skip to content
APIsRéférence APIAppel contextuelBPMCréation d'un accompagnement

Introduction

Cette API permet d’initialiser un accompagnement pharmaceutique, comme un bilan partagé de médication pour un patient

La logique est la suivante:

  • Création de l’utilisateur s’il n’existe pas
  • Création du patient s’il n’existe pas
  • Création de l’accompagnement si aucun n’est en cours, avec scan d’ordonnance asynchrone

Point d’entrée

URL de l’appel contextuel

⚠️

L’url de base est https://partner-connect.{env}.posos.co{env} est l’environnement suivant : preprod pour la validation, production pour le live.


post/api/partners/:facilitySlug/bpm/create

Avec facilitySlug le facilitySlug unique pour votre intégration et qui sera le même pour l’ensemble des pharmacies

En-têtes HTTP

NomValeur
Content-Typeapplication/json
AuthorizationBearer <token>

Authentification

Une authentification est nécessaire pour l’appel à cet endpoint. Il y a deux types de jetons d’authentification qui peuvent être utilisés

Jeton par certificat (x5c)

Le jeton peut être signé avec la clé publique fournie dans un certificat dans le x5c du jeton. L’autorité de certification correspondante doit nous être fournie au préalable pour que nous la rajoutions dans les autorités de confiance. Généralement ce mode opératoire vous permet de générer un jeton par pharmacie ou opérateur (intervenant de santé). Dans ce cas le jeton d’authentification doit contenir les claims suivants.

AttributTypeDescription
emailstringEmail de l’intervenant de santé
Requis
posos_idstringIdentifiant unique de l’intervenant de santé
Requis
cipstringIdentifiant unique de la pharmacie
Requis
given_namestringPrénom de l’intervenant de santé
Requis
family_namestringNom de l’intervenant de santé
Requis

Note : les champs posos_id et email doivent être uniques pour l’opérateur parmi toutes les pharmacies (pas uniquement pour sa pharmacie).

Jeton d’accès à nos APIs

Le jeton peut également être le jeton standard d’accès à nos APIs et appels contextuels dont la génération est décrite dans la page Authentification. Cette méthode doit uniquement être utilisée dans le cas d’un accès serveur à serveur, et ne doit pas émaner de la pharmacie pour des raisons de sécurité (il est possible de faire des requêtes pour n’importe quelle pharmacie de l’éditeur). Dans ce scénario il sera obligatoire de fournir dans le corps de la requête le champ operator.

Corps de la requête

NomtypeDescription
imagesobject[]La liste des ordonnances à scanner. Voir la section Ordonnances
Requis mais peut être un tableau vide.
patientobjectObjet décrivant le patient. Vois la section Patient
Requis
medicationReviewInterviewDatestringDate de l’entretien au format YYYY-MM-DD
Requis
operatorobjectDétails de l’intervenant de santé qui réalise l’entretien. Le format est identique à celui attendu pour le jeton par certificat (x5c).
Requis sauf dans l’authentification x5c

Ordonnances

AttributTypeDescription
imagestringContenu de l’image en base64
Requis
isPdfbooleanFlag indiquant si l’image est un PDF ou non
Requis

Patient

AttributTypeDescription
insstringNuméro de sécurité sociale du patient
Requis
givenNamestringPrénom du patient
Requis
familyNamestringNom du patient
Requis
birthDatestringDate de naissance du patient au format YYYY-MM-DD
Requis
birthLocationobjectLieu de naissance du patient. Voir la section Location
genderenumSexe du patient. Voir la section Gender
Requis
profileobjectProfil du patient

Gender

Peut prendre une de ces valeurs:

  • FEMALE
  • MALE
  • UNDIFFERENTIATED
  • UNKNOWN

Location

AttributTypeDescription
citystringVille de naissance
countrystringPays de naissance
line1string1e ligne d’adresse du lieu de naissance
line2string2e ligne d’adresse du lieu de naissance
departmentnumberDépartement de naissance.
Requis

Profile

AttributTypeDescription
heightnumberTaille du patient
weightnumberPoids du patient
dfgnumberDébit de filtration glomérulaire du patient
renalImpairmentenumInsufisance rénale Voir la section Renal impairment
heartFailureenumInsufisance cardiaque Voir la section Heart failure
hepaticFailureenumInsufisance hépatique Voir la section Hepatic failure
allergiesobject[]Liste d’allergies Voir la section Conditions
conditionsobject[]Liste de terrains Voir la section Conditions

Renal impairment

Peut prendre une de ces valeurs :

  • NONE
  • MILD
  • MODERATE
  • SEVERE
  • TERMINAL
  • UNSPECIFIED

Heart failure

Peut prendre une de ces valeurs :

  • NONE
  • MILD
  • MODERATE
  • SEVERE
  • UNSPECIFIED

Hepatic failure

Peut prendre une de ces valeurs :

  • NONE
  • MILD
  • MODERATE
  • SEVERE
  • UNSPECIFIED

Conditions

AttributTypeDescription
labelstringLabel de la condition
Requis
codingsobject[]Liste de codings pour la condition Voir la section Coding
Requis

Pour chaque condition précisée il est nécessaire de spécifier au moins un coding pour que la donnée soit correctement structurée par le BPM et que des alertes puissent remonter.

Coding

AttributTypeDescription
codestringCode du coding
Requis
displaystringLabel du coding
Requis
systemstringSystem du coding (peut être snomed, cim10 ou meddra)
Requis
{
  "patient": {
    "ins": "1880593059061",
    "givenName": "Robert",
    "familyName": "De Niro",
    "birthDate": "1970-05-25",
    "gender": "MALE",
    "profile": {
      "conditions": [
        {
          "label": "insuffisance cardiaque à haut débit",
          "codings": [
            {
              "code": "10091002",
              "display": "insuffisance cardiaque à haut débit",
              "system": "snomed"
            }
          ]
        },
        {
          "label": "spasme artériel",
          "codings": [
            {
              "code": "3750006",
              "display": "spasme artériel",
              "system": "snomed"
            }
          ]
        }
      ]
    }
  },
  "images": [],
  "medicationReviewInterviewDate": "2025-10-12"
}

Format de la réponse

Le résultat obtenu est du JSON de la forme suivante:

Output

{
  "patientIpp": "<string>"
}

Le champ patientIpp est celui de l’identifiant patient dans le BPM Posos.

Exemple de réponse

Output

{
  "patientIpp": "ABCDEFG01"
}

Codes de réponse

CodeDescription
201
400Un des paramètres passés dans la requête est invalide
401Le token passé est invalide