Skip to main content

Severity assessment manual

POST /severity-assessment/manual computes a severity score from clinician- or patient-supplied questionnaire responses only no image is required. Use it for scoring systems that are intrinsically questionnaire-based or when an image is unavailable. Manual-capable scoring systems are flagged in the response of GET /questionnaires.

Request

import requests

base_url = "<base_url>"
url = f"{base_url}/severity-assessment/manual"

# bodySite, scoringSystem code, and questionnaireResponse.item are discovered from
# helper endpoints at integration time see "Shared schema".
json_payload = {
"bodySite": "<body_site_code>",
"knownCondition": {
"conclusion": { "text": "<plain-text condition>" }
},
"scoringSystem": {
"<scoring_system_code>": {
"questionnaireResponse": {
"item": { "<item_code>": "<answer_value>" }
}
}
}
}

headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <access_token>"
}

response = requests.post(url, json=json_payload, headers=headers)
result = response.json()

Request fields

The Authorization header is the standard bearer token; see Authentication header.

Response

The response follows the shared FHIR response envelope; the manual-specific payload lives under patientEvolution:

{
"patientEvolution": {
"<scoring_system_code>": {
"score": {
"value": 2,
"severity": {
"value": 1,
"interpretations": [
// Bucket boundaries and labels are defined per scoring system;
// see GET /questionnaires?code=<scoring_system_code> for the full table.
{ "min": 0.0, "max": 2.0, "text": "<bucket_label>", "coding": [{ "code": 1, "display": "low" }] },
{ "min": 2.0, "max": 4.0, "text": "<bucket_label>", "coding": [{ "code": 2, "display": "moderate" }] }
]
}
}
}
}
}

Field-by-field

  • patientEvolution.<scoring_system_code>.score.value total score computed from the questionnaire answers.
  • patientEvolution.<scoring_system_code>.score.severity.value severity intensity bucket: 1 (low), 2 (moderate), 3 (high).
  • patientEvolution.<scoring_system_code>.score.severity.interpretations[] the lookup table the API used to derive severity.value. Each entry defines a [min, max) range, the human-readable text (the bucket's label as defined by the scoring system), and a coding array linking the bucket back to the intensity code.