Introduction
Cette API permet d'effectuer un appel contextuel vers les differentes fonctionnalités de Posos.
L'appel nécessite une authentification par jeton d'identité, décrit dans la section Authentification.
Point d'entrée
URL des appels contextuels
L'url de base est https://partner-connect.{env}.posos.co
où {env}
est
l'environnement suivant : preprod
pour la validation, production
pour le
live.
post/api/partners/proxy/prepare
En-têtes HTTP
Nom | Valeur |
---|---|
Authorization | Bearer <token> |
Paramètres de la requête
Il est possible de passer les mêmes paramètres dans une requête GET plutôt que POST. Au lieu de les transmettre dans le corps de la requête, il faut alors les passer en paramètre d’URL.
Corps de la requête
Nom | Type | Description |
---|---|---|
rpps | string | Le numéro RPPS (chaine de caractère représentant 11 chiffres) de l'utilisateur, ou un identifiant technique de l’utilisateur au sein de l’établissement |
first_name | string | Le prénom de l'utilisateur |
last_name | string | Le nom de l'utilisateur |
guide | string | Une chaine dont la valeur est autorisée dans la liste des guides, et pouvant contenir autant de paramètre que nécessaire (voir la documentation des guides) |
Bon à savoir : Le “RPPS” n’est pas nécessairement le RPPS mais peut être un identifiant technique de l’utilisateur au sein de l’établissement. Sur l’environnement
preprod
vous pouvez tester avec l’utilisateurabcde1234
qui est configuré.
Request
{
"rpps": "<rpps_utilisateur>",
"first_name": "<prenom_utilisateur>",
"last_name": "<nom_utilisateur",
"guide": "<nom_du_guide>"
}
Description du paramètre guide
Accès à la page d’accueil
guide: home
Ce guide permet d’accéder à la page d’accueil de POSOS, donnant ainsi accès à sa barre de recherche et aux autres guides. Cette intégration ne permet pas le pré-remplissage d’un champ de recherche.
Bon à savoir : Aucun paramètre d'appel à inclure dans le corps de l'appel.
Exemple
{
"rpps": "abcde1234",
"first_name": "John",
"last_name": "Doe",
"guide": "home"
}
Guide Effets Indésirables
guide: side_effects
Ce guide permet de lister les effets indésirables d'une liste de médicament et de proposer quel médicament peut être à l'origine d'un effet observé. Dans cette intégration, il est proposé de pré-remplir la recherche avec une liste de médicaments.
Nom | Type | Description |
---|---|---|
ucds | string[] | Tableau contenant une liste de code ucd7 ou ucd13 décrivant les médicaments à envoyer. |
dcis | string[] | Tableau contenant une liste de dci décrivant les médicaments à envoyer. |
cis | string[] | Tableau contenant une liste de cis décrivant les médicaments à envoyer. |
Il est nécessaire d’avoir au moins un des paramètres ucds
ou dcis
ou cis
. Les trois se cumulent.
Exemple
{
"rpps": "abcde1234",
"first_name": "John",
"last_name": "Doe",
"guide": "side_effects",
"ucds": ["3400894203018", "3400892335049"],
"cis": ["67443191"],
"dcis": ["paracétamol"]
}
Guide Interactions et Contre-indications
guide: interactions
Ce guide permet de lister les interactions médicamenteuses connues entre plusieurs médicaments.
Nom | Type | Description |
---|---|---|
ucds | string[] | Tableau contenant une liste de code ucd7 ou ucd13 décrivant les médicaments à envoyer. |
dcis | string[] | Tableau contenant une liste de dci décrivant les médicaments à envoyer. |
cis | string[] | Tableau contenant une liste de cis décrivant les médicaments à envoyer. |
Il est nécessaire d’avoir au moins un des paramètres ucds
ou dcis
ou cis
. Les trois se cumulent.
Paramètre | Type | Description |
---|---|---|
terrains | string[] | Tableau de chaînes de caractères contenant une liste de codes cim10 à envoyer. Il peut aussi contenir des codes SNOMED-CT. |
age | number | Entier représentant l'âge du patient en années. |
birth_date | string | Chaîne de caractères représentant la date de naissance au format ISO. |
pregnancy | boolean | false si le sujet n'est pas enceinte, true si le sujet est enceinte. |
Les champs age
et birth_date
peuvent coexister mais c’est la valeur de birth_date
qui est utilisée en cas de conflit.
Exemple
{
"rpps": "abcde1234",
"first_name": "John",
"last_name": "Doe",
"guide": "interactions",
"ucds": ["3400894203018", "3400891764857"],
"cis": ["67443191"],
"dcis": ["paracétamol"],
"terrains": ["E11"], // diabete
"age": 70, // ou "birth_date": "1952-01-04" format date ISO;
// 0 si âge < à 1 an.
"pregnancy": false // false par défaut (pas de grossesse connue),
//ou true (grossesse en cours)
// résultat, l'association de haloperidol et citalopram est contre-indiquée
}
Guide Analyse d’ordonnance
guide: analysis
Ce guide centralise les fonctionnalités des guides Interactions et Contre-indication et Effets Indésirables.
Nom | Type | Description |
---|---|---|
ucds | string[] | Tableau contenant une liste de code ucd7 ou ucd13 décrivant les médicaments à envoyer. |
dcis | string[] | Tableau contenant une liste de dci décrivant les médicaments à envoyer. |
cis | string[] | Tableau contenant une liste de cis décrivant les médicaments à envoyer. |
Il est nécessaire d’avoir au moins un des paramètres ucds
ou dcis
ou cis
. Les trois se cumulent.
Paramètre | Type | Description |
---|---|---|
terrains | string[] | Tableau de chaînes de caractères contenant une liste de codes cim10 à envoyer. Il peut aussi contenir des codes SNOMED-CT. |
age | number | Entier représentant l'âge du patient en années. |
birth_date | string | Chaîne de caractères représentant la date de naissance au format ISO (2024-10-09). |
pregnancy | boolean | false si le sujet n'est pas enceinte, true si le sujet est enceinte. |
Les champs age
et birth_date
peuvent coexister mais c’est la valeur de birth_date
qui est utilisée en cas de conflit.
Exemple
{
"rpps": "abcde1234",
"first_name": "John",
"last_name": "Doe",
"guide": "analysis",
"ucds": ["3400894203018", "3400891764857"],
"cis": ["67443191"],
"dcis": ["paracétamol"],
"terrains": ["E11"], // diabete
"age": 70, // ou "birth_date": "1952-01-04" format date ISO;
// 0 si âge < à 1 an.
"pregnancy": false // false par défaut (pas de grossesse connue),
//ou true (grossesse en cours)
// résultat, l'association de haloperidol et citalopram est contre-indiquée
}
Guide Alternatives médicamenteuses
guide: alternatives
Ce guide permet de trouver des traitements alternatifs à un médicament, en fonction du profil du patient et des traitements concomitants.
Nom | Type | Description |
---|---|---|
ucd | string | un code ucd7 ou ucd13 décrivant le médicament à traiter. |
cis | string | un code cis décrivant le médicament à traiter. |
cip | string | un code cip7 ou cip13 décrivant le médicament à traiter. |
Il est nécessaire d’avoir au moins un des paramètres ucd
, cis
ou cip
. Les trois ne peuvent pas être envoyés ensemble.
Paramètre | Type | Description |
---|---|---|
terrains | string[] | Tableau de chaînes de caractères contenant une liste de codes cim10 à envoyer. Il peut aussi contenir des codes SNOMED-CT. |
age | number | Entier représentant l'âge du patient en années. |
birth_date | string | Chaîne de caractères représentant la date de naissance au format ISO (2024-10-09). |
pregnancy | boolean | false si le sujet n'est pas enceinte, true si le sujet est enceinte. |
Tous ces champs sont optionnels. Les champs age
et birth_date
peuvent coexister mais c’est la valeur de birth_date
qui est utilisée en cas de conflit.
Paramètre | Type | Description |
---|---|---|
concomitantTreatments | object | un objet décrivant les traitements concomitant du patient |
concomitantTreatments.ucds | string[] | Tableau contenant une liste de code ucd7 ou ucd13 décrivant les traitements concomitant. |
concomitantTreatments.dcis | string[] | Tableau contenant une liste de dci décrivant les traitements concomitant. |
concomitantTreatments.cis | string[] | Tableau contenant une liste de cis décrivant les traitements concomitant. |
concomitantTreatments.cip | string[] | Tableau contenant une liste de cip7 ou cip13 décrivant les traitements concomitant. |
concomitantTreatments
est optionnel. S'il est transmis, il est nécessaire d’avoir au moins un des paramètres ucds
, dcis
cis
, ou cip
. Les trois se cumulent.
Exemple
{
"rpps": "abcde1234",
"first_name": "John",
"last_name": "Doe",
"guide": "alternatives",
"cis": "61467730", // ou ucd ou encore cip
"concomitantTreatments": {
"ucds": ["3400894203018", "3400891764857"],
"cis": ["68416845"],
"dcis": ["paracétamol"],
"cips": ["3406955"]
},
"terrains": ["E11"], // diabete
"age": 70, // ou "birth_date": "1952-01-04" format date ISO;
// 0 si âge < à 1 an.
"pregnancy": false // false par défaut (pas de grossesse connue),
//ou true (grossesse en cours)
}
Exemple
Request
curl --request POST \
--url https://partner-connect.preprod.posos.co/api/partners/proxy/prepare \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"rpps": "abcde1234",
"first_name": "John",
"last_name": "Doe",
"guide": "analysis",
"ucds": "3400891764857",
"dcis": ["ketamine"]
}'
Response
{
"location": "https://partner-connect.preprod.posos.co/api/partners/proxy/logout?payload=..."
}
Format de la réponse
En cas de succès, un code HTTP 201 est renvoyé avec un corps de réponse en JSON contenant un seul champ location
contenant l'URL vers laquelle rediriger le poste de travail.
Response
{
"location": "https://partner-connect.preprod.posos.co/partners/proxy/logout?payload=...."
}
Le paramètre payload
dans l'url, contient un jeton opaque qui permettra d'authentifier l'utilisateur. C'est cette URL qui sera utilisée à l'étape suivante.
Codes de réponse
Code | Description |
---|---|
201 | |
400 | Un des paramètres passés dans la requête est invalide |
403 | Le jeton de l'en-tête Authorization n'est pas correct ou manquant |
Exemple d’erreur 400
Mauvaise syntaxe de code UCD
{
"error": "'/ucds' must be array; '/ucds' must match pattern \"^([0-9]{7}|[0-9]{13})$\"; '/ucds' must match exactly one schema in oneOf"
}