openapi: 3.0.3 info: title: MS-HC description: '' version: 1.0.0 servers: - url: 'https://vitacare.ms-hotel.net' paths: /api/admissions/all: post: summary: 'Lister les admissions' operationId: listerLesAdmissions description: 'Permet de récupérer la liste des admissions' parameters: - in: query name: patient_id description: 'ID du patient.' example: 1 required: false schema: type: integer description: 'ID du patient.' example: 1 nullable: false - in: query name: doctor_id description: 'ID du médecin.' example: 2 required: false schema: type: integer description: 'ID du médecin.' example: 2 nullable: false - in: query name: medical_page_id description: 'ID de la consultation.' example: 5 required: false schema: type: integer description: 'ID de la consultation.' example: 5 nullable: false - in: query name: status description: 'Statut admission (active, discharged, transferred).' example: active required: false schema: type: string description: 'Statut admission (active, discharged, transferred).' example: active nullable: false - in: query name: room_number description: 'Numéro de chambre.' example: A12 required: false schema: type: string description: 'Numéro de chambre.' example: A12 nullable: false - in: query name: start_date description: 'date Date début (YYYY-MM-DD).' example: '2026-01-01' required: false schema: type: string description: 'date Date début (YYYY-MM-DD).' example: '2026-01-01' nullable: false - in: query name: end_date description: 'date Date fin (YYYY-MM-DD).' example: '2026-12-31' required: false schema: type: string description: 'date Date fin (YYYY-MM-DD).' example: '2026-12-31' nullable: false - in: query name: filter_value description: 'Recherche globale.' example: ab required: false schema: type: string description: 'Recherche globale.' example: ab nullable: false - in: query name: trashed description: 'Inclure supprimés.' example: false required: false schema: type: boolean description: 'Inclure supprimés.' example: false nullable: false responses: { } tags: - Admissions requestBody: required: false content: application/json: schema: type: object properties: patient_id: type: integer description: '' example: 19 nullable: true doctor_id: type: integer description: '' example: 14 nullable: true medical_page_id: type: integer description: '' example: 12 nullable: true status: type: string description: '' example: transferred nullable: true enum: - active - discharged - transferred room_number: type: string description: '' example: aut nullable: true start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true end_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true filter_value: type: string description: '' example: architecto nullable: true trashed: type: boolean description: '' example: false nullable: true page_items: type: integer description: '' example: 6 nullable: true nbre_items: type: integer description: 'Le champ value doit être au moins 1. Le champ value ne peut être supérieur à 1000.' example: 25 nullable: true /api/admissions: post: summary: 'Créer une admission' operationId: crerUneAdmission description: "Permet d'enregistrer une nouvelle hospitalisation." parameters: [] responses: { } tags: - Admissions requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'ID du patient.' example: 1 nullable: false doctor_id: type: integer description: 'ID du médecin.' example: 2 nullable: false medical_page_id: type: integer description: 'ID de la consultation.' example: 5 nullable: false admitted_at: type: datetime description: "Date d'entrée." example: '2026-05-05 10:00:00' nullable: false discharged_at: type: datetime description: 'Date de sortie.' example: '2026-05-10 12:00:00' nullable: true room_number: type: string description: 'Numéro de chambre.' example: A12 nullable: false status: type: string description: 'Statut (active, discharged, transferred).' example: active nullable: false notes: type: string description: 'Notes complémentaires.' example: deserunt nullable: false required: - patient_id - doctor_id - medical_page_id - admitted_at '/api/admissions/{admission_id}': get: summary: 'Afficher une admission' operationId: afficherUneAdmission description: "Retourne les détails d'une admission." parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/admissions/1 could not be found.' properties: message: type: string example: 'The route api/admissions/1 could not be found.' tags: - Admissions put: summary: 'Modifier une admission' operationId: modifierUneAdmission description: 'Tous les champs sont modifiables' parameters: [] responses: { } tags: - Admissions requestBody: required: false content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 10 nullable: true room_number: type: string description: 'Le champ value ne peut contenir plus de 50 caractères.' example: hhhfbffkuvvqt nullable: true admitted_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true discharged_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true status: type: string description: '' example: active nullable: true enum: - active - discharged - transferred notes: type: string description: '' example: quam nullable: true parameters: - in: path name: admission_id description: 'The ID of the admission.' example: 1 required: true schema: type: integer - in: path name: admission description: "ID de l'admission." example: 1 required: true schema: type: integer /api/admissions/trash: post: summary: 'Mettre en corbeille' operationId: mettreEnCorbeille description: 'Body : ids[]' parameters: [] responses: { } tags: - Admissions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the admissions table.' example: - 5 items: type: integer /api/admissions/restore: post: summary: Restaurer operationId: restaurer description: 'Body : ids[]' parameters: [] responses: { } tags: - Admissions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the admissions table.' example: - 8 items: type: integer /api/login: post: summary: 'Fonction permettant à un utilisateur déjà inscrit de se connecter' operationId: fonctionPermettantUnUtilisateurDjInscritDeSeConnecter description: '' parameters: [] responses: { } tags: - Authentification requestBody: required: true content: application/json: schema: type: object properties: username: type: string description: '' example: consequuntur nullable: false password: type: string description: '' example: 'Hq}?W0)-%\Ge3eQ"`[' nullable: false device_key: type: string description: '' example: rerum nullable: true required: - username - password security: [] /api/logout: post: summary: 'Fonction permettant à un utilisateur connecté de se déconnecter' operationId: fonctionPermettantUnUtilisateurConnectDeSeDconnecter description: '' parameters: [] responses: { } tags: - Authentification /api/salaries-advances/all: post: summary: 'Afficher la liste filtrée des avances sur salaire' operationId: afficherLaListeFiltreDesAvancesSurSalaire description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: '' example: 14 nullable: true nbre_items: type: integer description: '' example: 14 nullable: true filter_value: type: string description: '' example: magnam nullable: true trashed: type: boolean description: '' example: true nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 11 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true /api/salaries-advances: post: summary: 'Show the form for creating a new resource.' operationId: showTheFormForCreatingANewResource description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: true content: application/json: schema: type: object properties: salary_advances: type: array description: '' example: - [] items: type: object properties: user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: false amount: type: string description: '' example: corrupti nullable: false reason: type: string description: '' example: dignissimos nullable: false required: - user_approve_id - amount - reason required: - salary_advances '/api/salaries-advances/{salary_advance_id}': get: summary: 'Afficher une retenue sur salaire spécifique' operationId: afficherUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/salaries-advances/vel could not be found.' properties: message: type: string example: 'The route api/salaries-advances/vel could not be found.' tags: - 'Avance sur salaire / Salary advance' put: summary: 'Mettre à jour une retenue sur salaire spécifique' operationId: mettreJourUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: false content: application/json: schema: type: object properties: user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: true amount: type: string description: '' example: null nullable: true status: type: string description: '' example: in_progress nullable: true enum: - pending_approval - in_progress - approved - rejected reason: type: string description: '' example: ut nullable: true comments: type: string description: '' example: quisquam nullable: true parameters: - in: path name: salary_advance_id description: 'The ID of the salary advance.' example: vel required: true schema: type: string /api/salaries-advances/trash: post: summary: 'Archiver (soft delete) les avances sur salaire spécifiées.' operationId: archiversoftDeleteLesAvancesSurSalaireSpcifies description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 19 items: type: integer required: - ids /api/salaries-advances/restore: post: summary: 'Restaurer les avances sur salaire archivées.' operationId: restaurerLesAvancesSurSalaireArchives description: '' parameters: [] responses: { } tags: - 'Avance sur salaire / Salary advance' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 8 items: type: integer required: - ids /api/warnings/all: post: summary: 'Lister les avertissements' operationId: listerLesAvertissements description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 37 nullable: true nbre_items: type: integer description: '' example: 3 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: olgmgajcyesocigkqhzlrmb nullable: true /api/warnings: post: summary: 'Ajouter un ou plusieurs avertissements' operationId: ajouterUnOuPlusieursAvertissements description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warnings: type: array description: '' example: - [] items: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: false reason: type: string description: '' example: delectus nullable: false date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false required: - user_id - reason - date required: - warnings '/api/warnings/{warning_id}': get: summary: "Afficher les détails d'un avertissement" operationId: afficherLesDtailsDunAvertissement description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/warnings/16 could not be found.' properties: message: type: string example: 'The route api/warnings/16 could not be found.' tags: - Avertissements put: summary: "Modifier les détails d'un avertissement" operationId: modifierLesDtailsDunAvertissement description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true page_items: type: integer description: '' example: 19 nullable: true nbre_items: type: integer description: '' example: 3 nullable: true filter_value: type: string description: '' example: quia nullable: true parameters: - in: path name: warning_id description: 'The ID of the warning.' example: 16 required: true schema: type: integer /api/warnings/trash: post: summary: 'Mettre un ou plusieurs avertissements en corbeille (soft delete)' operationId: mettreUnOuPlusieursAvertissementsEnCorbeillesoftDelete description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warning_ids: type: array description: 'The id of an existing record in the warnings table.' example: - 20 items: type: integer required: - warning_ids /api/warnings/restore: post: summary: 'Restaurer un ou plusieurs avertissements de la corbeille' operationId: restaurerUnOuPlusieursAvertissementsDeLaCorbeille description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warning_ids: type: array description: 'The id of an existing record in the warnings table.' example: - 13 items: type: integer required: - warning_ids /api/warnings/destroy: post: summary: 'Supprimer définitivement un ou plusieurs avertissements' operationId: supprimerDfinitivementUnOuPlusieursAvertissements description: '' parameters: [] responses: { } tags: - Avertissements requestBody: required: true content: application/json: schema: type: object properties: warning_ids: type: array description: 'The id of an existing record in the warnings table.' example: - 7 items: type: integer required: - warning_ids /api/purchase-orders/all: post: summary: "Afficher une liste filtrée des bons d'achat" operationId: afficherUneListeFiltreDesBonsDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 50 nullable: true nbre_items: type: integer description: '' example: 17 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: ltlmpohzovcppham nullable: true status: type: string description: '' example: delivered nullable: true enum: - requesting_price - pending_approval - approved - purchase_order - paid - delivered - cancelled priority: type: string description: '' example: urgent nullable: true enum: - low - medium - high - urgent supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 17 nullable: true medication_ids: type: array description: 'The id of an existing record in the medications table.' example: - 7 items: type: integer trashed: type: boolean description: '' example: true nullable: true /api/purchase-orders: post: summary: "Enregistrer un bon d'achat" operationId: enregistrerUnBonDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: true content: application/json: schema: type: object properties: supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: false responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: false description: type: string description: '' example: 'Id perspiciatis animi sint ipsam omnis vel.' nullable: true status: type: string description: '' example: pending_approval nullable: true enum: - requesting_price - pending_approval - approved - purchase_order - paid - delivered - cancelled priority: type: string description: '' example: medium nullable: false enum: - low - medium - high - urgent quotation_file: type: string description: '' example: voluptates nullable: true medications: type: array description: '' example: - [] items: type: object properties: id: type: integer description: 'The id of an existing record in the medications table.' example: 11 nullable: false unit_price: type: number description: 'Le champ value doit être au moins 0.' example: 43 nullable: false quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 48 nullable: false required: - id - unit_price - quantity required: - supplier_id - responsible_id - priority - medications '/api/purchase-orders/{purchase_voucher}': get: summary: "Afficher un bon d'achat spécifique" operationId: afficherUnBonDachatSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/purchase-orders/5 could not be found.' properties: message: type: string example: 'The route api/purchase-orders/5 could not be found.' tags: - "Bons d'achats" put: summary: 'Update the specified resource in storage.' operationId: updateTheSpecifiedResourceInStorage description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: false content: application/json: schema: type: object properties: supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: true description: type: string description: '' example: 'Perspiciatis ipsam et eos iure nihil ex veniam.' nullable: true status: type: string description: '' example: delivered nullable: true enum: - requesting_price - pending_approval - approved - purchase_order - paid - delivered - cancelled priority: type: string description: '' example: urgent nullable: true enum: - low - medium - high - urgent quotation_file: type: string description: '' example: molestiae nullable: true medications: type: array description: '' example: null items: type: object nullable: true properties: id: type: integer description: 'The id of an existing record in the medications table.' example: 17 nullable: false unit_price: type: number description: 'Le champ value doit être au moins 0.' example: 36 nullable: false quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 2 nullable: false required: - id - unit_price - quantity parameters: - in: path name: purchase_voucher description: '' example: 5 required: true schema: type: integer /api/purchase-orders/trash: post: summary: "Fonction pour le multiple archivage des bonds d'achat" operationId: fonctionPourLeMultipleArchivageDesBondsDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the purchase_orders table.' example: - 7 items: type: integer /api/purchase-orders/restore: post: summary: "Fonction de restauration multiples des bonds d'achat" operationId: fonctionDeRestaurationMultiplesDesBondsDachat description: '' parameters: [] responses: { } tags: - "Bons d'achats" requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the purchase_orders table.' example: - 14 items: type: integer /api/invoices/all: post: summary: 'Lister les factures' operationId: listerLesFactures description: '' parameters: [] responses: { } tags: - 'Caisse / Facturation' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 38 nullable: true nbre_items: type: integer description: '' example: 12 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: qixjgzxsnn nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: true cashier_id: type: integer description: 'The id of an existing record in the users table.' example: 5 nullable: true status: type: string description: '' example: saepe nullable: true payment_mode: type: string description: '' example: esse nullable: true date_from: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true date_to: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true trashed: type: boolean description: '' example: false nullable: true /api/invoices: post: summary: 'Créer une facture avec ses lignes' operationId: crerUneFactureAvecSesLignes description: '' parameters: [] responses: { } tags: - 'Caisse / Facturation' requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: false medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 2 nullable: true discount: type: number description: 'Le champ value doit être au moins 0.' example: 3 nullable: true payment_mode: type: string description: '' example: eos nullable: true notes: type: string description: '' example: tempora nullable: true mm_operator: type: string description: '' example: est nullable: true mm_payer_number: type: string description: '' example: laboriosam nullable: true mm_transaction_ref: type: string description: '' example: in nullable: true mm_payment_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true insurance_name: type: string description: '' example: accusamus nullable: true insurance_ref: type: string description: '' example: illum nullable: true insurance_amount: type: number description: 'Le champ value doit être au moins 0.' example: 0 nullable: true patient_amount: type: number description: 'Le champ value doit être au moins 0.' example: 80 nullable: true items: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: item_type: type: string description: '' example: quis nullable: false label: type: string description: '' example: qui nullable: false quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 78 nullable: false unit_price: type: number description: 'Le champ value doit être au moins 0.' example: 7 nullable: false lab_request_id: type: integer description: 'The id of an existing record in the lab_requests table.' example: 20 nullable: true nursing_act_id: type: integer description: 'The id of an existing record in the nursing_acts table.' example: 11 nullable: true medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 7 nullable: true prescription_id: type: integer description: 'The id of an existing record in the prescriptions table.' example: 15 nullable: true required: - item_type - label - quantity - unit_price required: - patient_id - items '/api/invoices/{invoice_id}': get: summary: 'Afficher une facture' operationId: afficherUneFacture description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/invoices/16 could not be found.' properties: message: type: string example: 'The route api/invoices/16 could not be found.' tags: - 'Caisse / Facturation' put: summary: 'Mettre à jour une facture (paiement complémentaire)' operationId: mettreJourUneFacturepaiementComplmentaire description: '' parameters: [] responses: { } tags: - 'Caisse / Facturation' requestBody: required: false content: application/json: schema: type: object properties: amount_paid: type: number description: 'Le champ value doit être au moins 0.' example: 34 nullable: true payment_mode: type: string description: '' example: distinctio nullable: true discount: type: number description: 'Le champ value doit être au moins 0.' example: 70 nullable: true notes: type: string description: '' example: reiciendis nullable: true mm_operator: type: string description: '' example: aliquam nullable: true mm_payer_number: type: string description: '' example: non nullable: true mm_transaction_ref: type: string description: '' example: autem nullable: true mm_payment_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true insurance_name: type: string description: '' example: ut nullable: true insurance_ref: type: string description: '' example: sed nullable: true insurance_amount: type: number description: 'Le champ value doit être au moins 0.' example: 72 nullable: true patient_amount: type: number description: 'Le champ value doit être au moins 0.' example: 18 nullable: true parameters: - in: path name: invoice_id description: 'The ID of the invoice.' example: 16 required: true schema: type: integer '/api/invoices/{invoice_id}/cancel': post: summary: 'Annuler une facture (avec traçabilité)' operationId: annulerUneFactureavecTraabilit description: '' parameters: [] responses: { } tags: - 'Caisse / Facturation' parameters: - in: path name: invoice_id description: 'The ID of the invoice.' example: 15 required: true schema: type: integer /api/invoices/trash: post: summary: 'Archiver des factures' operationId: archiverDesFactures description: '' parameters: [] responses: { } tags: - 'Caisse / Facturation' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the invoices table.' example: - 1 items: type: integer /api/invoices/restore: post: summary: 'Restaurer des factures' operationId: restaurerDesFactures description: '' parameters: [] responses: { } tags: - 'Caisse / Facturation' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the invoices table.' example: - 3 items: type: integer /api/medical-books/all: post: summary: 'Lister les carnets médicaux' operationId: listerLesCarnetsMdicaux description: '' parameters: [] responses: { } tags: - 'Carnet Médical' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 64 nullable: true nbre_items: type: integer description: '' example: 8 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: zciinoipiwlsxvyqphipyp nullable: true responsible_doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true health_center_id: type: integer description: '' example: 13 nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 5 nullable: true trashed: type: boolean description: '' example: false nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true ckd_stage: type: string description: '' example: sint nullable: true dialysis_type: type: string description: '' example: null nullable: true enum: - null 0: type: string description: '' example: null nullable: false dialysis_center: type: string description: '' example: ut nullable: true current_doctor_name: type: string description: '' example: sed nullable: true ckd_diagnosis_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true /api/medical-books: post: summary: 'Ajouter un carnet médical' operationId: ajouterUnCarnetMdical description: '' parameters: [] responses: { } tags: - 'Carnet Médical' requestBody: required: true content: multipart/form-data: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 11 nullable: false responsible_doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: false health_center_id: type: integer description: 'The id of an existing record in the health_centers table.' example: 17 nullable: true blood_type: type: string description: '' example: B- nullable: true enum: - A+ - A- - B+ - B- - AB+ - AB- - O+ - O- known_allergies: type: string description: '' example: inventore nullable: true chronic_diseases: type: string description: '' example: aspernatur nullable: true observation: type: string description: '' example: eos nullable: true status: type: string description: '' example: rejected nullable: true enum: - pending - validated - rejected - done - undone current_doctor_name: type: string description: '' example: vitae nullable: true current_doctor_phone: type: string description: '' example: consequatur nullable: true current_doctor_address: type: string description: '' example: aspernatur nullable: true medical_history: type: string description: '' example: minima nullable: true current_treatments: type: string description: '' example: ut nullable: true known_kidney_diseases: type: string description: '' example: quas nullable: true autoimmune_or_infectious_diseases: type: string description: '' example: dolor nullable: true allergies: type: string description: '' example: id nullable: true ckd_stage: type: string description: '' example: aperiam nullable: true ckd_diagnosis_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true ckd_etiology: type: string description: '' example: ut nullable: true recent_biological_tests: type: string description: '' example: qui nullable: true renal_imaging_file: type: string format: binary description: 'Must be a file. Le champ value ne peut être supérieur à 2048 kilobytes.' nullable: true dry_weight: type: number description: '' example: 68617.528 nullable: true dialysis_indicated: type: boolean description: '' example: false nullable: true dialysis_type: type: string description: '' example: hemodialysis nullable: true enum: - hemodialysis - peritoneal dialysis_center: type: string description: '' example: exercitationem nullable: true dialysis_frequency: type: string description: '' example: voluptates nullable: true dialysis_complications: type: string description: '' example: veritatis nullable: true required: - patient_id - responsible_doctor_id '/api/medical-books/{medical_book}': get: summary: "Afficher les infos d'un carnet médical" operationId: afficherLesInfosDunCarnetMdical description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/medical-books/1 could not be found.' properties: message: type: string example: 'The route api/medical-books/1 could not be found.' tags: - 'Carnet Médical' put: summary: 'Modifier un carnet médical' operationId: modifierUnCarnetMdical description: '' parameters: [] responses: { } tags: - 'Carnet Médical' requestBody: required: false content: multipart/form-data: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true responsible_doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true health_center_id: type: integer description: 'The id of an existing record in the health_centers table.' example: 6 nullable: true blood_type: type: string description: '' example: A- nullable: true enum: - A+ - A- - B+ - B- - AB+ - AB- - O+ - O- known_allergies: type: string description: '' example: enim nullable: true chronic_diseases: type: string description: '' example: voluptates nullable: true observation: type: string description: '' example: magnam nullable: true status: type: string description: '' example: undone nullable: true enum: - pending - validated - rejected - done - undone current_doctor_name: type: string description: '' example: praesentium nullable: true current_doctor_phone: type: string description: '' example: eveniet nullable: true current_doctor_address: type: string description: '' example: magnam nullable: true medical_history: type: string description: '' example: magni nullable: true current_treatments: type: string description: '' example: nulla nullable: true known_kidney_diseases: type: string description: '' example: voluptatibus nullable: true autoimmune_or_infectious_diseases: type: string description: '' example: quia nullable: true allergies: type: string description: '' example: eaque nullable: true ckd_stage: type: string description: '' example: quae nullable: true ckd_diagnosis_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true ckd_etiology: type: string description: '' example: qui nullable: true recent_biological_tests: type: string description: '' example: repellat nullable: true renal_imaging_file: type: string format: binary description: 'Must be a file. Le champ value ne peut être supérieur à 2048 kilobytes.' nullable: true dry_weight: type: number description: '' example: 3.365152 nullable: true dialysis_indicated: type: boolean description: '' example: false nullable: true dialysis_type: type: string description: '' example: hemodialysis nullable: true enum: - hemodialysis - peritoneal dialysis_center: type: string description: '' example: praesentium nullable: true dialysis_frequency: type: string description: '' example: voluptatem nullable: true dialysis_complications: type: string description: '' example: quia nullable: true parameters: - in: path name: medical_book description: '' example: 1 required: true schema: type: integer /api/medical-books/trash: post: summary: 'Archiver plusieurs medical_books' operationId: archiverPlusieursMedicalBooks description: '' parameters: [] responses: { } tags: - 'Carnet Médical' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medical_books table.' example: - 17 items: type: integer required: - ids /api/medical-books/restore: post: summary: 'Restaurer plusieurs medical_books' operationId: restaurerPlusieursMedicalBooks description: '' parameters: [] responses: { } tags: - 'Carnet Médical' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medical_books table.' example: - 6 items: type: integer required: - ids /api/nursing-act-catalogs/all: post: summary: '' operationId: postApiNursingActCatalogsAll description: '' parameters: [] responses: { } tags: - 'Catalogue Actes Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 9 nullable: true nbre_items: type: integer description: '' example: 17 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: xwlogmncwrrscub nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true type: type: string description: '' example: nesciunt nullable: true is_active: type: boolean description: '' example: true nullable: true trashed: type: boolean description: '' example: true nullable: true /api/nursing-act-catalogs: post: summary: '' operationId: postApiNursingActCatalogs description: '' parameters: [] responses: { } tags: - 'Catalogue Actes Infirmiers' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: tqccwtcbiqetwmmobhdpbej nullable: false type: type: string description: '' example: similique nullable: false description: type: string description: '' example: 'Explicabo beatae et fugiat adipisci molestiae neque.' nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 16 nullable: false is_active: type: boolean description: '' example: true nullable: true required: - name - type - price '/api/nursing-act-catalogs/{nursing_act_catalog}': get: summary: '' operationId: getApiNursingActCatalogsNursing_act_catalog description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/nursing-act-catalogs/1 could not be found.' properties: message: type: string example: 'The route api/nursing-act-catalogs/1 could not be found.' tags: - 'Catalogue Actes Infirmiers' put: summary: '' operationId: putApiNursingActCatalogsNursing_act_catalog description: '' parameters: [] responses: { } tags: - 'Catalogue Actes Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ddkkcdrolpbaolzu nullable: true type: type: string description: '' example: adipisci nullable: true description: type: string description: '' example: 'Et maxime repudiandae nihil modi.' nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 47 nullable: true is_active: type: boolean description: '' example: true nullable: true parameters: - in: path name: nursing_act_catalog description: '' example: 1 required: true schema: type: integer /api/nursing-act-catalogs/trash: post: summary: '' operationId: postApiNursingActCatalogsTrash description: '' parameters: [] responses: { } tags: - 'Catalogue Actes Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the nursing_act_catalogs table.' example: - 5 items: type: integer /api/nursing-act-catalogs/restore: post: summary: '' operationId: postApiNursingActCatalogsRestore description: '' parameters: [] responses: { } tags: - 'Catalogue Actes Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the nursing_act_catalogs table.' example: - 1 items: type: integer /api/lab-exam-catalogs/all: post: summary: '' operationId: postApiLabExamCatalogsAll description: '' parameters: [] responses: { } tags: - 'Catalogue Examens Laboratoire' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 84 nullable: true nbre_items: type: integer description: '' example: 4 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: tervgnahieuntjhra nullable: true type: type: string description: '' example: ratione nullable: true start_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true is_active: type: boolean description: '' example: true nullable: true trashed: type: boolean description: '' example: false nullable: true /api/lab-exam-catalogs: post: summary: '' operationId: postApiLabExamCatalogs description: '' parameters: [] responses: { } tags: - 'Catalogue Examens Laboratoire' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: jugzxshnxcndeqwgyptsnwv nullable: false code: type: string description: 'Le champ value ne peut contenir plus de 50 caractères.' example: hg nullable: true type: type: string description: '' example: qui nullable: false description: type: string description: '' example: 'Velit atque natus itaque aliquid enim.' nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 70 nullable: false turnaround_hours: type: integer description: 'Le champ value doit être au moins 0.' example: 14 nullable: true preparation_instructions: type: string description: '' example: commodi nullable: true sample_required: type: string description: '' example: sed nullable: true is_active: type: boolean description: '' example: true nullable: true required: - name - type - price '/api/lab-exam-catalogs/{lab_exam_catalog}': get: summary: '' operationId: getApiLabExamCatalogsLab_exam_catalog description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/lab-exam-catalogs/1 could not be found.' properties: message: type: string example: 'The route api/lab-exam-catalogs/1 could not be found.' tags: - 'Catalogue Examens Laboratoire' put: summary: '' operationId: putApiLabExamCatalogsLab_exam_catalog description: '' parameters: [] responses: { } tags: - 'Catalogue Examens Laboratoire' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ieghobwnzxdxmvwhittpbo nullable: true type: type: string description: '' example: impedit nullable: true description: type: string description: '' example: 'Non ut qui possimus consequatur.' nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 5 nullable: true turnaround_hours: type: integer description: 'Le champ value doit être au moins 0.' example: 70 nullable: true preparation_instructions: type: string description: '' example: sed nullable: true sample_required: type: string description: '' example: hic nullable: true is_active: type: boolean description: '' example: true nullable: true parameters: - in: path name: lab_exam_catalog description: '' example: 1 required: true schema: type: integer /api/lab-exam-catalogs/trash: post: summary: '' operationId: postApiLabExamCatalogsTrash description: '' parameters: [] responses: { } tags: - 'Catalogue Examens Laboratoire' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the lab_exam_catalogs table.' example: - 2 items: type: integer /api/lab-exam-catalogs/restore: post: summary: '' operationId: postApiLabExamCatalogsRestore description: '' parameters: [] responses: { } tags: - 'Catalogue Examens Laboratoire' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the lab_exam_catalogs table.' example: - 17 items: type: integer /api/health-centers/all: post: summary: 'Lister les centres de santé' operationId: listerLesCentresDeSant description: '' parameters: [] responses: { } tags: - 'Centres de santé' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 33 nullable: true nbre_items: type: integer description: '' example: 9 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: eapqcogusehpelyby nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: true trashed: type: boolean description: '' example: false nullable: true /api/health-centers: post: summary: 'Ajouter un centre de santé' operationId: ajouterUnCentreDeSant description: '' parameters: [] responses: { } tags: - 'Centres de santé' requestBody: required: true content: application/json: schema: type: object properties: responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 15 nullable: false name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: uk nullable: false code: type: string description: 'Le champ value ne peut contenir plus de 10 caractères.' example: hfvy nullable: true description: type: string description: '' example: 'Quod voluptatibus autem maiores qui voluptatem repellendus enim.' nullable: true address: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: emsugjcqseonxvaw nullable: true city: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: xguedonduzyctkd nullable: true country: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: ovka nullable: true phone: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: rdy nullable: false logo: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: javtzm nullable: true email: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: kertzmann.vito@example.net nullable: true website: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: pqvohraehyohxmklrsupn nullable: true required: - responsible_id - name - phone '/api/health-centers/{health_center}': get: summary: "Afficher les informations d'un centre de santé" operationId: afficherLesInformationsDunCentreDeSant description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/health-centers/1 could not be found.' properties: message: type: string example: 'The route api/health-centers/1 could not be found.' tags: - 'Centres de santé' put: summary: "Modifier les informations d'un centre de santé" operationId: modifierLesInformationsDunCentreDeSant description: '' parameters: [] responses: { } tags: - 'Centres de santé' requestBody: required: false content: application/json: schema: type: object properties: responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: true name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: mqnmppzgbuedph nullable: true code: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: wcrd nullable: true description: type: string description: '' example: 'Assumenda voluptatem deserunt ipsa omnis libero molestiae omnis.' nullable: true address: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: iojswfvwcig nullable: true city: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: auquwtkdpjhnlgqeciewy nullable: true country: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: vzpvtzmpuukherlbqorpa nullable: true phone: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: bpywugtzjzjmzm nullable: true logo: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: kpll nullable: true email: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: marjolaine18@example.com nullable: true website: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: mruquloajnrzgitmepara nullable: true parameters: - in: path name: health_center description: '' example: 1 required: true schema: type: integer /api/health-centers/trash: post: summary: 'Archiver plusieurs health_centers' operationId: archiverPlusieursHealthCenters description: '' parameters: [] responses: { } tags: - 'Centres de santé' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the health_centers table.' example: - 16 items: type: integer required: - ids /api/health-centers/restore: post: summary: 'Restaurer plusieurs health_centers' operationId: restaurerPlusieursHealthCenters description: '' parameters: [] responses: { } tags: - 'Centres de santé' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the health_centers table.' example: - 5 items: type: integer required: - ids /api/chat/rooms/all: post: summary: 'Lister les discussions (privées et en groupe)' operationId: listerLesDiscussionsprivesEtEnGroupe description: '' parameters: [] responses: { } tags: - Chat requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 88 nullable: true nbre_items: type: integer description: '' example: 16 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: gopbyxlcytdx nullable: true is_group: type: boolean description: '' example: true nullable: true /api/chat/rooms: post: summary: 'Démarrer une discussion' operationId: dmarrerUneDiscussion description: '' parameters: [] responses: { } tags: - Chat requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: tkvdunnprhcpwsljy nullable: true photo: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: uyhwwtonkkqowvqh nullable: true participants: type: array description: 'The id of an existing record in the users table.' example: - 4 items: type: integer required: - participants '/api/chat/rooms/{message_room}': get: summary: "Afficher les infos d'une discussion" operationId: afficherLesInfosDuneDiscussion description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/chat/rooms/6 could not be found.' properties: message: type: string example: 'The route api/chat/rooms/6 could not be found.' tags: - Chat put: summary: 'Modifier une discussion' operationId: modifierUneDiscussion description: '' parameters: [] responses: { } tags: - Chat requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: eh nullable: true photo: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: bbnptxfclbpjhudpyoijdqz nullable: true participants: type: array description: 'The id of an existing record in the users table.' example: - 12 items: type: integer nullable: true parameters: - in: path name: message_room description: '' example: 6 required: true schema: type: integer /api/chat/messages/all: post: summary: 'Lister les messages' operationId: listerLesMessages description: '' parameters: [] responses: { } tags: - Chat requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 18 nullable: true nbre_items: type: integer description: '' example: 10 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: bzpkgsol nullable: true message_room_id: type: integer description: 'The id of an existing record in the message_rooms table.' example: 18 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: true /api/chat/messages: post: summary: 'Ajouter un message' operationId: ajouterUnMessage description: '' parameters: [] responses: { } tags: - Chat requestBody: required: true content: application/json: schema: type: object properties: message_room_id: type: integer description: 'The id of an existing record in the message_rooms table.' example: 2 nullable: false body: type: string description: '' example: quibusdam nullable: false required: - message_room_id - body '/api/chat/messages/{message_id}': get: summary: 'Afficher un message' operationId: afficherUnMessage description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/chat/messages/5 could not be found.' properties: message: type: string example: 'The route api/chat/messages/5 could not be found.' tags: - Chat put: summary: 'Modifier un message' operationId: modifierUnMessage description: '' parameters: [] responses: { } tags: - Chat requestBody: required: true content: application/json: schema: type: object properties: body: type: string description: '' example: est nullable: false required: - body parameters: - in: path name: message_id description: 'The ID of the message.' example: 5 required: true schema: type: integer /api/check-ups/all: post: summary: 'Lister les checkups patients' operationId: listerLesCheckupsPatients description: '' parameters: [] responses: { } tags: - 'Checkups patients' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 15 nullable: true nbre_items: type: integer description: '' example: 16 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: aqxixaksebgwkkgcp nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 19 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true alert_status: type: string description: '' example: warning nullable: true enum: - normal - warning - critical trashed: type: boolean description: '' example: true nullable: true /api/check-ups: post: summary: 'Ajouter un checkup patient' operationId: ajouterUnCheckupPatient description: '' parameters: [] responses: { } tags: - 'Checkups patients' requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: false medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 10 nullable: true dialysis_session_id: type: integer description: '' example: 14 nullable: true weight_kg: type: number description: '' example: 549.7 nullable: false blood_pressure_systolic: type: integer description: '' example: 1 nullable: true blood_pressure_diastolic: type: integer description: '' example: 15 nullable: true heart_rate: type: integer description: '' example: 19 nullable: true temperature_c: type: number description: '' example: 44468.37517 nullable: true blood_glucose: type: number description: '' example: 607943529.62977 nullable: true urine_output_ml: type: integer description: '' example: 14 nullable: true spo2: type: integer description: '' example: 19 nullable: true creatinine: type: number description: '' example: 9.4053 nullable: true urea: type: number description: '' example: 701056.355 nullable: true creatinine_clearance: type: number description: '' example: 460534784.08187 nullable: true potassium: type: number description: '' example: 636.91125011 nullable: true sodium: type: number description: '' example: 271571963.7142 nullable: true phosphorus: type: number description: '' example: 3.68138194 nullable: true calcium: type: number description: '' example: 1034.3236 nullable: true hemoglobin: type: number description: '' example: 25.789 nullable: true notes: type: string description: '' example: sit nullable: true date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true hour: type: string description: '' example: null nullable: true alert_status: type: string description: '' example: normal nullable: true enum: - normal - warning - critical required: - patient_id - weight_kg '/api/check-ups/{patient_check_up}': get: summary: "Afficher les infos d'un checkup patient" operationId: afficherLesInfosDunCheckupPatient description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/check-ups/1 could not be found.' properties: message: type: string example: 'The route api/check-ups/1 could not be found.' tags: - 'Checkups patients' put: summary: 'Modifier un checkup patient' operationId: modifierUnCheckupPatient description: '' parameters: [] responses: { } tags: - 'Checkups patients' requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 5 nullable: true dialysis_session_id: type: integer description: '' example: 16 nullable: true weight_kg: type: number description: '' example: 5825.76 nullable: false blood_pressure_systolic: type: integer description: '' example: 18 nullable: true blood_pressure_diastolic: type: integer description: '' example: 13 nullable: true heart_rate: type: integer description: '' example: 7 nullable: true temperature_c: type: number description: '' example: 13.3 nullable: true blood_glucose: type: number description: '' example: 63.0 nullable: true urine_output_ml: type: integer description: '' example: 19 nullable: true spo2: type: integer description: '' example: 1 nullable: true creatinine: type: number description: '' example: 663591609.2 nullable: true urea: type: number description: '' example: 6787052.6380833 nullable: true creatinine_clearance: type: number description: '' example: 5071.0 nullable: true potassium: type: number description: '' example: 549670059.37424 nullable: true sodium: type: number description: '' example: 265.0 nullable: true phosphorus: type: number description: '' example: 52575.472357 nullable: true calcium: type: number description: '' example: 647911.0 nullable: true hemoglobin: type: number description: '' example: 743.695 nullable: true notes: type: string description: '' example: quisquam nullable: true date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true hour: type: string description: '' example: null nullable: true alert_status: type: string description: '' example: warning nullable: true enum: - normal - warning - critical required: - weight_kg parameters: - in: path name: patient_check_up description: '' example: 1 required: true schema: type: integer /api/check-ups/trash: post: summary: 'Archiver plusieurs patient_check_ups' operationId: archiverPlusieursPatientCheckUps description: '' parameters: [] responses: { } tags: - 'Checkups patients' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the patient_check_ups table.' example: - 16 items: type: integer required: - ids /api/check-ups/restore: post: summary: 'Restaurer plusieurs patient_check_ups' operationId: restaurerPlusieursPatientCheckUps description: '' parameters: [] responses: { } tags: - 'Checkups patients' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the patient_check_ups table.' example: - 14 items: type: integer required: - ids /api/cash-closures/all: post: summary: '' operationId: postApiCashClosuresAll description: '' parameters: [] responses: { } tags: - 'Clôture de Caisse' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 24 nullable: true nbre_items: type: integer description: '' example: 3 nullable: true cashier_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true status: type: string description: '' example: open nullable: true enum: - open - closed date_from: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true date_to: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true /api/cash-closures: post: summary: 'Créer une clôture de caisse — calcule automatiquement les totaux du jour' operationId: crerUneCltureDeCaisseCalculeAutomatiquementLesTotauxDuJour description: '' parameters: [] responses: { } tags: - 'Clôture de Caisse' requestBody: required: true content: application/json: schema: type: object properties: closure_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false notes: type: string description: '' example: labore nullable: true required: - closure_date '/api/cash-closures/{cash_closure}': get: summary: '' operationId: getApiCashClosuresCash_closure description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/cash-closures/11 could not be found.' properties: message: type: string example: 'The route api/cash-closures/11 could not be found.' tags: - 'Clôture de Caisse' put: summary: 'Clôturer définitivement (passer à closed)' operationId: clturerDfinitivementpasserClosed description: '' parameters: [] responses: { } tags: - 'Clôture de Caisse' requestBody: required: false content: application/json: schema: type: object properties: status: type: string description: '' example: closed nullable: true enum: - open - closed notes: type: string description: '' example: esse nullable: true parameters: - in: path name: cash_closure description: '' example: 11 required: true schema: type: integer /api/contracts/all: post: summary: 'Retourne la liste des contrats avec la possibilité de filtrer et paginer les résultats.' operationId: retourneLaListeDesContratsAvecLaPossibilitDeFiltrerEtPaginerLesRsultats description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: '' example: 9 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: et nullable: true position: type: string description: '' example: alias nullable: true status: type: string description: '' example: Pending nullable: true enum: - Active - Terminated - Pending trashed: type: boolean description: '' example: false nullable: true '/api/contracts/{contract}': get: summary: 'Affiche les détails d’un contrat spécifique à partir de son identifiant.' operationId: afficheLesDtailsDunContratSpcifiquePartirDeSonIdentifiant description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/contracts/repellendus could not be found.' properties: message: type: string example: 'The route api/contracts/repellendus could not be found.' tags: - Contrats put: summary: 'Met à jour les informations d’un contrat donné.' operationId: metJourLesInformationsDunContratDonn description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true type: type: string description: '' example: Stage nullable: true enum: - CDD - CDI - Stage description: type: string description: '' example: 'Quasi animi repudiandae et ipsa nihil.' nullable: true start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true duration: type: integer description: 'Le champ value doit être au moins 1.' example: 57 nullable: true working_hours: type: string description: '' example: est nullable: true position: type: string description: '' example: aut nullable: true gross_salary: type: number description: 'Le champ value doit être au moins 0.' example: 51 nullable: true status: type: string description: '' example: Pending nullable: true enum: - Active - Terminated - Pending service_benefits: type: string description: '' example: et nullable: true bonus: type: string description: '' example: modi nullable: true number_days_off: type: integer description: '' example: 20 nullable: true parameters: - in: path name: contract description: 'The contract.' example: repellendus required: true schema: type: string /api/contracts: post: summary: "Crée un nouveau contrat pour un utilisateur, après vérification d'absence de contrat actif." operationId: creUnNouveauContratPourUnUtilisateurAprsVrificationDabsenceDeContratActif description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: false user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: false type: type: string description: '' example: consequatur nullable: false description: type: string description: '' example: 'Dolorem fugiat facilis consequatur magni magnam ducimus eveniet.' nullable: true start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: false duration: type: integer description: 'Le champ value doit être au moins 1.' example: 72 nullable: true working_hours: type: string description: '' example: necessitatibus nullable: false position: type: string description: '' example: dolor nullable: false gross_salary: type: number description: 'Le champ value doit être au moins 0.' example: 86 nullable: false status: type: string description: '' example: Active nullable: true enum: - Active - Terminated - Pending service_benefits: type: string description: '' example: deleniti nullable: true bonus: type: string description: '' example: cupiditate nullable: true number_days_off: type: integer description: '' example: 12 nullable: true required: - user_id - user_approve_id - type - start_date - working_hours - position - gross_salary /api/contracts/trash: post: summary: 'Archiver (soft delete) les contrats spécifiées.' operationId: archiversoftDeleteLesContratsSpcifies description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 14 items: type: integer required: - ids /api/contracts/restore: post: summary: 'Restaurer les contrats archivés.' operationId: restaurerLesContratsArchivs description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 20 items: type: integer required: - ids /api/contracts/destroy: post: summary: 'Supprimer définitivement les contrats spécifiés.' operationId: supprimerDfinitivementLesContratsSpcifis description: '' parameters: [] responses: { } tags: - Contrats requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: '' example: - 10 items: type: integer required: - ids /api/supply-demands: post: summary: "Crée une nouvelle demande d'approvisionnement." operationId: creUneNouvelleDemandeDapprovisionnement description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: yawanowvnlqntqlrejyiw nullable: true description: type: string description: '' example: 'Rem illo perspiciatis repellendus velit non.' nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: false status: type: string description: '' example: refused nullable: true enum: - pending - accepted - refused priority: type: string description: '' example: medium nullable: false enum: - high - medium - low medications: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: id: type: integer description: 'The id of an existing record in the medications table.' example: 18 nullable: false unit_price: type: integer description: '' example: 1 nullable: true quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 59 nullable: false supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: false required: - id - quantity - supplier_id required: - responsible_id - priority - medications /api/supply-demands/all: post: summary: "Affiche la liste paginée des demandes d'approvisionnement, avec filtres optionnels." operationId: afficheLaListePagineDesDemandesDapprovisionnementAvecFiltresOptionnels description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: filter_value: type: string description: '' example: aut nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: true priority: type: string description: '' example: high nullable: true enum: - high - medium - low status: type: string description: '' example: refused nullable: true enum: - pending - accepted - refused medication_ids: type: array description: 'The id of an existing record in the medications table.' example: - 5 items: type: integer '/api/supply-demands/{supply_demand_id}': get: summary: "Affiche les détails d'une demande d'approvisionnement spécifique." operationId: afficheLesDtailsDuneDemandeDapprovisionnementSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/supply-demands/8 could not be found.' properties: message: type: string example: 'The route api/supply-demands/8 could not be found.' tags: - "Demande d'approvisionnement | Supply demand" put: summary: "Met à jour les informations d'une demande d'approvisionnement existante." operationId: metJourLesInformationsDuneDemandeDapprovisionnementExistante description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: gtw nullable: true description: type: string description: '' example: 'Culpa voluptatem aut rerum nulla at temporibus.' nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: true status: type: string description: '' example: pending nullable: true enum: - pending - accepted - refused priority: type: string description: '' example: high nullable: true enum: - high - medium - low medications: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: null items: type: object nullable: true properties: id: type: integer description: 'The id of an existing record in the medications table.' example: 5 nullable: false unit_price: type: integer description: '' example: 14 nullable: true quantity: type: integer description: 'Le champ value doit être au moins 1.' example: 63 nullable: false supplier_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: false required: - id - quantity - supplier_id parameters: - in: path name: supply_demand_id description: 'The ID of the supply demand.' example: 8 required: true schema: type: integer /api/supply-demands/trash: post: summary: "Met en corbeille (suppression logique) une ou plusieurs demandes d'approvisionnement." operationId: metEnCorbeillesuppressionLogiqueUneOuPlusieursDemandesDapprovisionnement description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: supply_demand_ids: type: array description: 'The id of an existing record in the supply_demands table.' example: - 17 items: type: integer /api/supply-demands/restore: post: summary: "Restaure une ou plusieurs demandes d'approvisionnement supprimées (suppression logique)." operationId: restaureUneOuPlusieursDemandesDapprovisionnementSupprimessuppressionLogique description: '' parameters: [] responses: { } tags: - "Demande d'approvisionnement | Supply demand" requestBody: required: false content: application/json: schema: type: object properties: supply_demand_ids: type: array description: 'The id of an existing record in the supply_demands table.' example: - 2 items: type: integer /api/explanation-requests/all: post: summary: "Afficher les demandes d'explication" operationId: afficherLesDemandesDexplication description: '' parameters: [] responses: { } tags: - "Demande d'explication / Explanation Request" requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 68 nullable: true nbre_items: type: integer description: '' example: 16 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: vjoledzrvikjfdlz nullable: true /api/explanation-requests: post: summary: "Creer une demande d'explication" operationId: creerUneDemandeDexplication description: '' parameters: [] responses: { } tags: - "Demande d'explication / Explanation Request" requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: molestiae nullable: false description: type: string description: '' example: 'Error facilis vel at provident est omnis adipisci.' nullable: true idUser: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: false idResponsable: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: false image: type: string description: '' example: ut nullable: true comments: type: string description: '' example: enim nullable: true required: - name - idUser - idResponsable '/api/explanation-requests/{explanation_request}': get: summary: "Afficher une demande d'explication spécifique" operationId: afficherUneDemandeDexplicationSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/explanation-requests/2 could not be found.' properties: message: type: string example: 'The route api/explanation-requests/2 could not be found.' tags: - "Demande d'explication / Explanation Request" put: summary: "Mettre a jour une demande d'explication" operationId: mettreAJourUneDemandeDexplication description: '' parameters: [] responses: { } tags: - "Demande d'explication / Explanation Request" requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: dicta nullable: true description: type: string description: '' example: 'Dolor qui rerum distinctio ut beatae.' nullable: true idUser: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: true idResponsable: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true image: type: string description: '' example: rerum nullable: true comments: type: string description: '' example: unde nullable: true parameters: - in: path name: explanation_request description: '' example: 2 required: true schema: type: integer /api/explanation-requests/trash: post: summary: "Archiver (soft delete) les demandes d'explication." operationId: archiversoftDeleteLesDemandesDexplication description: '' parameters: [] responses: { } tags: - "Demande d'explication / Explanation Request" requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the explanation_requests table.' example: - 15 items: type: integer required: - ids /api/explanation-requests/restore: post: summary: "Restaurer les demandes d'explication archivées." operationId: restaurerLesDemandesDexplicationArchives description: '' parameters: [] responses: { } tags: - "Demande d'explication / Explanation Request" requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the explanation_requests table.' example: - 1 items: type: integer required: - ids /api/holidays/all: post: summary: 'Lister les congés enregistrés' operationId: listerLesCongsEnregistrs description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 11 nullable: true status: type: string description: '' example: rejected nullable: true enum: - pending_approval - in_progress - approved - rejected archive: type: string description: '' example: only_trashed nullable: true enum: - with_trashed - only_trashed date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true page_items: type: integer description: '' example: 11 nullable: true nbre_items: type: integer description: '' example: 12 nullable: true filter_value: type: string description: '' example: reprehenderit nullable: true /api/holidays: post: summary: 'Enregistrer une demande de congé' operationId: enregistrerUneDemandeDeCong description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: '' example: ut nullable: false start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: false end_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: false days_taken: type: integer description: '' example: 9 nullable: false reason: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ynsjpajhhnapdnmwo nullable: false user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: false required: - type - start_date - end_date - days_taken - reason - user_approve_id '/api/holidays/{holiday_id}': get: summary: "Afficher les détails d'une retenue sur salaire" operationId: afficherLesDtailsDuneRetenueSurSalaire description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/holidays/16 could not be found.' properties: message: type: string example: 'The route api/holidays/16 could not be found.' tags: - 'Demande de congé' put: summary: 'Modifier une demande de congé' operationId: modifierUneDemandeDeCong description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: false content: application/json: schema: type: object properties: type: type: string description: '' example: cumque nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à today.' example: '2120-08-15' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2078-04-10' nullable: true days_taken: type: integer description: '' example: 1 nullable: true reason: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: zqzxojesb nullable: true status: type: string description: '' example: in_progress nullable: true enum: - pending_approval - in_progress - approved - rejected parameters: - in: path name: holiday_id description: 'The ID of the holiday.' example: 16 required: true schema: type: integer /api/holidays/trash: post: summary: 'Archiver une ou plusieurs demandes de congés' operationId: archiverUneOuPlusieursDemandesDeCongs description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: true content: application/json: schema: type: object properties: idHolidays: type: array description: 'The id of an existing record in the holidays table.' example: - 9 items: type: integer required: - idHolidays /api/holidays/restore: post: summary: 'Restaurer une ou plusieurs demandes de congés' operationId: restaurerUneOuPlusieursDemandesDeCongs description: '' parameters: [] responses: { } tags: - 'Demande de congé' requestBody: required: true content: application/json: schema: type: object properties: idHolidays: type: array description: 'The id of an existing record in the holidays table.' example: - 1 items: type: integer required: - idHolidays /api/permission-requests/all: post: summary: 'Affiche une liste paginée des demandes de permission.' operationId: afficheUneListePagineDesDemandesDePermission description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: false content: application/json: schema: type: object properties: status: type: string description: '' example: approved nullable: true enum: - pending - approved - rejected departure: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true return: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true duration: type: integer description: '' example: 19 nullable: true page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 7 nullable: true nbre_items: type: integer description: '' example: 5 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: oeeycnpokelfklhdzsuepxzi nullable: true /api/permission-requests: post: summary: 'Crée une nouvelle demande de permission.' operationId: creUneNouvelleDemandeDePermission description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: true content: application/json: schema: type: object properties: reason: type: string description: '' example: voluptatem nullable: false departure: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false return: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après departure.' example: '2057-04-27' nullable: true duration: type: integer description: 'Le champ value doit être au moins 1.' example: 57 nullable: true status: type: string description: '' example: pending nullable: true enum: - pending - approved - rejected user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: true required: - reason - departure '/api/permission-requests/{permission_request}': get: summary: "Affiche les détails d'une demande de permission spécifique." operationId: afficheLesDtailsDuneDemandeDePermissionSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/permission-requests/est could not be found.' properties: message: type: string example: 'The route api/permission-requests/est could not be found.' tags: - 'Demandes de Permissions' put: summary: 'Met à jour une demande de permission si elle est encore en attente.' operationId: metJourUneDemandeDePermissionSiElleEstEncoreEnAttente description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: false content: application/json: schema: type: object properties: reason: type: string description: '' example: totam nullable: true departure: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true return: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après departure.' example: '2085-11-16' nullable: true duration: type: integer description: 'Le champ value doit être au moins 1.' example: 74 nullable: true status: type: string description: '' example: approved nullable: true enum: - pending - approved - rejected user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: true parameters: - in: path name: permission_request description: '' example: est required: true schema: type: string /api/permission-requests/trash: post: summary: 'Archiver (soft delete) les presences spécifiées.' operationId: archiversoftDeleteLesPresencesSpcifies description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the permission_requests table.' example: - 7 items: type: integer required: - ids /api/permission-requests/restore: post: summary: 'Restaurer les permission_requests archivés.' operationId: restaurerLesPermissionRequestsArchivs description: '' parameters: [] responses: { } tags: - 'Demandes de Permissions' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the permission_requests table.' example: - 7 items: type: integer required: - ids /api/departments/all: post: summary: 'Lister les départements' operationId: listerLesDpartements description: '' parameters: [] responses: { } tags: - Départements requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 46 nullable: true nbre_items: type: integer description: '' example: 20 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: rasquhabvgjboloj nullable: true start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true end_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: true health_center_id: type: integer description: 'The id of an existing record in the health_centers table.' example: 5 nullable: true trashed: type: boolean description: '' example: true nullable: true /api/departments: post: summary: 'Ajouter un département' operationId: ajouterUnDpartement description: '' parameters: [] responses: { } tags: - Départements requestBody: required: true content: application/json: schema: type: object properties: responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 9 nullable: true health_center_id: type: integer description: 'The id of an existing record in the health_centers table.' example: 10 nullable: false name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: arkvqmb nullable: false description: type: string description: '' example: 'Et sed qui commodi vel illo.' nullable: false phone: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: blhaqcceleqsa nullable: false email: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: luettgen.nedra@example.com nullable: true required: - health_center_id - name - description - phone '/api/departments/{department_id}': get: summary: "Afficher les infos d'un département" operationId: afficherLesInfosDunDpartement description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/departments/1 could not be found.' properties: message: type: string example: 'The route api/departments/1 could not be found.' tags: - Départements put: summary: 'Modifier un département' operationId: modifierUnDpartement description: '' parameters: [] responses: { } tags: - Départements requestBody: required: false content: application/json: schema: type: object properties: responsible_id: type: integer description: 'The id of an existing record in the users table.' example: 9 nullable: true health_center_id: type: integer description: 'The id of an existing record in the health_centers table.' example: 4 nullable: true name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: nltamaploqnzonjuujboug nullable: true description: type: string description: '' example: 'Culpa molestiae omnis maxime sint tempore.' nullable: true phone: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: rkugltgm nullable: true email: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: bwilliamson@example.com nullable: true parameters: - in: path name: department_id description: 'The ID of the department.' example: 1 required: true schema: type: integer /api/departments/trash: post: summary: 'Archiver plusieurs medical_books' operationId: archiverPlusieursMedicalBooks description: '' parameters: [] responses: { } tags: - Départements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the departments table.' example: - 10 items: type: integer required: - ids /api/departments/restore: post: summary: 'Restaurer plusieurs medical_books' operationId: restaurerPlusieursMedicalBooks description: '' parameters: [] responses: { } tags: - Départements requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the departments table.' example: - 15 items: type: integer required: - ids /api/rendez-vous/all: post: summary: 'Lister les rendez-vous' operationId: listerLesRendezVous description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 17 nullable: true nbre_items: type: integer description: '' example: 11 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: shqpxiqmaxmcberrudeukmssr nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 5 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true status: type: string description: '' example: validated nullable: true enum: - pending - validated - rejected - done - undone trashed: type: boolean description: '' example: false nullable: true /api/rendez-vous: post: summary: 'Ajouter un rendez-vous' operationId: ajouterUnRendezVous description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: false date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false hour: type: string description: 'Must be a valid date in the format H:i.' example: '16:23' nullable: false description: type: string description: '' example: 'Et iure qui quaerat libero possimus sed.' nullable: false required: - doctor_id - date - hour - description '/api/rendez-vous/{rendez_vous}': get: summary: "Afficher les infos d'un rendez-vous" operationId: afficherLesInfosDunRendezVous description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/rendez-vous/1 could not be found.' properties: message: type: string example: 'The route api/rendez-vous/1 could not be found.' tags: - Endpoints put: summary: 'Modifier un rendez-vous' operationId: modifierUnRendezVous description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: false content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 15 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true hour: type: string description: 'Must be a valid date in the format H:i.' example: '16:23' nullable: true description: type: string description: '' example: 'Sed perspiciatis consequatur vel hic corrupti.' nullable: true status: type: string description: '' example: done nullable: true enum: - pending - validated - rejected - done - undone parameters: - in: path name: rendez_vous description: '' example: 1 required: true schema: type: integer /api/rendez-vous/trash: post: summary: 'Archiver plusieurs rendez_vous' operationId: archiverPlusieursRendezVous description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the rendez_vous table.' example: - 4 items: type: integer required: - ids /api/rendez-vous/restore: post: summary: 'Restaurer plusieurs rendez_vous' operationId: restaurerPlusieursRendezVous description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the rendez_vous table.' example: - 18 items: type: integer required: - ids /api/dashboardfounder: post: summary: '' operationId: postApiDashboardfounder description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: false content: application/json: schema: type: object properties: health_center_id: type: integer description: 'The id of an existing record in the health_centers table.' example: 7 nullable: true /api/care-schedule-executions/all: post: summary: '' operationId: postApiCareScheduleExecutionsAll description: '' parameters: [] responses: { } tags: - 'Exécutions de planning de soins' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 71 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: cyhavajbmyn nullable: true care_schedule_id: type: integer description: 'The id of an existing record in the care_schedules table.' example: 7 nullable: true nurse_id: type: integer description: 'The id of an existing record in the users table.' example: 20 nullable: true status: type: string description: '' example: done nullable: true enum: - pending - done - late - missed nursing_act_id: type: integer description: 'The id of an existing record in the nursing_acts table.' example: 4 nullable: true date_from: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true date_to: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true trashed: type: boolean description: '' example: false nullable: true /api/care-schedule-executions: post: summary: '' operationId: postApiCareScheduleExecutions description: '' parameters: [] responses: { } tags: - 'Exécutions de planning de soins' requestBody: required: true content: application/json: schema: type: object properties: care_schedule_id: type: integer description: '' example: 9 nullable: false nurse_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: false scheduled_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: false executed_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true status: type: string description: '' example: pending nullable: false enum: - pending - done - late - missed observations: type: string description: '' example: autem nullable: true nursing_act_id: type: integer description: 'The id of an existing record in the nursing_acts table.' example: 7 nullable: true required: - care_schedule_id - nurse_id - scheduled_at - status '/api/care-schedule-executions/{care_schedule_execution}': get: summary: '' operationId: getApiCareScheduleExecutionsCare_schedule_execution description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/care-schedule-executions/11 could not be found.' properties: message: type: string example: 'The route api/care-schedule-executions/11 could not be found.' tags: - 'Exécutions de planning de soins' put: summary: '' operationId: putApiCareScheduleExecutionsCare_schedule_execution description: '' parameters: [] responses: { } tags: - 'Exécutions de planning de soins' requestBody: required: false content: application/json: schema: type: object properties: care_schedule_id: type: integer description: '' example: 8 nullable: true nurse_id: type: integer description: 'The id of an existing record in the users table.' example: 9 nullable: true scheduled_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true executed_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true status: type: string description: '' example: done nullable: true enum: - pending - done - late - missed observations: type: string description: '' example: sed nullable: true nursing_act_id: type: integer description: 'The id of an existing record in the nursing_acts table.' example: 15 nullable: true parameters: - in: path name: care_schedule_execution description: '' example: 11 required: true schema: type: integer /api/care-schedule-executions/trash: post: summary: '' operationId: postApiCareScheduleExecutionsTrash description: '' parameters: [] responses: { } tags: - 'Exécutions de planning de soins' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the care_schedule_executions table.' example: - 18 items: type: integer /api/care-schedule-executions/restore: post: summary: '' operationId: postApiCareScheduleExecutionsRestore description: '' parameters: [] responses: { } tags: - 'Exécutions de planning de soins' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the care_schedule_executions table.' example: - 2 items: type: integer /api/forum/categories/all: post: summary: 'Lister les categories de forum' operationId: listerLesCategoriesDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 63 nullable: true nbre_items: type: integer description: '' example: 10 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: xcketvazpibbcvbjv nullable: true /api/forum/categories: post: summary: 'Ajouter une catégorie de forum' operationId: ajouterUneCatgorieDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: miaduswomrbtomdfidn nullable: false description: type: string description: '' example: 'Culpa laboriosam et sit necessitatibus numquam at magnam.' nullable: true required: - name '/api/forum/categories/{forum_category}': get: summary: "Afficher les infos d'une catégorie de forum" operationId: afficherLesInfosDuneCatgorieDeForum description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/forum/categories/1 could not be found.' properties: message: type: string example: 'The route api/forum/categories/1 could not be found.' tags: - Forum put: summary: 'Modifier une catégorie de forum' operationId: modifierUneCatgorieDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: teaotizkcnkoit nullable: true description: type: string description: '' example: 'Quam cum ea blanditiis non ipsum adipisci vel.' nullable: true parameters: - in: path name: forum_category description: '' example: 1 required: true schema: type: integer /api/forum/categories/trash: post: summary: 'Archiver plusieurs categories de forum' operationId: archiverPlusieursCategoriesDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the forum_categories table.' example: - 6 items: type: integer required: - ids /api/forum/categories/restore: post: summary: 'Restaurer plusieurs categories de forum' operationId: restaurerPlusieursCategoriesDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the forum_categories table.' example: - 7 items: type: integer required: - ids /api/forum/questions/all: post: summary: 'Lister les questions de forum' operationId: listerLesQuestionsDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 59 nullable: true nbre_items: type: integer description: '' example: 17 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: skfapvlg nullable: true start_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true forum_category_id: type: integer description: 'The id of an existing record in the forum_categories table.' example: 13 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true /api/forum/questions: post: summary: 'Ajouter une question de forum' operationId: ajouterUneQuestionDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: forum_category_id: type: integer description: 'The id of an existing record in the forum_categories table.' example: 20 nullable: false title: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: iktwhqza nullable: false body: type: string description: '' example: quod nullable: false required: - forum_category_id - title - body '/api/forum/questions/{forum_question}': get: summary: "Afficher les infos d'une question de forum" operationId: afficherLesInfosDuneQuestionDeForum description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/forum/questions/1 could not be found.' properties: message: type: string example: 'The route api/forum/questions/1 could not be found.' tags: - Forum put: summary: 'Modifier une question de forum' operationId: modifierUneQuestionDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: false content: application/json: schema: type: object properties: forum_category_id: type: integer description: 'The id of an existing record in the forum_categories table.' example: 5 nullable: true title: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: t nullable: true body: type: string description: '' example: laudantium nullable: true is_resolved: type: boolean description: '' example: false nullable: true parameters: - in: path name: forum_question description: '' example: 1 required: true schema: type: integer /api/forum/questions/trash: post: summary: 'Archiver plusieurs questions de forum' operationId: archiverPlusieursQuestionsDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the forum_questions table.' example: - 6 items: type: integer required: - ids /api/forum/questions/restore: post: summary: 'Restaurer plusieurs questions de forum' operationId: restaurerPlusieursQuestionsDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the forum_questions table.' example: - 15 items: type: integer required: - ids /api/forum/answers/all: post: summary: 'Lister les réponses de forum' operationId: listerLesRponsesDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 35 nullable: true nbre_items: type: integer description: '' example: 1 nullable: true start_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: bfpuwfobib nullable: true forum_category_id: type: integer description: 'The id of an existing record in the forum_categories table.' example: 17 nullable: true forum_question_id: type: integer description: 'The id of an existing record in the forum_questions table.' example: 4 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: true /api/forum/answers: post: summary: 'Ajouter une réponse à une question de forum' operationId: ajouterUneRponseUneQuestionDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: forum_question_id: type: integer description: 'The id of an existing record in the forum_questions table.' example: 4 nullable: false body: type: string description: '' example: qui nullable: false required: - forum_question_id - body '/api/forum/answers/{forum_answer}': get: summary: "Afficher les infos d'une réponse à une question de forum" operationId: afficherLesInfosDuneRponseUneQuestionDeForum description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/forum/answers/1 could not be found.' properties: message: type: string example: 'The route api/forum/answers/1 could not be found.' tags: - Forum put: summary: 'Modifier une réponse à une question de forum' operationId: modifierUneRponseUneQuestionDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: false content: application/json: schema: type: object properties: forum_question_id: type: integer description: 'The id of an existing record in the forum_questions table.' example: 15 nullable: true body: type: string description: '' example: est nullable: true is_accepted: type: boolean description: '' example: false nullable: true parameters: - in: path name: forum_answer description: '' example: 1 required: true schema: type: integer /api/forum/answers/trash: post: summary: 'Archiver plusieurs questions de forum' operationId: archiverPlusieursQuestionsDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the forum_answers table.' example: - 2 items: type: integer required: - ids /api/forum/answers/restore: post: summary: 'Restaurer plusieurs réponses aux questions de forum' operationId: restaurerPlusieursRponsesAuxQuestionsDeForum description: '' parameters: [] responses: { } tags: - Forum requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the forum_answers table.' example: - 1 items: type: integer required: - ids /api/lab-requests/all: post: summary: "Lister les demandes d'examens" operationId: listerLesDemandesDexamens description: '' parameters: [] responses: { } tags: - Laboratoire requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 49 nullable: true nbre_items: type: integer description: '' example: 8 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: yjjepgnpwdhreqqnirspsj nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 9 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true technician_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: true status: type: string description: '' example: requested nullable: true enum: - requested - sampled - in_progress - done - validated lab_exam_pack_id: type: integer description: 'The id of an existing record in the lab_exam_packs table.' example: 9 nullable: true date_from: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true date_to: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true trashed: type: boolean description: '' example: false nullable: true /api/lab-requests: post: summary: "Créer une demande d'examen labo" operationId: crerUneDemandeDexamenLabo description: '' parameters: [] responses: { } tags: - Laboratoire requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: false doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: false medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 18 nullable: true lab_exam_catalog_id: type: integer description: 'The id of an existing record in the lab_exam_catalogs table.' example: 11 nullable: true lab_exam_pack_id: type: integer description: 'The id of an existing record in the lab_exam_packs table.' example: 16 nullable: true exam_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: dnueefwplegzpwrgykvywqsjg nullable: false clinical_info: type: string description: '' example: ut nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 39 nullable: true requested_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: false required: - patient_id - doctor_id - exam_name - requested_at '/api/lab-requests/{lab_request}': get: summary: "Afficher une demande d'examen" operationId: afficherUneDemandeDexamen description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/lab-requests/1 could not be found.' properties: message: type: string example: 'The route api/lab-requests/1 could not be found.' tags: - Laboratoire put: summary: "Mettre à jour le statut et les résultats d'un examen" operationId: mettreJourLeStatutEtLesRsultatsDunExamen description: '' parameters: [] responses: { } tags: - Laboratoire requestBody: required: false content: application/json: schema: type: object properties: status: type: string description: '' example: in nullable: true technician_id: type: integer description: 'The id of an existing record in the users table.' example: 15 nullable: true validator_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true clinical_info: type: string description: '' example: est nullable: true sampled_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true result_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true validated_at: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 72 nullable: true results: type: array description: '' example: null items: type: object nullable: true properties: parameter_name: type: string description: 'This field is required when results is present.' example: magnam nullable: false value: type: string description: '' example: voluptatem nullable: true unit: type: string description: '' example: qui nullable: true reference_range: type: string description: '' example: odit nullable: true is_abnormal: type: boolean description: '' example: true nullable: true notes: type: string description: '' example: voluptatem nullable: true parameters: - in: path name: lab_request description: '' example: 1 required: true schema: type: integer /api/lab-requests/trash: post: summary: 'Archiver des demandes labo' operationId: archiverDesDemandesLabo description: '' parameters: [] responses: { } tags: - Laboratoire requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the lab_requests table.' example: - 8 items: type: integer /api/lab-requests/restore: post: summary: 'Restaurer des demandes labo' operationId: restaurerDesDemandesLabo description: '' parameters: [] responses: { } tags: - Laboratoire requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the lab_requests table.' example: - 18 items: type: integer /api/medications/all: post: summary: 'Lister les médicaments' operationId: listerLesMdicaments description: '' parameters: [] responses: { } tags: - Médicaments requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 87 nullable: true nbre_items: type: integer description: '' example: 10 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: nsiaajekichn nullable: true name: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: fokbkirfyzxvcdbrc nullable: true trashed: type: boolean description: '' example: true nullable: true /api/medications: post: summary: "Ajout d'un médicament" operationId: ajoutDunMdicament description: '' parameters: [] responses: { } tags: - Médicaments requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: hbgrdcarykuqcc nullable: false description: type: string description: '' example: 'Ea tenetur cupiditate consequuntur eos saepe iusto.' nullable: true photo: type: string description: '' example: perferendis nullable: true required: - name '/api/medications/{medication_id}': get: summary: 'Afficher un médicament' operationId: afficherUnMdicament description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/medications/1 could not be found.' properties: message: type: string example: 'The route api/medications/1 could not be found.' tags: - Médicaments put: summary: 'Modifier un médicament' operationId: modifierUnMdicament description: '' parameters: [] responses: { } tags: - Médicaments requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: yuib nullable: true description: type: string description: '' example: 'Est aliquam voluptatem animi facilis eius voluptatem fugiat eius.' nullable: true photo: type: string description: '' example: est nullable: true parameters: - in: path name: medication_id description: 'The ID of the medication.' example: 1 required: true schema: type: integer /api/medications/trash: post: summary: 'Archiver plusieurs médicaments' operationId: archiverPlusieursMdicaments description: '' parameters: [] responses: { } tags: - Médicaments requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medications table.' example: - 7 items: type: integer required: - ids /api/medications/restore: post: summary: 'Restaurer plusieurs médicaments' operationId: restaurerPlusieursMdicaments description: '' parameters: [] responses: { } tags: - Médicaments requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medications table.' example: - 16 items: type: integer required: - ids /api/expense-reports/all: post: summary: 'Afficher les notes de frais' operationId: afficherLesNotesDeFrais description: '' parameters: [] responses: { } tags: - 'Notes de frais / Expense Reports' requestBody: required: false content: application/json: schema: type: object properties: status: type: string description: '' example: paid nullable: true enum: - pending_approval - approved - rejected - paid date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 79 nullable: true nbre_items: type: integer description: '' example: 6 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: mhwagttinjwdqdfdimhw nullable: true '/api/expense-reports/{id}': get: summary: 'Afficher une note de frais spécifique' operationId: afficherUneNoteDeFraisSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/expense-reports/a could not be found.' properties: message: type: string example: 'The route api/expense-reports/a could not be found.' tags: - 'Notes de frais / Expense Reports' put: summary: 'Mettre à jour une note de frais' operationId: mettreJourUneNoteDeFrais description: '' parameters: [] responses: { } tags: - 'Notes de frais / Expense Reports' requestBody: required: false content: application/json: schema: type: object properties: libelle: type: string description: '' example: ratione nullable: true amount: type: number description: 'Le champ value doit être au moins 0.' example: 29 nullable: true description: type: string description: '' example: 'Omnis quos ea molestiae non voluptates.' nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true status: type: string description: '' example: paid nullable: true enum: - pending_approval - approved - rejected - paid idUserApprove: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: true parameters: - in: path name: id description: 'The ID of the expense report.' example: a required: true schema: type: string /api/expense-reports: post: summary: 'Créer une note de frais' operationId: crerUneNoteDeFrais description: '' parameters: [] responses: { } tags: - 'Notes de frais / Expense Reports' requestBody: required: true content: application/json: schema: type: object properties: libelle: type: string description: '' example: et nullable: false amount: type: number description: 'Le champ value doit être au moins 0.' example: 46 nullable: false description: type: string description: '' example: 'Voluptas voluptatem velit esse eveniet rerum amet.' nullable: false date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false status: type: string description: '' example: paid nullable: true enum: - pending_approval - approved - rejected - paid idUserApprove: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: true required: - libelle - amount - description - date /api/expense-reports/trash: post: summary: 'Archiver (soft delete) les notes de frais.' operationId: archiversoftDeleteLesNotesDeFrais description: '' parameters: [] responses: { } tags: - 'Notes de frais / Expense Reports' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the expense_reports table.' example: - 15 items: type: integer required: - ids /api/expense-reports/restore: post: summary: 'Restaurer les notes de frais archivées.' operationId: restaurerLesNotesDeFraisArchives description: '' parameters: [] responses: { } tags: - 'Notes de frais / Expense Reports' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the expense_reports table.' example: - 9 items: type: integer required: - ids /api/expense-reports/destroy: post: summary: 'Supprimer définitivement les notes de frais spécifiées.' operationId: supprimerDfinitivementLesNotesDeFraisSpcifies description: '' parameters: [] responses: { } tags: - 'Notes de frais / Expense Reports' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the expense_reports table.' example: - 9 items: type: integer required: - ids /api/foods/all: post: summary: 'Lister les nourritures' operationId: listerLesNourritures description: '' parameters: [] responses: { } tags: - Nourritures requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 8 nullable: true nbre_items: type: integer description: '' example: 17 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: qmvfbm nullable: true trashed: type: boolean description: '' example: true nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true name: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: onbdywmic nullable: true /api/foods: post: summary: 'Ajouter une nourriture' operationId: ajouterUneNourriture description: '' parameters: [] responses: { } tags: - Nourritures requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: lzwjzhpqyccgmtrquaycdh nullable: false description: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: 'Laboriosam dolores debitis impedit eos tempore.' nullable: true potassium_mg: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: wfmunvwj nullable: true sodium_mg: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: nlwtaccqwpejrttrnjh nullable: true phosphorus_mg: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: opouvwnfbbprkqqbmolhc nullable: true photo: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: rhotzwmuvwcvfpfzguypdehx nullable: true food_alternatives: type: array description: '' example: null items: type: object nullable: true properties: alternative_id: type: integer description: 'The id of an existing record in the food table.' example: 9 nullable: false reason: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: miwatoguxsalh nullable: true required: - alternative_id required: - name '/api/foods/{food_id}': get: summary: 'Afficher une nourriture' operationId: afficherUneNourriture description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/foods/6 could not be found.' properties: message: type: string example: 'The route api/foods/6 could not be found.' tags: - Nourritures put: summary: 'Modifier une nourriture' operationId: modifierUneNourriture description: '' parameters: [] responses: { } tags: - Nourritures requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: m nullable: true description: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: 'Rerum alias inventore recusandae sunt.' nullable: true potassium_mg: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: ykeofpux nullable: true sodium_mg: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: ygncjtyqztenb nullable: true phosphorus_mg: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: p nullable: true photo: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: nho nullable: true food_alternatives: type: array description: '' example: null items: type: object nullable: true properties: alternative_id: type: integer description: 'The id of an existing record in the food table.' example: 8 nullable: false reason: type: string description: 'Le champ value ne peut contenir plus de 200 caractères.' example: mshfz nullable: true required: - alternative_id parameters: - in: path name: food_id description: 'The ID of the food.' example: 6 required: true schema: type: integer /api/foods/trash: post: summary: 'Archiver plusieurs nourritures' operationId: archiverPlusieursNourritures description: '' parameters: [] responses: { } tags: - Nourritures requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the food table.' example: - 20 items: type: integer required: - ids /api/foods/restore: post: summary: 'Restaurer plusieurs nourritures' operationId: restaurerPlusieursNourritures description: '' parameters: [] responses: { } tags: - Nourritures requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the food table.' example: - 14 items: type: integer required: - ids /api/lab-exam-packs/all: post: summary: '' operationId: postApiLabExamPacksAll description: '' parameters: [] responses: { } tags: - "Packs d'examens de laboratoire" requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 85 nullable: true nbre_items: type: integer description: '' example: 1 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: kzhawrdqbgrmdnhxmpeqzm nullable: true is_active: type: boolean description: '' example: true nullable: true trashed: type: boolean description: '' example: true nullable: true /api/lab-exam-packs: post: summary: '' operationId: postApiLabExamPacks description: '' parameters: [] responses: { } tags: - "Packs d'examens de laboratoire" requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: vii nullable: false description: type: string description: '' example: 'Aliquam ex odio qui quod nulla voluptatem illo ea.' nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 88 nullable: false is_active: type: boolean description: '' example: true nullable: true exam_ids: type: array description: 'The id of an existing record in the lab_exam_catalogs table.' example: null items: type: string required: - name - price '/api/lab-exam-packs/{labExamPack_id}': get: summary: '' operationId: getApiLabExamPacksLabExamPack_id description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/lab-exam-packs/18 could not be found.' properties: message: type: string example: 'The route api/lab-exam-packs/18 could not be found.' tags: - "Packs d'examens de laboratoire" put: summary: '' operationId: putApiLabExamPacksLabExamPack_id description: '' parameters: [] responses: { } tags: - "Packs d'examens de laboratoire" requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: xsxjc nullable: true description: type: string description: '' example: 'Quia eum deleniti id quidem consequuntur ipsum.' nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 69 nullable: true is_active: type: boolean description: '' example: false nullable: true exam_ids: type: array description: 'The id of an existing record in the lab_exam_catalogs table.' example: - 8 items: type: integer delete: summary: '' operationId: deleteApiLabExamPacksLabExamPack_id description: '' parameters: [] responses: { } tags: - "Packs d'examens de laboratoire" parameters: - in: path name: labExamPack_id description: 'The ID of the labExamPack.' example: 18 required: true schema: type: integer /api/lab-exam-packs/trash: post: summary: '' operationId: postApiLabExamPacksTrash description: '' parameters: [] responses: { } tags: - "Packs d'examens de laboratoire" requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the lab_exam_packs table.' example: - 16 items: type: integer /api/lab-exam-packs/restore: post: summary: '' operationId: postApiLabExamPacksRestore description: '' parameters: [] responses: { } tags: - "Packs d'examens de laboratoire" requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the lab_exam_packs table.' example: - 19 items: type: integer /api/medical-pages/all: post: summary: 'Lister les pagse de carnets médicaux' operationId: listerLesPagseDeCarnetsMdicaux description: '' parameters: [] responses: { } tags: - 'Page Médicale' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 87 nullable: true nbre_items: type: integer description: '' example: 5 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: tiamzyzcgydrakakdy nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 11 nullable: true medical_book_id: type: integer description: 'The id of an existing record in the medical_books table.' example: 16 nullable: true department_id: type: integer description: 'The id of an existing record in the departments table.' example: 8 nullable: true consultation_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true status: type: string description: '' example: completed nullable: true enum: - pending - in_progress - completed - cancelled start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true end_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true trashed: type: boolean description: '' example: false nullable: true consultation_type: type: string description: '' example: follow_up nullable: true enum: - first_visit - follow_up - emergency disease_history: type: string description: '' example: aut nullable: true current_treatments: type: string description: '' example: soluta nullable: true family_history: type: string description: '' example: inventore nullable: true blood_pressure: type: string description: '' example: ipsam nullable: true heart_rate: type: integer description: '' example: 4 nullable: true respiratory_rate: type: integer description: '' example: 15 nullable: true temperature_c: type: number description: '' example: 5.644305 nullable: true spo2: type: integer description: '' example: 16 nullable: true blood_glucose: type: number description: '' example: 14.3612 nullable: true weight_kg: type: number description: '' example: 673026.35 nullable: true height_cm: type: number description: '' example: 5586562.7224523 nullable: true bmi: type: number description: '' example: 32699175.4 nullable: true pain_score: type: integer description: '' example: 16 nullable: true general_condition: type: string description: '' example: good nullable: true enum: - good - altered - critical general_condition_notes: type: string description: '' example: aut nullable: true physical_examination: type: string description: '' example: minus nullable: true hypothesis: type: string description: '' example: nobis nullable: true icd10_code: type: string description: '' example: et nullable: true severity: type: string description: '' example: moderate nullable: true enum: - mild - moderate - severe - critical discharge_decision: type: string description: '' example: referred nullable: true enum: - home - hospitalized - referred - deceased next_appointment: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true additional_notes: type: string description: '' example: est nullable: true /api/medical-pages: post: summary: 'Ajouter une page de carnet médical' operationId: ajouterUnePageDeCarnetMdical description: '' parameters: [] responses: { } tags: - 'Page Médicale' requestBody: required: true content: application/json: schema: type: object properties: medical_book_id: type: integer description: 'The id of an existing record in the medical_books table.' example: 14 nullable: false department_id: type: integer description: 'The id of an existing record in the departments table.' example: 3 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: false consultation_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false reason_for_visit: type: string description: '' example: dolore nullable: false clinical_notes: type: string description: '' example: facilis nullable: false diagnosis: type: string description: '' example: aut nullable: false free_notes: type: string description: '' example: corporis nullable: true recommendations: type: string description: '' example: null nullable: true status: type: string description: '' example: in_progress nullable: true enum: - pending - in_progress - completed - cancelled consultation_type: type: string description: '' example: emergency nullable: true enum: - first_visit - follow_up - emergency disease_history: type: string description: '' example: neque nullable: true current_treatments: type: string description: '' example: enim nullable: true family_history: type: string description: '' example: et nullable: true blood_pressure: type: string description: '' example: sit nullable: true heart_rate: type: integer description: '' example: 13 nullable: true respiratory_rate: type: integer description: '' example: 10 nullable: true temperature_c: type: number description: '' example: 106255.3859543 nullable: true spo2: type: integer description: '' example: 2 nullable: true blood_glucose: type: number description: '' example: 771669.6854 nullable: true weight_kg: type: number description: '' example: 2025.89348387 nullable: true height_cm: type: number description: '' example: 37146583.10469 nullable: true bmi: type: number description: '' example: 0.610641 nullable: true pain_score: type: integer description: '' example: 4 nullable: true general_condition: type: string description: '' example: critical nullable: true enum: - good - altered - critical general_condition_notes: type: string description: '' example: dolore nullable: true physical_examination: type: string description: '' example: omnis nullable: true hypothesis: type: string description: '' example: maxime nullable: true icd10_code: type: string description: '' example: totam nullable: true severity: type: string description: '' example: critical nullable: true enum: - mild - moderate - severe - critical discharge_decision: type: string description: '' example: home nullable: true enum: - home - hospitalized - referred - deceased next_appointment: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true additionnal_notes: type: string description: '' example: facere nullable: true required: - medical_book_id - doctor_id - consultation_date - reason_for_visit - clinical_notes - diagnosis '/api/medical-pages/{medical_page}': get: summary: "Afficher les infos d'une page de carnet médical" operationId: afficherLesInfosDunePageDeCarnetMdical description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/medical-pages/1 could not be found.' properties: message: type: string example: 'The route api/medical-pages/1 could not be found.' tags: - 'Page Médicale' put: summary: 'Modifier une page de carnet médical' operationId: modifierUnePageDeCarnetMdical description: '' parameters: [] responses: { } tags: - 'Page Médicale' requestBody: required: false content: application/json: schema: type: object properties: medical_book_id: type: integer description: 'The id of an existing record in the medical_books table.' example: 18 nullable: true department_id: type: integer description: 'The id of an existing record in the departments table.' example: 13 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: true consultation_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true reason_for_visit: type: string description: '' example: soluta nullable: true clinical_notes: type: string description: '' example: velit nullable: true diagnosis: type: string description: '' example: nihil nullable: true free_notes: type: string description: '' example: voluptatem nullable: true recommendations: type: string description: '' example: assumenda nullable: true status: type: string description: '' example: completed nullable: true enum: - pending - in_progress - completed - cancelled consultation_type: type: string description: '' example: emergency nullable: true enum: - first_visit - follow_up - emergency disease_history: type: string description: '' example: perspiciatis nullable: true current_treatments: type: string description: '' example: magni nullable: true family_history: type: string description: '' example: voluptatum nullable: true blood_pressure: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: tptoukkfxvhvtan nullable: true heart_rate: type: integer description: '' example: 2 nullable: true respiratory_rate: type: integer description: '' example: 15 nullable: true temperature_c: type: number description: '' example: 3175.07869 nullable: true spo2: type: integer description: '' example: 9 nullable: true blood_glucose: type: number description: '' example: 169903688.29048 nullable: true weight_kg: type: number description: '' example: 203152.76105489 nullable: true height_cm: type: number description: '' example: 47097.415481 nullable: true bmi: type: number description: '' example: 102.176 nullable: true pain_score: type: integer description: '' example: 20 nullable: true general_condition: type: string description: '' example: critical nullable: true enum: - good - altered - critical general_condition_notes: type: string description: '' example: aut nullable: true physical_examination: type: string description: '' example: accusantium nullable: true hypothesis: type: string description: '' example: porro nullable: true icd10_code: type: string description: '' example: est nullable: true severity: type: string description: '' example: moderate nullable: true enum: - mild - moderate - severe - critical discharge_decision: type: string description: '' example: referred nullable: true enum: - home - hospitalized - referred - deceased next_appointment: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true additionnal_notes: type: string description: '' example: ex nullable: true parameters: - in: path name: medical_page description: '' example: 1 required: true schema: type: integer /api/medical-pages/trash: post: summary: 'Archiver plusieurs medical_pages' operationId: archiverPlusieursMedicalPages description: '' parameters: [] responses: { } tags: - 'Page Médicale' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medical_pages table.' example: - 8 items: type: integer required: - ids /api/medical-pages/restore: post: summary: 'Restaurer plusieurs medical_pages' operationId: restaurerPlusieursMedicalPages description: '' parameters: [] responses: { } tags: - 'Page Médicale' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medical_pages table.' example: - 8 items: type: integer required: - ids /api/permissions/all: post: summary: 'Afficher la liste des permissions' operationId: afficherLaListeDesPermissions description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 66 nullable: true nbre_items: type: integer description: '' example: 2 nullable: true filter_value: type: string description: '' example: exercitationem nullable: true ressource: type: string description: '' example: sequi nullable: true /api/permissions: post: summary: '' operationId: postApiPermissions description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: true content: application/json: schema: type: object properties: permissions: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: name: type: string description: '' example: voluptas nullable: false description: type: string description: '' example: 'Et temporibus earum quia omnis autem aperiam maiores.' nullable: true ressource: type: string description: '' example: velit nullable: false code: type: string description: '' example: consequatur nullable: true required: - name - ressource required: - permissions '/api/permissions/{permission}': get: summary: 'Afficher une permission spécifique' operationId: afficherUnePermissionSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/permissions/et could not be found.' properties: message: type: string example: 'The route api/permissions/et could not be found.' tags: - Permissions put: summary: 'Mettre a jour une permission spécifique' operationId: mettreAJourUnePermissionSpcifique description: '' parameters: [] responses: { } tags: - Permissions requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: laborum nullable: false permissions: type: array description: '' example: - [] items: type: object properties: description: type: string description: '' example: 'Id dignissimos ut autem deleniti placeat officiis officiis.' nullable: true ressource: type: string description: '' example: a nullable: true code: type: string description: '' example: placeat nullable: true required: - name parameters: - in: path name: permission description: 'The permission.' example: et required: true schema: type: string /api/medication-batches/all: post: summary: '' operationId: postApiMedicationBatchesAll description: '' parameters: [] responses: { } tags: - 'Pharmacie — Lots & Stock' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 27 nullable: true nbre_items: type: integer description: '' example: 2 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: tneqxqnlwc nullable: true start_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 11 nullable: true expiry_alert: type: boolean description: '' example: false nullable: true trashed: type: boolean description: '' example: false nullable: true /api/medication-batches: post: summary: '' operationId: postApiMedicationBatches description: '' parameters: [] responses: { } tags: - 'Pharmacie — Lots & Stock' requestBody: required: true content: application/json: schema: type: object properties: medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 2 nullable: false batch_number: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: s nullable: false expiry_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false quantity_in: type: integer description: 'Le champ value doit être au moins 1.' example: 18 nullable: false purchase_price: type: number description: 'Le champ value doit être au moins 0.' example: 23 nullable: true supplier: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: mvmio nullable: true received_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false required: - medication_id - batch_number - expiry_date - quantity_in - received_date '/api/medication-batches/{medication_batch}': get: summary: '' operationId: getApiMedicationBatchesMedication_batch description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/medication-batches/18 could not be found.' properties: message: type: string example: 'The route api/medication-batches/18 could not be found.' tags: - 'Pharmacie — Lots & Stock' put: summary: '' operationId: putApiMedicationBatchesMedication_batch description: '' parameters: [] responses: { } tags: - 'Pharmacie — Lots & Stock' requestBody: required: false content: application/json: schema: type: object properties: batch_number: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: loaexmbrizxmcdd nullable: true expiry_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true quantity_in: type: integer description: 'Le champ value doit être au moins 0.' example: 12 nullable: true purchase_price: type: number description: 'Le champ value doit être au moins 0.' example: 68 nullable: true supplier: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: c nullable: true received_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true expiry_alert: type: boolean description: '' example: false nullable: true parameters: - in: path name: medication_batch description: '' example: 18 required: true schema: type: integer /api/medication-batches/trash: post: summary: '' operationId: postApiMedicationBatchesTrash description: '' parameters: [] responses: { } tags: - 'Pharmacie — Lots & Stock' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medication_batches table.' example: - 13 items: type: integer /api/medication-batches/restore: post: summary: '' operationId: postApiMedicationBatchesRestore description: '' parameters: [] responses: { } tags: - 'Pharmacie — Lots & Stock' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medication_batches table.' example: - 10 items: type: integer /api/care-schedules/all: post: summary: 'Lister les plannings de soins' operationId: listerLesPlanningsDeSoins description: '' parameters: [] responses: { } tags: - 'Planification des soins' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 46 nullable: true nbre_items: type: integer description: '' example: 3 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: fsqpehxgqzefv nullable: true patient_id: type: string description: 'The id of an existing record in the users table.' example: null nullable: true is_active: type: boolean description: '' example: false nullable: true trashed: type: boolean description: '' example: true nullable: true /api/care-schedules: post: summary: "Ajout d'un planning de soin" operationId: ajoutDunPlanningDeSoin description: '' parameters: [] responses: { } tags: - 'Planification des soins' requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: string description: 'The id of an existing record in the users table.' example: dolor nullable: false admission_id: type: integer description: '' example: 18 nullable: true medical_page_id: type: string description: 'The id of an existing record in the medical_pages table.' example: eos nullable: false nursing_act_catalog_id: type: string description: 'The id of an existing record in the nursing_act_catalogs table.' example: optio nullable: false medication_id: type: string description: 'The id of an existing record in the medications table.' example: null nullable: true act_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: cahuqtjqljlv nullable: false dosage: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: pkgsdo nullable: true scheduled_time: type: string description: 'Must be a valid date in the format H:i.' example: '16:23' nullable: false frequency: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: zpweeeqtyfztudckymzqobkp nullable: false start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: false end_date: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à start_date.' example: '2118-12-28' nullable: true is_active: type: boolean description: '' example: true nullable: true notes: type: string description: '' example: sed nullable: true required: - patient_id - medical_page_id - nursing_act_catalog_id - act_name - scheduled_time - frequency - start_date '/api/care-schedules/{care_schedule}': get: summary: 'Afficher un planning de soin' operationId: afficherUnPlanningDeSoin description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/care-schedules/1 could not be found.' properties: message: type: string example: 'The route api/care-schedules/1 could not be found.' tags: - 'Planification des soins' put: summary: 'Modifier un planning de soin' operationId: modifierUnPlanningDeSoin description: '' parameters: [] responses: { } tags: - 'Planification des soins' requestBody: required: false content: application/json: schema: type: object properties: patient_id: type: string description: 'The id of an existing record in the users table.' example: null nullable: true admission_id: type: integer description: '' example: 17 nullable: true medical_page_id: type: string description: 'The id of an existing record in the medical_pages table.' example: null nullable: true nursing_act_catalog_id: type: string description: 'The id of an existing record in the nursing_act_catalogs table.' example: null nullable: true medication_id: type: string description: 'The id of an existing record in the medications table.' example: null nullable: true act_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: mzaqozut nullable: true dosage: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: hasvjzhdesp nullable: true scheduled_time: type: string description: 'Must be a valid date in the format H:i.' example: '16:23' nullable: true frequency: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: bsdiftqicpcqowxobdff nullable: true start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à start_date.' example: '2104-01-06' nullable: true is_active: type: boolean description: '' example: false nullable: true notes: type: string description: '' example: sit nullable: true parameters: - in: path name: care_schedule description: '' example: 1 required: true schema: type: integer /api/care-schedules/trash: post: summary: 'Archiver plusieurs plannings de soins' operationId: archiverPlusieursPlanningsDeSoins description: '' parameters: [] responses: { } tags: - 'Planification des soins' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the care_schedules table.' example: - 19 items: type: integer required: - ids /api/care-schedules/restore: post: summary: 'Restaurer plusieurs plannings de soins' operationId: restaurerPlusieursPlanningsDeSoins description: '' parameters: [] responses: { } tags: - 'Planification des soins' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the care_schedules table.' example: - 1 items: type: integer required: - ids /api/prescriptions/all: post: summary: 'Lister les prescriptions' operationId: listerLesPrescriptions description: '' parameters: [] responses: { } tags: - Prescriptions requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 41 nullable: true nbre_items: type: integer description: '' example: 19 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: hr nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 3 nullable: true status: type: string description: '' example: cancelled nullable: true enum: - pending - active - completed - cancelled start_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true end_date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true trashed: type: boolean description: '' example: false nullable: true /api/prescriptions: post: summary: 'Ajouter une prescription' operationId: ajouterUnePrescription description: '' parameters: [] responses: { } tags: - Prescriptions requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 8 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 3 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2103-08-22' nullable: false frequency: type: string description: '' example: corrupti nullable: true dosage: type: string description: '' example: corrupti nullable: true description: type: string description: '' example: 'Harum qui possimus eaque est et.' nullable: false status: type: string description: '' example: pending nullable: true enum: - pending - active - completed - cancelled medications: type: array description: '' example: - [] items: type: object properties: medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 3 nullable: false dosage: type: integer description: 'Le champ value doit être au moins 1.' example: 4 nullable: false frequency: type: string description: '' example: animi nullable: false description: type: string description: '' example: 'Voluptatem quod excepturi tempore quod nostrum.' nullable: true required: - medication_id - dosage - frequency required: - start_date - end_date - description - medications '/api/prescriptions/{prescription_id}': get: summary: "Afficher les infos d'une prescription" operationId: afficherLesInfosDunePrescription description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/prescriptions/3 could not be found.' properties: message: type: string example: 'The route api/prescriptions/3 could not be found.' tags: - Prescriptions put: summary: 'Modifier une prescription' operationId: modifierUnePrescription description: '' parameters: [] responses: { } tags: - Prescriptions requestBody: required: false content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 18 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 6 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2059-09-03' nullable: true frequency: type: string description: '' example: minus nullable: true dosage: type: string description: '' example: expedita nullable: true description: type: string description: '' example: 'Et voluptatem provident beatae quis voluptatem qui incidunt.' nullable: true status: type: string description: '' example: cancelled nullable: true enum: - pending - active - completed - cancelled medications: type: array description: '' example: null items: type: object nullable: true properties: medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 3 nullable: false dosage: type: integer description: 'Le champ value doit être au moins 1.' example: 36 nullable: false frequency: type: string description: '' example: in nullable: false description: type: string description: '' example: 'Et laborum error recusandae voluptatem voluptatem voluptatibus quo ut.' nullable: true required: - medication_id - dosage - frequency parameters: - in: path name: prescription_id description: 'The ID of the prescription.' example: 3 required: true schema: type: integer /api/prescriptions/trash: post: summary: 'Archiver plusieurs prescriptions' operationId: archiverPlusieursPrescriptions description: '' parameters: [] responses: { } tags: - Prescriptions requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the prescriptions table.' example: - 18 items: type: integer required: - ids /api/prescriptions/restore: post: summary: 'Restaurer plusieurs prescriptions' operationId: restaurerPlusieursPrescriptions description: '' parameters: [] responses: { } tags: - Prescriptions requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the prescriptions table.' example: - 6 items: type: integer required: - ids /api/medications-intakes/all: post: summary: 'Lister les prises de médicaments' operationId: listerLesPrisesDeMdicaments description: '' parameters: [] responses: { } tags: - 'Prises de Médicaments' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 63 nullable: true nbre_items: type: integer description: '' example: 8 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: lds nullable: true trashed: type: boolean description: '' example: false nullable: true prescription_id: type: integer description: 'The id of an existing record in the prescriptions table.' example: 3 nullable: true medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 11 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2106-12-28' nullable: true /api/medications-intakes: post: summary: 'Ajouter une prise de médicament' operationId: ajouterUnePriseDeMdicament description: '' parameters: [] responses: { } tags: - 'Prises de Médicaments' requestBody: required: true content: application/json: schema: type: object properties: prescription_id: type: integer description: 'The id of an existing record in the prescriptions table.' example: 15 nullable: false medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 19 nullable: false is_taken: type: boolean description: '' example: false nullable: true date_time: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d H:i.' example: '2026-05-07 16:23' nullable: false required: - prescription_id - medication_id - date_time '/api/medications-intakes/{medication_intake}': get: summary: 'Afficher une prise de médicament' operationId: afficherUnePriseDeMdicament description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/medications-intakes/19 could not be found.' properties: message: type: string example: 'The route api/medications-intakes/19 could not be found.' tags: - 'Prises de Médicaments' put: summary: 'Modifier une prise de médicament' operationId: modifierUnePriseDeMdicament description: '' parameters: [] responses: { } tags: - 'Prises de Médicaments' requestBody: required: false content: application/json: schema: type: object properties: prescription_id: type: integer description: 'The id of an existing record in the prescriptions table.' example: 5 nullable: true medication_id: type: integer description: 'The id of an existing record in the medications table.' example: 9 nullable: true is_taken: type: boolean description: '' example: false nullable: true date_time: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d H:i.' example: '2026-05-07 16:23' nullable: true parameters: - in: path name: medication_intake description: '' example: 19 required: true schema: type: integer /api/medications-intakes/trash: post: summary: 'Archiver plusieurs prises de médicaments' operationId: archiverPlusieursPrisesDeMdicaments description: '' parameters: [] responses: { } tags: - 'Prises de Médicaments' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medication_intakes table.' example: - 7 items: type: integer required: - ids /api/medications-intakes/restore: post: summary: 'Restaurer plusieurs prises de médicaments' operationId: restaurerPlusieursPrisesDeMdicaments description: '' parameters: [] responses: { } tags: - 'Prises de Médicaments' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the medication_intakes table.' example: - 11 items: type: integer required: - ids /api/recipes/all: post: summary: 'Lister les recettes' operationId: listerLesRecettes description: '' parameters: [] responses: { } tags: - Recettes requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 8 nullable: true nbre_items: type: integer description: '' example: 12 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: jnjwrcw nullable: true is_low_potassium: type: boolean description: '' example: true nullable: true is_low_sodium: type: boolean description: '' example: false nullable: true /api/recipes: post: summary: 'Ajouter une recette' operationId: ajouterUneRecette description: '' parameters: [] responses: { } tags: - Recettes requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: optio nullable: false description: type: string description: '' example: 'Ab excepturi temporibus qui qui iste suscipit odio.' nullable: true instructions: type: string description: '' example: quo nullable: true preparation_time: type: integer description: '' example: 7 nullable: true servings: type: integer description: '' example: 11 nullable: true is_low_potassium: type: boolean description: '' example: false nullable: true is_low_sodium: type: boolean description: '' example: false nullable: true calories: type: integer description: '' example: 19 nullable: true sodium_mg: type: integer description: '' example: 19 nullable: true potassium_mg: type: integer description: '' example: 16 nullable: true photo: type: string description: '' example: sed nullable: true foods: type: array description: '' example: - [] items: type: object properties: food_id: type: integer description: 'The id of an existing record in the food table.' example: 13 nullable: false quantity: type: string description: '' example: facere nullable: false description: type: string description: '' example: 'Non animi voluptatem voluptas recusandae impedit harum.' nullable: true required: - food_id - quantity required: - name - foods '/api/recipes/{recipe_id}': get: summary: "Afficher les infos d'une recette" operationId: afficherLesInfosDuneRecette description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/recipes/3 could not be found.' properties: message: type: string example: 'The route api/recipes/3 could not be found.' tags: - Recettes put: summary: 'Modifier une recette' operationId: modifierUneRecette description: '' parameters: [] responses: { } tags: - Recettes requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: possimus nullable: true description: type: string description: '' example: 'Repudiandae voluptatem beatae odit.' nullable: true instructions: type: string description: '' example: repellendus nullable: true preparation_time: type: string description: '' example: corporis nullable: true servings: type: string description: '' example: ut nullable: true is_low_potassium: type: boolean description: '' example: false nullable: true is_low_sodium: type: boolean description: '' example: true nullable: true calories: type: string description: '' example: quo nullable: true sodium_mg: type: string description: '' example: vero nullable: true potassium_mg: type: string description: '' example: dolorum nullable: true photo: type: string description: '' example: voluptatum nullable: true foods: type: array description: '' example: null items: type: object nullable: true properties: food_id: type: integer description: 'The id of an existing record in the food table.' example: 17 nullable: false quantity: type: string description: '' example: aut nullable: false description: type: string description: '' example: 'Autem ea et id blanditiis itaque sint ducimus quis.' nullable: true required: - food_id - quantity parameters: - in: path name: recipe_id description: 'The ID of the recipe.' example: 3 required: true schema: type: integer /api/recipes/trash: post: summary: 'Archiver plusieurs recettes' operationId: archiverPlusieursRecettes description: '' parameters: [] responses: { } tags: - Recettes requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the recipes table.' example: - 2 items: type: integer required: - ids /api/recipes/restore: post: summary: 'Restaurer plusieurs recettes' operationId: restaurerPlusieursRecettes description: '' parameters: [] responses: { } tags: - Recettes requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the recipes table.' example: - 15 items: type: integer required: - ids /api/salary-deductions/all: post: summary: 'Afficher la liste filtrée des retenues sur salaire' operationId: afficherLaListeFiltreDesRetenuesSurSalaire description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 11 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 1 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true status: type: string description: '' example: in_progress nullable: true enum: - pending_approval - in_progress - approved - rejected page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 6 nullable: true trashed: type: boolean description: '' example: false nullable: true nbre_items: type: integer description: '' example: 2 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: ivplh nullable: true /api/salary-deductions: post: summary: 'Show the form for creating a new resource.' operationId: showTheFormForCreatingANewResource description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: true content: application/json: schema: type: object properties: salary_deductions: type: array description: '' example: - [] items: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 9 nullable: false user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: true reason: type: string description: '' example: ipsum nullable: false amount: type: number description: 'Le champ value doit être au moins 0.' example: 72 nullable: false date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: false status: type: string description: '' example: rejected nullable: true enum: - pending_approval - in_progress - approved - rejected required: - user_id - reason - amount - date required: - salary_deductions '/api/salary-deductions/{salary_deduction}': get: summary: 'Afficher une retenue sur salaire spécifique' operationId: afficherUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/salary-deductions/4 could not be found.' properties: message: type: string example: 'The route api/salary-deductions/4 could not be found.' tags: - 'Retenue sur salaire / Salary deduction' put: summary: 'Mettre à jour une retenue sur salaire spécifique' operationId: mettreJourUneRetenueSurSalaireSpcifique description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true user_approve_id: type: integer description: 'The id of an existing record in the users table.' example: 5 nullable: true reason: type: string description: '' example: ipsa nullable: true amount: type: number description: 'Le champ value doit être au moins 0.' example: 57 nullable: true date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true status: type: string description: '' example: pending_approval nullable: true enum: - pending_approval - in_progress - approved - rejected parameters: - in: path name: salary_deduction description: '' example: 4 required: true schema: type: integer /api/salary-deductions/trash: post: summary: 'Archiver (soft delete) les retenues sur salaire spécifiées.' operationId: archiversoftDeleteLesRetenuesSurSalaireSpcifies description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the salary_deductions table.' example: - 7 items: type: integer required: - ids /api/salary-deductions/restore: post: summary: 'Restaurer les feedbacks archivés.' operationId: restaurerLesFeedbacksArchivs description: '' parameters: [] responses: { } tags: - 'Retenue sur salaire / Salary deduction' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the salary_deductions table.' example: - 13 items: type: integer required: - ids /api/roles/all: post: summary: 'Lister les roles' operationId: listerLesRoles description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 37 nullable: true nbre_items: type: integer description: '' example: 4 nullable: true filter_value: type: string description: '' example: sed nullable: true types: type: array description: '' example: - non items: type: string /api/roles: post: summary: 'Ajouter une liste de role' operationId: ajouterUneListeDeRole description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: voluptatem nullable: false permissions: type: array description: 'The id of an existing record in the permissions table.' example: - 2 items: type: integer description: type: string description: '' example: 'Ullam eum et qui eveniet autem qui eaque.' nullable: true type: type: string description: '' example: consequatur nullable: true required: - name - permissions '/api/roles/{role_id}': get: summary: 'Afficher un role spécifique' operationId: afficherUnRoleSpcifique description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/roles/1 could not be found.' properties: message: type: string example: 'The route api/roles/1 could not be found.' tags: - Rôles put: summary: 'Modifier ou un role spécifique' operationId: modifierOuUnRoleSpcifique description: '' parameters: [] responses: { } tags: - Rôles requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: vel nullable: true permissions: type: array description: 'The id of an existing record in the permissions table.' example: - 8 items: type: integer nullable: true description: type: string description: '' example: 'Nostrum error dolorem soluta molestiae laborum a.' nullable: true type: type: string description: '' example: voluptatem nullable: true parameters: - in: path name: role_id description: 'The ID of the role.' example: 1 required: true schema: type: integer /api/sanctions/all: post: summary: 'List sanctions' operationId: listSanctions description: '' parameters: [] responses: { } tags: - Sanctions requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: '' example: 9 nullable: true nbre_items: type: integer description: '' example: 1 nullable: true filter_value: type: string description: '' example: voluptatum nullable: true trashed: type: boolean description: '' example: false nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: true type: type: string description: '' example: necessitatibus nullable: true created_by: type: integer description: 'The id of an existing record in the users table.' example: 16 nullable: true '/api/sanctions/{sanction_id}': get: summary: 'Show sanction' operationId: showSanction description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/sanctions/13 could not be found.' properties: message: type: string example: 'The route api/sanctions/13 could not be found.' tags: - Sanctions put: summary: 'Update sanction' operationId: updateSanction description: '' parameters: [] responses: { } tags: - Sanctions requestBody: required: false content: application/json: schema: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 13 nullable: true type: type: string description: '' example: repudiandae nullable: true reasons: type: string description: '' example: sed nullable: true description: type: string description: '' example: 'Est tenetur rem perspiciatis qui qui beatae nihil.' nullable: true parameters: - in: path name: sanction_id description: 'The ID of the sanction.' example: 13 required: true schema: type: integer /api/sanctions: post: summary: 'Create sanctions' operationId: createSanctions description: '' parameters: [] responses: { } tags: - Sanctions requestBody: required: true content: application/json: schema: type: object properties: sanctions: type: array description: 'Le champ value doit contenir au moins 1 éléments.' example: - [] items: type: object properties: user_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: false type: type: string description: '' example: est nullable: false reasons: type: string description: '' example: sed nullable: false description: type: string description: '' example: 'Aspernatur quis itaque aliquam tempore voluptatem qui occaecati non.' nullable: false required: - user_id - type - reasons - description required: - sanctions /api/sanctions/trash: post: summary: Trash operationId: trash description: '' parameters: [] responses: { } tags: - Sanctions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the sanctions table.' example: - 19 items: type: integer /api/sanctions/restore: post: summary: Restore operationId: restore description: '' parameters: [] responses: { } tags: - Sanctions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the sanctions table.' example: - 10 items: type: integer /api/sanctions/destroy: post: summary: 'Destroy permanently' operationId: destroyPermanently description: '' parameters: [] responses: { } tags: - Sanctions requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the sanctions table.' example: - 6 items: type: integer /api/nursing-acts/all: post: summary: '' operationId: postApiNursingActsAll description: '' parameters: [] responses: { } tags: - 'Soins Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 61 nullable: true nbre_items: type: integer description: '' example: 15 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: ebjnsfupfwdwzjsqcb nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: true nurse_id: type: integer description: 'The id of an existing record in the users table.' example: 4 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 1 nullable: true act_type: type: string description: '' example: ut nullable: true external_prescription_ref: type: string description: '' example: facilis nullable: true nursing_act_origin: type: string description: '' example: dolor nullable: true date_from: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true date_to: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true trashed: type: boolean description: '' example: true nullable: true /api/nursing-acts: post: summary: '' operationId: postApiNursingActs description: '' parameters: [] responses: { } tags: - 'Soins Infirmiers' requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 5 nullable: false nurse_id: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: false medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 15 nullable: true nursing_act_catalog_id: type: integer description: 'The id of an existing record in the nursing_act_catalogs table.' example: 14 nullable: true patient_check_up_id: type: integer description: 'The id of an existing record in the patient_check_ups table.' example: 16 nullable: true act_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: bekdyxqdyxcuhshdpsflkschb nullable: false act_type: type: string description: '' example: magni nullable: false reason: type: string description: '' example: voluptas nullable: true acts_performed: type: string description: '' example: repudiandae nullable: true patient_evolution: type: string description: '' example: et nullable: true observations: type: string description: '' example: molestias nullable: true incidents: type: string description: '' example: voluptatem nullable: true external_prescription_ref: type: string description: '' example: laborum nullable: true nursing_act_origin: type: string description: '' example: consequuntur nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 46 nullable: true date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true hour: type: string description: 'Must be a valid date in the format H:i.' example: '16:23' nullable: true required: - patient_id - nurse_id - act_name - act_type '/api/nursing-acts/{nursing_act}': get: summary: '' operationId: getApiNursingActsNursing_act description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/nursing-acts/1 could not be found.' properties: message: type: string example: 'The route api/nursing-acts/1 could not be found.' tags: - 'Soins Infirmiers' put: summary: '' operationId: putApiNursingActsNursing_act description: '' parameters: [] responses: { } tags: - 'Soins Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 19 nullable: true nurse_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: true medical_page_id: type: integer description: 'The id of an existing record in the medical_pages table.' example: 19 nullable: true nursing_act_catalog_id: type: integer description: 'The id of an existing record in the nursing_act_catalogs table.' example: 10 nullable: true patient_check_up_id: type: integer description: 'The id of an existing record in the patient_check_ups table.' example: 18 nullable: true act_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: hklyldseegsdzudeqviuprhie nullable: true act_type: type: string description: '' example: in nullable: true reason: type: string description: '' example: molestias nullable: true acts_performed: type: string description: '' example: earum nullable: true patient_evolution: type: string description: '' example: ut nullable: true observations: type: string description: '' example: impedit nullable: true incidents: type: string description: '' example: at nullable: true external_prescription_ref: type: string description: '' example: numquam nullable: true nursing_act_origin: type: string description: '' example: quas nullable: true price: type: number description: 'Le champ value doit être au moins 0.' example: 78 nullable: true date: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true hour: type: string description: 'Must be a valid date in the format H:i.' example: '16:23' nullable: true parameters: - in: path name: nursing_act description: '' example: 1 required: true schema: type: integer /api/nursing-acts/trash: post: summary: '' operationId: postApiNursingActsTrash description: '' parameters: [] responses: { } tags: - 'Soins Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the nursing_acts table.' example: - 19 items: type: integer /api/nursing-acts/restore: post: summary: '' operationId: postApiNursingActsRestore description: '' parameters: [] responses: { } tags: - 'Soins Infirmiers' requestBody: required: false content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the nursing_acts table.' example: - 13 items: type: integer /api/dialysis-sessions/all: post: summary: 'Lister les séances de dialyse' operationId: listerLesSancesDeDialyse description: '' parameters: [] responses: { } tags: - 'Séances de dialyse' requestBody: required: false content: application/json: schema: type: object properties: page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 76 nullable: true nbre_items: type: integer description: '' example: 15 nullable: true filter_value: type: string description: 'Le champ value ne peut contenir plus de 100 caractères.' example: rhsawippvoxvmgnwz nullable: true trashed: type: boolean description: '' example: false nullable: true patient_id: type: integer description: 'The id of an existing record in the users table.' example: 10 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.' example: '2080-07-25' nullable: true /api/dialysis-sessions: post: summary: 'Ajouter une séance de dialyse' operationId: ajouterUneSanceDeDialyse description: '' parameters: [] responses: { } tags: - 'Séances de dialyse' requestBody: required: true content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 3 nullable: false doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 2 nullable: false session_start: type: string description: '' example: repellendus nullable: false session_end: type: string description: '' example: eligendi nullable: true weight_before: type: string description: '' example: enim nullable: true weight_after: type: string description: '' example: et nullable: true fluid_removed: type: string description: '' example: molestiae nullable: true blood_pressure_post: type: string description: '' example: eum nullable: true side_effects: type: string description: '' example: voluptas nullable: true description: type: string description: '' example: 'Repellat est voluptatem assumenda aliquid.' nullable: true observation: type: string description: '' example: similique nullable: true status: type: string description: '' example: pending nullable: true enum: - pending - done - cancelled required: - patient_id - doctor_id - session_start '/api/dialysis-sessions/{dialysis_session}': get: summary: 'Afficher une séance de dialyse' operationId: afficherUneSanceDeDialyse description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/dialysis-sessions/9 could not be found.' properties: message: type: string example: 'The route api/dialysis-sessions/9 could not be found.' tags: - 'Séances de dialyse' put: summary: 'Modifier une séance de dialyse' operationId: modifierUneSanceDeDialyse description: '' parameters: [] responses: { } tags: - 'Séances de dialyse' requestBody: required: false content: application/json: schema: type: object properties: patient_id: type: integer description: 'The id of an existing record in the users table.' example: 17 nullable: true doctor_id: type: integer description: 'The id of an existing record in the users table.' example: 6 nullable: true session_start: type: string description: '' example: eaque nullable: true session_end: type: string description: '' example: modi nullable: true weight_before: type: string description: '' example: null nullable: true weight_after: type: string description: '' example: null nullable: true fluid_removed: type: string description: '' example: null nullable: true blood_pressure_post: type: string description: '' example: velit nullable: true side_effects: type: string description: '' example: rem nullable: true status: type: string description: '' example: cancelled nullable: true enum: - pending - done - cancelled parameters: - in: path name: dialysis_session description: '' example: 9 required: true schema: type: integer /api/dialysis-sessions/trash: post: summary: 'Archiver plusieurs séances de dialyse' operationId: archiverPlusieursSancesDeDialyse description: '' parameters: [] responses: { } tags: - 'Séances de dialyse' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the dialysis_sessions table.' example: - 10 items: type: integer required: - ids /api/dialysis-sessions/restore: post: summary: 'Restaurer plusieurs séances de dialyse' operationId: restaurerPlusieursSancesDeDialyse description: '' parameters: [] responses: { } tags: - 'Séances de dialyse' requestBody: required: true content: application/json: schema: type: object properties: ids: type: array description: 'The id of an existing record in the dialysis_sessions table.' example: - 10 items: type: integer required: - ids /api/upload-photo: post: summary: "Upload d'un fichier" operationId: uploadDunFichier description: '' parameters: [] responses: { } tags: - 'Upload de fichier' requestBody: required: true content: application/json: schema: type: object properties: photo: type: string description: 'Le champ value ne peut contenir plus de 5120 caractères.' example: thjpqdmb nullable: false required: - photo /api/users/all: post: summary: 'Fonction qui permet de recuperer la liste des utilisateurs' operationId: fonctionQuiPermetDeRecupererLaListeDesUtilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: role_id: type: integer description: 'The id of an existing record in the roles table.' example: 5 nullable: true page_items: type: integer description: 'Le champ value doit être au moins 1.' example: 28 nullable: true nbre_items: type: integer description: '' example: 13 nullable: true filter_value: type: string description: '' example: aut nullable: true in_order_name: type: boolean description: '' example: false nullable: true start_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true end_date: type: string description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.' example: '2026-05-07' nullable: true health_center_id: type: integer description: '' example: 5 nullable: true department_id: type: integer description: '' example: 12 nullable: true coverage_type: type: string description: '' example: partial nullable: true enum: - obligatory - complementary - partial - none marital_status: type: string description: '' example: single nullable: true enum: - single - married - widowed - divorced is_patient: type: boolean description: '' example: true nullable: true insurance_name: type: string description: '' example: doloribus nullable: true company_name: type: string description: '' example: sit nullable: true role_types: type: array description: '' example: - odio items: type: string /api/users: post: summary: "Fonction qui permet d'ajouter un utilisateur sans passer par la verification" operationId: fonctionQuiPermetDajouterUnUtilisateurSansPasserParLaVerification description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: true content: application/json: schema: type: object properties: username: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: gcdqlmpdbbak nullable: true firstname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ljzsin nullable: false lastname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: jcgggduzsujskgl nullable: true gender: type: string description: '' example: female nullable: false enum: - male - female birthday: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true birth_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ojssetdy nullable: true marital_status: type: string description: '' example: single nullable: true enum: - single - married - widowed - divorced nationality: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: woxexreslkvaij nullable: true nui: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ymyhrfzxazklud nullable: true niss: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: yzrwxjinipvsasbckmdfllse nullable: true email: type: string description: 'Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.' example: qgutkowski@example.com nullable: true phone: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: g nullable: true phone2: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: kzlzpykhr nullable: true city: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: byk nullable: true address: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: pgepmtlsvayal nullable: true country: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: mlthgjdqjbpfwaqitxawlsq nullable: true password: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: DAHFFid of an existing record in the roles table.' example: 3 nullable: false health_center_id: type: integer description: '' example: 9 nullable: true department_id: type: integer description: '' example: 7 nullable: true mutuality_number: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ry nullable: true coverage_type: type: string description: '' example: obligatory nullable: true enum: - obligatory - complementary - partial - none guardian_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: fgcptfzdrkyu nullable: true guardian_contact: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: rqbxnmstvrz nullable: true guardian_relation: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: vkhkximufjjj nullable: true insurance_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: olndbqbyggahsfkdumac nullable: true insurance_number: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: pljckhoarbzfi nullable: true company_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: pucuiquujnyhcjpu nullable: true is_patient: type: boolean description: '' example: true nullable: true reference: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: wdomyzxuhxkcyratslotw nullable: true cni: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: dvpxpojlnbdzwohsbqtyeo nullable: true required: - firstname - gender - password - role_id '/api/users/{user_id}': get: summary: "Cette route permet d'afficher les informations d'un utilisateur" operationId: cetteRoutePermetDafficherLesInformationsDunUtilisateur description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: message: 'The route api/users/1 could not be found.' properties: message: type: string example: 'The route api/users/1 could not be found.' tags: - Utilisateurs parameters: - in: path name: user_id description: 'The ID of the user.' example: 1 required: true schema: type: integer '/api/users/update-password/{user}': put: summary: 'Changer un mot de passe' operationId: changerUnMotDePasse description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: true content: application/json: schema: type: object properties: password: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: HXXEk6 nullable: false required: - password parameters: - in: path name: user description: 'Optional parameter.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 '/api/users/{user}': put: summary: "Fonction permettant de mettre à jour les informations d'un utilisateur" operationId: fonctionPermettantDeMettreJourLesInformationsDunUtilisateur description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: firstname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: drdsnkgeekhymrovuxyobit nullable: true lastname: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: inyghnyucocgfwcwqprdt nullable: true gender: type: string description: '' example: male nullable: true enum: - male - female birthday: type: string description: 'Le champ value doit être une date valide.' example: '2026-05-07T16:23:58' nullable: true birth_place: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: rkufjjxlscbgxgrftlizatz nullable: true marital_status: type: string description: '' example: widowed nullable: true enum: - single - married - widowed - divorced nationality: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: unskptjtdltwqiqh nullable: true nui: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: fwhgkcmpjkhyp nullable: true niss: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ftogojfkolgkx nullable: true connexion_type: type: string description: '' example: phone nullable: true enum: - email - phone email: type: string description: 'Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.' example: rhiannon02@example.org nullable: true phone: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: xyyanegbtdlwesmcpe nullable: true phone2: type: string description: 'Le champ value ne peut contenir plus de 20 caractères.' example: hcaxdzpiigbx nullable: true city: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: wl nullable: true address: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: hknfznpm nullable: true country: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: kjhonvoqeait nullable: true password: type: string description: 'Le champ value doit contenir au moins 6 caractères.' example: 'Xc&>XH=QUzCTk6-' nullable: true photo: type: string description: '' example: ut nullable: true specialty: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: vetbbhhqlavggshuj nullable: true license_number: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: etskimjgrqzavsjxkwxcvik nullable: true years_of_experience: type: integer description: 'Le champ value doit être au moins 0.' example: 6 nullable: true work_schedule: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ujtcbcgwgexeibifncfdnxkq nullable: true role_id: type: integer description: 'The id of an existing record in the roles table.' example: 12 nullable: true health_center_id: type: integer description: '' example: 8 nullable: true department_id: type: integer description: '' example: 1 nullable: true mutuality_number: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: nitjwegsjxsed nullable: true coverage_type: type: string description: '' example: partial nullable: true enum: - obligatory - complementary - partial - none guardian_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: ezgseqhgppqvg nullable: true guardian_contact: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: qhfi nullable: true guardian_relation: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: dbggalmjafgjxlj nullable: true insurance_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: mcmpwtzjsilkbiyksctwujyo nullable: true insurance_number: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: apuepxp nullable: true company_name: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: bmelkjsyqkaxwqcixqszfqqr nullable: true is_patient: type: boolean description: '' example: true nullable: true reference: type: string description: 'Le champ value ne peut contenir plus de 255 caractères.' example: s nullable: true parameters: - in: path name: user description: 'Optional parameter.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 /api/users/trash: post: summary: 'Fonction pour le multiple archivage des utilisateurs' operationId: fonctionPourLeMultipleArchivageDesUtilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: user_ids: type: array description: '' example: - 8 items: type: integer /api/users/restore: post: summary: "Fonction de restauration multiples d'utilisateurs" operationId: fonctionDeRestaurationMultiplesDutilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: user_ids: type: array description: '' example: - 20 items: type: integer /api/users/destroy: post: summary: "Fonction de suppression définitive multiple d'utilisateurs" operationId: fonctionDeSuppressionDfinitiveMultipleDutilisateurs description: '' parameters: [] responses: { } tags: - Utilisateurs requestBody: required: false content: application/json: schema: type: object properties: user_ids: type: array description: '' example: - 5 items: type: integer tags: - name: Admissions description: "\nGestion des hospitalisations des patients" - name: Authentification description: "\nGestion de l'authentification des utilisateurs" - name: 'Avance sur salaire / Salary advance' description: "\nGestion des avances sur salaire" - name: Avertissements description: 'Gestion des avertissements' - name: "Bons d'achats" description: "\nGestion des bons d'achat" - name: 'Caisse / Facturation' description: "\nGestion des factures et paiements MS-Care" - name: 'Carnet Médical' description: "\nGestion des carnets médicaux" - name: 'Catalogue Actes Infirmiers' description: '' - name: 'Catalogue Examens Laboratoire' description: '' - name: 'Centres de santé' description: "\nGestion des centres de santé" - name: Chat description: '' - name: 'Checkups patients' description: "\nGestion des checkups patients" - name: 'Clôture de Caisse' description: "\nGestion des clôtures journalières de caisse MS-Care" - name: Contrats description: "\n Gestion des contrats employés" - name: "Demande d'approvisionnement | Supply demand" description: "Contrôleur chargé de la gestion des demandes d'approvisionnement." - name: "Demande d'explication / Explanation Request" description: "\nGestion des demandes d'explication" - name: 'Demande de congé' description: 'Gestion des demandes de congé employé' - name: 'Demandes de Permissions' description: "\nContrôleur pour la gestion des demandes de permission des utilisateurs" - name: Départements description: "\nGestion des départements" - name: Endpoints description: '' - name: 'Exécutions de planning de soins' description: "\nGestion des exécutions de planning de soins" - name: Forum description: '' - name: Laboratoire description: "\nGestion des demandes et résultats d'examens laboratoire" - name: Médicaments description: "\nGestion des médicaments" - name: 'Notes de frais / Expense Reports' description: "\nGestion des notes de frais" - name: Nourritures description: "\nGestion des nourritures" - name: "Packs d'examens de laboratoire" description: "\nGestion des packs d'examens de laboratoire" - name: 'Page Médicale' description: "\nGestion de pages d'un carnet médical" - name: Permissions description: "\nGestion des permissions" - name: 'Pharmacie — Lots & Stock' description: '' - name: 'Planification des soins' description: "\nGestion des plannings de soins infirmiers" - name: Prescriptions description: "\nGestion des prescriptions" - name: 'Prises de Médicaments' description: "\nGestion des prises de médicaments" - name: Recettes description: "\nGestion des recettes" - name: 'Retenue sur salaire / Salary deduction' description: "\nGestion des retenus sur salaire" - name: Rôles description: "\nGestion des rôles" - name: Sanctions description: "\nGestion des sanctions utilisateurs" - name: 'Soins Infirmiers' description: "\nGestion des actes infirmiers MS-Care" - name: 'Séances de dialyse' description: "\nGestion des séances de dialyse" - name: 'Upload de fichier' description: "\nGestion des uploads de fichiers" - name: Utilisateurs description: "\nGestion des utilisateurs" components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' security: - default: []