Skip to content
This repository has been archived by the owner on Nov 5, 2020. It is now read-only.

Latest commit

 

History

History
332 lines (274 loc) · 8.23 KB

DOCUMENTATION_REST.md

File metadata and controls

332 lines (274 loc) · 8.23 KB

Services REST offerts

1 - Consultation d'un dossier de patient

 Description : Envoie au client le dossier complet du patient, en format JSON.
 Méthode : GET
 URL : /dossiers/:id (où id est l'identifiant du patient composé de 24 caractères hexadécimaux)

200 : Succès.

	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		date_naissance : ISODate,
		groupe_sanguin : string,
		poids_kg : number,
		taille_cm : number,
		don_organes : boolean,
		visites : [
			{
				date : ISODate,
				nom_professionnel : string,
				specialite : string
			}
		]
	}

400 : Le paramètre id doit être composé de 24 caractères hexadicémaux.

404 : Dossier de patient inexistant.


### 2 - Ajout d'un dossier de patient

 Description : Reçoit du client un dossier complet de patient, en format JSON, et crée le dossier.
 Méthode : POST
 URL : /dossiers

 Le format à fournir pour l'ajout d'un dossier patient est le suivant :

	{
		sexe : number,
		nom : string,
		prenom : string,
		date_naissance : ISODate,
		groupe_sanguin : string,
		poids_kg : number,
		taille_cm : number,
		don_organes : boolean,
		visites : empty array
	}

Précisions

  • Le champ "visites" doit être un tableau vide, un nouveau patient n'a pas encore de visite.
  • Le format attendu pour le sexe est le format ISO 5128, nombre entier entre 0 et 2 inclusivement.
  • Le format attendu pour la date est le format ISO 8601 (YYYY-MM-DD).

 **201** : Le dossier de patient a été ajouté.
	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		date_naissance : ISODate,
		groupe_sanguin : string,
		poids_kg : number,
		taille_cm : number,
		don_organes : boolean,
		visites : empty array
	}

400 : Les données entrées ne respectent pas le format attendu.


### 3 - Modification d'un dossier de patient

 Description : Reçoit du client l'ensemble des modifications à apporter au dossier, en format JSON,
 et les applique au dossier.
 Méthode : PUT
 URL : /dossiers/:id (où id est l'identifiant du patient composé de 24 caractères hexadécimaux)

 Le format d'un dossier patient est le suivant :

	{
		sexe : number,
		nom : string,
		prenom : string,
		date_naissance : ISODate,
		groupe_sanguin : string,
		poids_kg : number,
		taille_cm : number,
		don_organes : boolean,
		visites : [
			{
				date : ISODate,
				nom_professionnel : string,
				specialite : string
			}
		]
	}

Précisions

  • Lors d'une modification, le champ "visites" est écrasé par les nouvelles valeurs qui seront fournies. Visites peut être un tableau vide.
  • Le format attendu pour le sexe est le format ISO 5128, nombre entier entre 0 et 2 inclusivement.
  • Le format attendu pour la date est le format ISO 8601 (YYYY-MM-DD).

N.B. Le client envoi seulement le(s) champ(s) qu'il désire modifier.


 **200** : Succès.
	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		date_naissance : ISODate,
		groupe_sanguin : string,
		poids_kg : number,
		taille_cm : number,
		don_organes : boolean,
		visites : [
			{
				date : ISODate,
				nom_professionnel : string,
				specialite : string
			}
		]
	}

400 : Les données entrées ne respectent pas le format attendu.

404 : Dossier de patient inexistant.


### 4 - Suppression d'un dossier de patient

 Description : Supprime le dossier du patient.
 Méthode : DELETE
 URL : /dossiers/:id (où id est l'identifiant du patient composé de 24 caractères hexadécimaux)

200 : Succès.

	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		date_naissance : ISODate,
		groupe_sanguin : string,
		poids_kg : number,
		taille_cm : number,
		don_organes : boolean,
		visites : [
			{
				date : ISODate,
				nom_professionnel : string,
				specialite : string
			}
		]
	}

403 : Il est impossible de supprimer un dossier si le patient a visité un professionnel dans les 5 dernières années.

404 : Dossier de patient inexistant.


### 5 - Consultation d'un professionnel

 Description : Envoie au client les données d'un professionnel, en format JSON.
 Méthode : GET
 URL : /pros/:id (où id est l'identifiant du professionnel composé de 24 caractères hexadécimaux)

200 : Succès.

	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		specialite : string,
		rencontres_2014 : [
			{
				nom : string,
				prenom : string,
				id : string
			}
		],
		nombre_patients : number,
		total_visites : number
	}

400 : Le paramètre id doit être composé de 24 caractères hexadicémaux.

404 : Professionnel inexistant.


### 6 - Ajout d'un professionnel  Description : Reçoit du client les données complètes d'un professionnel, en format JSON, et le crée.
 Méthode : **POST**
 URL : **_/pros_**

 Le format à fournir pour l'ajout d'un professionnel est le suivant :

	{
		sexe : number,
		nom : string,
		prenom : string,
		specialite : string,
		rencontres_2014 : empty array,
		nombre_patients : number,
		total_visites : number
	}

Précisions

  • Les champs "nombre_patients" et "total_visites" peuvent seulement avoir la valeur 0.
  • Le champ "rencontres_2014" doit être un tableau vide, un nouveau professionnel n'a pas encore vu de patient.
  • Le format attendu pour le sexe est le format ISO 5128, nombre entier entre 0 et 2 inclusivement.
  • Le format attendu pour la date est le format ISO 8601 (YYYY-MM-DD).

 **201** : Le professionnel a été ajouté.
	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		specialite : string,
		rencontres_2014 : [
			{
				nom : string,
				prenom : string,
				id : string
			}
		],
		nombre_patients : number,
		total_visites : number
	}

400 : Les données entrées ne respectent pas le format attendu.


### 7 - Modification d'un professionnel

 Description : Reçoit du client l'ensemble des modifications à apporter au professionnel, en format
 JSON, et les applique au professionnel.
 Méthode : PUT
 URL : /pros/:id (où id est l'identifiant du professionnel composé de 24 caractères hexadécimaux)

 Le format des données pour un professionnel est le suivant :

	{
		sexe : number,
		nom : string,
		prenom : string,
		specialite : string,
		rencontres_2014 : [
			{
				nom : string,
				prenom : string,
				id : string
			}
		],
		nombre_patients : number,
		total_visites : number
	}

Précisions

  • Lors d'une modification, le champ "rencontres_2014" est écrasé par les nouvelles valeurs qui seront fournies. Le champ peut être un tableau vide.
  • Le format attendu pour le sexe est le format ISO 5128, nombre entier entre 0 et 2 inclusivement.
  • Le format attendu pour la date est le format ISO 8601 (YYYY-MM-DD).

N.B. Le client envoi seulement le(s) champ(s) qu'il désire modifier.


 **200** : Succès.
	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		specialite : string,
		rencontres_2014 : [
			{
				nom : string,
				prenom : string,
				id : string
			}
		],
		nombre_patients : number,
		total_visites : number
	}

400 : Les données entrées ne respectent pas le format attendu.

404 : Professionnel inexistant.


### 8 - Suppression d'un professionnel  Description : Supprime le professionnel.
 Méthode : **DELETE**
 URL : **_/pros/:id_** (où id est l'identifiant du professionnel composé de 24 caractères hexadécimaux)

200 : Succès.

	{
		_id : ObjectId,
		sexe : number,
		nom : string,
		prenom : string,
		specialite : string,
		rencontres_2014 : [
			{
				nom : string,
				prenom : string,
				id : string
			}
		],
		nombre_patients : number,
		total_visites : number
	}

403 : Il est impossible de supprimer un professionnel s'il a eu des visites en 2014.

404 : Professionnel inexistant.