UNPKG

kipu-mcp

Version:

Model Context Protocol (MCP) server for Kipu Healthcare API - Access patient records, vital signs, medications, appointments, and comprehensive healthcare data through AI assistants

1,669 lines (1,665 loc) 117 kB
/** * Interface for MCP Tool Definition */ export interface McpToolDefinition { name: string; description: string; inputSchema: any; method: string; pathTemplate: string; executionParameters: { name: string; in: string }[]; requestBodyContentType?: string; securityRequirements: any[]; } export const toolDefinitionMap: Map<string, McpToolDefinition> = new Map([ [ 'GetPatientsCensus', { name: 'GetPatientsCensus', description: `List all patients from a census of the database`, inputSchema: { type: 'object', properties: { phi_level: { type: 'string', enum: ['high', 'medium', 'low'], description: 'Detail Level', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Patients per page', }, insurance_detail: { type: 'string', enum: ['v121'], description: 'Show insurance detail with phi_level: high', }, demographics_detail: { type: 'string', enum: ['v121'], description: 'Show demographics detail with phi_level: high', }, patient_status_detail: { type: 'string', enum: ['v121'], description: 'Show patient status detail with phi_level: high', }, patient_contacts_detail: { type: 'boolean', description: 'Show patient contacts detail with phi_level: high', }, start_date: { type: 'string', format: 'date', description: 'Start date for census period (optional)', }, end_date: { type: 'string', format: 'date', description: 'End date for census period (optional)', }, location_id: { type: 'number', format: 'int32', description: 'Location ID (Can be found through the Locations index route)', }, exclude_preadmission: { type: 'boolean', description: 'if true returns patient records that have an MR #', }, care_team_role: { type: 'string', enum: ['therapist', 'nurse', 'physician', 'case_manager'], description: 'Care Team Role (Required if user_id is provided)', }, user_id: { type: 'string', description: 'User Id (Required if care_team_role is provided)', }, }, required: ['phi_level'], }, method: 'get', pathTemplate: '/patients/census', executionParameters: [ { name: 'phi_level', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'insurance_detail', in: 'query' }, { name: 'demographics_detail', in: 'query' }, { name: 'patient_status_detail', in: 'query' }, { name: 'patient_contacts_detail', in: 'query' }, { name: 'start_date', in: 'query' }, { name: 'end_date', in: 'query' }, { name: 'location_id', in: 'query' }, { name: 'exclude_preadmission', in: 'query' }, { name: 'care_team_role', in: 'query' }, { name: 'user_id', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsLatest', { name: 'GetPatientsLatest', description: `List patients with updated_at within a date range`, inputSchema: { type: 'object', properties: { start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01)', }, end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-03)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Patients per page', }, location_id: { type: 'number', format: 'int32', description: 'Location ID (Can be found through the Locations index route)', }, }, required: ['start_date', 'end_date'], }, method: 'get', pathTemplate: '/patients/latest', executionParameters: [ { name: 'start_date', in: 'query' }, { name: 'end_date', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'location_id', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsOccupancy', { name: 'GetPatientsOccupancy', description: `Occupancy`, inputSchema: { type: 'object', properties: { phi_level: { type: 'string', enum: ['high', 'medium', 'low'], description: 'Detail Level', }, }, required: ['phi_level'], }, method: 'get', pathTemplate: '/patients/occupancy', executionParameters: [{ name: 'phi_level', in: 'query' }], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsByPatientId', { name: 'GetPatientsByPatientId', description: `Fetch a Patient Record`, inputSchema: { type: 'object', properties: { phi_level: { type: 'string', enum: ['high', 'medium', 'low'], description: 'Detail Level', }, patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, insurance_detail: { type: 'string', enum: ['v121'], description: 'Show insurance detail with phi_level: high', }, demographics_detail: { type: 'string', enum: ['v121'], description: 'Show demographics detail with phi_level: high', }, patient_status_detail: { type: 'string', enum: ['v121'], description: 'Show patient status detail with phi_level: high', }, patient_contacts_detail: { type: 'boolean', description: 'Show patient contacts detail with phi_level: high', }, }, required: ['phi_level', 'patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}', executionParameters: [ { name: 'phi_level', in: 'query' }, { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'insurance_detail', in: 'query' }, { name: 'demographics_detail', in: 'query' }, { name: 'patient_status_detail', in: 'query' }, { name: 'patient_contacts_detail', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetAllergens', { name: 'GetAllergens', description: `List all allergens`, inputSchema: { type: 'object', properties: { enabled: { type: 'boolean', description: 'Only List Enabled Allergens', }, allergen_type: { type: 'string', description: 'Only List Allergens with given allergen_type', }, starts_with: { type: 'string', description: 'Only List Allergens with name starting with given string (minimum input length should be 3)', }, page: { type: 'number', format: 'int32', default: 1, description: 'Page number', }, per: { type: 'number', format: 'int32', default: 20, description: 'Allergens per page', }, }, required: [], }, method: 'get', pathTemplate: '/allergens', executionParameters: [ { name: 'enabled', in: 'query' }, { name: 'allergen_type', in: 'query' }, { name: 'starts_with', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetAllergies', { name: 'GetAllergies', description: `List all allergies`, inputSchema: { type: 'object', properties: { active: { type: 'boolean', description: 'Only List Active Allergies', }, }, required: [], }, method: 'get', pathTemplate: '/allergies', executionParameters: [{ name: 'active', in: 'query' }], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetAppointmentsByAppointmentId', { name: 'GetAppointmentsByAppointmentId', description: `Fetch an Appointment Record`, inputSchema: { type: 'object', properties: { appointment_id: { type: 'number', format: 'int32', description: 'Appointment ID', }, days: { type: 'number', format: 'int32', default: 30, description: 'Number of days to fetch recurrences for recurring appointment', }, }, required: ['appointment_id'], }, method: 'get', pathTemplate: '/appointments/{appointment_id}', executionParameters: [ { name: 'appointment_id', in: 'path' }, { name: 'days', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetCareLevels', { name: 'GetCareLevels', description: `List all Levels of Care`, inputSchema: { type: 'object', properties: {}, required: [], }, method: 'get', pathTemplate: '/care_levels', executionParameters: [], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetLocations', { name: 'GetLocations', description: `List all locations`, inputSchema: { type: 'object', properties: { include_buildings: { type: 'boolean', description: 'when enabled show additional building details per location', }, }, required: [], }, method: 'get', pathTemplate: '/locations', executionParameters: [{ name: 'include_buildings', in: 'query' }], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsAllergies', { name: 'GetPatientsAllergies', description: `List allergies scoped to a patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, active: { type: 'boolean', description: 'Only List Active Allergies', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/allergies', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'active', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsVitalSigns', { name: 'GetPatientsVitalSigns', description: `List all vital signs scoped to a given patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Vital Signs per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, interval_start_date: { type: 'string', format: 'date', description: 'Interval Start Date (Example: 2018-12-01): Starting date', }, interval_end_date: { type: 'string', format: 'date', description: 'Interval End Date (Example: 2018-12-23): Ending date', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/vital_signs', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'interval_start_date', in: 'query' }, { name: 'interval_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsProcesses', { name: 'GetPatientsProcesses', description: `List all patient processes`, inputSchema: { type: 'object', properties: { process_details: { type: 'boolean', default: false, description: 'Show additional process details; used to display show_forms status', }, }, required: [], }, method: 'get', pathTemplate: '/patients/processes', executionParameters: [{ name: 'process_details', in: 'query' }], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsEvaluations', { name: 'GetPatientsEvaluations', description: `List all patient evaluations`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Patient Evaluations per page', }, patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, current_census_only: { type: 'boolean', description: 'Includes only the Patient Evaluations with patient in current census', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01)', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-03)', }, evaluation_content: { type: 'string', description: 'Evaluation content value to filter by', }, patient_process_id: { type: 'number', format: 'int32', description: 'Patient process ID to filter by', }, }, required: [], }, method: 'get', pathTemplate: '/patients/evaluations', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'patient_id', in: 'query' }, { name: 'patient_master_id', in: 'query' }, { name: 'current_census_only', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'evaluation_content', in: 'query' }, { name: 'patient_process_id', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetUsers', { name: 'GetUsers', description: `List all Users`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', default: 1, description: 'Page number', }, per: { type: 'number', format: 'int32', default: 20, description: 'Users per page', }, }, required: [], }, method: 'get', pathTemplate: '/users', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetMedications', { name: 'GetMedications', description: `List all medications`, inputSchema: { type: 'object', properties: { enabled: { type: 'boolean', description: 'Only List Enabled Medications', }, page: { type: 'number', format: 'int32', default: 1, description: 'Page number', }, per: { type: 'number', format: 'int32', default: 20, description: 'Medications per page', }, starts_with: { type: 'string', description: 'Filter medications by name starting with given string', }, rxcui: { type: 'string', description: 'Filter by RXCUI code', }, ndc: { type: 'string', description: 'Filter by NDC code', }, }, required: [], }, method: 'get', pathTemplate: '/medications', executionParameters: [ { name: 'enabled', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'starts_with', in: 'query' }, { name: 'rxcui', in: 'query' }, { name: 'ndc', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetDiagnoses', { name: 'GetDiagnoses', description: `List all diagnoses`, inputSchema: { type: 'object', properties: { enabled: { type: 'boolean', description: 'Only List Enabled Diagnoses', }, page: { type: 'number', format: 'int32', default: 1, description: 'Page number', }, per: { type: 'number', format: 'int32', default: 20, description: 'Diagnoses per page', }, starts_with: { type: 'string', description: 'Filter diagnoses by name starting with given string', }, icd_code: { type: 'string', description: 'Filter by ICD code', }, }, required: [], }, method: 'get', pathTemplate: '/diagnoses', executionParameters: [ { name: 'enabled', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'starts_with', in: 'query' }, { name: 'icd_code', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetProviders', { name: 'GetProviders', description: `List all Providers`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', default: 1, description: 'Page number', }, per: { type: 'number', format: 'int32', default: 20, description: 'Providers per page', }, }, required: [], }, method: 'get', pathTemplate: '/providers', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetInsurances', { name: 'GetInsurances', description: `List insurances with updated_at within a date range`, inputSchema: { type: 'object', properties: { start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01)', }, end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-03)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Insurances per page', }, }, required: ['start_date', 'end_date'], }, method: 'get', pathTemplate: '/insurances/latest', executionParameters: [ { name: 'start_date', in: 'query' }, { name: 'end_date', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsMedications', { name: 'GetPatientsMedications', description: `List medications for a specific patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Medications per page', }, active: { type: 'boolean', description: 'Only list active medications', }, medication_name: { type: 'string', description: 'Filter by medication name', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/patient_medications', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'active', in: 'query' }, { name: 'medication_name', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsDiagnoses', { name: 'GetPatientsDiagnoses', description: `List diagnoses for a specific patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Diagnoses per page', }, active: { type: 'boolean', description: 'Only list active diagnoses', }, primary: { type: 'boolean', description: 'Only list primary diagnoses', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/patient_diagnoses', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'active', in: 'query' }, { name: 'primary', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsInsurance', { name: 'GetPatientsInsurance', description: `List insurance information for a specific patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, active: { type: 'boolean', description: 'Only list active insurance', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/insurances', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'active', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsOrders', { name: 'GetPatientsOrders', description: `List patient orders`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Patient orders per page', }, status: { type: 'string', enum: ['canceled', 'pending_order_review', 'pending_discontinue_review', 'reviewed'], description: 'Patient order status to filter', }, medication_name: { type: 'string', description: 'Patient order name to filter by', }, created_at_start_date: { type: 'string', format: 'date', description: 'Created at Start Date (Example: 2018-12-01)', }, created_at_end_date: { type: 'string', format: 'date', description: 'Created at End Date (Example: 2018-12-03)', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/patient_orders', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'status', in: 'query' }, { name: 'medication_name', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsAdmissions', { name: 'GetPatientsAdmissions', description: `List patient admissions history`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Admissions per page', }, admission_date_start: { type: 'string', format: 'date', description: 'Admission start date filter', }, admission_date_end: { type: 'string', format: 'date', description: 'Admission end date filter', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/admissions', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'admission_date_start', in: 'query' }, { name: 'admission_date_end', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsUtilizationReviews', { name: 'GetPatientsUtilizationReviews', description: `List patient utilization reviews`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Utilization reviews per page', }, phi_level: { type: 'string', enum: ['high', 'medium', 'low'], description: 'Detail Level (optional)', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/utilization_reviews', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'phi_level', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetAppointments', { name: 'GetAppointments', description: `List and search appointments`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', default: 1, description: 'Page number', }, per: { type: 'number', format: 'int32', default: 20, description: 'Appointments per page', }, patient_id: { type: 'number', description: 'Filter by patient ID', }, provider_id: { type: 'number', description: 'Filter by provider ID', }, location_id: { type: 'number', format: 'int32', description: 'Filter by location ID', }, appointment_date_start: { type: 'string', format: 'date', description: 'Appointment start date filter', }, appointment_date_end: { type: 'string', format: 'date', description: 'Appointment end date filter', }, status: { type: 'string', description: 'Filter by appointment status', }, start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-01): Ending date', }, }, required: [], }, method: 'get', pathTemplate: '/appointments', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'patient_id', in: 'query' }, { name: 'provider_id', in: 'query' }, { name: 'location_id', in: 'query' }, { name: 'appointment_date_start', in: 'query' }, { name: 'appointment_date_end', in: 'query' }, { name: 'status', in: 'query' }, { name: 'start_date', in: 'query' }, { name: 'end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], // Clinical Assessment Tools [ 'GetCiwaArs', { name: 'GetCiwaArs', description: `List all CiwaArs`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'CiwaArs per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, interval_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, interval_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: [], }, method: 'get', pathTemplate: '/ciwa_ars', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'interval_start_date', in: 'query' }, { name: 'interval_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetCiwaBs', { name: 'GetCiwaBs', description: `List all CiwaBs`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'CiwaBs per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, interval_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, interval_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: [], }, method: 'get', pathTemplate: '/ciwa_bs', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'interval_start_date', in: 'query' }, { name: 'interval_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetCows', { name: 'GetCows', description: `List all Cows`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Cows per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, interval_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, interval_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: [], }, method: 'get', pathTemplate: '/cows', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'interval_start_date', in: 'query' }, { name: 'interval_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsCiwaArs', { name: 'GetPatientsCiwaArs', description: `List all CiwaArs scoped to a given patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'CiwaArs per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, interval_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, interval_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/ciwa_ars', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'interval_start_date', in: 'query' }, { name: 'interval_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsCiwaBs', { name: 'GetPatientsCiwaBs', description: `List all CiwaBs scoped to a given patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'CiwaBs per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, interval_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, interval_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/ciwa_bs', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'interval_start_date', in: 'query' }, { name: 'interval_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsCows', { name: 'GetPatientsCows', description: `List all Cows scoped to a given patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Cows per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, interval_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, interval_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/cows', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'interval_start_date', in: 'query' }, { name: 'interval_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetGlucoseLogs', { name: 'GetGlucoseLogs', description: `List all GlucoseLogs`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Glucose Logs per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, evaluation_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, evaluation_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: [], }, method: 'get', pathTemplate: '/glucose_logs', executionParameters: [ { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'evaluation_start_date', in: 'query' }, { name: 'evaluation_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetPatientsGlucoseLogs', { name: 'GetPatientsGlucoseLogs', description: `List all Glucose Logs scoped to a given patient`, inputSchema: { type: 'object', properties: { patient_id: { type: 'number', description: 'Location Patient ID', }, patient_master_id: { type: 'string', format: 'uuid', description: 'Patient Master UUID (Important: NOT ID)', }, page: { type: 'number', format: 'int32', description: 'Page number', }, per: { type: 'number', format: 'int32', description: 'Glucose Logs per page', }, created_at_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, created_at_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, evaluation_start_date: { type: 'string', format: 'date', description: 'Start Date (Example: 2018-12-01): Starting date', }, evaluation_end_date: { type: 'string', format: 'date', description: 'End Date (Example: 2018-12-23): Ending date', }, }, required: ['patient_id', 'patient_master_id'], }, method: 'get', pathTemplate: '/patients/{patient_id}/glucose_logs', executionParameters: [ { name: 'patient_id', in: 'path' }, { name: 'patient_master_id', in: 'query' }, { name: 'page', in: 'query' }, { name: 'per', in: 'query' }, { name: 'created_at_start_date', in: 'query' }, { name: 'created_at_end_date', in: 'query' }, { name: 'evaluation_start_date', in: 'query' }, { name: 'evaluation_end_date', in: 'query' }, ], requestBodyContentType: undefined, securityRequirements: [{ APIAuth: [] }], }, ], [ 'GetVitalSigns', { name: 'GetVitalSigns', description: `List all vital signs`, inputSchema: { type: 'object', properties: { page: { type: 'number', format: 'int32',