forked from kimhyungsik/ax_hub_mcp_tool
Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"claimNo": {
|
||||
"type": "string",
|
||||
"description": "청구번호. CLM 다음 숫자 13자리 형식이다.",
|
||||
"pattern": "^CLM[0-9]{13}$",
|
||||
"examples": ["CLM2026070100123"]
|
||||
},
|
||||
"contractNo": {
|
||||
"type": "string",
|
||||
"description": "계약번호. 숫자 11자리 형식이다.",
|
||||
"pattern": "^[0-9]{11}$",
|
||||
"examples": ["10023456789"]
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"RECEIVED", "REVIEWING", "ADDITIONAL_DOC_REQUIRED",
|
||||
"APPROVED", "PAID", "REJECTED", "WITHDRAWN"
|
||||
]
|
||||
},
|
||||
"size": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 50,
|
||||
"default": 20
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"additionalProperties": false,
|
||||
"anyOf": [
|
||||
{ "required": ["claimNo"] },
|
||||
{ "required": ["contractNo"] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"type": "object",
|
||||
"description": "Claim search response. This schema intentionally excludes employee identifiers, customer names, contact details, account information, and other PII.",
|
||||
"properties": {
|
||||
"resultCode": {
|
||||
"type": "string",
|
||||
"enum": ["SUCCESS", "FAILURE"],
|
||||
"description": "Machine-readable execution result code."
|
||||
},
|
||||
"resultLabel": {
|
||||
"type": "string",
|
||||
"description": "User-readable label for resultCode."
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["RECEIVED", "REVIEWING", "ADDITIONAL_DOC_REQUIRED", "APPROVED", "PAID", "REJECTED", "WITHDRAWN"],
|
||||
"description": "Current claim processing status code."
|
||||
},
|
||||
"statusLabel": {
|
||||
"type": "string",
|
||||
"description": "User-readable label for status."
|
||||
},
|
||||
"approvedAmount": {
|
||||
"anyOf": [
|
||||
{ "type": "number", "minimum": 0 },
|
||||
{ "type": "null" }
|
||||
],
|
||||
"description": "Approved amount. It is null before review and must not be interpreted as zero."
|
||||
},
|
||||
"rejectionReason": {
|
||||
"type": ["string", "null"],
|
||||
"maxLength": 200,
|
||||
"description": "Has a value only when status is REJECTED. It is null for every other status."
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
"description": "Claim summaries ordered by receivedDate descending. No personally identifiable information is included.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": { "type": "string", "description": "Claim status code." },
|
||||
"statusLabel": { "type": "string", "description": "User-readable label for status." },
|
||||
"receivedDate": { "type": "string", "format": "date", "description": "Claim received date." },
|
||||
"approvedAmount": {
|
||||
"anyOf": [
|
||||
{ "type": "number", "minimum": 0 },
|
||||
{ "type": "null" }
|
||||
],
|
||||
"description": "Null before review; do not interpret as zero."
|
||||
}
|
||||
},
|
||||
"required": ["status", "statusLabel", "receivedDate"],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"hasMore": {
|
||||
"type": "boolean",
|
||||
"description": "True when additional results exist beyond this response."
|
||||
},
|
||||
"totalCount": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"description": "Total number of matched claims."
|
||||
}
|
||||
},
|
||||
"required": ["resultCode", "resultLabel", "status", "statusLabel", "items", "hasMore", "totalCount"],
|
||||
"allOf": [
|
||||
{
|
||||
"if": {
|
||||
"properties": { "status": { "const": "REJECTED" } },
|
||||
"required": ["status"]
|
||||
},
|
||||
"then": {
|
||||
"properties": { "rejectionReason": { "type": "string", "minLength": 1 } },
|
||||
"required": ["rejectionReason"]
|
||||
}
|
||||
}
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
Reference in New Issue
Block a user