Tool tree
gradeNot graded
page: Home
list_demo_surfacesAnswer
List the demo surfaces of this clinic that can be opened, and what each one lets an agent do. Call this first to see what is available.
View tool JSON
{
"name": "list_demo_surfaces",
"kind": "answer",
"impl": "imperative",
"description": "List the demo surfaces of this clinic that can be opened, and what each one lets an agent do. Call this first to see what is available.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/"
}open_demoAction
Navigate this browser tab to one of the clinic's demo surfaces, so its tools become available. Use 'clinician' for the doctor's dashboard or 'patient' for a patient's waiting-room view.
View tool JSON
{
"name": "open_demo",
"kind": "act",
"impl": "imperative",
"description": "Navigate this browser tab to one of the clinic's demo surfaces, so its tools become available. Use 'clinician' for the doctor's dashboard or 'patient' for a patient's waiting-room view.",
"inputSchema": {
"type": "object",
"properties": {
"surface": {
"type": "string",
"enum": [
"clinician",
"patient"
],
"description": "'clinician' = the dashboard, 'patient' = a waiting-room view"
},
"ticket": {
"type": "string",
"description": "For the patient surface only: which ticket to open, e.g. \"A-001\". Defaults to the first patient waiting."
}
},
"required": [
"surface"
]
},
"page": "/"
}page: Dashboard
list_patient_queueAnswer
List patients currently waiting or in consultation, with queue position, expected wait, and any triage red flags. Use this first to see the clinic floor. Covers all departments unless one is named.
View tool JSON
{
"name": "list_patient_queue",
"kind": "answer",
"impl": "imperative",
"description": "List patients currently waiting or in consultation, with queue position, expected wait, and any triage red flags. Use this first to see the clinic floor. Covers all departments unless one is named.",
"inputSchema": {
"type": "object",
"properties": {
"poli": {
"type": "string",
"enum": [
"umum",
"anak",
"kia",
"gigi",
"lansia"
],
"description": "Clinic department. umum=General, anak=Pediatrics, kia=OB-GYN, gigi=Dental, lansia=Geriatrics."
},
"only_flagged": {
"type": "boolean",
"description": "Return only patients with an active triage red flag."
}
}
},
"page": "/dashboard"
}get_previsit_chartAnswer
Read the pre-visit chart the intake agents prepared for one patient: chief complaint, history of present illness, what changed since their last visit, suggested questions, and differentials to consider. Read this before seeing the patient.
View tool JSON
{
"name": "get_previsit_chart",
"kind": "answer",
"impl": "imperative",
"description": "Read the pre-visit chart the intake agents prepared for one patient: chief complaint, history of present illness, what changed since their last visit, suggested questions, and differentials to consider. Read this before seeing the patient.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
}
},
"required": [
"ticket"
]
},
"page": "/dashboard"
}get_clinic_floor_statsAnswer
Current clinic throughput: how many are waiting, average wait and consultation time, red flags raised today, intakes completed, notes and reminders generated.
View tool JSON
{
"name": "get_clinic_floor_stats",
"kind": "answer",
"impl": "imperative",
"description": "Current clinic throughput: how many are waiting, average wait and consultation time, red flags raised today, intakes completed, notes and reminders generated.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/dashboard"
}get_vitalsAnswer
Read the vital signs recorded for a patient this visit, including any values flagged as critical.
View tool JSON
{
"name": "get_vitals",
"kind": "answer",
"impl": "imperative",
"description": "Read the vital signs recorded for a patient this visit, including any values flagged as critical.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
}
},
"required": [
"ticket"
]
},
"page": "/dashboard"
}check_drug_interactionsAnswer
Cross-check every drug in play for this patient — current prescription drafts, home medications, and what was prescribed at the last visit — and report interactions by severity.
View tool JSON
{
"name": "check_drug_interactions",
"kind": "answer",
"impl": "imperative",
"description": "Cross-check every drug in play for this patient — current prescription drafts, home medications, and what was prescribed at the last visit — and report interactions by severity.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
}
},
"required": [
"ticket"
]
},
"page": "/dashboard"
}draft_soap_noteAction
Draft a SOAP-format consultation note for a patient from their pre-visit chart and vitals. Produces an UNSIGNED draft in the clinician's note editor for review — it does not enter the record. Requires the pre-visit chart to be written first; it will tell you if it is not ready yet.
View tool JSON
{
"name": "draft_soap_note",
"kind": "act",
"impl": "imperative",
"description": "Draft a SOAP-format consultation note for a patient from their pre-visit chart and vitals. Produces an UNSIGNED draft in the clinician's note editor for review — it does not enter the record. Requires the pre-visit chart to be written first; it will tell you if it is not ready yet.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
}
},
"required": [
"ticket"
]
},
"page": "/dashboard"
}draft_prescriptionsAction
Draft candidate prescriptions for a patient, each with a rationale, then automatically screen them for drug interactions. Drafts are UNSIGNED — a clinician must approve each one before it becomes a prescription.
View tool JSON
{
"name": "draft_prescriptions",
"kind": "act",
"impl": "imperative",
"description": "Draft candidate prescriptions for a patient, each with a rationale, then automatically screen them for drug interactions. Drafts are UNSIGNED — a clinician must approve each one before it becomes a prescription.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
}
},
"required": [
"ticket"
]
},
"page": "/dashboard"
}record_vitalsAction
Record vital signs for a patient, e.g. values the clinician just read aloud. Critical values are flagged automatically. Requires the clinician to confirm on screen before anything is written.
View tool JSON
{
"name": "record_vitals",
"kind": "act",
"impl": "imperative",
"description": "Record vital signs for a patient, e.g. values the clinician just read aloud. Critical values are flagged automatically. Requires the clinician to confirm on screen before anything is written.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
},
"systolic_bp": {
"type": "number",
"description": "Systolic BP, mmHg"
},
"diastolic_bp": {
"type": "number",
"description": "Diastolic BP, mmHg"
},
"heart_rate": {
"type": "number",
"description": "Heart rate, bpm"
},
"respiratory_rate": {
"type": "number",
"description": "Respiratory rate, /min"
},
"temperature_c": {
"type": "number",
"description": "Temperature, °C"
},
"spo2": {
"type": "number",
"description": "Oxygen saturation, %"
},
"weight_kg": {
"type": "number"
},
"height_cm": {
"type": "number"
},
"pain_score": {
"type": "number",
"description": "Pain score 0-10"
}
},
"required": [
"ticket"
]
},
"page": "/dashboard"
}sign_prescriptionAction
Ask the clinician to sign one of the unsigned prescription drafts. This is a prescribing decision: it always requires an explicit click from the clinician, and the agent cannot complete it alone.
View tool JSON
{
"name": "sign_prescription",
"kind": "act",
"impl": "imperative",
"description": "Ask the clinician to sign one of the unsigned prescription drafts. This is a prescribing decision: it always requires an explicit click from the clinician, and the agent cannot complete it alone.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
},
"drug_name": {
"type": "string",
"description": "Which drafted drug to sign, e.g. \"Amoxicillin\"."
}
},
"required": [
"ticket",
"drug_name"
]
},
"page": "/dashboard"
}call_next_patientAction
Call a patient in from the waiting room. This physically summons them and shows their number on the clinic display, so it always requires clinician confirmation.
View tool JSON
{
"name": "call_next_patient",
"kind": "act",
"impl": "imperative",
"description": "Call a patient in from the waiting room. This physically summons them and shows their number on the clinic display, so it always requires clinician confirmation.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number to call. Omit to call whoever is next by priority — red-flagged patients first."
},
"poli": {
"type": "string",
"enum": [
"umum",
"anak",
"kia",
"gigi",
"lansia"
],
"description": "Clinic department. umum=General, anak=Pediatrics, kia=OB-GYN, gigi=Dental, lansia=Geriatrics."
}
}
},
"page": "/dashboard"
}complete_consultationAction
Close out the consultation for a patient and release them from the queue. Requires clinician confirmation.
View tool JSON
{
"name": "complete_consultation",
"kind": "act",
"impl": "imperative",
"description": "Close out the consultation for a patient and release them from the queue. Requires clinician confirmation.",
"inputSchema": {
"type": "object",
"properties": {
"ticket": {
"type": "string",
"description": "Ticket number as shown on the board, e.g. \"A-014\". The patient name also works."
}
},
"required": [
"ticket"
]
},
"page": "/dashboard"
}page: Receptionist
issue_queue_ticketAction
Issue a new queue ticket for a registered patient at reception. Fills this form in for the receptionist; a human still presses Issue ticket to commit it, because this gives a real patient a queue number.
View tool JSON
{
"name": "issue_queue_ticket",
"kind": "act",
"impl": "declarative",
"description": "Issue a new queue ticket for a registered patient at reception. Fills this form in for the receptionist; a human still presses Issue ticket to commit it, because this gives a real patient a queue number.",
"inputSchema": {
"type": "object",
"properties": {
"patient": {
"type": "string",
"description": "Name or patient ID"
},
"department": {
"type": "string",
"enum": [
"umum",
"anak",
"kia",
"gigi",
"lansia"
]
},
"payer": {
"type": "string",
"enum": [
"bpjs",
"umum"
]
}
},
"required": [
"patient",
"department",
"payer"
]
},
"page": "/receptionist"
}