Carnets de vaccination

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.

Lecture des données de tous les carnets partagés avec le professionnel

  • GET /records.json renvoie les données de tous les carnets partagés avec le professionnel

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

Lecture des données de base d’un carnet

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

Prise en compte du champ “sharing_status”

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.

Valeur 1 : private_record

Carnet privé, non partagé avec le patient, accessible uniquement par le professionnel de santé et éventuellement son équipe de soins.

Opérations possibles

  • Envoi du carnet au patient par saisie de son adresse e-mail

Valeur 2 : sent_to_patient

Carnet envoyé par email au patient, mais ce dernier ne l’a pas encore récupéré.

Opérations possibles

  • Renvoyer le carnet à une adresse email différente
  • Annuler l'envoi du carnet

Valeur 3 : 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.

Création d’un carnet

  • POST /records.json crée un nouveau carnet de vaccination

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

Si le carnet est partagé, MesVaccins.net notifie le patient de la création de son carnet par e-mail.

Partage d'un carnet privé

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

Modification des données d’un carnet

  • PUT /records/:uuid.json modifie les données de base du carnet
  • et renvoie 200 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.

Suppression d’un carnet

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