Chaque carnet est représenté par son UUID. Celui-ci est obtenu lors de l’appel de récupération des données de tous les carnets du compte patient.
GET /records.json
renvoie les données de tous les carnets partagés avec le professionnelLes carnets sont renvoyées dans un tableau JSON ; chaque élément du carnet est au même format que le carnet renvoyé par le service /records/:uuid.json
décrit ci-dessous.
GET /records/:uuid.json
renvoie les données élémentaires du carnet de vaccination (uuid, date de naissance, genre, email, nom, prénom), l'INS-C, les vaccinations et le profil santé.{
"created_at": "2014-06-18T14:33:57+02:00",
"updated_at": "2014-06-18T14:37:57+02:00",
"uuid": "be5101b6-9e8e-11e1-9683-7273e9365401",
"birth_date": "1988-12-18",
"gender": "male",
"email": "jdkoeck@mesvaccins.net",
"home_phone": "0512345678",
"mobile_phone": "0666666666",
"last_name": "Koeck",
"first_name": "Jean-Denis",
"birth_name": "",
"caption": "Homme de 23 ans",
"place_of_birth": "Pau",
"department_of_birth": 64,
"zip_code": "33000",
"ins_c": "15489609345890393434 76",
"sharing_status": "private_record",
"vaccinations": "...",
"health_profile": "..."
}
Le paramètre ins_c
désigne l’Identifiant National de Santé Calculé.
Voir la documentation des vaccinations et du profil santé pour en savoir plus sur leur représentation au format JSON.
Le champ sharing_status apparaît dans les données par le service GET. Il peut prendre trois valeurs distinctes qui décrivent les trois états de partage du carnet. En fonction de chaque état de partage, différentes opérations sont possible au niveau de l’adresse email.
private_record
Carnet privé, non partagé avec le patient, accessible uniquement par le professionnel de santé et éventuellement son équipe de soins.
sent_to_patient
Carnet envoyé par email au patient, mais ce dernier ne l’a pas encore récupéré.
linked_to_patient_account
Carnet lié à un compte patient (soit il a été récupéré après envoi par le professionnel, soit il a été créé à l’origine par le patient).
Aucune opération possible au niveau de l’adresse email, qui est verrouillée puisque le patient a le contrôle de son carnet.
POST /records.json
crée un nouveau carnet de vaccinationPar défaut, un carnet est privé, ce qui signifie qu’il n’est pas accessible par le patient ou par un autre professionnel de santé. Il comporte des données d’identification saisies à la création par le professionnel de santé ou pré-remplies par le logiciel métier.
Un carnet devient partagé dés lors que son adresse e-mail associée est renseignée. Le patient pourra ensuite y accéder grâce aux codes d’accès qu’il recevra par e-mail, et re-partager son carnet avec d’autres professionnels de santé.
{
"birth_date": "2000-01-01",
"gender": "female",
"first_name": "Sophie",
"last_name": "Amundsen",
"birth_name": "Dupont",
"ins_c": "15489609345890393434 76",
"place_of_birth": "Göteborg",
"department_of_birth": "64",
"zip_code": "42437",
"email": "sophie@amundsen.name",
"mobile_phone": "0666666666",
"home_phone": "0512345678"
}
Les informations sont les suivantes :
Date de naissance | birth_date |
Obligatoire |
Genre | gender |
Obligatoire |
Nom | last_name |
Obligatoire |
Prénom | first_name |
Obligatoire |
Nom de naissance | birth_name |
Facultatif |
Code INS-C de la personne Ce code permet un dédoublonnage des carnets, il est donc recommandé de le remplir si possible |
ins_c |
Facultatif. Utilisé pour le dédoublonnage. |
Commune de naissance, ou pays si né à l'étranger | place_of_birth |
Facultatif. Utilisé pour le dédoublonnage. |
Département de naissance, ou 99 si né à l'étranger | department_of_birth |
Facultatif. Utilisé pour le dédoublonnage. |
Code postal d'habitation | zip_code |
Facultatif. Utilisé pour le dédoublonnage. |
E-mail du patient | email |
Facultatif. Si non renseigné, le carnet sera privé, sinon il sera partagé avec le patient. |
Téléphone mobile | mobile_phone |
Facultatif. Important car permet le renvoi du code de partage au patient par SMS. Pour les numéros internationaux, le format est +33612345678. |
Téléphone du domicile | home_phone |
Facultatif. |
Le serveur renvoie 201 Created
et la représentation JSON du carnet créé (voir données renvoyées par GET /records/:uuid.json
).
Le logiciel métier doit récupérer l’UUID alloué et l’associer au dossier patient local stocké dans le logiciel métier. C’est ce code qui lui permettra par la suite d’interagir avec le carnet.
En cas d’information manquante ou malformée, le serveur renvoie 400 Bad Request
.
Si le carnet créé est détecté comme potentiel doublon d’un carnet déjà existant, le serveur renvoie 409 Conflict
. Cette détection est effectuée uniquement sur les carnets publics, sur les éléments suivants : date de naissance, sexe, nom, prénom et département de naissance.
Il est possible de forcer la création du carnet si le professionnel de santé s’assure auprès du patient qu’il ne posséde pas déjà un carnet. Cela est fait en ajoutant le header MVX-Bypass-Duplicate-Check=1
à la requête.
Pour partager un carnet privé, il suffit d’assigner l’adresse e-mail du patient au champ email
du carnet, grâce au service de “Modification des données d’un carnet”.
PUT /records/:uuid.json
modifie les données de base du carnet200 OK
{
"birth_date": "2000-01-02"
}
On peut se contenter d’envoyer les paramètres qui ont changé. Ici, on modifie la date de naissance.
DELETE /records/:uuid.json
supprime le partage entre le professionnel de santé et le carnet de vaccination, et le carnet de vaccination si applicable.Si le carnet appartient à un compte patient, ou s’il est partagé avec d’autres professionnels de santé, il ne sera pas supprimé. Seul le lien de partage entre le professionnel de santé et le carnet de vaccination est supprimé dans ce cas.
Renvoie 204 No Content
si l’opération s’est bien passée.
Renvoie 403 Forbidden
si le professionnel de santé n’a pas accès au carnet.