### Request Sample for Patient Search API Source: https://public-api.vsaude.com.br/api-docs/index This is a query parameter example for searching patients. The 'keyword' parameter can be used to search by name, email, date of birth, CPF, RG, or patient code. ```json { "keyword": "string" } ``` -------------------------------- ### POST /api/services/app/ScheduleService/Snapshot Source: https://public-api.vsaude.com.br/api-docs/index Retrieves scheduling options and necessary parameters for making a medical appointment. Initially, call with null parameters to get available procedures. Subsequently, call with a selected procedure ID to get available professionals. ```APIDOC ## POST /api/services/app/ScheduleService/Snapshot ### Description Retrieves scheduling options and necessary parameters for making a medical appointment. Initially, call with null parameters to get available procedures. Subsequently, call with a selected procedure ID to get available professionals. ### Method POST ### Endpoint /api/services/app/ScheduleService/Snapshot ### Parameters #### Request Body - **professionalId** (string ) - Optional - The ID of the professional. - **procedureId** (integer ) - Optional - The ID of the procedure. - **insuranceCompanyId** (integer ) - Optional - The ID of the insurance company. - **insurancePlanId** (integer ) - Optional - The ID of the insurance plan. - **careUnitId** (integer ) - Optional - The ID of the care unit. - **order** (string) - Optional - Order identifier. - **patientId** (string ) - Optional - The ID of the patient. - **doesNotSetPatientInsuranceAutomatically** (boolean) - Optional - Flag to prevent automatic setting of patient insurance. ### Request Example ```json { "professionalId": "76b04dae-ca2e-47d8-b4d8-993fdf9ec3a5", "procedureId": 0, "insuranceCompanyId": 0, "insurancePlanId": 0, "careUnitId": 0, "order": "string", "patientId": "460a6d87-689c-4661-a526-a52450bbe2d7", "doesNotSetPatientInsuranceAutomatically": true } ``` ### Response #### Success Response (200) - **procedures** (Array of objects) - Nullable - List of available medical procedures. - **procedureId** (integer ) - The ID of the procedure. - **professionals** (Array of objects) - Nullable - List of professionals for the procedure. - **professionalId** (string ) - Nullable - The ID of the professional. - **lockedProfessional** (boolean) - Indicates if the professional is locked. - **insuranceOptions** (object) - Available insurance options for the professional. - **insuranceCompanyId** (integer ) - Nullable - The ID of the insurance company. - **insurancePlanId** (integer ) - Nullable - The ID of the insurance plan. - **careUnitOptions** (Array of objects) - Nullable - Available care units for the professional. - **careUnitId** (integer ) - Nullable - The ID of the care unit. - **allowOnlinePayment** (boolean) - Indicates if online payment is allowed. - **isPaymentMandatory** (boolean) - Indicates if payment is mandatory. - **responsibilityTerms** (Array of objects) - Nullable - Responsibility terms for the procedure. - **allowedPaymentType** (Array of integers) - Nullable - Allowed payment types (0: None, 1: Credit Card, 2: Bank Slip, 3: PIX). #### Response Example ```json { "procedures": [ { "procedureId": 123, "professionals": [ { "professionalId": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "lockedProfessional": false, "insuranceOptions": { "insuranceCompanyId": 1, "insurancePlanId": 10 }, "careUnitOptions": [ { "careUnitId": 101, "allowOnlinePayment": true, "isPaymentMandatory": false } ], "responsibilityTerms": [], "allowedPaymentType": [1, 3] } ] } ] } ``` ``` -------------------------------- ### Get Scheduling Parameters (Snapshot) - POST /api/services/app/ScheduleService/Snapshot Source: https://public-api.vsaude.com.br/api-docs/index Retrieves necessary parameters for scheduling a medical appointment. Initially called with null parameters to get available procedures. Subsequent calls with a selected procedure ID return details on available professionals. ```json { "professionalId": "76b04dae-ca2e-47d8-b4d8-993fdf9ec3a5", "procedureId": 0, "insuranceCompanyId": 0, "insurancePlanId": 0, "careUnitId": 0, "order": "string", "patientId": "460a6d87-689c-4661-a526-a52450bbe2d7", "doesNotSetPatientInsuranceAutomatically": true } ``` -------------------------------- ### Get Availability Window Request Body Source: https://public-api.vsaude.com.br/api-docs/index Specifies the payload for querying available time slots within a window. It requires procedure ID and patient ID, with optional parameters for doctor, care unit, insurance, and appointment. ```json { "doctor": "string ", "procedureId": 0, "careUnitId": 0, "patientId": "string ", "appointmentId": "string ", "insuranceCompany": 0, "insurancePlanId": 0 } ``` -------------------------------- ### Get Appointments Source: https://public-api.vsaude.com.br/api-docs/index Retrieves a list of appointments based on various filter criteria. This endpoint allows filtering by doctor, professionals, procedures, patient, date range, appointment status, and care units. ```APIDOC ## POST /api/services/app/ScheduleService/Get ### Description Retrieves a list of appointments based on specified criteria such as doctor, patient, date range, and appointment status. ### Method POST ### Endpoint /api/services/app/ScheduleService/Get ### Parameters #### Query Parameters - **id** (string ) - Required - The ID to filter appointments. #### Request Body - **doctorId** (string ) - Optional - The ID of the doctor for whom to retrieve the schedule. - **professionals** (Array of strings ) - Optional - IDs of the professionals whose schedules you want to view. - **procedures** (Array of integers ) - Optional - IDs of the procedures for which you want to view the schedule. - **patientId** (string ) - Optional - If you want to get the list of appointments for a specific patient. - **excludeExternalAppointments** (boolean) - Optional - Excludes external appointments from the results. - **from** (string ) - Optional - The start of the time window for listing appointments. Example: 10/19/2022. - **range** (integer ) - Optional - The size of the time window. Enum: 1 (Daily), 2 (Weekly), 3 (Monthly), 4 (NowOn). - **showCanceledAppointments** (boolean) - Optional - Indicates whether to show canceled appointments. - **careUnits** (Array of integers ) - Optional - IDs of the Units for which you want to view the schedule. - **appointmentStatus** (Array of integers ) - Optional - IDs of the appointment statuses to view. See status enums in the description. - **includeForDeletedPatients** (boolean) - Optional - Includes appointments for deleted patients. ### Request Example ```json { "doctorId": "16e2e497-5311-4d5e-9d9e-2722fbc315eb", "professionals": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "procedures": [ 0 ], "patientId": "460a6d87-689c-4661-a526-a52450bbe2d7", "excludeExternalAppointments": true, "from": "2019-08-24T14:15:22Z", "range": 1, "showCanceledAppointments": true, "careUnits": [ 0 ], "appointmentStatus": [ 1 ], "includeForDeletedPatients": true } ``` ### Response #### Success Response (200) - **id** (string) - Nullable - The ID of the appointment. - **discriminator** (string) - Nullable. - **date** (string ) - The date and time of the appointment. - **duration** (integer ) - The duration of the appointment in minutes. - **title** (string) - Nullable - The title of the appointment. - **status** (integer ) - The status of the appointment. See status enums in the description. - **ownerUser** (object) - Information about the user who owns the appointment. - **patient** (object) - Information about the patient. - **doctor** (object) - Information about the doctor. - **remotely** (boolean) - Indicates if the appointment is remote. - **paymentRequired** (boolean) - Indicates if payment is required for the appointment. - **careUnit** (object) - Information about the care unit. - **paymentCompleted** (boolean) - Indicates if payment has been completed. - **isPrivateInsurance** (boolean) - Indicates if private insurance is used. - **specialty** (object) - Information about the specialty. - **procedure** (object) - Information about the procedure. - **agreement** (object) - Information about the agreement. - **insuranceCompany** (object) - Information about the insurance company. - **insurancePlan** (object) - Information about the insurance plan. - **paymentId** (integer ) - The ID of the payment. #### Response Example ```json [ { "id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "discriminator": "APPOINTMENT", "date": "2024-03-15T10:00:00Z", "duration": 30, "title": "Consulta de Rotina", "status": 3, "ownerUser": { "id": "user-123", "name": "Nome do Paciente" }, "patient": { "id": "patient-456", "name": "Nome do Paciente" }, "doctor": { "id": "doctor-789", "name": "Dr. Nome do Médico", "crm": "12345/SP" }, "remotely": false, "paymentRequired": true, "careUnit": { "id": 10, "name": "Unidade Central" }, "paymentCompleted": false, "isPrivateInsurance": false, "specialty": { "id": 5, "name": "Cardiologia" }, "procedure": { "id": 101, "name": "Check-up Geral" }, "agreement": { "id": 202, "name": "Convênio XYZ" }, "insuranceCompany": { "id": 303, "name": "Seguradora ABC" }, "insurancePlan": { "id": 404, "name": "Plano Padrão" }, "paymentId": 505 } ] ``` **Appointment Status Enums:** - 1 = Created - 10 = Created by professional - 11 = Created by employee - 2 = Rescheduled by patient - 20 = Rescheduled by professional - 21 = Rescheduled by employee - 3 = Confirmed by patient - 30 = Confirmed by professional - 31 = Confirmed by employee - 4 = Rejected by patient - 40 = Rejected by professional - 41 = Rejected by employee - 5 = Canceled by patient - 50 = Canceled by professional - 51 = Canceled by employee - 6 = Patient no-show - 7 = Professional no-show - 8 = Finalized by patient - 81 = Finalized by professional - 82 = Finalized by employee - 9 = Waiting for service - 90 = In progress - 100 = Expired - 110 = Deleted **AppointmentsQueryRange Enum:** - 1 = Daily - 2 = Weekly - 3 = Monthly - 4 = NowOn ``` -------------------------------- ### Get Availability Request Body Source: https://public-api.vsaude.com.br/api-docs/index Defines the structure for requesting available appointment slots. Key fields include medical specialty, doctor details, patient ID, and desired date. It supports optional parameters like proposed duration and care unit. ```json { "medicalSpecialty": 0, "proposedDuration": 0, "doctor": "4c05b590-94eb-4f82-bdd4-37f069dbe273", "doctorUserId": 0, "procedureId": 0, "careUnitId": 0, "isProfessionalRequired": true, "patient": "a7129932-7174-432d-a8dd-570510e145bb", "appointmentId": "24c6adb3-18be-4108-aa61-3d58879e05a2", "date": "2019-08-24T14:15:22Z", "client": 0, "host": 0 } ``` -------------------------------- ### Request Sample for InsurancePlanService GetAll Source: https://public-api.vsaude.com.br/api-docs/index This is a placeholder for the request sample for the InsurancePlanService GetAll method. The actual request body structure is not provided in the source text, but it is expected to follow similar pagination and sorting patterns as other listing endpoints. -------------------------------- ### Request Sample for InsuranceCompanyService GetAll Source: https://public-api.vsaude.com.br/api-docs/index This sample shows the JSON request body for listing insurance companies with pagination and sorting. It allows filtering by name, procedure ID, and an option to include insurance plans. The response provides the total count and a list of InsuranceCompanyDto objects. ```json { "name": "string", "procedure": 0, "includeInsurancePlans": true, "sorting": "string", "skipCount": 0, "maxResultCount": 1 } ``` -------------------------------- ### POST /api/services/app/HealthCareUnitService/GetAll Source: https://public-api.vsaude.com.br/api-docs/index Retrieve all registered healthcare units in a paginated and ordered manner. ```APIDOC ## POST /api/services/app/HealthCareUnitService/GetAll ### Description Retorna todas as unidades de atendimento cadastradas de forma paginada e ordenada ### Method POST ### Endpoint https://public-api.vsaude.com.br/api/services/app/HealthCareUnitService/GetAll ### Parameters (No parameters are explicitly defined for this endpoint in the provided text.) ### Response #### Success Response (200) (Response schema not detailed in the provided text.) ### Request Example (No request example provided.) ### Response Example (No sample provided for 200 success response.) ``` -------------------------------- ### POST /api/services/app/ScheduleService/GetAvailabilityWindow Source: https://public-api.vsaude.com.br/api-docs/index Retrieves the next 10 days with available appointment slots, listing times and professionals available for each slot. ```APIDOC ## POST /api/services/app/ScheduleService/GetAvailabilityWindow ### Description Retrieves the next 10 days with available appointment slots, listing times and professionals available for each slot. ### Method POST ### Endpoint /api/services/app/ScheduleService/GetAvailabilityWindow ### Parameters #### Request Body - **doctor** (string(uuid)) - Optional - The ID of the doctor. - **procedureId** (integer) - Required - The ID of the procedure. - **careUnitId** (integer) - Optional - The ID of the care unit. - **patientId** (string(uuid)) - Required - The ID of the patient. - **appointmentId** (string(uuid)) - Optional - The ID of the appointment if rescheduling. - **insuranceCompany** (integer) - Optional - The ID of the insurance company. - **insurancePlanId** (integer) - Optional - The ID of the insurance plan. ### Response #### Success Response (200) - **date** (string(date-time)) - The date with availability. - **availability** (Array of objects) - A list of professional availabilities for the given date. Each object contains: - **availability** (Array of objects) - A list of available time slots for the professionals. #### Response Example ```json [ { "date": "2023-10-27T00:00:00Z", "availability": [ { "professionalId": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "professionalName": "Dr. Jane Doe", "times": [ "2023-10-27T09:00:00Z", "2023-10-27T11:00:00Z" ] }, { "professionalId": "f0e9d8c7-b6a5-4321-fedc-ba9876543210", "professionalName": "Dr. John Smith", "times": [ "2023-10-27T10:00:00Z", "2023-10-27T14:00:00Z" ] } ] }, { "date": "2023-10-28T00:00:00Z", "availability": [ { "professionalId": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "professionalName": "Dr. Jane Doe", "times": [ "2023-10-28T09:30:00Z", "2023-10-28T15:00:00Z" ] } ] } ] ``` ``` -------------------------------- ### Request Sample for HealthCareUnitService GetAll Source: https://public-api.vsaude.com.br/api-docs/index This is a sample JSON payload for the 'GetAll' method of the HealthCareUnitService. It includes parameters for sorting, skipping records, and limiting the maximum number of results. The response schema indicates it returns a total count and an array of HealthCareUnitDto objects. ```json { "sorting": "string", "skipCount": 0, "maxResultCount": 1 } ``` -------------------------------- ### List Patient Files (application/json) Source: https://public-api.vsaude.com.br/api-docs/index Retrieves a list of all files and folders for a specific patient. Accepts patient ID and optional parameters like user ID, sorting preference, and a flag to include deleted items. Returns a structured list of file system objects. ```json { "patient": "a7129932-7174-432d-a8dd-570510e145bb", "user": 0, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "sorting": "string", "deletedOnly": true } ``` -------------------------------- ### POST /api/services/app/FilesService/ListFolder Source: https://public-api.vsaude.com.br/api-docs/index Retrieve all files and folders associated with a patient. Supports filtering and sorting options. ```APIDOC ## POST /api/services/app/FilesService/ListFolder ### Description Retorna todos os arquivos e pastas do paciente. ### Method POST ### Endpoint https://public-api.vsaude.com.br/api/services/app/FilesService/ListFolder ### Parameters #### Request Body - **patient** (string ) - Required - **user** (integer ) - Optional - Nullable - **id** (string ) - Required - **sorting** (string) - Optional - Nullable - **deletedOnly** (boolean) - Optional - Nullable ### Response #### Success Response (200) - **folders** (Array of objects (FileSystemFolder)) - Nullable - **files** (Array of objects (FileSystemFile)) - Nullable - **uploadedFile** (string ) - - **uploadedFileName** (string) - Nullable - **uploadedFilePath** (string) - Nullable - **highlighted** (boolean) - - **icon** (string) - Nullable - **order** (integer ) - - **tenantId** (integer ) - Related to tenant - **projectId** (string ) - Related to project - **name** (string) - Nullable - Name - **parent** (string ) - Parent's container - **path** (string) - Nullable - Path of the folder or file on the FileSystem - **system** (boolean) - System's folders, or files - **isReadOnly** (boolean) - Can the file be edited/deleted - **size** (integer ) - File's size - **isHidden** (boolean) - - **key** (string) - Nullable - **isOwner** (boolean) - - **allowDelete** (boolean) - - **isDirectory** (boolean) - - **ownerUser** (integer ) - Nullable - **ownerPatient** (string ) - - **allowMove** (boolean) - - **isDeleted** (boolean) - - **deleterUserId** (integer ) - Nullable - **deletionTime** (string ) - Nullable - **lastModificationTime** (string ) - Nullable - **lastModifierUserId** (integer ) - Nullable - **creationTime** (string ) - - **creatorUserId** (integer ) - Nullable - **id** (string ) - ### Request Example ```json { "patient": "a7129932-7174-432d-a8dd-570510e145bb", "user": 0, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "sorting": "string", "deletedOnly": true } ``` ### Response Example (No sample provided for 200 success response) ``` -------------------------------- ### POST /api/services/app/PatientService/Search Source: https://public-api.vsaude.com.br/api-docs/index Searches for patients based on a keyword. This is useful for finding existing patients to schedule procedures for. ```APIDOC ## POST /api/services/app/PatientService/Search ### Description Searches for patients based on a keyword. This is useful for finding existing patients to schedule procedures for. ### Method POST ### Endpoint /api/services/app/PatientService/Search ### Parameters #### Query Parameters - **keyword** (string) - Nullable - Termo usado para pesquisar pelo nome ou Email. Se formatado, pode ser data de nascimento (no formato 'dd/MM/yyyy'), CPF, RG ou código do paciente. ### Response #### Success Response (200) - **id** (string) - - **name** (string) - Nullable - - **phoneNumber** (string) - Nullable - - **personalIdentifier** (string) - Nullable - - **dni** (string) - Nullable - - **gender** (integer) - - **insurance** (object) - - **sequentialNumber** (integer) - #### Response Example ```json [ { "id": "string (uuid)", "name": "string", "phoneNumber": "string", "personalIdentifier": "string", "dni": "string", "gender": 0, "insurance": {}, "sequentialNumber": 0 } ] ``` ``` -------------------------------- ### POST /api/services/app/PatientService/Create Source: https://public-api.vsaude.com.br/api-docs/index Creates a new patient record. This endpoint can also generate user credentials for patient access. It is recommended to search for a patient first to avoid duplicates. ```APIDOC ## POST /api/services/app/PatientService/Create ### Description Creates a new patient record. This endpoint can also generate user credentials for patient access. It is recommended to search for a patient first to avoid duplicates. ### Method POST ### Endpoint /api/services/app/PatientService/Create ### Parameters #### Request Body - **id** (string) - - **personalIdentifier** (string) - Nullable - - **dni** (string) - Nullable - - **name** (string) - Nullable - - **gender** (integer) - - **birthday** (string) - Nullable - Format: date-time - **email** (string) - Nullable - - **password** (string) - Nullable - - **phone** (string) - Nullable - - **bloodType** (string) - Nullable - - **weight** (string) - Nullable - - **height** (string) - Nullable - - **address** (object) - - **comments** (string) - Nullable - - **birthInfo** (object) - - **mother** (object) - - **father** (object) - - **partner** (object) - - **sponsor** (object) - - **tags** (Array of integers) - Nullable - - **insurance** (object) - - **profession** (string) - Nullable - - **photo** (string) - Nullable - ### Response #### Success Response (200) Success #### Response Example ```json { "id": "string (uuid)", "personalIdentifier": "string", "dni": "string", "name": "string", "gender": 0, "birthday": "string (date-time)", "email": "string", "password": "string", "phone": "string", "bloodType": "string", "weight": "string", "height": "string", "address": {}, "comments": "string", "birthInfo": {}, "mother": {}, "father": {}, "partner": {}, "sponsor": {}, "tags": [ 0 ], "insurance": {}, "profession": "string", "photo": "string" } ``` ``` -------------------------------- ### Request Sample for HealthProfessionalService GetAll Source: https://public-api.vsaude.com.br/api-docs/index This JSON payload is used to list health professionals with pagination and sorting options. You can filter by text (name) or professional ID (UUID). The response includes the total count and a list of HealthProfessionalDto objects. ```json { "text": "string", "professional": "018ef0d2-8ade-4bda-87b9-8f38f962e68a", "sorting": "string", "skipCount": 0, "maxResultCount": 1 } ``` -------------------------------- ### Request Sample for HealthProfessionalService AuthenticateHealthProfessional Source: https://public-api.vsaude.com.br/api-docs/index This sample demonstrates the JSON request body for authenticating a health professional. If the professional does not exist, they will be created and authenticated. The response includes an access token and its expiration details. ```json { "email": "string", "name": "string" } ``` -------------------------------- ### POST /api/services/app/MedicalProcedureService/GetAll Source: https://public-api.vsaude.com.br/api-docs/index Retrieves a paginated and sorted list of all medical procedures. This endpoint is useful for fetching procedure data for display or selection. ```APIDOC ## POST /api/services/app/MedicalProcedureService/GetAll ### Description Retrieves a paginated and sorted list of all medical procedures. ### Method POST ### Endpoint /api/services/app/MedicalProcedureService/GetAll ### Parameters #### Request Body - **insuranceCompany** (string) - Nullable - - **parent** (integer) - Nullable - - **exclude** (Array of integers) - Nullable - - **sorting** (string) - Nullable - - **skipCount** (integer) - Optional - Minimum value: 0, Maximum value: 2147483647 - **maxResultCount** (integer) - Optional - Minimum value: 1, Maximum value: 2147483647 ### Request Example ```json { "insuranceCompany": "string", "parent": 0, "exclude": [ 0 ], "sorting": "string", "skipCount": 0, "maxResultCount": 1 } ``` ### Response #### Success Response (200) - **totalCount** (integer) - - **items** (Array of objects (InsurancePlanDto)) - Nullable - #### Response Example ```json { "totalCount": 0, "items": [ { "id": "string", "name": "string", "insuranceCompany": "string", "description": "string" } ] } ``` ``` -------------------------------- ### Insurance Plan Service - List All Source: https://public-api.vsaude.com.br/api-docs/index Retrieves a paginated and sorted list of all insurance plans. No specific filtering options are detailed in the provided text. ```APIDOC ## POST /api/services/app/InsurancePlanService/GetAll ### Description Retrieves all insurance plans in a paginated and sorted manner. The provided text does not detail specific filtering options for this endpoint. ### Method POST ### Endpoint /api/services/app/InsurancePlanService/GetAll ### Parameters *Note: The provided text does not detail the request body schema or parameters for this endpoint.* ### Request Example ```json { "message": "Request body schema not provided." } ``` ### Response #### Success Response (200) *Note: The provided text does not detail the response schema for this endpoint.* #### Response Example ```json { "message": "Response schema not provided." } ``` ``` -------------------------------- ### POST /api/services/app/ScheduleService/GetAll Source: https://public-api.vsaude.com.br/api-docs/index Retrieves all patient appointments within a specified time interval. Returns appointment details with various status codes indicating the appointment state (created, rescheduled, confirmed, rejected, cancelled, completed, etc.). ```APIDOC ## POST /api/services/app/ScheduleService/GetAll ### Description Lists all appointments for the authenticated patient within a specified date range. Includes comprehensive appointment status tracking with 20+ different status codes. ### Method POST ### Endpoint https://public-api.vsaude.com.br/api/services/app/ScheduleService/GetAll ### Parameters #### Request Body Query parameters for date range filtering (refer to API documentation for specific field names) ### Appointment Status Codes **Created Status** - 1 = Created - 10 = Created by professional - 11 = Created by employee **Rescheduled Status** - 2 = Rescheduled by patient - 20 = Rescheduled by professional - 21 = Rescheduled by employee **Confirmed Status** - 3 = Confirmed by patient - 30 = Confirmed by professional - 31 = Confirmed by employee **Rejected Status** - 4 = Rejected by patient - 40 = Rejected by professional - 41 = Rejected by employee **Cancelled Status** - 5 = Cancelled by patient - 50 = Cancelled by professional - 51 = Cancelled by employee **No-Show/Completion Status** - 6 = Patient did not show up - 7 = Professional did not show up - 8 = Completed by patient - 81 = Completed by professional - 82 = Completed by employee **Service Status** - 9 = Waiting for appointment - 90 = In progress - 100 = Expired - 110 = Deleted ### Authentication - **Header Required**: VSAUDE-API-KEY - **Authorization**: Bearer {AccessToken} ``` -------------------------------- ### Request Sample for Insurance Plan API Source: https://public-api.vsaude.com.br/api-docs/index This JSON payload is used to request insurance plans. It allows filtering by name, company, sorting options, and pagination controls like skipCount and maxResultCount. ```json { "name": "string", "company": "string", "sorting": "string", "skipCount": 0, "maxResultCount": 1 } ``` -------------------------------- ### Request Sample for Patient Creation API Source: https://public-api.vsaude.com.br/api-docs/index This JSON payload is used to create a new patient record. It includes fields for personal identification, contact information, medical details, and relationships. ```json { "id": "string ", "personalIdentifier": "string Nullable", "dni": "string Nullable", "name": "string Nullable", "gender": 0, "birthday": "string Nullable", "email": "string Nullable", "password": "string Nullable", "phone": "string Nullable", "bloodType": "string Nullable", "weight": "string Nullable", "height": "string Nullable", "address": {}, "comments": "string Nullable", "birthInfo": {}, "mother": {}, "father": {}, "partner": {}, "sponsor": {}, "tags": [ 0 ], "insurance": {}, "profession": "string Nullable", "photo": "string Nullable" } ``` -------------------------------- ### Upload Patient File (multipart/form-data) Source: https://public-api.vsaude.com.br/api-docs/index Uploads a file associated with a patient. Requires a file binary and optional parameters like parent folder ID, owner user, owner patient, and file name. Returns metadata about the uploaded file. ```json { "doctor": "4c05b590-94eb-4f82-bdd4-37f069dbe273", "procedureId": 0, "careUnitId": 0, "patientId": "460a6d87-689c-4661-a526-a52450bbe2d7", "appointmentId": "24c6adb3-18be-4108-aa61-3d58879e05a2", "insuranceCompany": 0, "insurancePlanId": 0 } ``` -------------------------------- ### Insurance Company Service - List All Source: https://public-api.vsaude.com.br/api-docs/index Retrieves a paginated and sorted list of all insurance companies. Optional filters for name and procedure ID are available, and can include insurance plans. ```APIDOC ## POST /api/services/app/InsuranceCompanyService/GetAll ### Description Retrieves all insurance companies in a paginated and sorted manner. Filters for name and procedure ID are optional, and can include insurance plans. ### Method POST ### Endpoint /api/services/app/InsuranceCompanyService/GetAll ### Parameters #### Request Body - **name** (string) - Nullable - The name of the insurance company to filter by. - **procedure** (integer) - Nullable - The ID of the procedure to filter by. - **includeInsurancePlans** (boolean) - Whether to include insurance plans in the response. - **sorting** (string) - Nullable - The sorting criteria for the results. - **skipCount** (integer) - The number of records to skip (minimum 0). - **maxResultCount** (integer) - The maximum number of records to return (minimum 1). ### Request Example ```json { "name": "string", "procedure": 0, "includeInsurancePlans": true, "sorting": "string", "skipCount": 0, "maxResultCount": 1 } ``` ### Response #### Success Response (200) - **totalCount** (integer) - The total number of insurance companies available. - **items** (Array of objects) - A list of InsuranceCompanyDto objects. #### Response Example ```json { "totalCount": 0, "items": [ { // InsuranceCompanyDto object structure not detailed in source } ] } ``` ``` -------------------------------- ### POST /api/services/app/ScheduleService/Waiting Source: https://public-api.vsaude.com.br/api-docs/index Marks a patient as waiting for their appointment. This endpoint can include additional comments. ```APIDOC ## POST /api/services/app/ScheduleService/Waiting ### Description Marks a patient as waiting for their appointment. This endpoint can include additional comments. ### Method POST ### Endpoint /api/services/app/ScheduleService/Waiting ### Parameters #### Request Body - **id** (string ) - Required - The unique identifier of the appointment. - **comments** (string) - Optional - Additional comments regarding the patient's waiting status. ### Request Example ```json { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "comments": "string" } ``` ### Response #### Success Response (200) (No specific schema provided for the success response in the input, typically returns a success status or updated appointment details) #### Response Example (No sample response provided in the input) ``` -------------------------------- ### POST /api/services/app/FilesService/Upload Source: https://public-api.vsaude.com.br/api-docs/index Upload a file to be associated with a patient. Supports various content types for the request payload and provides detailed response schema upon success. ```APIDOC ## POST /api/services/app/FilesService/Upload ### Description Utilizado para adicionar arquivo ao paciente. ### Method POST ### Endpoint https://public-api.vsaude.com.br/api/services/app/FilesService/Upload ### Parameters #### Query Parameters - **parent** (string ) - Required - Id da pasta onde o arquivo será armazenado. Utilize "00000000-0000-0000-0000-000000000000" para salvar na pasta raíz do paciente - **ownerUser** (integer ) - Optional - Nullable - **ownerPatient** (string ) - Required - Id do paciente que receberá o arquivo - **fileName** (string) - Optional - Nullable - Nome do arquivo com formato, ex.: Laudo.pdf #### Request Body - **file** (string ) - Optional - Nullable - Arquivo a ser adicionado (multipart/form-data) ### Response #### Success Response (200) - **tenantId** (integer ) - Related to tenant - **projectId** (string ) - Related to project - **name** (string) - Nullable - Name - **parent** (string ) - Parent's container - **path** (string) - Nullable - Path of the folder or file on the FileSystem - **system** (boolean) - System's folders, or files - **isReadOnly** (boolean) - Can the file be edited/deleted - **size** (integer ) - File's size - **isHidden** (boolean) - - **key** (string) - Nullable - **isOwner** (boolean) - - **allowDelete** (boolean) - - **isDirectory** (boolean) - - **ownerUser** (integer ) - Nullable - **ownerPatient** (string ) - - **allowMove** (boolean) - - **isDeleted** (boolean) - - **deleterUserId** (integer ) - Nullable - **deletionTime** (string ) - Nullable - **lastModificationTime** (string ) - Nullable - **lastModifierUserId** (integer ) - Nullable - **creationTime** (string ) - - **creatorUserId** (integer ) - Nullable - **id** (string ) - ### Request Example ```json { "doctor": "4c05b590-94eb-4f82-bdd4-37f069dbe273", "procedureId": 0, "careUnitId": 0, "patientId": "460a6d87-689c-4661-a526-a52450bbe2d7", "appointmentId": "24c6adb3-18be-4108-aa61-3d58879e05a2", "insuranceCompany": 0, "insurancePlanId": 0 } ``` ### Response Example (No sample provided for 200 success response) ``` -------------------------------- ### Health Professional Service - Authenticate Source: https://public-api.vsaude.com.br/api-docs/index Authenticates a health professional. If the professional does not exist by the provided email, they will be created and authenticated. ```APIDOC ## POST /api/services/app/HealthProfessionalService/AuthenticateHealthProfessional ### Description Authenticates a health professional. If the professional does not exist by the provided email, they will be created and authenticated. ### Method POST ### Endpoint /api/services/app/HealthProfessionalService/AuthenticateHealthProfessional ### Parameters #### Request Body - **email** (string) - Nullable - The email address of the health professional. - **name** (string) - Nullable - The name of the health professional. ### Request Example ```json { "email": "string", "name": "string" } ``` ### Response #### Success Response (200) - **accessToken** (string) - Nullable - The access token for the authenticated professional. - **encryptedAccessToken** (string) - Nullable - The encrypted access token. - **expireInSeconds** (integer) - The expiration time of the token in seconds. - **waitingForActivation** (boolean) - Indicates if the professional is waiting for activation. #### Response Example ```json { "accessToken": "string", "encryptedAccessToken": "string", "expireInSeconds": 0, "waitingForActivation": true } ``` ``` -------------------------------- ### Health Professional Service - List All Source: https://public-api.vsaude.com.br/api-docs/index Retrieves a paginated and sorted list of all health professionals. Optional filters for name and professional ID are available. ```APIDOC ## POST /api/services/app/HealthProfessionalService/GetAll ### Description Retrieves all health professionals in a paginated and sorted manner. Filters for name (text) and professional ID are optional. ### Method POST ### Endpoint /api/services/app/HealthProfessionalService/GetAll ### Parameters #### Request Body - **text** (string) - Nullable - The name of the professional to filter by (optional). - **professional** (string) - Nullable - The UUID of the professional to filter by (optional). - **sorting** (string) - Nullable - The sorting criteria for the results. - **skipCount** (integer) - The number of records to skip (minimum 0). - **maxResultCount** (integer) - The maximum number of records to return (minimum 1). ### Request Example ```json { "text": "string", "professional": "018ef0d2-8ade-4bda-87b9-8f38f962e68a", "sorting": "string", "skipCount": 0, "maxResultCount": 1 } ``` ### Response #### Success Response (200) - **totalCount** (integer) - The total number of health professionals available. - **items** (Array of objects) - A list of HealthProfessionalDto objects. #### Response Example ```json { "totalCount": 0, "items": [ { // HealthProfessionalDto object structure not detailed in source } ] } ``` ``` -------------------------------- ### Medical Appointments Response Schema - JSON Source: https://public-api.vsaude.com.br/api-docs/index Response schema for medical appointments query returning an array of appointment objects with complete details including appointment metadata, patient and doctor information, care unit, specialty, procedure, payment status, and insurance information. ```json [ { "id": "string", "discriminator": "string", "date": "2019-08-24T14:15:22Z", "duration": 0, "title": "string", "status": 1, "ownerUser": { "object": "UserIdentifier" }, "patient": { "object": "MedicalAppointmentEntryPatient" }, "doctor": { "object": "MedicalAppointmentEntryProfessional" }, "remotely": true, "paymentRequired": true, "careUnit": { "object": "MedicalAppointmentEntryUnit" }, "paymentCompleted": true, "isPrivateInsurance": true, "specialty": { "object": "MedicalAppointmentEntrySpecialty" }, "procedure": { "object": "MedicalAppointmentEntryProcedure" }, "agreement": { "object": "MedicalAppointmentEntryAgreement" }, "insuranceCompany": { "object": "MedicalAppointmentEntryInsuranceCompany" }, "insurancePlan": { "object": "MedicalAppointmentEntryInsurancePlan" }, "paymentId": 0 } ] ```