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,305 lines (1,304 loc) • 150 kB
JavaScript
export const toolDefinitionMap = 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',
},