2.6 KiB
2.6 KiB
Valueset Data Scanning - Agent Instructions
Quick Reference
Database Tables:
valuesetdef- Category definitions (VSetID, VSName, VSDesc)valueset- Actual values (VID, VSetID, VValue, VDesc, VOrder)
Agent Workflow for Valueset Queries
Step 1: Identify the Request Type
Category Search:
User: "Show me all values in [CATEGORY_NAME]"
Agent: Search valuesetdef by VSName → Get VSetID → Query values by VSetID
Reference Search:
User: "Show me values for [TABLE.COLUMN]"
Agent: Search valuesetdef by VSDesc → Get VSetID → Query values by VSetID
ID Search:
User: "Show me values for VSetDefID [ID]"
Agent: Directly query values by VSetID
Filtered Search:
User: "Find values containing [TERM] in [CATEGORY]"
Agent: Search valuesetdef by VSName → Get VSetID → Query values with LIKE filter
Step 2: Execute Query
Model Methods:
ValueSetDefModel::getValueSetDefs($param)- Search categoriesValueSetModel::getValueSetByValueSetDef($VSetID)- Get values by categoryValueSetModel::getValueSets($param, $page, $limit, $VSetID)- Get values with filters
Step 3: Return Results
Response Format:
{
"VSetID": 27,
"VSName": "Test Type",
"values": [
{ "VID": 1, "VValue": "TEST", "VDesc": "Test", "VOrder": 1 },
{ "VID": 2, "VValue": "PARAM", "VDesc": "Parameter", "VOrder": 2 }
]
}
Common Valuesets
| VSetDefID | VSName | VSDesc | Search Keywords |
|---|---|---|---|
| 3 | Gender | - | gender, sex |
| 27 | Test Type | testdefsite.TestType |
test, type, testdefsite |
| 15 | Specimen Type | - | specimen, type, blood, urine |
| 31 | Range Types | refnum.RangeType |
range, refnum |
| 46 | Num Ref Type | refnum.NumRefType |
numeric, reference |
Example Agent Conversations
User: "Show me Gender values" Agent:
getValueSetDefs("Gender")→ VSetID = 3getValueSetByValueSetDef(3)→ Returns values- Output: Female, Male, Unknown
User: "What values for testdefsite.TestType?" Agent:
getValueSetDefs("testdefsite.TestType")→ VSetID = 27getValueSetByValueSetDef(27)→ Returns values- Output: TEST, PARAM, CALC, GROUP, TITLE
User: "Find values with 'STAT' in Priority" Agent:
getValueSetDefs("Priority")→ VSetID = 1getValueSets("STAT", null, 50, 1)→ Returns matching values- Output: STAT, STAT2 (if exists)