calculate_request_metrics
ChatGPTCalculates request metrics directly in the analytics database and returns only aggregate values, never individual request records. You MUST use this tool for questions asking how many, total, count, sum, average, minimum, maximum, most, least, ranking, or grouped metrics. This includes overall request totals for a client, hospital, location, or date range. Examples: how many requests were made at TGH in total, total steps, average completion time, request count grouped by command, or total steps grouped by command. For grouped results, set groupBy to a supported metadata field such as title, commandcategorytitle, hospital, building, floor, bed, sourcetitle, receivername, or sendername. Use query_requests only when the user needs request-level details or specific request records. For metric questions involving steps or time values, ask about the relevant outliers before calling this tool and add the corresponding outlier filter when needed.
create_request
ChatGPTCreates or inserts a hospital request. Treat create, insert, submit, and send as equivalent when the user asks for a new request. Requires the exact command row GUID (Crg) and the selected bed's bed row GUID (Rbrg). Resolve the user's readable bed name through get_locations before calling this tool. This performs an external write; use only when the user has explicitly asked to create, insert, submit, or send the request.
get_command_categories
ChatGPTReturns command categories - the grouping a command type belongs to. Columns: Title, DisplayOrder. Use for questions like what command categories exist or how many there are. Use query_requests instead for questions about a specific request's command category.
get_locations
ChatGPTReturns physical locations - hospitals, buildings, floors, beds, and rooms. Columns: Hospital, Building, Floor, Bed, Rbrg, RoomName, RoomNumber, RoomTypeName. Bed is the readable bed name and Rbrg is the bed row GUID.
get_sources
ChatGPTReturns request sources - how a request was submitted (e.g. app, phone, tablet, kiosk). Columns: Title. Use for questions like what sources exist or how many sources there are. Use query_requests instead for questions about a specific request's source.
get_users
ChatGPTReturns staff/users - the catalog of people who can send or receive requests. Columns: Name, UserType. Use for questions like how many users exist or what types of staff there are. Use query_requests instead for questions about a specific request's sender/receiver.
list_my_clients
ChatGPTReturns the clients (also called tenants) the current user can access, each with its real display name and known aliases (short forms, abbreviations). Call this before query_requests or a catalog tool (query_commands, get_users, get_locations, get_sources, get_command_categories) when the user has not specified which client to query or when a client name or alias needs to be resolved. When the user names a client, match it against the Name or any Alias listed here, then pass the exact Name value to the downstream tool. When clarification is needed, ask the user to choose exactly one client for the current question; do not offer all clients as an option.
query_commands
ChatGPTReturns available command definitions, including command names, command row GUIDs (Crg), service types, categories, and automation or linen attributes. Supports analytics operations that filter or join requests by command. It can also help when a user describes a patient, room, or service need without knowing the exact command name by providing available command names for the assistant to evaluate.
query_requests
ChatGPTSearches actual command requests - the request is the central record; command, location, source, date, and sender/receiver are all metadata attached to it. Filter on any of that metadata (e.g. Title, Hospital, Building, RoomNumber, SourceTitle, CommandCategoryTitle, DayName, ReceiverName). Use this for questions like which commands were completed yesterday, which building had the most requests, or who received the most requests. For questions not about a specific request, use the matching catalog tool instead: query_commands, get_users, get_locations, get_sources, or get_command_categories (e.g. how many users exist, what locations exist). Resolve relative dates to actual calendar dates before calling.
send_email
ChatGPTSends an email through the configured hospital email service to the signed-in user's email address, optionally with file attachments. Use this only when the user explicitly asks to send or email something. This performs an external side effect. The recipient is taken from the authenticated user's email, so do not ask the user for a recipient address. Provide the subject and message body. Attachments must be supplied as Base64 content with a filename and optional MIME type.