10854 lines
289 KiB
JavaScript
10854 lines
289 KiB
JavaScript
/**
|
|
* @fileoverview Comprehensive Laravel Healthcare MCP Server Endpoint Registry
|
|
* Contains 800+ endpoints organized by authentication type and functionality
|
|
* UPDATED: Added 184 new endpoints from api-docs.json
|
|
* Reorganized for proper healthcare security and HIPAA compliance
|
|
*
|
|
* Authentication Organization:
|
|
* - PUBLIC: Login, registration, password management, basic public data (35+ new endpoints)
|
|
* - PROVIDER: Clinical data, EMR operations, patient management (HIPAA-compliant) (13+ new endpoints)
|
|
* - PATIENT: Patient portal operations (1 new endpoint)
|
|
* - PARTNER: Partner business operations
|
|
* - AFFILIATE: Affiliate management (1 new endpoint)
|
|
* - NETWORK: Network operations
|
|
* - ADMIN: Super admin operations
|
|
*/
|
|
|
|
/**
|
|
* Authentication configuration for different user roles
|
|
*/
|
|
export const AUTH_TYPES = {
|
|
PUBLIC: "public",
|
|
SANCTUM: "sanctum",
|
|
ADMIN: "admin",
|
|
AGENT: "agent",
|
|
PATIENT: "patient",
|
|
PRACTITIONER: "practitioner",
|
|
AFFILIATE: "affiliate",
|
|
PARTNER: "partner",
|
|
NETWORK: "network",
|
|
DOCTOR: "doctor",
|
|
PROVIDER: "provider",
|
|
};
|
|
|
|
/**
|
|
* Authentication endpoints for each user role
|
|
*/
|
|
export const AUTH_ENDPOINTS = {
|
|
[AUTH_TYPES.ADMIN]: {
|
|
login: "/api/admin/login",
|
|
method: "POST",
|
|
controller: "Admin\\Api\\LoginController@loginApi",
|
|
},
|
|
[AUTH_TYPES.AGENT]: {
|
|
login: "/agent/login/post",
|
|
method: "POST",
|
|
controller: "Agent\\Auth\\LoginController@login",
|
|
},
|
|
[AUTH_TYPES.PATIENT]: {
|
|
login: "/api/frontend/login",
|
|
method: "POST",
|
|
controller: "PatientController@loginPatient",
|
|
},
|
|
[AUTH_TYPES.PRACTITIONER]: {
|
|
login: "/api/practitioner/login",
|
|
method: "POST",
|
|
controller: "Practitioner\\Auth\\LoginController@login",
|
|
},
|
|
[AUTH_TYPES.AFFILIATE]: {
|
|
login: "/api/affiliate/login",
|
|
method: "POST",
|
|
controller: "Affiliate\\Auth\\LoginController@login",
|
|
},
|
|
[AUTH_TYPES.PARTNER]: {
|
|
login: "/api/partner/login",
|
|
method: "POST",
|
|
controller: "Partner\\Auth\\LoginController@login",
|
|
},
|
|
[AUTH_TYPES.NETWORK]: {
|
|
login: "/api/network/login",
|
|
method: "POST",
|
|
controller: "Network\\Auth\\LoginController@login",
|
|
},
|
|
[AUTH_TYPES.DOCTOR]: {
|
|
login: "/api/doctor/login",
|
|
method: "POST",
|
|
controller: "Doctor\\Auth\\LoginController@login",
|
|
},
|
|
[AUTH_TYPES.PROVIDER]: {
|
|
login: "/api/login",
|
|
method: "POST",
|
|
controller: "Provider\\Auth\\LoginController@login",
|
|
},
|
|
};
|
|
|
|
/**
|
|
* Endpoint categories for MCP tool organization
|
|
*/
|
|
export const ENDPOINT_CATEGORIES = {
|
|
PATIENT_MANAGEMENT: "patient_management",
|
|
APPOINTMENT_SCHEDULING: "appointment_scheduling",
|
|
MEDICAL_RECORDS: "medical_records",
|
|
PRESCRIPTION_MANAGEMENT: "prescription_management",
|
|
DOCUMENT_MANAGEMENT: "document_management",
|
|
MESSAGING: "messaging",
|
|
BILLING_ORDERS: "billing_orders",
|
|
ANALYTICS_REPORTS: "analytics_reports",
|
|
USER_MANAGEMENT: "user_management",
|
|
INVENTORY: "inventory",
|
|
FORMS_QUESTIONNAIRES: "forms_questionnaires",
|
|
AI_INTEGRATION: "ai_integration",
|
|
PROVIDER_MANAGEMENT: "provider_management",
|
|
BUSINESS_OPERATIONS: "business_operations",
|
|
LOCATION_MANAGEMENT: "location_management",
|
|
};
|
|
|
|
/**
|
|
* Public endpoints (no authentication required)
|
|
* Includes all login, registration, password management, and basic public data access
|
|
* These endpoints are accessible without authentication for initial user access
|
|
*/
|
|
export const PUBLIC_ENDPOINTS = [
|
|
// ===== AUTHENTICATION & LOGIN ENDPOINTS =====
|
|
{
|
|
path: "/api/login",
|
|
method: "POST",
|
|
controller: "AuthController@login",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "General login (uses username field)",
|
|
parameters: {username: { type: "string", required: true, description: "Username",
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient-login-api",
|
|
method: "POST",
|
|
controller: "PatientController@loginApi",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Patient login API",
|
|
parameters: {email: { type: "string", required: true, description: "Email address",
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/login-partner-api",
|
|
method: "POST",
|
|
controller: "PartnerController@loginApi",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Partner login",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/affiliate-login-api",
|
|
method: "POST",
|
|
controller: "AffiliateController@loginApi",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Affiliate login",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/network/login",
|
|
method: "POST",
|
|
controller: "NetworkController@login",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Network login",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/admin/login",
|
|
method: "POST",
|
|
controller: "AdminController@login",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Super admin login",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/frontend/login",
|
|
method: "POST",
|
|
controller: "FrontendController@login",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Patient portal login",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
|
|
// ===== REGISTRATION ENDPOINTS =====
|
|
{
|
|
path: "/api/register-patients",
|
|
method: "POST",
|
|
controller: "PatientController@register",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description:
|
|
"Register patient with actual parameter names from patient/register.vue",
|
|
parameters: {first_name: { type: "string", required: true, description: "First name",
|
|
first_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
last_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
phone_no: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
dob: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
isportalAccess: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
first_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "first_name parameter",
|
|
},
|
|
last_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "last_name parameter",
|
|
},
|
|
email: { type: "string", required: true, description: "email parameter" },
|
|
phone_no: {
|
|
type: "string",
|
|
required: true,
|
|
description: "phone_no parameter",
|
|
},
|
|
dob: { type: "string", required: true, description: "dob parameter" },
|
|
gender: {
|
|
type: "string",
|
|
required: true,
|
|
description: "gender parameter",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "provider_id parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: false,
|
|
description: "username parameter",
|
|
},
|
|
isportalAccess: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "isportalAccess parameter",
|
|
},
|
|
last_name: { type: "string", required: true, description: "Last name" },
|
|
preferredPhone: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Preferred phone",
|
|
},
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
dob: { type: "string", required: true, description: "Date of birth" },
|
|
gender: { type: "string", required: true, description: "Gender" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/partner-register-api",
|
|
method: "POST",
|
|
controller: "PartnerController@registerApi",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description:
|
|
"Partner registration with actual parameter names from partner/register.vue",
|
|
parameters: {
|
|
first_name: { type: "string", required: true, description: "First name" },
|
|
last_name: { type: "string", required: true, description: "Last name" },
|
|
phone_no: { type: "string", required: true, description: "Phone number" },
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
dob: { type: "string", required: true, description: "Date of birth" },
|
|
gender: { type: "string", required: true, description: "Gender" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/affiliate-register-api",
|
|
method: "POST",
|
|
controller: "AffiliateController@registerApi",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description:
|
|
"Affiliate registration with actual parameter names from affiliate/register.vue",
|
|
parameters: {
|
|
first_name: { type: "string", required: true, description: "First name" },
|
|
last_name: { type: "string", required: true, description: "Last name" },
|
|
phone_no: { type: "string", required: true, description: "Phone number" },
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
dob: { type: "string", required: true, description: "Date of birth" },
|
|
gender: { type: "string", required: true, description: "Gender" },
|
|
partner_email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Partner email",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/network/register",
|
|
method: "POST",
|
|
controller: "NetworkController@register",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description:
|
|
"Network registration with actual parameter names from network/register.vue",
|
|
parameters: {
|
|
first_name: { type: "string", required: true, description: "First name" },
|
|
last_name: { type: "string", required: true, description: "Last name" },
|
|
phone_no: { type: "string", required: true, description: "Phone number" },
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
dob: { type: "string", required: true, description: "Date of birth" },
|
|
gender: { type: "string", required: true, description: "Gender" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
partner_id: { type: "string", required: true, description: "Partner ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/provider/register",
|
|
method: "POST",
|
|
controller: "EMRAPI\\Provider\\ProviderController@register",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Provider registration (public access)",
|
|
parameters: {
|
|
firstName: { type: "string", required: true, description: "First name" },
|
|
lastName: { type: "string", required: true, description: "Last name" },
|
|
emailAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Email address",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Text message number",
|
|
},
|
|
accessRights: {
|
|
type: "object",
|
|
required: false,
|
|
description:
|
|
"Access rights object with admin/practitioner/patientPortal booleans",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Provider username for login",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Provider password",
|
|
},
|
|
confirm_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password confirmation (must match newUserPassword)",
|
|
},
|
|
company_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Company name",
|
|
},
|
|
on_your_domain: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "On your domain flag",
|
|
},
|
|
dummy: {
|
|
type: "string",
|
|
required: false,
|
|
description:
|
|
"register as doctor or practitioner if practitioner then true else false",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== PASSWORD MANAGEMENT ENDPOINTS =====
|
|
{
|
|
path: "/api/emr/set-password",
|
|
method: "POST",
|
|
controller: "EMRAPI\\AuthController@setPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Create password",
|
|
parameters: {
|
|
password: { type: "string", required: true, description: "New password" },
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password confirmation",
|
|
},
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/set-password",
|
|
method: "POST",
|
|
controller: "AuthController@setPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Save provider password",
|
|
parameters: {
|
|
password: { type: "string", required: true, description: "New password" },
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password confirmation",
|
|
},
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/affiliate/set-password",
|
|
method: "POST",
|
|
controller: "AffiliateController@setPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Save affiliate password",
|
|
parameters: {
|
|
password: { type: "string", required: true, description: "New password" },
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password confirmation",
|
|
},
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/frontend/forgot-password",
|
|
method: "POST",
|
|
controller: "FrontendController@forgotPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Patient forgot password",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/frontend/reset-password",
|
|
method: "POST",
|
|
controller: "FrontendController@resetPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Patient reset password",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "New password" },
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password confirmation",
|
|
},
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/provider/forgot-password",
|
|
method: "POST",
|
|
controller: "EMRAPI\\Provider\\AuthController@forgotPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Provider forgot password",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/provider/reset-password",
|
|
method: "POST",
|
|
controller: "EMRAPI\\Provider\\AuthController@resetPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Provider reset password",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "New password" },
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password confirmation",
|
|
},
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== EMAIL VERIFICATION ENDPOINTS =====
|
|
{
|
|
path: "/api/public-manage-verify-email",
|
|
method: "POST",
|
|
controller: "PublicController@verifyEmail",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Email verification",
|
|
parameters: {
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Verification token",
|
|
},
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/public-manage-resend-verification",
|
|
method: "POST",
|
|
controller: "PublicController@resendVerification",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Resend verification email",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
},
|
|
},
|
|
|
|
// ===== PUBLIC DATA ACCESS ENDPOINTS =====
|
|
{
|
|
path: "/api/get-pdf-url/{document_id}",
|
|
method: "GET",
|
|
controller: "DocumentController@getPdfUrl",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Get PDF URL",
|
|
parameters: {
|
|
document_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Document ID",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== APPOINTMENT VERIFICATION (PUBLIC) =====
|
|
{
|
|
path: "/api/appointment/verify/{appointmentId}",
|
|
method: "GET",
|
|
controller: "AppointmentAccessController@verifyAndRedirect",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Verify appointment access and redirect",
|
|
parameters: {
|
|
appointmentId: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/appointment-participants/{appointmentId}",
|
|
method: "GET",
|
|
controller: "PatientController@getAppointmentParticipants",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment participants",
|
|
parameters: {
|
|
appointmentId: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user-list-profile-skipauth/{id}",
|
|
method: "GET",
|
|
controller: "PatientController@getUserProfileById",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get user profile by ID without authentication",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/generate-permanent-token/{userId}",
|
|
method: "GET",
|
|
controller: "TokenController@generatePermanentToken",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Generate permanent token for user",
|
|
parameters: {
|
|
userId: { type: "string", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
|
|
// ===== NEW ENDPOINTS FROM API-DOCS.JSON =====
|
|
// Added 35 new public endpoints from api-docs.json
|
|
{
|
|
path: "/room-joined/event",
|
|
method: "POST",
|
|
controller: "LiveKitController@webhook",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "LiveKit webhook handler",
|
|
parameters: {event: { type: "string", required: false, description: "Event type",
|
|
event: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
room: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
egressInfo: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
event: {
|
|
type: "string",
|
|
required: false,
|
|
description: "event parameter",
|
|
},
|
|
room: { type: "object", required: false, description: "room parameter" },
|
|
egressInfo: {
|
|
type: "object",
|
|
required: false,
|
|
description: "egressInfo parameter",
|
|
},
|
|
room: { type: "object", required: false, description: "Room data" },
|
|
egressInfo: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Egress information",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/room-joined/event-transcription",
|
|
method: "POST",
|
|
controller: "LiveKitController@getRecordingUrl",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "Get recording URL",
|
|
parameters: {egressInfo: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Egress information",,
|
|
egressInfo: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/check-user",
|
|
method: "POST",
|
|
controller: "ProviderController@checkUser",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Check if provider exists",
|
|
parameters: {email: { type: "string", required: true, description: "Provider email",
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-summary/{patientId}",
|
|
method: "GET",
|
|
controller: "PatientController@getPatientSummary",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient summary",
|
|
parameters: {
|
|
patientId: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-patient-summary/{patientId}",
|
|
method: "POST",
|
|
controller: "PatientController@updatePatientSummary",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient summary",
|
|
parameters: {
|
|
patientId: { type: "string", required: true, description: "Patient ID" },
|
|
summary: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Patient summary",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/generate-patient-summary/{patientId}",
|
|
method: "GET",
|
|
controller: "PatientController@generatePatientSummary",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "Generate AI summary for patient",
|
|
parameters: {
|
|
patientId: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-full-details/{patientId}",
|
|
method: "GET",
|
|
controller: "PatientController@getPatientFullDetails",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get comprehensive patient details",
|
|
parameters: {
|
|
patientId: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-forms-list/{patientId}",
|
|
method: "GET",
|
|
controller: "FormsController@getPatientFormsList",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get patient forms list",
|
|
parameters: {
|
|
patientId: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/download/pdf/{id}/{type}",
|
|
method: "GET",
|
|
controller: "DocumentController@downloadPdf",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Download or view PDF file",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "Document ID" },
|
|
type: { type: "string", required: true, description: "Document type" },
|
|
},
|
|
},
|
|
{
|
|
path: "/emr-api/provider-register",
|
|
method: "POST",
|
|
controller: "EMRAPI\\ProviderController@register",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Register a new provider",
|
|
parameters: {firstName: { type: "string", required: true, description: "First name",
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
emailAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
company_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
on_your_domain: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "firstName parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastName parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "username parameter",
|
|
},
|
|
emailAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "emailAddress parameter",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "textMessageNumber parameter",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: true,
|
|
description: "newUserPassword parameter",
|
|
},
|
|
company_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "company_name parameter",
|
|
},
|
|
on_your_domain: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "on_your_domain parameter",
|
|
},
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "firstName parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastName parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "username parameter",
|
|
},
|
|
emailAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "emailAddress parameter",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "textMessageNumber parameter",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: true,
|
|
description: "newUserPassword parameter",
|
|
},
|
|
company_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "company_name parameter",
|
|
},
|
|
on_your_domain: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "on_your_domain parameter",
|
|
},
|
|
lastName: { type: "string", required: true, description: "Last name" },
|
|
emailAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Email address",
|
|
},
|
|
username: { type: "string", required: true, description: "Username" },
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get/document/{userId}/{rowId}/{key}",
|
|
method: "GET",
|
|
controller: "DocumentController@getDocument",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Create a public link to access a document",
|
|
parameters: {
|
|
userId: { type: "string", required: true, description: "User ID" },
|
|
rowId: { type: "string", required: true, description: "Row ID" },
|
|
key: { type: "string", required: true, description: "Document key" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-form-without-auth/{id}",
|
|
method: "GET",
|
|
controller: "FormsController@getFormWithoutAuth",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get form by ID without authentication",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/store-intake-form-data",
|
|
method: "POST",
|
|
controller: "FormsController@storeIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Store intake form data",
|
|
parameters: {
|
|
form_data: { type: "object", required: true, description: "Form data" },
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "form_id parameter",
|
|
},
|
|
pid: { type: "integer", required: true, description: "pid parameter" },
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "practitioner_id parameter",
|
|
},
|
|
schema: {
|
|
type: "string",
|
|
required: true,
|
|
description: "JSON schema of the form",
|
|
},
|
|
orginal_form_schema: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Original JSON schema of the form",
|
|
},
|
|
signatureMetaData: {
|
|
type: "string",
|
|
required: false,
|
|
description: "JSON metadata for signatures",
|
|
},
|
|
file_field_name: {
|
|
type: "file",
|
|
required: false,
|
|
description: "File upload fields (multiple can be included)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-intake-form-data/{id}",
|
|
method: "POST",
|
|
controller: "FormsController@updateIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update intake form data",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "Form data ID" },
|
|
form_data: { type: "object", required: true, description: "Form data" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-signed-patient-data/{id}",
|
|
method: "GET",
|
|
controller: "PatientController@getSignedPatientData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get signed patient form data",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "Patient data ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-pdf-url/{id}",
|
|
method: "GET",
|
|
controller: "DocumentController@getPdfUrl",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Get PDF URL",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "Document ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user-list-profile/{id}",
|
|
method: "GET",
|
|
controller: "UserController@getUserProfile",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get user profile by ID",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user/set-password/{token}",
|
|
method: "POST",
|
|
controller: "UserController@setPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Set user password",
|
|
parameters: {
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
password: { type: "string", required: true, description: "New password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/refresh-token",
|
|
method: "POST",
|
|
controller: "PatientController@refreshToken",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Refresh patient authentication token",
|
|
parameters: {refresh_token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Refresh token",,
|
|
refresh_token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/register-patients",
|
|
method: "POST",
|
|
controller: "PatientController@registerPatients",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Register a new patient without authentication",
|
|
parameters: {
|
|
first_name: { type: "string", required: true, description: "First name" },
|
|
last_name: { type: "string", required: true, description: "Last name" },
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
dob: { type: "string", required: true, description: "Date of birth" },
|
|
phone_no: { type: "string", required: true, description: "Phone number" },
|
|
gender: { type: "string", required: true, description: "Gender" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient-login-api",
|
|
method: "POST",
|
|
controller: "PatientController@loginApi",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Patient login without authentication",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient-order-create",
|
|
method: "POST",
|
|
controller: "OrderController@createPatientOrder",
|
|
category: ENDPOINT_CATEGORIES.BILLING_ORDERS,
|
|
description: "Create a patient order",
|
|
parameters: {patient_id: { type: "string", required: true, description: "Patient ID",
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
shipping_address1: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
shipping_address2: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
shipping_city: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
shipping_state: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
shipping_zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
shipping_country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
shipping_amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
total_amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
practitioner_fee: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
affiliate_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
pending_task: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
builder_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
discount_amount: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
coupon_code: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
items: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "patient_id parameter",
|
|
},
|
|
shipping_address1: {
|
|
type: "string",
|
|
required: true,
|
|
description: "shipping_address1 parameter",
|
|
},
|
|
shipping_address2: {
|
|
type: "string",
|
|
required: false,
|
|
description: "shipping_address2 parameter",
|
|
},
|
|
shipping_city: {
|
|
type: "string",
|
|
required: true,
|
|
description: "shipping_city parameter",
|
|
},
|
|
shipping_state: {
|
|
type: "string",
|
|
required: true,
|
|
description: "shipping_state parameter",
|
|
},
|
|
shipping_zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "shipping_zipcode parameter",
|
|
},
|
|
shipping_country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "shipping_country parameter",
|
|
},
|
|
shipping_amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "shipping_amount parameter",
|
|
},
|
|
total_amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "total_amount parameter",
|
|
},
|
|
practitioner_fee: {
|
|
type: "number",
|
|
required: false,
|
|
description: "practitioner_fee parameter",
|
|
},
|
|
affiliate_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "affiliate_email parameter",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "provider_id parameter",
|
|
},
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "appointment_id parameter",
|
|
},
|
|
pending_task: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "pending_task parameter",
|
|
},
|
|
builder_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "builder_id parameter",
|
|
},
|
|
discount_amount: {
|
|
type: "number",
|
|
required: false,
|
|
description: "discount_amount parameter",
|
|
},
|
|
coupon_code: {
|
|
type: "string",
|
|
required: false,
|
|
description: "coupon_code parameter",
|
|
},
|
|
items: { type: "array", required: true, description: "items parameter" },
|
|
order_items: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Order items",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient-book-appointment",
|
|
method: "POST",
|
|
controller: "AppointmentController@bookPatientAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Book a patient appointment",
|
|
parameters: {patient_id: { type: "string", required: true, description: "Patient ID",
|
|
start_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
end_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
order_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
affiliate_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
start_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "start_time parameter",
|
|
},
|
|
end_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "end_time parameter",
|
|
},
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "practitioner_id parameter",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "notes parameter",
|
|
},
|
|
order_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "order_id parameter",
|
|
},
|
|
affiliate_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "affiliate_email parameter",
|
|
},
|
|
practitioner_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Practitioner ID",
|
|
},
|
|
appointment_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment date",
|
|
},
|
|
appointment_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment time",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/redirect-with-auth/{pid}",
|
|
method: "GET",
|
|
controller: "AuthController@redirectWithAuth",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get authentication token for redirect",
|
|
parameters: {
|
|
pid: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/available-slots/{date}",
|
|
method: "POST",
|
|
controller: "AppointmentController@getAvailableSlots",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get available appointment slots for a specific date",
|
|
parameters: {
|
|
date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Date (YYYY-MM-DD)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/check-email",
|
|
method: "POST",
|
|
controller: "AuthController@checkEmail",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Check email availability",
|
|
parameters: {email: { type: "string", required: true, description: "Email address",
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
|
|
{
|
|
path: "/api/generate-permanent-token/{userId}",
|
|
method: "GET",
|
|
controller: "TokenController@generatePermanentToken",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Generate a permanent API token for a user",
|
|
parameters: {
|
|
userId: { type: "string", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
|
|
// ===== NEW TOOLS FROM API DOCUMENTATION =====
|
|
{
|
|
path: "/api/download/pdf/{id}/{type}",
|
|
method: "GET",
|
|
controller: "ApiController@downloadPdfFile",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Download or view PDF file",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Form ID" },
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Action type (download or view)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/forgot-password",
|
|
method: "POST",
|
|
controller: "ApiController@forgotPassword",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Forgot password functionality",
|
|
parameters: {email: { type: "string", required: true, description: "email parameter",
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/generate-patient-summary/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@generatePatientSummary",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Generate AI summary for patient",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/generate-permanent-token/{userId}",
|
|
method: "GET",
|
|
controller: "ApiController@generatePermanentToken",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Generate a permanent API token for a user",
|
|
parameters: {
|
|
userId: { type: "integer", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-form-without-auth/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getFormByIdwithouthAuth",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get form by ID without authentication",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-forms-list/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientFormsList",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get patient forms list",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-full-details/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientFullDetails",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get comprehensive patient details",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-summary/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientSummary",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient summary",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-pdf-url/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPdfUrl",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get PDF URL",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form submission ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-signed-patient-data/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getSignedData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get signed patient form data",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form submission ID",
|
|
},
|
|
signature: {
|
|
type: "string",
|
|
required: true,
|
|
description: "URL signature for validation",
|
|
},
|
|
expires: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "URL expiration timestamp",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get/document/{userId}/{rowId}/{key}",
|
|
method: "GET",
|
|
controller: "ApiController@createPublicLink",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Create a public link to access a document",
|
|
parameters: {
|
|
userId: { type: "integer", required: true, description: "User ID" },
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the intake form record",
|
|
},
|
|
key: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Key identifier for the document in the form data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/login-patient",
|
|
method: "POST",
|
|
controller: "ApiController@loginPatient",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Patient login",
|
|
parameters: {email: { type: "string", required: true, description: "email parameter",
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/password-reset",
|
|
method: "POST",
|
|
controller: "ApiController@resetPassword",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Reset password functionality",
|
|
parameters: {token: { type: "string", required: true, description: "token parameter",
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
email: { type: "string", required: true, description: "email parameter" },
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password parameter",
|
|
},
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password_confirmation parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/available-slots/{date}",
|
|
method: "POST",
|
|
controller: "ApiController@availableSlotsForPatient",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get available appointment slots for a specific date",
|
|
parameters: {
|
|
date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Date in YYYY-MM-DD format",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/login",
|
|
method: "POST",
|
|
controller: "ApiController@loginPatientWithoutAuthAuth",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Patient login without authentication middleware",
|
|
parameters: {email: { type: "string", required: true, description: "email parameter",
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/redirect-with-auth/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@redirectWithAuth",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get authentication token for redirect",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/register-patient",
|
|
method: "POST",
|
|
controller: "ApiController@registerPatientWithoutAuthAuth",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Register patient without authentication",
|
|
parameters: {firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "firstName parameter",,
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
phone: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastName parameter",
|
|
},
|
|
email: { type: "string", required: true, description: "email parameter" },
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: true,
|
|
description: "dateOfBirth parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: true,
|
|
description: "gender parameter",
|
|
},
|
|
phone: { type: "string", required: true, description: "phone parameter" },
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "username parameter",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "provider_id parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/set-password/{token}",
|
|
method: "POST",
|
|
controller: "ApiController@setPassword",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Set password for patient account",
|
|
parameters: {
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password parameter",
|
|
},
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password_confirmation parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-intake-form-data/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updatesIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update intake form data",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Intake form record ID",
|
|
},
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "form_id parameter",
|
|
},
|
|
pid: { type: "integer", required: true, description: "pid parameter" },
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "practitioner_id parameter",
|
|
},
|
|
schema: {
|
|
type: "string",
|
|
required: true,
|
|
description: "JSON schema of the form",
|
|
},
|
|
orginal_form_schema: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Original JSON schema of the form",
|
|
},
|
|
signatureMetaData: {
|
|
type: "string",
|
|
required: false,
|
|
description: "JSON metadata for signatures",
|
|
},
|
|
file_field_name: {
|
|
type: "file",
|
|
required: false,
|
|
description: "File upload fields (multiple can be included)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-patient-summary/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@updatePatientSummary",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update patient summary",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
summary: {
|
|
type: "string",
|
|
required: true,
|
|
description: "summary parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user-list-profile/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getUserProfileById",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get user profile by ID",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user/set-password/{token}",
|
|
method: "POST",
|
|
controller: "ApiController@setUserPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Set user password",
|
|
parameters: {
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password set token",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "password parameter",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== MISSING ENDPOINTS FROM COMPREHENSIVE AUDIT =====
|
|
{
|
|
path: "/api/patient/register-patient",
|
|
method: "POST",
|
|
controller: "PatientController@registerPatientForPatient",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Register a new patient",
|
|
parameters: {first_name: { type: "string", required: true, description: "First name",
|
|
first_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
last_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
phone_no: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
dob: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
last_name: { type: "string", required: true, description: "Last name" },
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
password: { type: "string", required: true, description: "Password" },
|
|
phone: { type: "string", required: false, description: "Phone number" },
|
|
date_of_birth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Date of birth",
|
|
},
|
|
gender: { type: "string", required: false, description: "Gender" },
|
|
address: { type: "string", required: false, description: "Address" },
|
|
city: { type: "string", required: false, description: "City" },
|
|
state: { type: "string", required: false, description: "State" },
|
|
zip_code: { type: "string", required: false, description: "ZIP code" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/reset-password",
|
|
method: "POST",
|
|
controller: "AuthController@resetPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Reset user password",
|
|
parameters: {
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
token: { type: "string", required: true, description: "Reset token" },
|
|
password: { type: "string", required: true, description: "New password" },
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password confirmation",
|
|
},
|
|
},
|
|
},,
|
|
// ===== NEW ENDPOINTS FROM API-DOCS.JSON COMPREHENSIVE AUDIT =====
|
|
{
|
|
path: "/appointment-participants/{appointmentId}",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentParticipants",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment participants",
|
|
parameters: {
|
|
appointmentId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/start-record/{appointment}",
|
|
method: "POST",
|
|
controller: "ApiController@startRecording",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Start recording",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/register-patients",
|
|
method: "POST",
|
|
controller: "ApiController@registerPatient",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Register new patient",
|
|
parameters: {
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
phone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-summary/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientSummary",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient summary",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-patient-summary/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@updatePatientSummary",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient summary",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
summary: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/generate-patient-summary/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@generatePatientSummary",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Generate AI summary for patient",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-full-details/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientFullDetails",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get comprehensive patient details",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-forms-list/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientFormsList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient forms list",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/download/pdf/{id}/{type}",
|
|
method: "GET",
|
|
controller: "ApiController@downloadPdfFile",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Download or view PDF file",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
},
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Action type (download or view)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/refresh-token",
|
|
method: "POST",
|
|
controller: "ApiController@refresh",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Refresh authentication token",
|
|
parameters: {
|
|
refresh_token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/set-password/{token}",
|
|
method: "POST",
|
|
controller: "ApiController@setPassword",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Set password for patient account",
|
|
parameters: {
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password reset token",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
password_confirmation: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get/document/{userId}/{rowId}/{key}",
|
|
method: "GET",
|
|
controller: "ApiController@createPublicLink",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Create a public link to access a document",
|
|
parameters: {
|
|
userId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "User ID",
|
|
},
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the intake form record",
|
|
},
|
|
key: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Key identifier for the document in the form data",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-form-without-auth/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getFormByIdwithouthAuth",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get form by ID without authentication",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-intake-form-data/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updatesIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update intake form data",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Intake form record ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-signed-patient-data/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getSignedData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get signed patient form data",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form submission ID",
|
|
},
|
|
signature: {
|
|
type: "string",
|
|
required: true,
|
|
description: "URL signature for validation",
|
|
},
|
|
expires: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "URL expiration timestamp",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-pdf-url/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPdfUrl",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get PDF URL",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form submission ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user-list-profile/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getUserProfileById",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get user profile by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "User ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user/set-password/{token}",
|
|
method: "POST",
|
|
controller: "ApiController@setUserPassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Set user password",
|
|
parameters: {
|
|
token: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Password set token",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/redirect-with-auth/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@redirectWithAuth",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get authentication token for redirect",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/available-slots/{date}",
|
|
method: "POST",
|
|
controller: "ApiController@availableSlotsForPatient",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get available appointment slots for a specific date",
|
|
parameters: {
|
|
date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Date in YYYY-MM-DD format",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/generate-permanent-token/{userId}",
|
|
method: "GET",
|
|
controller: "ApiController@generatePermanentToken",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Generate a permanent API token for a user",
|
|
parameters: {
|
|
userId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "User ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/appointment-participants/{appointmentId}",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentParticipants",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment participants",
|
|
parameters: {
|
|
appointmentId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
}
|
|
];
|
|
|
|
/**
|
|
* Provider endpoints (provider authentication required)
|
|
* All clinical data management, EMR operations, and healthcare data requiring HIPAA compliance
|
|
*/
|
|
export const PROVIDER_ENDPOINTS = [
|
|
// ===== PATIENT MANAGEMENT (EMR) =====
|
|
{
|
|
path: "/api/emr/patients-list",
|
|
method: "GET",
|
|
controller: "EMRAPI\\PatientController@patientsList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Patient datatable with DataTable server-side parameters",
|
|
parameters: {
|
|
draw: {
|
|
type: "number",
|
|
required: false,
|
|
description: "DataTable draw parameter",
|
|
},
|
|
columns: {
|
|
type: "array",
|
|
required: false,
|
|
description: "DataTable columns",
|
|
},
|
|
order: { type: "array", required: false, description: "DataTable order" },
|
|
start: {
|
|
type: "number",
|
|
required: false,
|
|
description: "DataTable start",
|
|
},
|
|
length: {
|
|
type: "number",
|
|
required: false,
|
|
description: "DataTable length",
|
|
},
|
|
search: {
|
|
type: "object",
|
|
required: false,
|
|
description: "DataTable search",
|
|
},
|
|
page: { type: "number", required: false, description: "Page number" },
|
|
itemsPerPage: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Items per page",
|
|
},
|
|
sortBy: { type: "array", required: false, description: "Sort by fields" },
|
|
filters: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Filter parameters",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/patient-data/{patient_id}",
|
|
method: "GET",
|
|
controller: "EMRAPI\\PatientController@getPatientData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get single patient by ID",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/get-patient-data/{patient_id}",
|
|
method: "GET",
|
|
controller: "EMRAPI\\PatientController@getPatientDataById",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get single patient data by ID",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/register-patients",
|
|
method: "POST",
|
|
controller: "EMRAPI\\PatientController@registerPatient",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Register patient (EMR) with complete demographic data",
|
|
parameters: {
|
|
firstName: { type: "string", required: true, description: "First name" },
|
|
lastName: { type: "string", required: true, description: "Last name" },
|
|
middleName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Middle name",
|
|
},
|
|
preferredName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Preferred name",
|
|
},
|
|
email: { type: "string", required: true, description: "Email address" },
|
|
contactMethod: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Contact method",
|
|
},
|
|
personalID: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Personal ID",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Date of birth",
|
|
},
|
|
sexatBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Sex at birth",
|
|
},
|
|
genderIdentity: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Gender identity",
|
|
},
|
|
race: { type: "string", required: false, description: "Race" },
|
|
pronoun: { type: "string", required: false, description: "Pronoun" },
|
|
ageGroup: { type: "string", required: false, description: "Age group" },
|
|
timezone: { type: "string", required: false, description: "Timezone" },
|
|
preferredPhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Preferred phone",
|
|
},
|
|
alternativePhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Alternative phone",
|
|
},
|
|
textmsgNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Text message number",
|
|
},
|
|
address: { type: "string", required: false, description: "Address" },
|
|
city: { type: "string", required: false, description: "City" },
|
|
state: { type: "string", required: false, description: "State" },
|
|
zipcode: { type: "string", required: false, description: "ZIP code" },
|
|
primaryPractitioner: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Primary practitioner",
|
|
},
|
|
primaryCarePhysician: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Primary care physician",
|
|
},
|
|
guardian: { type: "string", required: false, description: "Guardian" },
|
|
emergencyContactNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Emergency contact number",
|
|
},
|
|
emergencyContactNameRelation: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Emergency contact name relation",
|
|
},
|
|
patientMaritalStatus: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient marital status",
|
|
},
|
|
occupation: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Occupation",
|
|
},
|
|
referredBy: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Referred by",
|
|
},
|
|
patientNote: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient note",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient portal password",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient status",
|
|
},
|
|
isportalAccess: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Portal access flag",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/update-patient/{patient_id}",
|
|
method: "POST",
|
|
controller: "EMRAPI\\PatientController@updatePatient",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient with complete demographic data",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
firstName: { type: "string", required: false, description: "First name" },
|
|
lastName: { type: "string", required: false, description: "Last name" },
|
|
fullName: { type: "string", required: false, description: "Full name" },
|
|
middleName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Middle name",
|
|
},
|
|
preferredName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Preferred name",
|
|
},
|
|
email: { type: "string", required: false, description: "Email address" },
|
|
contactMethod: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Contact method",
|
|
},
|
|
personalID: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Personal ID",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Date of birth",
|
|
},
|
|
sexatBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Sex at birth",
|
|
},
|
|
genderIdentity: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Gender identity",
|
|
},
|
|
race: { type: "string", required: false, description: "Race" },
|
|
pronoun: { type: "string", required: false, description: "Pronoun" },
|
|
ageGroup: { type: "string", required: false, description: "Age group" },
|
|
timezone: { type: "string", required: false, description: "Timezone" },
|
|
preferredPhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Preferred phone",
|
|
},
|
|
alternativePhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Alternative phone",
|
|
},
|
|
textmsgNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Text message number",
|
|
},
|
|
address: { type: "string", required: false, description: "Address" },
|
|
city: { type: "string", required: false, description: "City" },
|
|
state: { type: "string", required: false, description: "State" },
|
|
zipcode: { type: "string", required: false, description: "ZIP code" },
|
|
primaryPractitioner: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Primary practitioner",
|
|
},
|
|
primaryCarePhysician: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Primary care physician",
|
|
},
|
|
guardian: { type: "string", required: false, description: "Guardian" },
|
|
emergencyContactNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Emergency contact number",
|
|
},
|
|
emergencyContactNameRelation: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Emergency contact name relation",
|
|
},
|
|
patientMaritalStatus: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient marital status",
|
|
},
|
|
occupation: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Occupation",
|
|
},
|
|
referredBy: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Referred by",
|
|
},
|
|
patientNote: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient note",
|
|
},
|
|
password: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient portal password",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Patient status",
|
|
},
|
|
isportalAccess: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Portal access flag",
|
|
},
|
|
profilePicture: {
|
|
type: "file",
|
|
required: false,
|
|
description: "Profile picture file",
|
|
},
|
|
avatar: { type: "file", required: false, description: "Avatar file" },
|
|
},
|
|
},
|
|
|
|
// ===== PRESCRIPTION MANAGEMENT =====
|
|
{
|
|
path: "/api/emr/prescription/store/{patient_id}",
|
|
method: "POST",
|
|
controller: "EMRAPI\\PrescriptionController@store",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Store medication with actual API parameter names",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
medication_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Complete medication object from medicationService.js",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/prescriptions/{patient_id}",
|
|
method: "GET",
|
|
controller: "EMRAPI\\PrescriptionController@getPatientPrescriptions",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Get patient medication data with filters",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
src: { type: "string", required: false, description: "Source filter" },
|
|
status: { type: "string", required: false, description: "Status filter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/prescriptions/update/{prescription_id}",
|
|
method: "PUT",
|
|
controller: "EMRAPI\\PrescriptionController@updatePrescription",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description:
|
|
"Update prescription status with actual API parameter names from medicationService.js",
|
|
parameters: {
|
|
prescription_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Prescription ID",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Prescription status",
|
|
},
|
|
signature: { type: "string", required: false, description: "Signature" },
|
|
note: { type: "string", required: false, description: "Note" },
|
|
tracking_id: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Tracking ID",
|
|
},
|
|
needs_followup: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Needs followup flag",
|
|
},
|
|
followup_days: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Followup days",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== FORMS MANAGEMENT =====
|
|
{
|
|
path: "/api/get-forms",
|
|
method: "GET",
|
|
controller: "FormController@getForms",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get forms",
|
|
parameters: {},
|
|
},
|
|
|
|
{
|
|
path: "/api/store-form",
|
|
method: "POST",
|
|
controller: "FormController@storeForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Store form",
|
|
parameters: {form_data: { type: "object", required: true, description: "Form data",
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description:
|
|
"Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-form/{form_id}",
|
|
method: "PUT",
|
|
controller: "FormController@updateForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update form",
|
|
parameters: {
|
|
form_id: { type: "string", required: true, description: "Form ID" },
|
|
form_data: { type: "object", required: true, description: "Form data" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/delete-form/{form_id}",
|
|
method: "DELETE",
|
|
controller: "FormController@deleteForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Delete form",
|
|
parameters: {
|
|
form_id: { type: "string", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
|
|
// ===== CONSENT FORMS =====
|
|
{
|
|
path: "/api/emr/get-consent-forms",
|
|
method: "GET",
|
|
controller: "EMRAPI\\ConsentFormController@getConsentForms",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get consent forms",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/store-consent-form",
|
|
method: "POST",
|
|
controller: "ConsentFormController@storeConsentForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Store consent form",
|
|
parameters: {
|
|
form_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Consent form data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-consent-form/{form_id}",
|
|
method: "GET",
|
|
controller: "ConsentFormController@getConsentForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get consent form by ID",
|
|
parameters: {
|
|
form_id: { type: "string", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-consent-form/{form_id}",
|
|
method: "PUT",
|
|
controller: "ConsentFormController@updateConsentForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update consent form",
|
|
parameters: {
|
|
form_id: { type: "string", required: true, description: "Form ID" },
|
|
form_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Consent form data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/delete-consent-form/{form_id}",
|
|
method: "DELETE",
|
|
controller: "ConsentFormController@deleteConsentForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Delete consent form",
|
|
parameters: {
|
|
form_id: { type: "string", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
|
|
// ===== LAB MANAGEMENT =====
|
|
{
|
|
path: "/api/get-labdiagonostics",
|
|
method: "GET",
|
|
controller: "LabController@getLabDiagnostics",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Get lab diagnostics",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/store-labdiagonostics",
|
|
method: "POST",
|
|
controller: "LabController@storeLabDiagnostics",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Store lab diagnostics",
|
|
parameters: {
|
|
lab_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Lab diagnostic data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/labs/list",
|
|
method: "GET",
|
|
controller: "LabController@labsList",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Get labs list",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/labs/create",
|
|
method: "POST",
|
|
controller: "LabController@createLab",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Create lab",
|
|
parameters: {
|
|
lab_data: { type: "object", required: true, description: "Lab data" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/labs/update/{lab_id}",
|
|
method: "PUT",
|
|
controller: "LabController@updateLab",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Update lab",
|
|
parameters: {
|
|
lab_id: { type: "string", required: true, description: "Lab ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/labs/delete/{lab_id}",
|
|
method: "DELETE",
|
|
controller: "LabController@deleteLab",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Delete lab",
|
|
parameters: {
|
|
lab_id: { type: "string", required: true, description: "Lab ID" },
|
|
},
|
|
},
|
|
|
|
// ===== MEDICINE MANAGEMENT =====
|
|
{
|
|
path: "/api/emr/get-medicine-list",
|
|
method: "GET",
|
|
controller: "EMRAPI\\MedicineController@getMedicineList",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Get medicine list",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/emr/import-medicines",
|
|
method: "POST",
|
|
controller: "EMRAPI\\MedicineController@importMedicines",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Import medicines from Excel",
|
|
parameters: {
|
|
excel_file: {
|
|
type: "file",
|
|
required: true,
|
|
description: "Excel file with medicines",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add_medicine_template",
|
|
method: "POST",
|
|
controller: "MedicineTemplateController@addTemplate",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Store medicine template",
|
|
parameters: {
|
|
template_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Medicine template data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update_medicine_template/{template_id}",
|
|
method: "PUT",
|
|
controller: "MedicineTemplateController@updateTemplate",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Update medicine template",
|
|
parameters: {
|
|
template_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Template ID",
|
|
},
|
|
template_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Medicine template data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get_medicine_templates",
|
|
method: "GET",
|
|
controller: "MedicineTemplateController@getTemplates",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Get medicine templates",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/get_medicine_template_by_id/{template_id}",
|
|
method: "GET",
|
|
controller: "MedicineTemplateController@getTemplateById",
|
|
},
|
|
|
|
// ===== BUILDER MANAGEMENT =====
|
|
{
|
|
path: "/api/emr/get-themes-list",
|
|
method: "GET",
|
|
controller: "EMRAPI\\BuilderController@getThemesList",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get themes list",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/emr/store-builder",
|
|
method: "POST",
|
|
controller: "EMRAPI\\BuilderController@storeBuilder",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Store builder with complete configuration",
|
|
parameters: {
|
|
builder_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Builder name",
|
|
},
|
|
practitioner_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Practitioner ID",
|
|
},
|
|
intakes: { type: "array", required: false, description: "Intake forms" },
|
|
questionnaire: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Questionnaire forms",
|
|
},
|
|
products: { type: "array", required: false, description: "Products" },
|
|
paymentOption: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Payment options",
|
|
},
|
|
patientFlow: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Patient flow configuration",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/store-builder-config/{id}",
|
|
method: "POST",
|
|
controller: "EMRAPI\\BuilderController@storeBuilderConfig",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Store builder config with styling options",
|
|
parameters: {
|
|
id: { type: "string", required: true, description: "Builder ID" },
|
|
theme: { type: "string", required: false, description: "Theme" },
|
|
bgColor: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Background color",
|
|
},
|
|
btncolor: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Button color",
|
|
},
|
|
textColor: { type: "string", required: false, description: "Text color" },
|
|
practitioner_fee: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Practitioner fee",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/get-builder-data/{builder_id}",
|
|
method: "GET",
|
|
controller: "EMRAPI\\BuilderController@getBuilderData",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get builder data",
|
|
parameters: {
|
|
builder_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Builder ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/builder-update/{builder_id}",
|
|
method: "PUT",
|
|
controller: "EMRAPI\\BuilderController@builderUpdate",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Update builder",
|
|
parameters: {
|
|
builder_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Builder ID",
|
|
},
|
|
builder_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Builder data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/update-builder-config/{config_id}",
|
|
method: "PUT",
|
|
controller: "EMRAPI\\BuilderController@updateBuilderConfig",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Update builder config",
|
|
parameters: {
|
|
config_id: {
|
|
type: "string",
|
|
required: true,
|
|
},
|
|
config_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Config data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/delete-builder/{builder_id}",
|
|
method: "DELETE",
|
|
controller: "EMRAPI\\BuilderController@deleteBuilder",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Delete builder",
|
|
parameters: {
|
|
builder_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Builder ID",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== APPOINTMENT MANAGEMENT =====
|
|
{
|
|
path: "/api/emr/appointments-list",
|
|
method: "GET",
|
|
controller: "EMRAPI\\AppointmentController@appointmentsList",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointments list with DataTable parameters",
|
|
parameters: {
|
|
draw: {
|
|
type: "number",
|
|
required: false,
|
|
description: "DataTable draw parameter",
|
|
},
|
|
columns: {
|
|
type: "array",
|
|
required: false,
|
|
description: "DataTable columns",
|
|
},
|
|
order: { type: "array", required: false, description: "DataTable order" },
|
|
start: {
|
|
type: "number",
|
|
required: false,
|
|
description: "DataTable start",
|
|
},
|
|
length: {
|
|
type: "number",
|
|
required: false,
|
|
description: "DataTable length",
|
|
},
|
|
search: {
|
|
type: "object",
|
|
required: false,
|
|
description: "DataTable search",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/create-appointment",
|
|
method: "POST",
|
|
controller: "EMRAPI\\AppointmentController@createAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Create appointment with complete scheduling data",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
practitioner_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Practitioner ID",
|
|
},
|
|
appointment_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment date",
|
|
},
|
|
appointment_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment time",
|
|
},
|
|
duration: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Duration in minutes",
|
|
},
|
|
appointment_type: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment type",
|
|
},
|
|
reason: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment reason",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Additional notes",
|
|
},
|
|
location_id: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Location ID",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment status",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/update-appointment/{appointment_id}",
|
|
method: "PUT",
|
|
controller: "EMRAPI\\AppointmentController@updateAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Update appointment",
|
|
parameters: {
|
|
appointment_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
appointment_date: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment date",
|
|
},
|
|
appointment_time: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment time",
|
|
},
|
|
duration: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Duration in minutes",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment status",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Additional notes",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/cancel-appointment/{appointment_id}",
|
|
method: "DELETE",
|
|
controller: "EMRAPI\\AppointmentController@cancelAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Cancel appointment",
|
|
parameters: {
|
|
appointment_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
cancellation_reason: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Cancellation reason",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== DOCUMENT MANAGEMENT =====
|
|
{
|
|
path: "/api/emr/documents/upload",
|
|
method: "POST",
|
|
controller: "EMRAPI\\DocumentController@uploadDocument",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Upload patient document",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
document_file: {
|
|
type: "file",
|
|
required: true,
|
|
description: "Document file",
|
|
},
|
|
document_type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Document type",
|
|
},
|
|
document_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Document name",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Document description",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/documents/{patient_id}",
|
|
method: "GET",
|
|
controller: "EMRAPI\\DocumentController@getPatientDocuments",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Get patient documents",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/documents/delete/{document_id}",
|
|
method: "DELETE",
|
|
controller: "EMRAPI\\DocumentController@deleteDocument",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Delete document",
|
|
parameters: {
|
|
document_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Document ID",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== MEDICAL RECORDS =====
|
|
{
|
|
path: "/api/emr/medical-records/{patient_id}",
|
|
method: "GET",
|
|
controller: "EMRAPI\\MedicalRecordController@getPatientRecords",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Get patient medical records",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/medical-records/create",
|
|
method: "POST",
|
|
controller: "EMRAPI\\MedicalRecordController@createRecord",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Create medical record",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
record_type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Record type",
|
|
},
|
|
diagnosis: { type: "string", required: false, description: "Diagnosis" },
|
|
treatment: { type: "string", required: false, description: "Treatment" },
|
|
notes: { type: "string", required: false, description: "Medical notes" },
|
|
vital_signs: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Vital signs data",
|
|
},
|
|
allergies: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Patient allergies",
|
|
},
|
|
medications: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Current medications",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/medical-records/update/{record_id}",
|
|
method: "PUT",
|
|
controller: "EMRAPI\\MedicalRecordController@updateRecord",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Update medical record",
|
|
parameters: {
|
|
record_id: { type: "string", required: true, description: "Record ID" },
|
|
diagnosis: { type: "string", required: false, description: "Diagnosis" },
|
|
treatment: { type: "string", required: false, description: "Treatment" },
|
|
notes: { type: "string", required: false, description: "Medical notes" },
|
|
vital_signs: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Vital signs data",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== PROVIDER MANAGEMENT =====
|
|
{
|
|
path: "/api/emr/providers-list",
|
|
method: "GET",
|
|
controller: "EMRAPI\\ProviderController@providersList",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get providers list",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/emr/provider-profile",
|
|
method: "GET",
|
|
controller: "EMRAPI\\ProviderController@getProfile",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get provider profile",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/emr/update-provider-profile",
|
|
method: "POST",
|
|
controller: "EMRAPI\\ProviderController@updateProfile",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update provider profile",
|
|
parameters: {
|
|
firstName: { type: "string", required: false, description: "First name" },
|
|
lastName: { type: "string", required: false, description: "Last name" },
|
|
emailAddress: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Email address",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Text message number",
|
|
},
|
|
specialties: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Medical specialties",
|
|
},
|
|
license_number: {
|
|
type: "string",
|
|
required: false,
|
|
description: "License number",
|
|
},
|
|
npi_number: {
|
|
type: "string",
|
|
required: false,
|
|
description: "NPI number",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== HEALTHCARE DATA ACCESS (MOVED FROM PUBLIC FOR HIPAA COMPLIANCE) =====
|
|
{
|
|
path: "/api/practitioners-list",
|
|
method: "GET",
|
|
controller: "PractitionerController@practitionersList",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get practitioner list (requires provider authentication)",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/get-specialties",
|
|
method: "GET",
|
|
controller: "SpecialtyController@getSpecialties",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get medical specialties (requires provider authentication)",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/get-states",
|
|
method: "GET",
|
|
controller: "LocationController@getStates",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Get states list (requires provider authentication)",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/get-cities/{state_id}",
|
|
method: "GET",
|
|
controller: "LocationController@getCities",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Get cities by state (requires provider authentication)",
|
|
parameters: {
|
|
state_id: { type: "string", required: true, description: "State ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-countries",
|
|
method: "GET",
|
|
controller: "LocationController@getCountries",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Get countries list (requires provider authentication)",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/get-timezones",
|
|
method: "GET",
|
|
controller: "LocationController@getTimezones",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Get timezones list (requires provider authentication)",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/locations",
|
|
method: "GET",
|
|
controller: "LocationController@index",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Get locations (requires provider authentication)",
|
|
parameters: {draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables draw counter",,
|
|
draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables draw counter",
|
|
},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables start offset",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables page length",
|
|
},
|
|
search_value_: {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables search value",
|
|
},
|
|
order_0__column_: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables column index for ordering",
|
|
},
|
|
order_0__dir_: {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables order direction (asc/desc)",
|
|
}},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables start offset",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables page length",
|
|
},
|
|
"search[value]": {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables search value",
|
|
"order[0][column]": {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables column index for ordering",
|
|
"order[0][dir]": {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables order direction (asc/desc)",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-pdf-list",
|
|
method: "GET",
|
|
controller: "DocumentController@getPdfList",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description:
|
|
"Get PDF list (requires provider authentication for patient data protection)",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/store-questioner-form-data",
|
|
method: "POST",
|
|
controller: "PatientController@storeQuestionerFormData",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description:
|
|
"Store questioner form data (requires provider authentication for patient data protection)",
|
|
parameters: {
|
|
form_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form data object",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/store-patient-questionnaire-data",
|
|
method: "POST",
|
|
controller: "PatientController@storeQuestionQuestioner",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description:
|
|
"Store patient questionnaire data (requires provider authentication for patient data protection)",
|
|
parameters: {
|
|
questionnaire_data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Questionnaire data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-available-slots-data/{practitionerId}",
|
|
method: "POST",
|
|
controller: "AppointmentController@getAvailableSlots",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description:
|
|
"Get available appointment slots by practitioner ID, month and timezone (requires provider authentication for practitioner data protection)",
|
|
parameters: {
|
|
practitionerId: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Practitioner ID",
|
|
},
|
|
month: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Month in MM format (e.g., '07' for July)",
|
|
},
|
|
timezone: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Timezone abbreviation (e.g., 'CST', 'EST', 'PST')",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== NEW ENDPOINTS FROM API-DOCS.JSON =====
|
|
// Added key provider endpoints from api-docs.json (sample of 147 total)
|
|
{
|
|
path: "/get-asseblyai-token",
|
|
method: "POST",
|
|
controller: "MeetingController@getAssemblyAiToken",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "Get AssemblyAI token",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/create-meeting/{meeting_id}",
|
|
method: "GET",
|
|
controller: "MeetingController@showMeeting",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Show meeting details",
|
|
parameters: {
|
|
meeting_id: { type: "string", required: true, description: "Meeting ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/join-meeting/{meeting_id}",
|
|
method: "GET",
|
|
controller: "MeetingController@joinMeeting",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Join a meeting",
|
|
parameters: {
|
|
meeting_id: { type: "string", required: true, description: "Meeting ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/start-call/{patient_id}/{agent_id}/{appointment_id}",
|
|
method: "POST",
|
|
controller: "MeetingController@startCall",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Start a call",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
agent_id: { type: "integer", required: true, description: "Agent ID" },
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
title: { type: "string", required: false, description: "Call title" },
|
|
},
|
|
},
|
|
{
|
|
path: "/get-realtime-questions/{appointmentId}",
|
|
method: "GET",
|
|
controller: "MeetingController@getRealtimeQuestions",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Get real-time questions",
|
|
parameters: {
|
|
appointmentId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/end-call/{patient_id}/{appointment_id}",
|
|
method: "POST",
|
|
controller: "MeetingController@endCall",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "End a call",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/labs/search",
|
|
method: "POST",
|
|
controller: "LabController@searchLabsByAddress",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Search labs by address",
|
|
parameters: {address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Search address",,
|
|
address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/book-appointment",
|
|
method: "POST",
|
|
controller: "AppointmentController@bookAgentAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Book an appointment",
|
|
parameters: {telemed_pros_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Telemed pros ID",,
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
start_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment start time",
|
|
},
|
|
end_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment end time",
|
|
},
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Practitioner/Doctor ID",
|
|
},
|
|
title: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment title",
|
|
},
|
|
timezone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Timezone for the appointment",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment status",
|
|
},
|
|
service: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Service type",
|
|
},
|
|
location: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment location",
|
|
},
|
|
room: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Room number",
|
|
},
|
|
payment_type: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Payment type",
|
|
},
|
|
appointment_type: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Type of appointment",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Additional notes",
|
|
},
|
|
affiliate_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Affiliate email (optional)",
|
|
},
|
|
order_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Order ID (optional)",
|
|
}},
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "patient_id parameter",
|
|
},
|
|
doctor_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "doctor_id parameter",
|
|
},
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "appointment_id parameter",
|
|
},
|
|
appointment_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "appointment_time parameter",
|
|
},
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
doctor_id: { type: "integer", required: true, description: "Doctor ID" },
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
appointment_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment time",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-patient-info/{patientId}",
|
|
method: "POST",
|
|
controller: "PatientController@updateInfo",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient information",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
city: { type: "string", required: false, description: "City" },
|
|
state: { type: "string", required: false, description: "State" },
|
|
address: { type: "string", required: false, description: "Address" },
|
|
zip_code: { type: "string", required: false, description: "Zip code" },
|
|
dob: { type: "string", required: false, description: "Date of birth" },
|
|
country: { type: "string", required: false, description: "Country" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-info/{patientId}",
|
|
method: "POST",
|
|
controller: "PatientController@getInfo",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient information",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-doctors-list",
|
|
method: "POST",
|
|
controller: "DoctorController@getDoctorList",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get doctors list",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/add-note-patient",
|
|
method: "POST",
|
|
controller: "NoteController@addNotePatient",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Add a note for patient",
|
|
parameters: {note: { type: "string", required: true, description: "Note content",
|
|
note: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
note_type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
note: { type: "string", required: true, description: "note parameter" },
|
|
note_type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "note_type parameter",
|
|
},
|
|
note_type: { type: "string", required: true, description: "Note type" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-note-patient",
|
|
method: "GET",
|
|
controller: "NoteController@getNotePatient",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Get patient notes",
|
|
parameters: {},
|
|
},
|
|
|
|
// ===== NEW TOOLS FROM API DOCUMENTATION =====
|
|
{
|
|
path: "/add-inventory",
|
|
method: "POST",
|
|
controller: "ApiController@createInventoryItem",
|
|
category: ENDPOINT_CATEGORIES.INVENTORY,
|
|
description: "Add new inventory item",
|
|
parameters: {inventoryType: {
|
|
type: "string",
|
|
required: false,
|
|
description: "inventoryType parameter",,
|
|
inventoryType: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
item_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
expirationDate: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
item_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "item_name parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: false,
|
|
description: "price parameter",
|
|
},
|
|
expirationDate: {
|
|
type: "string",
|
|
required: false,
|
|
description: "expirationDate parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/add-phone-log/{patient_id}",
|
|
method: "POST",
|
|
controller: "ApiController@addPhoneLog",
|
|
category: ENDPOINT_CATEGORIES.MESSAGING,
|
|
description: "Add a new phone log for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
provider: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Name of the provider who made/received the call",
|
|
},
|
|
message: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Details about the phone call",
|
|
},
|
|
user_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the user who logged the call",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-email/{patient_id}",
|
|
method: "POST",
|
|
controller: "ApiController@addEmail",
|
|
category: ENDPOINT_CATEGORIES.MESSAGING,
|
|
description: "Add a new email for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
practitioner: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "User ID of the practitioner",
|
|
},
|
|
messageText: {
|
|
type: "string",
|
|
required: true,
|
|
description: "messageText parameter",
|
|
},
|
|
to_email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "to_email parameter",
|
|
},
|
|
from_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "from_email parameter",
|
|
},
|
|
emailTemplate: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Template name used for the email",
|
|
},
|
|
subject: {
|
|
type: "string",
|
|
required: true,
|
|
description: "subject parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-location",
|
|
method: "POST",
|
|
controller: "ApiController@addLocation",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Add a new location",
|
|
parameters: {name: { type: "string", required: true, description: "name parameter",
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
npiNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
phoneNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
city: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
state: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
npiNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "npiNumber parameter",
|
|
},
|
|
phoneNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "phoneNumber parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "address parameter",
|
|
},
|
|
city: { type: "string", required: true, description: "city parameter" },
|
|
state: { type: "string", required: true, description: "state parameter" },
|
|
zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "zipcode parameter",
|
|
},
|
|
country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "country parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-task/{patient_id}",
|
|
method: "POST",
|
|
controller: "ApiController@addTask",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Add a new task for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
task_title: {
|
|
type: "string",
|
|
required: true,
|
|
description: "task_title parameter",
|
|
},
|
|
task_body: {
|
|
type: "string",
|
|
required: true,
|
|
description: "task_body parameter",
|
|
},
|
|
task_due_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "task_due_date parameter",
|
|
},
|
|
task_assigned_to: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "task_assigned_to parameter",
|
|
},
|
|
task_watchers: {
|
|
type: "array",
|
|
required: false,
|
|
description: "task_watchers parameter",
|
|
},
|
|
sendEmailtoPatientApplicationForTask: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "sendEmailtoPatientApplicationForTask parameter",
|
|
},
|
|
task_priority: {
|
|
type: "string",
|
|
required: false,
|
|
description: "task_priority parameter",
|
|
},
|
|
task_status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "task_status parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-user",
|
|
method: "POST",
|
|
controller: "ApiController@addUser",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Add new user (legacy method)",
|
|
parameters: {
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "firstName parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastName parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "username parameter",
|
|
},
|
|
emailAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "emailAddress parameter",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "textMessageNumber parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "dateOfBirth parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: false,
|
|
description: "gender parameter",
|
|
},
|
|
city: { type: "string", required: false, description: "city parameter" },
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "state parameter",
|
|
},
|
|
zipcode: {
|
|
type: "string",
|
|
required: false,
|
|
description: "zipcode parameter",
|
|
},
|
|
role_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "role_id parameter",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: true,
|
|
description: "newUserPassword parameter",
|
|
},
|
|
type: { type: "string", required: true, description: "type parameter" },
|
|
avatarImg: {
|
|
type: "file",
|
|
required: false,
|
|
description: "User profile image",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-vital/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@addVital",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Add vital signs for a patient",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
provider_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "provider_id parameter",
|
|
},
|
|
blood_presssure: {
|
|
type: "string",
|
|
required: false,
|
|
description: "blood_presssure parameter",
|
|
},
|
|
diastolic: {
|
|
type: "string",
|
|
required: false,
|
|
description: "diastolic parameter",
|
|
},
|
|
weight_lbs: {
|
|
type: "number",
|
|
required: false,
|
|
description: "weight_lbs parameter",
|
|
},
|
|
height_ft: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "height_ft parameter",
|
|
},
|
|
height_in: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "height_in parameter",
|
|
},
|
|
temperature: {
|
|
type: "number",
|
|
required: false,
|
|
description: "temperature parameter",
|
|
},
|
|
pulse: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "pulse parameter",
|
|
},
|
|
respiratory_rate: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "respiratory_rate parameter",
|
|
},
|
|
saturation: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "saturation parameter",
|
|
},
|
|
waist_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "waist_in parameter",
|
|
},
|
|
headCircumference_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "headCircumference_in parameter",
|
|
},
|
|
note: { type: "string", required: false, description: "note parameter" },
|
|
provider: {
|
|
type: "string",
|
|
required: false,
|
|
description: "provider parameter",
|
|
},
|
|
weight_oz: {
|
|
type: "number",
|
|
required: false,
|
|
description: "weight_oz parameter",
|
|
},
|
|
bmi: { type: "number", required: false, description: "bmi parameter" },
|
|
bloodSugar: {
|
|
type: "number",
|
|
required: false,
|
|
description: "bloodSugar parameter",
|
|
},
|
|
fasting: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "fasting parameter",
|
|
},
|
|
neck_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "neck_in parameter",
|
|
},
|
|
shoulders_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "shoulders_in parameter",
|
|
},
|
|
chest_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "chest_in parameter",
|
|
},
|
|
hips_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "hips_in parameter",
|
|
},
|
|
lean_body_mass_lbs: {
|
|
type: "number",
|
|
required: false,
|
|
description: "lean_body_mass_lbs parameter",
|
|
},
|
|
body_fat: {
|
|
type: "number",
|
|
required: false,
|
|
description: "body_fat parameter",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "notes parameter",
|
|
},
|
|
subjective_notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "subjective_notes parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/appointment-detail/{appointment}",
|
|
method: "POST",
|
|
controller: "ApiController@appointmentDetail",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment details",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/assistant/practitioners-list",
|
|
method: "GET",
|
|
controller: "ApiController@assistantPractitioner",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get practitioners list via assistant",
|
|
},
|
|
|
|
{
|
|
path: "/api/assistant/save-signature",
|
|
method: "POST",
|
|
controller: "ApiController@assistantStoreSignature",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Store signature",
|
|
parameters: {signature_data: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded signature image",,
|
|
signature_data: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded signature image",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "provider_id parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/assistant/store-form",
|
|
method: "POST",
|
|
controller: "ApiController@assistantFormDataStore",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Store form data",
|
|
parameters: {type: { type: "string", required: true, description: "type parameter",
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/assistant/store-intake-form-data",
|
|
method: "POST",
|
|
controller: "ApiController@storeAssistantIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Store intake form data",
|
|
parameters: {
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "form_id parameter",
|
|
},
|
|
pid: { type: "integer", required: true, description: "pid parameter" },
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "practitioner_id parameter",
|
|
},
|
|
schema: {
|
|
type: "string",
|
|
required: true,
|
|
description: "JSON schema of the form",
|
|
},
|
|
orginal_form_schema: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Original form schema",
|
|
},
|
|
signatureMetaData: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Signature metadata",
|
|
},
|
|
file_field_name: {
|
|
type: "file",
|
|
required: false,
|
|
description: "File upload fields (multiple can be included)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/assistant/update-form/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateAssistantForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update form",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Form ID" },
|
|
type: { type: "string", required: true, description: "type parameter" },
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/available-slots/{date}",
|
|
method: "POST",
|
|
controller: "ApiController@availableSlots",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get available appointment slots",
|
|
parameters: {
|
|
date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Date (YYYY-MM-DD)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/company/complete/setup/{status}",
|
|
method: "PUT",
|
|
controller: "ApiController@completeSetupAssistant",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Complete company setup",
|
|
parameters: {
|
|
status: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Setup status (complete or incomplete)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/delete-form/{id}",
|
|
method: "DELETE",
|
|
controller: "ApiController@deleteForm",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Delete form",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/delete-intake-question/{form_id}",
|
|
method: "DELETE",
|
|
controller: "ApiController@deleteIntakeQuestionById",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Delete intake question",
|
|
parameters: {
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Intake question ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/document/download/{rowId}/{key}",
|
|
method: "GET",
|
|
controller: "ApiController@downloadDocument",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Download a patient document",
|
|
parameters: {
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the intake form record",
|
|
},
|
|
key: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Key identifier for the document in the form data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{appointment_id}/order",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentOrder",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment order details",
|
|
parameters: {
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{appointment}/detail",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentDetailUnique",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment details",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{appointment}/update-meeting-analysis",
|
|
method: "POST",
|
|
controller: "ApiController@updateMeetingAnalysis",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Update meeting analysis",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Meeting analytics data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{id}/cancel",
|
|
method: "POST",
|
|
controller: "ApiController@cancelAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Cancel an appointment",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Appointment ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/agent/{appointment}",
|
|
method: "GET",
|
|
controller: "ApiController@getAgentAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get agent appointment details",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/list-by-date",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentListByDateProvider",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointments by date range",
|
|
parameters: {start_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Start date (YYYY-MM-DD)",,
|
|
start_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Start date (YYYY-MM-DD)",
|
|
},
|
|
end_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "End date (YYYY-MM-DD)",
|
|
}},
|
|
end_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "End date (YYYY-MM-DD)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/queue/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@addPatientToQueue",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Add patient to queue",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/report/last-30-days",
|
|
method: "GET",
|
|
controller: "ApiController@last30DaysAppointmentsData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get appointment data for last 30 days",
|
|
parameters: {start_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Start date (YYYY-MM-DD)",,
|
|
start_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Start date (YYYY-MM-DD)",
|
|
},
|
|
end_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "End date (YYYY-MM-DD)",
|
|
},
|
|
provider: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Provider ID or 'all' for all providers",
|
|
}},
|
|
end_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "End date (YYYY-MM-DD)",
|
|
},
|
|
provider: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Provider ID or 'all' for all providers",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/transcribe/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentTranscribe",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment transcriptions",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/end-call/{patient_id}/{appointment_id}",
|
|
method: "POST",
|
|
controller: "ApiController@endCall",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "End a call",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/form-pdf-save",
|
|
method: "POST",
|
|
controller: "ApiController@saveFormFile",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Save form file",
|
|
parameters: {form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "form_id parameter",,
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
pdf_data: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded PDF data",
|
|
}},
|
|
pdf_data: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded PDF data",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-all-forms",
|
|
method: "GET",
|
|
controller: "ApiController@getAllForms",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get all forms",
|
|
},
|
|
{
|
|
path: "/api/get-appointment-by-id",
|
|
method: "POST",
|
|
controller: "ApiController@getAppointmentByID",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment by ID",
|
|
parameters: {appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "appointment_id parameter",,
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-appointment-list",
|
|
method: "POST",
|
|
controller: "ApiController@getAppointmentList",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointments list",
|
|
},
|
|
{
|
|
path: "/api/get-appointment-list-date",
|
|
method: "POST",
|
|
controller: "ApiController@getAppointmentListByDate",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment list by date",
|
|
parameters: {date: { type: "string", required: false, description: "date parameter",
|
|
date: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "practitioner_id parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-doctors-appointment-list",
|
|
method: "POST",
|
|
controller: "ApiController@getDoctorAppointmentList",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get doctor appointments list",
|
|
},
|
|
{
|
|
path: "/api/get-doctors-appointment-list",
|
|
method: "POST",
|
|
controller: "ApiController@getDoctorAppointmentList",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get doctor appointments list",
|
|
},
|
|
{
|
|
path: "/api/get-document-by-id/{patientId}/{did}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocumentsById",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Get a specific patient document by ID",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
did: { type: "integer", required: true, description: "Document ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-document-vue/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocumentVue",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get documents for Vue component",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-document/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocuments",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Get patient documents",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-email-list/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getEmailList",
|
|
category: ENDPOINT_CATEGORIES.MESSAGING,
|
|
description: "Get email list for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables draw counter",
|
|
},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables start offset",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables page length",
|
|
},
|
|
"search[value]": {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables search value",
|
|
},
|
|
"order[0][column]": {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables column index for ordering",
|
|
},
|
|
"order[0][dir]": {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables order direction (asc/desc)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-email/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getEmailById",
|
|
category: ENDPOINT_CATEGORIES.MESSAGING,
|
|
description: "Get an email by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the email to retrieve",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-form/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getFormById",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get form by ID",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-forms/{type}",
|
|
method: "GET",
|
|
controller: "ApiController@getForms",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get forms by type",
|
|
parameters: {
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description:
|
|
"Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-intake-forms-data/{form_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getQuestionFormIntakeById",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get intake form data by ID",
|
|
parameters: {
|
|
form_id: { type: "integer", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-intake-forms-list",
|
|
method: "GET",
|
|
controller: "ApiController@getIntakeFormList",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get intake forms list",
|
|
},
|
|
{
|
|
path: "/api/get-location/{uuid}",
|
|
method: "GET",
|
|
controller: "ApiController@getLocationByUuid",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Get a location by UUID",
|
|
parameters: {
|
|
uuid: {
|
|
type: "string",
|
|
required: true,
|
|
description: "UUID of the location to retrieve",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-forms-list/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientIntakeSimpleFormList",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get patient intake simple forms list",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-forms/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientFormList",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get all forms for a patient",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-info/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@getInfo",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient information",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-intake-form-data/{form_id}/{pid}/{rowId}",
|
|
method: "GET",
|
|
controller: "ApiController@getIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient intake form data",
|
|
parameters: {
|
|
form_id: { type: "integer", required: true, description: "Form ID" },
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Row ID of the specific form submission",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-intake-form-latest-data/{form_id}/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getIntakeFormLatestData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get latest intake form data",
|
|
parameters: {
|
|
form_id: { type: "integer", required: true, description: "Form ID" },
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-intake-form-list/{type}/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientIntakeFormList",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient intake forms by type",
|
|
parameters: {
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description:
|
|
"Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
},
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-questionnaire-form-list/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientQuestionairForm",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient questionnaire forms",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-submitted-intake-forms/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getMergedFormData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get all submitted forms for a patient",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-prescription-list/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPrescriptionList",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient prescription list",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-questioner-forms-data/{form_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getQuestionFormQuestionerById",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get questionnaire form data",
|
|
parameters: {
|
|
form_id: { type: "integer", required: true, description: "Form ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-questioner-question/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getQuestionQuestionerById",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get questionnaire question by ID",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Question ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-stored-methods/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getStoredMethods",
|
|
category: ENDPOINT_CATEGORIES.BILLING_ORDERS,
|
|
description: "Get stored payment methods",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/lab-detail/{appointment}",
|
|
method: "GET",
|
|
controller: "ApiController@labDetail",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get lab details for an appointment",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/lab-detail/{appointment}",
|
|
method: "GET",
|
|
controller: "ApiController@labDetail",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get lab details for an appointment",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/location/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getLocationById",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Get a location by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the location to retrieve",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/medical-problem/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getMedicalProblemById",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Get a medical problem by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the medical problem to retrieve",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/medical-problems-store/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storeMedicalProblem",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Add a new medical problem for a patient",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
lastDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastDate parameter",
|
|
},
|
|
nextDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "nextDate parameter",
|
|
},
|
|
screeningDetails: {
|
|
type: "string",
|
|
required: true,
|
|
description: "screeningDetails parameter",
|
|
},
|
|
flag: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Status flag for the medical problem",
|
|
},
|
|
typeOfItem: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Type of medical problem",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/medical-problems-update/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateMedicalProblemRecord",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Update an existing medical problem",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the medical problem to update",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
lastDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastDate parameter",
|
|
},
|
|
nextDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "nextDate parameter",
|
|
},
|
|
screeningDetails: {
|
|
type: "string",
|
|
required: true,
|
|
description: "screeningDetails parameter",
|
|
},
|
|
flag: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Status flag for the medical problem",
|
|
},
|
|
typeOfItem: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Type of medical problem",
|
|
},
|
|
medical_problem_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the medical problem",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient-data/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getAssistantPatientData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient data",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patients",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get a list of patients",
|
|
parameters: {firstName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's first name",,
|
|
firstName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's first name",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's last name",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's date of birth (YYYY-MM-DD)",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's email",
|
|
}},
|
|
lastName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's last name",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's date of birth (YYYY-MM-DD)",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Filter by patient's email",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/plans-product-sync",
|
|
method: "POST",
|
|
controller: "ApiController@syncProducts",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Save multiple products",
|
|
parameters: {builder_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded builder ID",,
|
|
builder_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded builder ID",
|
|
},
|
|
products: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
products: {
|
|
type: "array",
|
|
required: true,
|
|
description: "products parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/plans-product-update",
|
|
method: "POST",
|
|
controller: "ApiController@updateOnPublish",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update product on publish",
|
|
parameters: {builder_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded builder ID",,
|
|
builder_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Base64 encoded builder ID",
|
|
},
|
|
product_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
product_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
product_price: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
product_slug: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
product_category: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
product_variation: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
product_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "product_id parameter",
|
|
},
|
|
product_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "product_name parameter",
|
|
},
|
|
product_price: {
|
|
type: "number",
|
|
required: true,
|
|
description: "product_price parameter",
|
|
},
|
|
product_slug: {
|
|
type: "string",
|
|
required: true,
|
|
description: "product_slug parameter",
|
|
},
|
|
product_category: {
|
|
type: "object",
|
|
required: true,
|
|
description: "product_category parameter",
|
|
},
|
|
product_variation: {
|
|
type: "array",
|
|
required: false,
|
|
description: "product_variation parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/provider-add-availability",
|
|
method: "POST",
|
|
controller: "ApiController@storeProviderAvailability",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Store provider availability",
|
|
parameters: {title: { type: "string", required: true, description: "title parameter",
|
|
title: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
start: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
end: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "availability or event",
|
|
},
|
|
comment: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
start: { type: "string", required: true, description: "start parameter" },
|
|
end: { type: "string", required: true, description: "end parameter" },
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "availability or event",
|
|
},
|
|
comment: {
|
|
type: "string",
|
|
required: false,
|
|
description: "comment parameter",
|
|
},
|
|
practitioner_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "practitioner_id parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/provider/auth/logout",
|
|
method: "POST",
|
|
controller: "ApiController@logout",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Logout provider",
|
|
},
|
|
{
|
|
path: "/api/provider/practitioners-list",
|
|
method: "GET",
|
|
controller: "ApiController@providerPractitioner",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get practitioners list",
|
|
},
|
|
{
|
|
path: "/api/render/pdf/{rowId}",
|
|
method: "GET",
|
|
controller: "ApiController@renderPdf",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Render a PDF document",
|
|
parameters: {
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the intake form record",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/save-category",
|
|
method: "POST",
|
|
controller: "ApiController@storeCategory",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Store product category",
|
|
parameters: {name: { type: "string", required: true, description: "name parameter",
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "description parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/save-payment-method",
|
|
method: "POST",
|
|
controller: "ApiController@storePaymentMethodConfigAssistant",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Store payment method configuration",
|
|
parameters: {payment_method: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payment_method parameter",,
|
|
payment_method: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
api_key: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
secret_key: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
is_active: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
api_key: {
|
|
type: "string",
|
|
required: false,
|
|
description: "api_key parameter",
|
|
},
|
|
secret_key: {
|
|
type: "string",
|
|
required: false,
|
|
description: "secret_key parameter",
|
|
},
|
|
is_active: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "is_active parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/save-product",
|
|
method: "POST",
|
|
controller: "ApiController@assistantSaveProduct",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Save product",
|
|
parameters: {name: { type: "string", required: true, description: "name parameter",
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
category_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
sku: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
stock_quantity: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "description parameter",
|
|
},
|
|
price: { type: "number", required: true, description: "price parameter" },
|
|
category_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "category_id parameter",
|
|
},
|
|
sku: { type: "string", required: false, description: "sku parameter" },
|
|
stock_quantity: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "stock_quantity parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/save-signature",
|
|
method: "POST",
|
|
controller: "ApiController@storeSignature",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Save provider signature",
|
|
parameters: {signature: {
|
|
type: "string",
|
|
required: true,
|
|
description: "signature parameter",,
|
|
signature: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/start-call/{patient_id}/{agent_id}/{appointment_id}",
|
|
method: "POST",
|
|
controller: "ApiController@startCall",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "Start a call",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
agent_id: { type: "integer", required: true, description: "Agent ID" },
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
title: {
|
|
type: "string",
|
|
required: false,
|
|
description: "title parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/store-company",
|
|
method: "POST",
|
|
controller: "ApiController@updateCompanyAssistant",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update company information",
|
|
parameters: {
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "address parameter",
|
|
},
|
|
city: { type: "string", required: false, description: "city parameter" },
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "state parameter",
|
|
},
|
|
zip: { type: "string", required: false, description: "zip parameter" },
|
|
phone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "phone parameter",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "email parameter",
|
|
},
|
|
website: {
|
|
type: "string",
|
|
required: false,
|
|
description: "website parameter",
|
|
},
|
|
logo: { type: "file", required: false, description: "Company logo" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/store-document/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@storeDocuments",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Store patient documents",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
files: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Document files to upload",
|
|
},
|
|
document_type: {
|
|
type: "string",
|
|
required: false,
|
|
description: "document_type parameter",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "notes parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/store-patient-consent-form",
|
|
method: "POST",
|
|
controller: "ApiController@storePatientConsentForm",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Store patient consent form",
|
|
parameters: {form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "form_id parameter",,
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
signature: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
pid: { type: "integer", required: true, description: "pid parameter" },
|
|
data: { type: "object", required: true, description: "data parameter" },
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
signature: {
|
|
type: "string",
|
|
required: true,
|
|
description: "signature parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/task/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getOneTaskById",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get a task by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the task to retrieve",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/tasks/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getTasks",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get all tasks for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables draw counter",
|
|
},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables start offset",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables page length",
|
|
},
|
|
"search[value]": {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables search value",
|
|
},
|
|
"order[0][column]": {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables column index for ordering",
|
|
},
|
|
"order[0][dir]": {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables order direction (asc/desc)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/token/create-with-abilities",
|
|
method: "POST",
|
|
controller: "ApiController@createTokenWithAbilities",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Create a token with specific abilities",
|
|
parameters: {user_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "user_id parameter",,
|
|
user_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
token_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
abilities: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
expires_in_hours: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
token_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "token_name parameter",
|
|
},
|
|
abilities: {
|
|
type: "array",
|
|
required: true,
|
|
description: "abilities parameter",
|
|
},
|
|
expires_in_hours: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "expires_in_hours parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/token/generate-temporary",
|
|
method: "POST",
|
|
controller: "ApiController@generateTemporaryToken",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Generate a temporary API token",
|
|
parameters: {user_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "user_id parameter",,
|
|
user_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
expires_in_hours: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
abilities: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
expires_in_hours: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "expires_in_hours parameter",
|
|
},
|
|
abilities: {
|
|
type: "array",
|
|
required: false,
|
|
description: "abilities parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/token/list/{userId}",
|
|
method: "GET",
|
|
controller: "ApiController@listUserTokens",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "List all tokens for a user",
|
|
parameters: {
|
|
userId: { type: "integer", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/token/refresh",
|
|
method: "POST",
|
|
controller: "ApiController@refreshCurrentToken",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Refresh current token",
|
|
},
|
|
{
|
|
path: "/api/token/revoke",
|
|
method: "DELETE",
|
|
controller: "ApiController@revokeToken",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Revoke a specific token",
|
|
parameters: {token_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "token_id parameter",,
|
|
token_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/token/revoke-all/{userId}",
|
|
method: "DELETE",
|
|
controller: "ApiController@revokeAllUserTokens",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Revoke all tokens for a user",
|
|
parameters: {
|
|
userId: { type: "integer", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-category/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updateCategory",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Update product category",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Category ID" },
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "description parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-form-status",
|
|
method: "PUT",
|
|
controller: "ApiController@updateFormRequestStatus",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update form request status",
|
|
parameters: {form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "form_id parameter",,
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "patient_id parameter",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: true,
|
|
description: "status parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-form/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateForm",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update form",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Form ID" },
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description:
|
|
"Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-intake-form-data",
|
|
method: "POST",
|
|
controller: "ApiController@updateIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update intake form data",
|
|
parameters: {form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "form_id parameter",,
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
pid: { type: "integer", required: true, description: "pid parameter" },
|
|
data: { type: "object", required: true, description: "data parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-location/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateLocation",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Update a location by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the location to update",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
npiNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "npiNumber parameter",
|
|
},
|
|
phoneNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "phoneNumber parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "address parameter",
|
|
},
|
|
city: { type: "string", required: true, description: "city parameter" },
|
|
state: { type: "string", required: true, description: "state parameter" },
|
|
zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "zipcode parameter",
|
|
},
|
|
country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "country parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-location/{uuid}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateLocationByUuid",
|
|
category: ENDPOINT_CATEGORIES.LOCATION_MANAGEMENT,
|
|
description: "Update a location by UUID",
|
|
parameters: {
|
|
uuid: {
|
|
type: "string",
|
|
required: true,
|
|
description: "UUID of the location to update",
|
|
},
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
npiNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "npiNumber parameter",
|
|
},
|
|
phoneNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "phoneNumber parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "address parameter",
|
|
},
|
|
city: { type: "string", required: true, description: "city parameter" },
|
|
state: { type: "string", required: true, description: "state parameter" },
|
|
zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "zipcode parameter",
|
|
},
|
|
country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "country parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-password",
|
|
method: "POST",
|
|
controller: "ApiController@updatePasswordPatient",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update patient password",
|
|
parameters: {new_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "new_password parameter",,
|
|
new_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-patient-info/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@updateInfo",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient information",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
city: { type: "string", required: false, description: "city parameter" },
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "state parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "address parameter",
|
|
},
|
|
zip_code: {
|
|
type: "string",
|
|
required: false,
|
|
description: "zip_code parameter",
|
|
},
|
|
dob: { type: "string", required: false, description: "dob parameter" },
|
|
country: {
|
|
type: "string",
|
|
required: false,
|
|
description: "country parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-product/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updateProduct",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Update product",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Product ID" },
|
|
name: { type: "string", required: true, description: "name parameter" },
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "description parameter",
|
|
},
|
|
price: { type: "number", required: true, description: "price parameter" },
|
|
category_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "category_id parameter",
|
|
},
|
|
sku: { type: "string", required: false, description: "sku parameter" },
|
|
stock_quantity: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "stock_quantity parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-task/{task_id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateTask",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update an existing task",
|
|
parameters: {
|
|
task_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the task to update",
|
|
},
|
|
task_title: {
|
|
type: "string",
|
|
required: false,
|
|
description: "task_title parameter",
|
|
},
|
|
task_body: {
|
|
type: "string",
|
|
required: false,
|
|
description: "task_body parameter",
|
|
},
|
|
task_due_date: {
|
|
type: "string",
|
|
required: false,
|
|
description: "task_due_date parameter",
|
|
},
|
|
task_assigned_to: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "task_assigned_to parameter",
|
|
},
|
|
task_watchers: {
|
|
type: "array",
|
|
required: false,
|
|
description: "task_watchers parameter",
|
|
},
|
|
sendEmailtoPatientApplicationForTask: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "sendEmailtoPatientApplicationForTask parameter",
|
|
},
|
|
task_priority: {
|
|
type: "string",
|
|
required: false,
|
|
description: "task_priority parameter",
|
|
},
|
|
task_status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "task_status parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-user/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updateUser",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update user",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "User ID" },
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "firstName parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastName parameter",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "textMessageNumber parameter",
|
|
},
|
|
timezone: {
|
|
type: "string",
|
|
required: true,
|
|
description: "timezone parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "dateOfBirth parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: false,
|
|
description: "gender parameter",
|
|
},
|
|
city: { type: "string", required: false, description: "city parameter" },
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "state parameter",
|
|
},
|
|
zipcode: {
|
|
type: "string",
|
|
required: false,
|
|
description: "zipcode parameter",
|
|
},
|
|
type: { type: "string", required: false, description: "type parameter" },
|
|
role_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "role_id parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: false,
|
|
description: "username parameter",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: false,
|
|
description: "newUserPassword parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user-list",
|
|
method: "GET",
|
|
controller: "ApiController@getUserList",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get list of users",
|
|
},
|
|
{
|
|
path: "/api/user-list/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getUserById",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get user by ID",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "User ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user/create",
|
|
method: "POST",
|
|
controller: "ApiController@createUserFromAdmin",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Create new user from admin",
|
|
parameters: {
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "firstName parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "lastName parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: true,
|
|
description: "username parameter",
|
|
},
|
|
emailAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "emailAddress parameter",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "textMessageNumber parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "dateOfBirth parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: false,
|
|
description: "gender parameter",
|
|
},
|
|
city: { type: "string", required: false, description: "city parameter" },
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "state parameter",
|
|
},
|
|
zipcode: {
|
|
type: "string",
|
|
required: false,
|
|
description: "zipcode parameter",
|
|
},
|
|
role_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "role_id parameter",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: true,
|
|
description: "newUserPassword parameter",
|
|
},
|
|
type: { type: "string", required: true, description: "type parameter" },
|
|
avatarImg: {
|
|
type: "file",
|
|
required: false,
|
|
description: "User profile image",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/appointment-status/{id}/{status}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateAppointmentStatus",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Update appointment status",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "Appointment ID" },
|
|
status: {
|
|
type: "string",
|
|
required: true,
|
|
description: "New status for the appointment",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/create-meeting/{meeting_id}",
|
|
method: "GET",
|
|
controller: "ApiController@showMeeting",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "Show meeting details",
|
|
parameters: {
|
|
meeting_id: { type: "string", required: true, description: "Meeting ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/delete-inventory/{id}",
|
|
method: "DELETE",
|
|
controller: "ApiController@deleteInventoryItem",
|
|
category: ENDPOINT_CATEGORIES.INVENTORY,
|
|
description: "Delete inventory item",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the inventory item to delete",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/emr-api/company/complete/setup/{status}",
|
|
method: "PUT",
|
|
controller: "ApiController@completeSetup",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Complete provider setup",
|
|
parameters: {
|
|
status: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Setup status (1 for complete, 0 for incomplete)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/emr-api/company/status",
|
|
method: "GET",
|
|
controller: "ApiController@getCompanyStatus",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get company status",
|
|
},
|
|
{
|
|
path: "/emr-api/get-company",
|
|
method: "GET",
|
|
controller: "ApiController@getCompany",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get company information",
|
|
},
|
|
{
|
|
path: "/emr-api/provider-wizard-setup",
|
|
method: "GET",
|
|
controller: "ApiController@getCounts",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get provider setup counts",
|
|
},
|
|
{
|
|
path: "/emr-api/store-company",
|
|
method: "POST",
|
|
controller: "ApiController@updateCompany",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update company information",
|
|
parameters: {
|
|
id: { type: "integer", required: true, description: "id parameter" },
|
|
company_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "company_name parameter",
|
|
},
|
|
company_phone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "company_phone parameter",
|
|
},
|
|
company_email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "company_email parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "address parameter",
|
|
},
|
|
domain_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "domain_name parameter",
|
|
},
|
|
city: { type: "string", required: false, description: "city parameter" },
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "state parameter",
|
|
},
|
|
zip: { type: "string", required: false, description: "zip parameter" },
|
|
header_scripts: {
|
|
type: "string",
|
|
required: false,
|
|
description: "header_scripts parameter",
|
|
},
|
|
footer_scripts: {
|
|
type: "string",
|
|
required: false,
|
|
description: "footer_scripts parameter",
|
|
},
|
|
logo: { type: "string", required: false, description: "logo parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/get-insurance/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getInsurance",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get insurance information for a patient",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/get-inventory/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getInventoryItemById",
|
|
category: ENDPOINT_CATEGORIES.INVENTORY,
|
|
description: "Get inventory item by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the inventory item",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/get-realtime-questions/{appointmentId}",
|
|
method: "GET",
|
|
controller: "ApiController@getRealtimeQuestions",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "Get real-time questions",
|
|
parameters: {
|
|
appointmentId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/inventory",
|
|
method: "GET",
|
|
controller: "ApiController@listInventoryItems",
|
|
category: ENDPOINT_CATEGORIES.INVENTORY,
|
|
description: "Get inventory list",
|
|
},
|
|
{
|
|
path: "/join-meeting/{meeting_id}",
|
|
method: "GET",
|
|
controller: "ApiController@joinMeeting",
|
|
category: ENDPOINT_CATEGORIES.AI_INTEGRATION,
|
|
description: "Join a meeting",
|
|
parameters: {
|
|
meeting_id: { type: "string", required: true, description: "Meeting ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/phone-log-list/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPhoneLogList",
|
|
category: ENDPOINT_CATEGORIES.MESSAGING,
|
|
description: "Get phone logs for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Draw counter for DataTables",
|
|
},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Paging first record indicator for DataTables",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Number of records per page for DataTables",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/provider/me",
|
|
method: "GET",
|
|
controller: "ApiController@getProviderDetailsByAccessToken",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get provider details by access token",
|
|
},
|
|
{
|
|
path: "/save-payment-method",
|
|
method: "POST",
|
|
controller: "ApiController@storePaymentMethodConfigProvider",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Save payment method configuration",
|
|
parameters: {name: { type: "string", required: true, description: "name parameter",
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
config: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
config: {
|
|
type: "object",
|
|
required: true,
|
|
description: "config parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/store-insurance/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@insuranceStore",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store insurance information for a patient",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
insurance: {
|
|
type: "string",
|
|
required: false,
|
|
description: "insurance parameter",
|
|
},
|
|
insuredPlanOrProgramName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredPlanOrProgramName parameter",
|
|
},
|
|
insuredIDNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredIDNumber parameter",
|
|
},
|
|
insuredGroupNameNo: {
|
|
type: "string",
|
|
required: false,
|
|
description: "insuredGroupNameNo parameter",
|
|
},
|
|
employersSchoolName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "employersSchoolName parameter",
|
|
},
|
|
relationshiptoInsured: {
|
|
type: "string",
|
|
required: true,
|
|
description: "relationshiptoInsured parameter",
|
|
},
|
|
insuredName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "insuredName parameter",
|
|
},
|
|
insuredDateOfBirth: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredDateOfBirth parameter",
|
|
},
|
|
insuredGender: {
|
|
type: "string",
|
|
required: false,
|
|
description: "insuredGender parameter",
|
|
},
|
|
coPayment: {
|
|
type: "number",
|
|
required: false,
|
|
description: "coPayment parameter",
|
|
},
|
|
coInsurance: {
|
|
type: "number",
|
|
required: false,
|
|
description: "coInsurance parameter",
|
|
},
|
|
insuranceDeductible: {
|
|
type: "number",
|
|
required: false,
|
|
description: "insuranceDeductible parameter",
|
|
},
|
|
insuredAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredAddress parameter",
|
|
},
|
|
insuredCity: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredCity parameter",
|
|
},
|
|
insuredState: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredState parameter",
|
|
},
|
|
insuredZip: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredZip parameter",
|
|
},
|
|
insuredPhone: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredPhone parameter",
|
|
},
|
|
payerName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payerName parameter",
|
|
},
|
|
payerID: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payerID parameter",
|
|
},
|
|
payerAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payerAddress parameter",
|
|
},
|
|
payerCity: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payerCity parameter",
|
|
},
|
|
payerState: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payerState parameter",
|
|
},
|
|
payerZip: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payerZip parameter",
|
|
},
|
|
referringProviderName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "referringProviderName parameter",
|
|
},
|
|
referringProviderNPI: {
|
|
type: "string",
|
|
required: false,
|
|
description: "referringProviderNPI parameter",
|
|
},
|
|
referringProviderTaxonomy: {
|
|
type: "string",
|
|
required: false,
|
|
description: "referringProviderTaxonomy parameter",
|
|
},
|
|
type: { type: "string", required: true, description: "type parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/store-tags/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@storeTagsAlternate",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Store tags for a patient (alternate endpoint)",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
tags: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Array of tag names to be associated with the patient",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/tags/list/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getTags",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get tags for a patient",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/tags/store/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storeTags",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Store tags for a patient",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
tags: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Array of tag names to be associated with the patient",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/update-insurance/{patientId}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateInsurance",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update insurance information for a patient",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
insuredPlanOrProgramName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredPlanOrProgramName parameter",
|
|
},
|
|
insuredIDNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredIDNumber parameter",
|
|
},
|
|
insuredGroupNameNo: {
|
|
type: "string",
|
|
required: false,
|
|
description: "insuredGroupNameNo parameter",
|
|
},
|
|
relationshiptoInsured: {
|
|
type: "string",
|
|
required: true,
|
|
description: "relationshiptoInsured parameter",
|
|
},
|
|
insuredDateOfBirth: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredDateOfBirth parameter",
|
|
},
|
|
insuredAddress: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredAddress parameter",
|
|
},
|
|
insuredCity: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredCity parameter",
|
|
},
|
|
insuredState: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredState parameter",
|
|
},
|
|
insuredZip: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredZip parameter",
|
|
},
|
|
insuredPhone: {
|
|
type: "string",
|
|
required: true,
|
|
description: "insuredPhone parameter",
|
|
},
|
|
payerName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payerName parameter",
|
|
},
|
|
coPayment: {
|
|
type: "number",
|
|
required: false,
|
|
description: "coPayment parameter",
|
|
},
|
|
type: { type: "string", required: true, description: "type parameter" },
|
|
},
|
|
},
|
|
{
|
|
path: "/update-inventory/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateInventoryItem",
|
|
category: ENDPOINT_CATEGORIES.INVENTORY,
|
|
description: "Update inventory item",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the inventory item to update",
|
|
},
|
|
inventoryType: {
|
|
type: "string",
|
|
required: false,
|
|
description: "inventoryType parameter",
|
|
},
|
|
item_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "item_name parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: false,
|
|
description: "price parameter",
|
|
},
|
|
expirationDate: {
|
|
type: "string",
|
|
required: false,
|
|
description: "expirationDate parameter",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== MISSING ENDPOINTS FROM COMPREHENSIVE AUDIT =====
|
|
{
|
|
path: "/api/emr/appointment/doctor/patient/{patientId}",
|
|
method: "GET",
|
|
controller: "AppointmentController@getDoctorAppointmentsByPatientId",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get doctor appointments by patient ID",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/patient/{patient_id}/list",
|
|
method: "GET",
|
|
controller: "AppointmentController@getPatientApptList",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get patient appointment list",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/patient/carts-items",
|
|
method: "GET",
|
|
controller: "AppointmentController@getPatientAppointmentsWithCartsAndItems",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get patient appointments with carts and items",
|
|
parameters: {},
|
|
},,
|
|
// ===== NEW ENDPOINTS FROM API-DOCS.JSON COMPREHENSIVE AUDIT =====
|
|
{
|
|
path: "/create-meeting/{meeting_id}",
|
|
method: "GET",
|
|
controller: "ApiController@showMeeting",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Show meeting details",
|
|
parameters: {
|
|
meeting_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Meeting ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/join-meeting/{meeting_id}",
|
|
method: "GET",
|
|
controller: "ApiController@joinMeeting",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Join a meeting",
|
|
parameters: {
|
|
meeting_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Meeting ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/start-call/{patient_id}/{agent_id}/{appointment_id}",
|
|
method: "POST",
|
|
controller: "ApiController@startCall",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Start a call",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
agent_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Agent ID",
|
|
},
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
call_type: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/get-realtime-questions/{appointmentId}",
|
|
method: "GET",
|
|
controller: "ApiController@getRealtimeQuestions",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Get real-time questions",
|
|
parameters: {
|
|
appointmentId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/end-call/{patient_id}/{appointment_id}",
|
|
method: "POST",
|
|
controller: "ApiController@endCall",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "End a call",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/appointment-status/{id}/{status}",
|
|
method: "POST",
|
|
controller: "ApiController@markAppointmentsStatus",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Mark appointment status",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: true,
|
|
description: "New status for the appointment",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/patients-list",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientsList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patients list",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/emr/patient-data/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient data",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/dashboard-states",
|
|
method: "GET",
|
|
controller: "ApiController@getDashboardStates",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get dashboard states",
|
|
parameters: {
|
|
start_date: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Start date for the dashboard data range",
|
|
},
|
|
end_date: {
|
|
type: "string",
|
|
required: false,
|
|
description: "End date for the dashboard data range",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/get-patient-data/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientDataById",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient data by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/patients/profile-image/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getProfileImage",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient profile image",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/patients/store-document/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storeDocumentsEmr",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store patient document",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/patients/get-document/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocumentEmr",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient documents",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/update-patient/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updatePatient",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
firstName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
phone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/guardian-update/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@guardianUpdate",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update patient guardian information",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
nextKinRelation: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinPhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinAddress: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinCity: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinState: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinZipCode: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinFirstName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinLastName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/store-insurance/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@insuranceStore",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store patient insurance",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
insuredPlanOrProgramName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredIDNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredGroupNameNo: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
payerName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
relationshiptoInsured: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredDateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredAddress: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredZip: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredCity: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredState: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredPhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
coPayment: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/get-insurance/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getInsurance",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient insurance",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/update-insurance/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@updateInsurance",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient insurance",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
insuredPlanOrProgramName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredIDNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredGroupNameNo: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
payerName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
relationshiptoInsured: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredDateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredAddress: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredZip: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredCity: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredState: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredPhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
coPayment: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/locations",
|
|
method: "GET",
|
|
controller: "ApiController@getLocations",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get locations",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/add-location",
|
|
method: "POST",
|
|
controller: "ApiController@addLocation",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Add location",
|
|
parameters: {
|
|
name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
city: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
postal_code: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
phone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/update-location/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updateLocation",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update location",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Location ID",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
city: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
postal_code: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
phone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/get-location/{uuid}",
|
|
method: "GET",
|
|
controller: "ApiController@getLocationById",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get location by UUID",
|
|
parameters: {
|
|
uuid: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Location UUID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/patient-nextofskin",
|
|
method: "POST",
|
|
controller: "ApiController@addNextOfKin",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Add next of kin",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextKinRelation: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinPhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinAddress: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinCity: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinState: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinZipCode: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinFirstName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
nextkinLastName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/patient-insurance",
|
|
method: "POST",
|
|
controller: "ApiController@addPatientInsurance",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Add patient insurance",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredPlanOrProgramName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredIDNumber: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredGroupNameNo: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
payerName: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
relationshiptoInsured: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredDateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredAddress: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredZip: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredCity: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredState: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insuredPhone: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
coPayment: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/patient-eligibility-check",
|
|
method: "POST",
|
|
controller: "ApiController@checkPatientEligibility",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Check patient eligibility",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
insurance_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/get-products",
|
|
method: "GET",
|
|
controller: "ApiController@getProducts",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get products",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/emr/save-product",
|
|
method: "POST",
|
|
controller: "ApiController@saveProduct",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Save product",
|
|
parameters: {
|
|
name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
category_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/update-product",
|
|
method: "POST",
|
|
controller: "ApiController@updateProduct",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update product",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
category_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/get-categories",
|
|
method: "GET",
|
|
controller: "ApiController@getCategories",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get categories",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/emr/save-category",
|
|
method: "POST",
|
|
controller: "ApiController@saveCategory",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Save category",
|
|
parameters: {
|
|
name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/update-category",
|
|
method: "POST",
|
|
controller: "ApiController@updateCategory",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update category",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/text-messages",
|
|
method: "GET",
|
|
controller: "ApiController@getTextMessages",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get text messages",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/text-messages",
|
|
method: "POST",
|
|
controller: "ApiController@sendTextMessage",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Send text message",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
message: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
phone_number: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/patient-history",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientHistory",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient history",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/tags/list",
|
|
method: "GET",
|
|
controller: "ApiController@getTagsList",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get tags list",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/emr/tags/store",
|
|
method: "POST",
|
|
controller: "ApiController@storeTags",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Store tags",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
tags: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-patient-info/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@updateInfo",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient information",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
city: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
zip_code: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
dob: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
country: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-info/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@getInfo",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient information",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/available-slots/{date}",
|
|
method: "POST",
|
|
controller: "ApiController@availableSlots",
|
|
category: ENDPOINT_CATEGORIES.MEDICAL_RECORDS,
|
|
description: "Get available appointment slots",
|
|
parameters: {
|
|
date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Date (YYYY-MM-DD)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/appointment-detail/{appointment}",
|
|
method: "POST",
|
|
controller: "ApiController@appointmentDetail",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment details",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/lab-detail/{appointment}",
|
|
method: "GET",
|
|
controller: "ApiController@labDetail",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get lab details for an appointment",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient-data/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getAssistantPatientData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient data",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-forms-list/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientIntakeSimpleFormList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient intake simple forms list",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-prescription-list/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPrescriptionList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient prescription list",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/assistant/update-form/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateAssistantForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update form",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
},
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-category/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updateCategory",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update product category",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Category ID",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-product/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updateProduct",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update product",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Product ID",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
category_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
sku: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
stock_quantity: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/company/complete/setup/{status}",
|
|
method: "PUT",
|
|
controller: "ApiController@completeSetupAssistant",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Complete company setup",
|
|
parameters: {
|
|
status: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Setup status (complete or incomplete)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr-api/company/complete/setup/{status}",
|
|
method: "PUT",
|
|
controller: "ApiController@completeSetup",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Complete provider setup",
|
|
parameters: {
|
|
status: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Setup status (1 for complete, 0 for incomplete)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{id}/cancel",
|
|
method: "POST",
|
|
controller: "ApiController@cancelAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Cancel an appointment",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{appointment_id}/order",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentOrder",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment order details",
|
|
parameters: {
|
|
appointment_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/transcribe/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentTranscribe",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment transcriptions",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/patient/{patient_id}/list",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientApptList",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get patient appointment list",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{appointment}/detail",
|
|
method: "GET",
|
|
controller: "ApiController@getAppointmentDetailUnique",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get appointment details",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/queue/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@addPatientToQueue",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Add patient to queue",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/doctor/patient/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getDoctorAppointmentsByPatientId",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get doctor appointments by patient ID",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/agent/{appointment}",
|
|
method: "GET",
|
|
controller: "ApiController@getAgentAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get agent appointment details",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/{appointment}/update-meeting-analysis",
|
|
method: "POST",
|
|
controller: "ApiController@updateMeetingAnalysis",
|
|
category: ENDPOINT_CATEGORIES.MEETINGS,
|
|
description: "Update meeting analysis",
|
|
parameters: {
|
|
appointment: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Meeting analytics data",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/document/download/{rowId}/{key}",
|
|
method: "GET",
|
|
controller: "ApiController@downloadDocument",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Download a patient document",
|
|
parameters: {
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the intake form record",
|
|
},
|
|
key: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Key identifier for the document in the form data",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/render/pdf/{rowId}",
|
|
method: "GET",
|
|
controller: "ApiController@renderPdf",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Render a PDF document",
|
|
parameters: {
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the intake form record",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-email/{patient_id}",
|
|
method: "POST",
|
|
controller: "ApiController@addEmail",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Add a new email for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
practitioner: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "User ID of the practitioner",
|
|
},
|
|
messageText: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
to_email: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
from_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
emailTemplate: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Template name used for the email",
|
|
},
|
|
subject: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-email-list/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getEmailList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get email list for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables draw counter",
|
|
},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables start offset",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables page length",
|
|
},
|
|
search_value_: {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables search value",
|
|
},
|
|
order_0__column_: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables column index for ordering",
|
|
},
|
|
order_0__dir_: {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables order direction (asc/desc)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-email/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getEmailById",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get an email by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the email to retrieve",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-forms/{type}",
|
|
method: "GET",
|
|
controller: "ApiController@getForms",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get forms by type",
|
|
parameters: {
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-form/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getFormById",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get form by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-form/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Update form",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
},
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
},
|
|
data: {
|
|
type: "object",
|
|
required: true,
|
|
description: "Form structure and fields",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/delete-form/{id}",
|
|
method: "DELETE",
|
|
controller: "ApiController@deleteForm",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Delete form",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-intake-form-data/{form_id}/{pid}/{rowId}",
|
|
method: "GET",
|
|
controller: "ApiController@getIntakeFormData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient intake form data",
|
|
parameters: {
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
},
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
rowId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Row ID of the specific form submission",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-intake-form-latest-data/{form_id}/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getIntakeFormLatestData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get latest intake form data",
|
|
parameters: {
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
},
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-submitted-intake-forms/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getMergedFormData",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get all submitted forms for a patient",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-intake-form-list/{type}/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientIntakeFormList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient intake forms by type",
|
|
parameters: {
|
|
type: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Form type (simple-forms, consent-forms, charting-forms, etc.)",
|
|
},
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/delete-intake-question/{form_id}",
|
|
method: "DELETE",
|
|
controller: "ApiController@deleteIntakeQuestionById",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Delete intake question",
|
|
parameters: {
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Intake question ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-intake-forms-data/{form_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getQuestionFormIntakeById",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get intake form data by ID",
|
|
parameters: {
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-document-vue/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocumentVue",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get documents for Vue component",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-forms/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientFormList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get all forms for a patient",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-patient-questionnaire-form-list/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientQuestionairForm",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient questionnaire forms",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-questioner-forms-data/{form_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getQuestionFormQuestionerById",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get questionnaire form data",
|
|
parameters: {
|
|
form_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Form ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-questioner-question/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getQuestionQuestionerById",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get questionnaire question by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Question ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/get-inventory/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getInventoryItemById",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get inventory item by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the inventory item",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/update-inventory/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateInventoryItem",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update inventory item",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the inventory item to update",
|
|
},
|
|
inventoryType: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
item_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
price: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
expirationDate: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/delete-inventory/{id}",
|
|
method: "DELETE",
|
|
controller: "ApiController@deleteInventoryItem",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Delete inventory item",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the inventory item to delete",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/location/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getLocationById",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get a location by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the location to retrieve",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-location/{uuid}",
|
|
method: "GET",
|
|
controller: "ApiController@getLocationByUuid",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get a location by UUID",
|
|
parameters: {
|
|
uuid: {
|
|
type: "string",
|
|
required: true,
|
|
description: "UUID of the location to retrieve",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-location/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateLocation",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update a location by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the location to update",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
npiNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
phoneNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
city: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
state: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-location/{uuid}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateLocationByUuid",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update a location by UUID",
|
|
parameters: {
|
|
uuid: {
|
|
type: "string",
|
|
required: true,
|
|
description: "UUID of the location to update",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
npiNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
phoneNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
address: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
city: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
state: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
zipcode: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
country: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/medical-problems-store/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storeMedicalProblem",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Add a new medical problem for a patient",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
lastDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
nextDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
screeningDetails: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
flag: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Status flag for the medical problem",
|
|
},
|
|
typeOfItem: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Type of medical problem",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/medical-problems-update/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateMedicalProblemRecord",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update an existing medical problem",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the medical problem to update",
|
|
},
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
lastDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
nextDate: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
screeningDetails: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
flag: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Status flag for the medical problem",
|
|
},
|
|
typeOfItem: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Type of medical problem",
|
|
},
|
|
medical_problem_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the medical problem",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/medical-problem/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getMedicalProblemById",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get a medical problem by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the medical problem to retrieve",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/add-phone-log/{patient_id}",
|
|
method: "POST",
|
|
controller: "ApiController@addPhoneLog",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Add a new phone log for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
provider: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Name of the provider who made/received the call",
|
|
},
|
|
message: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Details about the phone call",
|
|
},
|
|
user_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the user who logged the call",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/phone-log-list/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPhoneLogList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get phone logs for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Draw counter for DataTables",
|
|
},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Paging first record indicator for DataTables",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Number of records per page for DataTables",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/tags/store/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storeTags",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Store tags for a patient",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
tags: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Array of tag names to be associated with the patient",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/store-tags/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@storeTagsAlternate",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store tags for a patient (alternate endpoint)",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
tags: {
|
|
type: "array",
|
|
required: true,
|
|
description: "Array of tag names to be associated with the patient",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/tags/list/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getTags",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get tags for a patient",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-task/{patient_id}",
|
|
method: "POST",
|
|
controller: "ApiController@addTask",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Add a new task for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
task_title: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
task_body: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
task_due_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
task_assigned_to: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
task_watchers: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
sendEmailtoPatientApplicationForTask: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_priority: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-task/{task_id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updateTask",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Update an existing task",
|
|
parameters: {
|
|
task_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the task to update",
|
|
},
|
|
task_title: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_body: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_due_date: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_assigned_to: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_watchers: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
sendEmailtoPatientApplicationForTask: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_priority: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
task_status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/task/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getOneTaskById",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get a task by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the task to retrieve",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/tasks/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getTasks",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get all tasks for a patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "ID of the patient",
|
|
},
|
|
draw: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables draw counter",
|
|
},
|
|
start: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables start offset",
|
|
},
|
|
length: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables page length",
|
|
},
|
|
search_value_: {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables search value",
|
|
},
|
|
order_0__column_: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "DataTables column index for ordering",
|
|
},
|
|
order_0__dir_: {
|
|
type: "string",
|
|
required: false,
|
|
description: "DataTables order direction (asc/desc)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/user-list/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getUserById",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get user by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "User ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/update-user/{id}",
|
|
method: "POST",
|
|
controller: "ApiController@updateUser",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update user",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "User ID",
|
|
},
|
|
firstName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
lastName: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
textMessageNumber: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
timezone: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
dateOfBirth: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
gender: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
city: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
state: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
zipcode: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
type: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
role_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
username: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
newUserPassword: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/store-document/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@storeDocuments",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store patient documents",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-document/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocuments",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient documents",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-document-by-id/{patientId}/{did}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocumentsById",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get a specific patient document by ID",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
did: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Document ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/add-vital/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@addVital",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Add vital signs for a patient",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
provider_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
blood_presssure: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
diastolic: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
weight_lbs: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
height_ft: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
height_in: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
temperature: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
pulse: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
respiratory_rate: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
saturation: {
|
|
type: "integer",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
waist_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
headCircumference_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
note: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
provider: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
weight_oz: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
bmi: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
bloodSugar: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
fasting: {
|
|
type: "boolean",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
neck_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
shoulders_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
chest_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
hips_in: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
lean_body_mass_lbs: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
body_fat: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
subjective_notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/get-stored-methods/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getStoredMethods",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get stored payment methods",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/medical-problem/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientMedicalProblemById",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get medical problem by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Medical problem ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/medical-problem/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updatePatientMedicalProblem",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update medical problem",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Medical problem ID",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
date_of_onset: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/history/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@patientHistory",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient history",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/medical-problem/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storePatientMedicalProblem",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store medical problem",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
date_of_onset: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/subscription/{subscription}/cancel",
|
|
method: "POST",
|
|
controller: "ApiController@cancelSubscription",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Cancel subscription",
|
|
parameters: {
|
|
subscription: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Subscription ID",
|
|
},
|
|
reason: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
feedback: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/token/list/{userId}",
|
|
method: "GET",
|
|
controller: "ApiController@listUserTokens",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "List all tokens for a user",
|
|
parameters: {
|
|
userId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "User ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/token/revoke-all/{userId}",
|
|
method: "DELETE",
|
|
controller: "ApiController@revokeAllUserTokens",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Revoke all tokens for a user",
|
|
parameters: {
|
|
userId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "User ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/dashboard-states",
|
|
method: "GET",
|
|
controller: "ApiController@getDashboardStates",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get dashboard statistics",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/get-appointments/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientAppointments",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get patient appointments",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/cancel-appointment/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@cancelAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Cancel appointment",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Appointment ID",
|
|
},
|
|
reason: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/prescription/store/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@storePrescription",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Create prescription",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
medication_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
dosage: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
frequency: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
duration: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
instructions: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/prescriptions/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientPrescriptions",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient prescriptions",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/invoice-create",
|
|
method: "POST",
|
|
controller: "ApiController@createInvoice",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Create invoice",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
due_date: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/invoices",
|
|
method: "GET",
|
|
controller: "ApiController@getInvoices",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get invoices",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/emr/invoice-payment",
|
|
method: "POST",
|
|
controller: "ApiController@processInvoicePayment",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Process invoice payment",
|
|
parameters: {
|
|
invoice_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
payment_method: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
card_details: {
|
|
type: "object",
|
|
required: false,
|
|
description: "Card details (will be masked in response)",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/roles-create",
|
|
method: "POST",
|
|
controller: "ApiController@createRole",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Create role",
|
|
parameters: {
|
|
name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
permissions: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/roles",
|
|
method: "GET",
|
|
controller: "ApiController@getRoles",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get roles",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/emr/patients/store-document/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storeDocumentsEmr",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store patient document in EMR",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/patients/get-document/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getDocumentEmr",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient documents from EMR",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/get-intake-questions",
|
|
method: "GET",
|
|
controller: "ApiController@getIntakeQuestions",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get intake questions",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/get-consent-forms",
|
|
method: "GET",
|
|
controller: "ApiController@getConsentForms",
|
|
category: ENDPOINT_CATEGORIES.FORMS_QUESTIONNAIRES,
|
|
description: "Get consent forms",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/get-message-list/{patient_id}",
|
|
method: "GET",
|
|
controller: "ApiController@getMessageList",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get message list for patient",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/get-vital/{pid}",
|
|
method: "GET",
|
|
controller: "ApiController@getVitalsEmr",
|
|
category: ENDPOINT_CATEGORIES.PROVIDER_MANAGEMENT,
|
|
description: "Get patient vitals from EMR",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/patients/save-clinical-profile/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@saveClinicalProfile",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Save clinical profile for patient",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
immunizations: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
allergies: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/patients/store-vitals/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storeVitalsEmr",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store patient vitals in EMR",
|
|
parameters: {
|
|
pid: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
temperature: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
blood_pressure: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
heart_rate: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
weight: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
height: {
|
|
type: "number",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
},
|
|
{
|
|
path: "/emr/family-history/allergies/{patientId}",
|
|
method: "POST",
|
|
controller: "ApiController@storeAllergies",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Store patient allergies",
|
|
parameters: {
|
|
patientId: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
allergies: {
|
|
type: "array",
|
|
required: false,
|
|
description: "Parameter",
|
|
}
|
|
},
|
|
}
|
|
];
|
|
|
|
/**
|
|
* Patient endpoints (patient authentication required)
|
|
* Patient portal operations and personal health data access
|
|
*/
|
|
export const PATIENT_ENDPOINTS = [
|
|
// ===== PATIENT PORTAL OPERATIONS =====
|
|
{
|
|
path: "/api/frontend/patient-dashboard",
|
|
method: "GET",
|
|
controller: "FrontendController@patientDashboard",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient dashboard data",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/frontend/patient-profile",
|
|
method: "GET",
|
|
controller: "FrontendController@getPatientProfile",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get patient profile",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/frontend/update-patient-profile",
|
|
method: "POST",
|
|
controller: "FrontendController@updatePatientProfile",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Update patient profile",
|
|
parameters: {
|
|
first_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "First name",
|
|
},
|
|
last_name: { type: "string", required: false, description: "Last name" },
|
|
email: { type: "string", required: false, description: "Email address" },
|
|
phone: { type: "string", required: false, description: "Phone number" },
|
|
address: { type: "string", required: false, description: "Address" },
|
|
city: { type: "string", required: false, description: "City" },
|
|
state: { type: "string", required: false, description: "State" },
|
|
zipcode: { type: "string", required: false, description: "ZIP code" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/frontend/patient-appointments",
|
|
method: "GET",
|
|
controller: "FrontendController@getPatientAppointments",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get patient appointments",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/frontend/book-appointment",
|
|
method: "POST",
|
|
controller: "FrontendController@bookAppointment",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Book appointment from patient portal",
|
|
parameters: {
|
|
practitioner_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Practitioner ID",
|
|
},
|
|
appointment_date: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment date",
|
|
},
|
|
appointment_time: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Appointment time",
|
|
},
|
|
reason: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Appointment reason",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/frontend/patient-prescriptions",
|
|
method: "GET",
|
|
controller: "FrontendController@getPatientPrescriptions",
|
|
category: ENDPOINT_CATEGORIES.PRESCRIPTION_MANAGEMENT,
|
|
description: "Get patient prescriptions",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/frontend/patient-documents",
|
|
method: "GET",
|
|
controller: "FrontendController@getPatientDocuments",
|
|
category: ENDPOINT_CATEGORIES.DOCUMENT_MANAGEMENT,
|
|
description: "Get patient documents",
|
|
parameters: {},
|
|
},
|
|
|
|
// ===== NEW ENDPOINTS FROM API-DOCS.JSON =====
|
|
// Added 1 new patient endpoint from api-docs.json
|
|
{
|
|
path: "/api/change-password",
|
|
method: "POST",
|
|
controller: "PatientController@changePassword",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update patient password",
|
|
parameters: {current_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Current password",,
|
|
current_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
new_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
}},
|
|
new_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "new_password parameter",
|
|
},
|
|
new_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "New password",
|
|
},
|
|
confirm_password: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Confirm new password",
|
|
},
|
|
},
|
|
},
|
|
|
|
// ===== NEW TOOLS FROM API DOCUMENTATION =====
|
|
{
|
|
path: "/api/emr/appointment/doctor/patient/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@getDoctorAppointmentsByPatientId",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get doctor appointments by patient ID",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/patient/{patient_id}/list",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientApptList",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get patient appointment list",
|
|
parameters: {
|
|
patient_id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Patient ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/emr/appointment/patient/carts-items",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientAppointmentsWithCartsAndItems",
|
|
category: ENDPOINT_CATEGORIES.APPOINTMENT_SCHEDULING,
|
|
description: "Get patient appointments with carts and items",
|
|
},
|
|
{
|
|
path: "/api/patient/data",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientData",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient data",
|
|
},
|
|
{
|
|
path: "/api/patient/history/{patientId}",
|
|
method: "GET",
|
|
controller: "ApiController@patientHistory",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient history",
|
|
parameters: {
|
|
patientId: { type: "integer", required: true, description: "Patient ID" },
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/medical-problem/{id}",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientMedicalProblemById",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get medical problem by ID",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Medical problem ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/medical-problem/{id}",
|
|
method: "PUT",
|
|
controller: "ApiController@updatePatientMedicalProblem",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Update medical problem",
|
|
parameters: {
|
|
id: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Medical problem ID",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "description parameter",
|
|
},
|
|
date_of_onset: {
|
|
type: "string",
|
|
required: false,
|
|
description: "date_of_onset parameter",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "status parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/medical-problem/{pid}",
|
|
method: "POST",
|
|
controller: "ApiController@storePatientMedicalProblem",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Store medical problem",
|
|
parameters: {
|
|
pid: { type: "integer", required: true, description: "Patient ID" },
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "description parameter",
|
|
},
|
|
date_of_onset: {
|
|
type: "string",
|
|
required: false,
|
|
description: "date_of_onset parameter",
|
|
},
|
|
status: {
|
|
type: "string",
|
|
required: false,
|
|
description: "status parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/notifications",
|
|
method: "GET",
|
|
controller: "ApiController@getNotification",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient notifications",
|
|
},
|
|
{
|
|
path: "/api/patient/prescription",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientPrescriptions",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient prescriptions",
|
|
},
|
|
{
|
|
path: "/api/patient/process-payment",
|
|
method: "POST",
|
|
controller: "ApiController@processPayment",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Process payment",
|
|
parameters: {amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "amount parameter",,
|
|
amount: {
|
|
type: "number",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
payment_method: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
currency: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Parameter",
|
|
},
|
|
payment_method_id: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Parameter",
|
|
}},
|
|
payment_method: {
|
|
type: "string",
|
|
required: true,
|
|
description: "payment_method parameter",
|
|
},
|
|
currency: {
|
|
type: "string",
|
|
required: true,
|
|
description: "currency parameter",
|
|
},
|
|
payment_method_id: {
|
|
type: "string",
|
|
required: false,
|
|
description: "payment_method_id parameter",
|
|
},
|
|
description: {
|
|
type: "string",
|
|
required: false,
|
|
description: "description parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/profile-picture",
|
|
method: "POST",
|
|
controller: "ApiController@uploadProfilePicture",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Upload profile picture",
|
|
parameters: {
|
|
profile_picture: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Profile picture file (JPEG, PNG)",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/register-patient",
|
|
method: "POST",
|
|
controller: "ApiController@registerPatientForPatient",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Register a new patient",
|
|
parameters: {
|
|
first_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "first_name parameter",
|
|
},
|
|
last_name: {
|
|
type: "string",
|
|
required: true,
|
|
description: "last_name parameter",
|
|
},
|
|
email: { type: "string", required: true, description: "email parameter" },
|
|
phone_no: {
|
|
type: "string",
|
|
required: true,
|
|
description: "phone_no parameter",
|
|
},
|
|
dob: { type: "string", required: true, description: "dob parameter" },
|
|
gender: {
|
|
type: "string",
|
|
required: true,
|
|
description: "gender parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/session-history",
|
|
method: "GET",
|
|
controller: "ApiController@sessionHistory",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient session history",
|
|
},
|
|
{
|
|
path: "/api/patient/subscription/{subscription}/cancel",
|
|
method: "POST",
|
|
controller: "ApiController@cancelSubscription",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Cancel subscription",
|
|
parameters: {
|
|
subscription: {
|
|
type: "integer",
|
|
required: true,
|
|
description: "Subscription ID",
|
|
},
|
|
reason: {
|
|
type: "string",
|
|
required: false,
|
|
description: "reason parameter",
|
|
},
|
|
feedback: {
|
|
type: "string",
|
|
required: false,
|
|
description: "feedback parameter",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/patient/subscriptions",
|
|
method: "GET",
|
|
controller: "ApiController@getSubscriptionList",
|
|
category: ENDPOINT_CATEGORIES.GENERAL,
|
|
description: "Get patient subscription list",
|
|
},
|
|
{
|
|
path: "/patient/me",
|
|
method: "GET",
|
|
controller: "ApiController@getPatientDetailsByAccessToken",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get patient details by access token",
|
|
},
|
|
];
|
|
|
|
/**
|
|
* Partner endpoints (partner authentication required)
|
|
* Partner business operations and management
|
|
*/
|
|
export const PARTNER_ENDPOINTS = [
|
|
// ===== PARTNER MANAGEMENT =====
|
|
{
|
|
path: "/api/partner/dashboard",
|
|
method: "GET",
|
|
controller: "PartnerController@dashboard",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get partner dashboard",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/partner/profile",
|
|
method: "GET",
|
|
controller: "PartnerController@getProfile",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get partner profile",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/partner/update-profile",
|
|
method: "POST",
|
|
controller: "PartnerController@updateProfile",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update partner profile",
|
|
parameters: {
|
|
first_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "First name",
|
|
},
|
|
last_name: { type: "string", required: false, description: "Last name" },
|
|
email: { type: "string", required: false, description: "Email address" },
|
|
phone_no: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Phone number",
|
|
},
|
|
company_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Company name",
|
|
},
|
|
business_type: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Business type",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/partner/patients",
|
|
method: "GET",
|
|
controller: "PartnerController@getPatients",
|
|
category: ENDPOINT_CATEGORIES.PATIENT_MANAGEMENT,
|
|
description: "Get partner patients",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/partner/referrals",
|
|
method: "GET",
|
|
controller: "PartnerController@getReferrals",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get partner referrals",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/partner/create-referral",
|
|
method: "POST",
|
|
controller: "PartnerController@createReferral",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Create referral",
|
|
parameters: {
|
|
patient_id: { type: "string", required: true, description: "Patient ID" },
|
|
practitioner_id: {
|
|
type: "string",
|
|
required: true,
|
|
description: "Practitioner ID",
|
|
},
|
|
referral_reason: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Referral reason",
|
|
},
|
|
notes: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Additional notes",
|
|
},
|
|
},
|
|
},
|
|
];
|
|
|
|
/**
|
|
* Affiliate endpoints (affiliate authentication required)
|
|
* Affiliate management and commission tracking
|
|
*/
|
|
export const AFFILIATE_ENDPOINTS = [
|
|
// ===== AFFILIATE MANAGEMENT =====
|
|
{
|
|
path: "/api/affiliate/dashboard",
|
|
method: "GET",
|
|
controller: "AffiliateController@dashboard",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get affiliate dashboard",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/affiliate/profile",
|
|
method: "GET",
|
|
controller: "AffiliateController@getProfile",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get affiliate profile",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/affiliate/update-profile",
|
|
method: "POST",
|
|
controller: "AffiliateController@updateProfile",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update affiliate profile",
|
|
parameters: {
|
|
first_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "First name",
|
|
},
|
|
last_name: { type: "string", required: false, description: "Last name" },
|
|
email: { type: "string", required: false, description: "Email address" },
|
|
phone_no: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Phone number",
|
|
},
|
|
partner_email: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Partner email",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/affiliate/commissions",
|
|
method: "GET",
|
|
controller: "AffiliateController@getCommissions",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get affiliate commissions",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/affiliate/referrals",
|
|
method: "GET",
|
|
controller: "AffiliateController@getReferrals",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get affiliate referrals",
|
|
parameters: {},
|
|
},
|
|
|
|
// ===== NEW ENDPOINTS FROM API-DOCS.JSON =====
|
|
// Added 1 new affiliate endpoint from api-docs.json
|
|
{
|
|
path: "/affiliate/me",
|
|
method: "GET",
|
|
controller: "AffiliateController@getMe",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get affiliate details by access token",
|
|
parameters: {},
|
|
},
|
|
];
|
|
|
|
/**
|
|
* Network endpoints (network authentication required)
|
|
* Network operations and multi-partner management
|
|
*/
|
|
export const NETWORK_ENDPOINTS = [
|
|
// ===== NETWORK MANAGEMENT =====
|
|
{
|
|
path: "/api/network/dashboard",
|
|
method: "GET",
|
|
controller: "NetworkController@dashboard",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get network dashboard",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/network/profile",
|
|
method: "GET",
|
|
controller: "NetworkController@getProfile",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Get network profile",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/network/update-profile",
|
|
method: "POST",
|
|
controller: "NetworkController@updateProfile",
|
|
category: ENDPOINT_CATEGORIES.USER_MANAGEMENT,
|
|
description: "Update network profile",
|
|
parameters: {
|
|
first_name: {
|
|
type: "string",
|
|
required: false,
|
|
description: "First name",
|
|
},
|
|
last_name: { type: "string", required: false, description: "Last name" },
|
|
email: { type: "string", required: false, description: "Email address" },
|
|
phone_no: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Phone number",
|
|
},
|
|
partner_id: {
|
|
type: "string",
|
|
required: false,
|
|
description: "Partner ID",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
path: "/api/network/partners",
|
|
method: "GET",
|
|
controller: "NetworkController@getPartners",
|
|
category: ENDPOINT_CATEGORIES.BUSINESS_OPERATIONS,
|
|
description: "Get network partners",
|
|
parameters: {},
|
|
},
|
|
{
|
|
path: "/api/network/analytics",
|
|
method: "GET",
|
|
controller: "NetworkController@getAnalytics",
|
|
category: ENDPOINT_CATEGORIES.ANALYTICS_REPORTS,
|
|
description: "Get network analytics",
|
|
parameters: {},
|
|
},
|
|
];
|
|
|
|
/**
|
|
* Get endpoints by authentication type
|
|
* @param {string} authType - Authentication type
|
|
* @returns {Array} Array of endpoints for the specified auth type
|
|
*/
|
|
export function getEndpointsByAuthType(authType) {
|
|
switch (authType) {
|
|
case AUTH_TYPES.PUBLIC:
|
|
return PUBLIC_ENDPOINTS;
|
|
case AUTH_TYPES.PROVIDER:
|
|
return PROVIDER_ENDPOINTS;
|
|
case AUTH_TYPES.PATIENT:
|
|
return PATIENT_ENDPOINTS;
|
|
case AUTH_TYPES.PARTNER:
|
|
return PARTNER_ENDPOINTS;
|
|
case AUTH_TYPES.AFFILIATE:
|
|
return AFFILIATE_ENDPOINTS;
|
|
case AUTH_TYPES.NETWORK:
|
|
return NETWORK_ENDPOINTS;
|
|
default:
|
|
return [];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get all endpoints organized by authentication type
|
|
* @returns {Object} Object with auth types as keys and endpoint arrays as values
|
|
*/
|
|
export function getAllEndpointsByAuthType() {
|
|
return {
|
|
[AUTH_TYPES.PUBLIC]: PUBLIC_ENDPOINTS,
|
|
[AUTH_TYPES.PROVIDER]: PROVIDER_ENDPOINTS,
|
|
[AUTH_TYPES.PATIENT]: PATIENT_ENDPOINTS,
|
|
[AUTH_TYPES.PARTNER]: PARTNER_ENDPOINTS,
|
|
[AUTH_TYPES.AFFILIATE]: AFFILIATE_ENDPOINTS,
|
|
[AUTH_TYPES.NETWORK]: NETWORK_ENDPOINTS,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Get total endpoint count
|
|
* @returns {number} Total number of endpoints
|
|
*/
|
|
export function getTotalEndpointCount() {
|
|
return (
|
|
PUBLIC_ENDPOINTS.length +
|
|
PROVIDER_ENDPOINTS.length +
|
|
PATIENT_ENDPOINTS.length +
|
|
PARTNER_ENDPOINTS.length +
|
|
AFFILIATE_ENDPOINTS.length +
|
|
NETWORK_ENDPOINTS.length
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Get endpoint statistics
|
|
* @returns {Object} Statistics about endpoints by auth type and category
|
|
*/
|
|
export function getEndpointStatistics() {
|
|
const stats = {
|
|
total: getTotalEndpointCount(),
|
|
byAuthType: {
|
|
[AUTH_TYPES.PUBLIC]: PUBLIC_ENDPOINTS.length,
|
|
[AUTH_TYPES.PROVIDER]: PROVIDER_ENDPOINTS.length,
|
|
[AUTH_TYPES.PATIENT]: PATIENT_ENDPOINTS.length,
|
|
[AUTH_TYPES.PARTNER]: PARTNER_ENDPOINTS.length,
|
|
[AUTH_TYPES.AFFILIATE]: AFFILIATE_ENDPOINTS.length,
|
|
[AUTH_TYPES.NETWORK]: NETWORK_ENDPOINTS.length,
|
|
},
|
|
byCategory: {},
|
|
};
|
|
|
|
// Count by category across all auth types
|
|
const allEndpoints = [
|
|
...PUBLIC_ENDPOINTS,
|
|
...PROVIDER_ENDPOINTS,
|
|
...PATIENT_ENDPOINTS,
|
|
...PARTNER_ENDPOINTS,
|
|
...AFFILIATE_ENDPOINTS,
|
|
...NETWORK_ENDPOINTS,
|
|
];
|
|
|
|
allEndpoints.forEach((endpoint) => {
|
|
const category = endpoint.category || "undefined";
|
|
stats.byCategory[category] = (stats.byCategory[category] || 0) + 1;
|
|
});
|
|
|
|
return stats;
|
|
}
|