AI Skill Report Card

Searching MagDent Patients

B75·Feb 26, 2026·Source: Web
YAML
--- name: searching-magdent-patients description: Searches for patients in the MagDent platform using MCP integration. Use when you need to find patient records by name, phone, or ID. ---

Searching MagDent Patients

15 / 15
Bash
# Search by patient name <use_mcp_tool> <server_name>magdent</server_name> <tool_name>search_patients</tool_name> <arguments>{"query": "Иванов", "type": "name", "limit": 10}</arguments> </use_mcp_tool> # Search by phone <use_mcp_tool> <server_name>magdent</server_name> <tool_name>search_patients</tool_name> <arguments>{"query": "79001234567", "type": "phone"}</arguments> </use_mcp_tool>
Recommendation
Add completeness section covering error handling, authentication requirements, and what to do when MCP server is unavailable
13 / 15

Progress:

  • Normalize search input (remove spaces, format phone)
  • Call MagDent search_patients tool
  • Handle multiple results or no results
  • Display formatted patient information
  • Offer follow-up actions (view history, schedule)

Step-by-step Process:

  1. Prepare Search Query

    • Names: Remove extra spaces, capitalize properly
    • Phones: Strip to digits only, add country code if missing
    • IDs: Validate format (usually numeric)
  2. Execute MagDent Search

    Bash
    <use_mcp_tool> <server_name>magdent</server_name> <tool_name>search_patients</tool_name> <arguments>{"query": "normalized_input", "type": "name|phone|id"}</arguments> </use_mcp_tool>
  3. Handle Results

    • Single match: Display full details
    • Multiple matches: Show list with key identifiers
    • No matches: Suggest alternative spellings or broader search
Recommendation
Remove some verbose explanations in workflow section - Claude knows how to normalize strings and handle basic data processing
20 / 20

Example 1: Successful Name Search Input: "Петров Иван" Output:

JSON
{ "success": true, "results": [ { "patient_id": "P001234", "full_name": "Петров Иван Сергеевич", "phone": "79001234567", "birth_date": "1985-03-15", "last_appointment": "2024-01-20", "status": "active" } ] }

Example 2: Multiple Matches Input: "Иванов" Output:

JSON
{ "success": true, "results": [ {"patient_id": "P001235", "full_name": "Иванов Петр Андреевич", "phone": "79001111111"}, {"patient_id": "P001236", "full_name": "Иванов Алексей Викторович", "phone": "79002222222"} ] }

Example 3: No Results Input: "Сидоровский" Output:

JSON
{ "success": true, "results": [], "message": "Пациент не найден" }
Recommendation
Include a template for displaying search results to users in a consistent format
  • Always search by phone first if available (most accurate)
  • Use partial name matching: "Иван" finds "Иванов Иван"
  • Format phones consistently: remove +7, spaces, dashes
  • Limit initial results to 10 patients max
  • Sort results by last appointment date (recent first)
  • Ask for clarification when multiple exact matches exist
  • Don't search with single letters or numbers
  • Avoid searching without patient consent verification
  • Don't display sensitive data in logs or error messages
  • Never assume Cyrillic/Latin spelling consistency
  • Don't ignore inactive/archived patient status
  • Avoid broad searches that return hundreds of results
0
Grade BAI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
15/15
Workflow
13/15
Examples
20/20
Completeness
0/20
Format
15/15
Conciseness
12/15