POST /v1/protocol-engine/evaluate
Service: clinical · operationId: (none)
Required scopes
(no scope declared — review service config)
Request body
{
"type": "object",
"properties": {
"patient_id": {
"type": "string",
"minLength": 1
},
"brand_id": {
"type": "string",
"minLength": 1
},
"protocol_id": {
"type": "string",
"minLength": 1
},
"medications": {
"type": "array",
"items": {
"type": "string"
}
},
"current_week": {
"type": "integer",
"minimum": 1,
"maximum": 8
}
},
"required": [
"patient_id",
"brand_id",
"protocol_id"
]
}Responses
200 Protocol eligibility evaluation result
{
"type": "object",
"properties": {
"protocol_id": {
"type": "string"
},
"protocol_name": {
"type": "string"
},
"eligible": {
"type": "boolean"
},
"match_score": {
"type": "number"
},
"matched_biomarkers": {
"type": "array",
"items": {
"type": "string"
}
},
"missing_biomarkers": {
"type": "array",
"items": {
"type": "string"
}
},
"contraindication_hits": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rule_id": {
"type": "string"
},
"medication_code": {
"type": "string"
},
"medication_name": {
"type": "string"
},
"protocol_category": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"absolute",
"relative",
"caution"
]
},
"reason": {
"type": "string"
},
"alternatives": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"rule_id",
"medication_code",
"medication_name",
"protocol_category",
"severity",
"reason",
"alternatives"
]
}
},
"phase": {
"type": "object",
"properties": {
"week": {
"type": "number"
},
"total_weeks": {
"type": "number"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"week",
"total_weeks",
"name",
"description"
]
},
"parameters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "number"
},
"unit": {
"type": "string"
},
"derived_from": {
"type": "string"
},
"rationale": {
"type": "string"
}
},
"required": [
"name",
"value",
"unit",
"derived_from",
"rationale"
]
}
}
},
"required": [
"protocol_id",
"protocol_name",
"eligible",
"match_score",
"matched_biomarkers",
"missing_biomarkers",
"contraindication_hits",
"phase",
"parameters"
]
}404 Protocol not found
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"error",
"message"
]
}412 Precondition failed (no biomarkers for patient)
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"error",
"message"
]
}Example
curl -X POST https://clinical.platform.loop.health/v1/protocol-engine/evaluate \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'Related
services/clinical— service overview- All endpoints — directory across services
- Auth model — how scopes are enforced