DecisioQ System Architecture Decision Concepts Decision List API Guide Developer Center Decision Studio Quick Start Playground End-to-End Examples

AUTO-INS-011 End-to-End Example

Determine Claim Intake Priority ranks new claims by urgency, severity, customer impact, coverage clarity, fraud risk, and estimated loss exposure.

Automotive Auto Insurance Claims Intake & Triage TOPSIS
IdentityIssue bearer token
DKSDiscover decision knowledge
MappingTranslate business data
DDEExecute request
Decision EngineRank claims
ExplanationExplain the result

Overview

AUTO-INS-011, Determine Claim Intake Priority, ranks new auto-insurance claims by urgency, severity, customer impact, handling risk, and financial exposure.

Decision ID
AUTO-INS-011
Decision Name
Determine Claim Intake Priority
Description
Rank new claims by urgency, severity, customer impact, and handling risk.
Industry
Automotive
Sector
Auto Insurance (AUTO-INS)
Category
Claims Intake & Triage (AUTO-INS-CLAIMS-INTAKE-TRIAGE)
Industry Profile
auto-insurance-determine-claim-intake-priorit-auto-ins-011 version 1.0.0
Default Profile
balanced
Default Scenario
standard
Algorithm
TOPSIS
Weight Strategy
Manual
Catalog
DKR-AUTO-RUNTIME-001, version 13.9.3
The deterministic Decision Engine evaluates and ranks the claims. The Explanation of Decision Result is explanatory only and must not select, rerank, recalculate, or override the deterministic result.

Understanding This Decision

Determine Claim Intake Priority helps claims intake teams decide which newly reported claims should be reviewed first by balancing claim severity, customer impact, coverage clarity, fraud risk, and estimated loss exposure.

Business question

Which new claim should receive the highest intake priority under the selected operating context?

Expected outcome

A ranked list of candidate claims with a recommended highest-priority claim and criterion-level score evidence.

Typical users

Claims intake teams, claims operations managers, triage supervisors, customer care leaders, and integration teams building claims workflow automation.

Decision boundary

Use this decision to prioritize supplied claim cases. It does not replace coverage review, fraud investigation, legal review, adjuster judgment, or privacy controls for sensitive claim data.

Architecture

  1. Request a token from https://identity.vinquery.com/connect/token.
  2. Use the returned jwtToken as the bearer token.
  3. Load https://dks.vinquery.com/decisioncatalog.
  4. Load https://dks.vinquery.com/decisioncatalog/decisions/AUTO-INS-011.
  5. Use the industry profile auto-insurance-determine-claim-intake-priorit-auto-ins-011 version 1.0.0.
  6. Choose a valid profileId and scenarioId from the decision metadata.
  7. Submit canonical option values to https://dde.vinquery.com/api/v1/decide.
  8. Retain requestId and correlationId for tracing.
Token propagation: during catalog-authoritative execution, DDE forwards the caller bearer token plus request identifiers to DKS so catalog access and execution share the same security and tracing context.

Authentication

Request a secure session token from Identity. Keep credentials server-side, cache tokens, renew before expiration, avoid duplicate concurrent token requests, and never log authorization headers.

Token request
POST https://identity.vinquery.com/connect/token
Content-Type: application/json

{
  "clientId": "{clientId}",
  "clientSecret": "{clientSecret}",
  "audience": "vinquery:api:decisioq"
}
Token response shape
{
  "requestId": "0HNE...",
  "jwtToken": "{jwtToken}",
  "tokenType": "Bearer",
  "expiresIn": 1800,
  "expiresUtc": "2026-07-19T00:30:00Z",
  "userId": 1166,
  "consumerName": "Example API Consumer",
  "apiConsumerId": "00000000-0000-0000-0000-000000000000"
}

Catalog Discovery

Retrieve current metadata instead of permanently hard-coding criteria or profiles. DKS is authoritative for version-aware decision knowledge.

Catalog
GET https://dks.vinquery.com/decisioncatalog
Authorization: Bearer {jwtToken}
Decision Detail
GET https://dks.vinquery.com/decisioncatalog/decisions/AUTO-INS-011
Authorization: Bearer {jwtToken}

Criteria

Use exact criterionId keys. Display names can change; canonical IDs drive validation, mapping, weighting, and execution.

Criterion IDNameDescriptionDirectionWeightUnitData TypeValidationRequired
claim_severity_scoreClaim Severity ScoreOverall severity of the reported loss.minimize25ScoreNumberscore_0_to_100true
customer_impact_scoreCustomer Impact ScoreHardship, mobility impact, complaint sensitivity, or service urgency.maximize20ScoreNumberscore_0_to_100true
coverage_clarity_scoreCoverage Clarity ScoreHow clearly policy, endorsements, dates, and loss facts support coverage determination.maximize20ScoreNumberscore_0_to_100true
fraud_risk_scoreFraud Risk ScoreLikelihood that suspicious indicators require special investigation.minimize20ScoreNumberscore_0_to_100true
estimated_loss_amountEstimated Loss AmountEstimated total indemnity exposure before final adjudication.minimize15CurrencyCurrencynon_negative_currencytrue

Constraint Processing

This decision currently has no catalog-defined hard constraints. All validated candidates proceed to criteria-based ranking.

Verified Catalog ConstraintStatusEffect
None returned by DKS for AUTO-INS-011No hard constraints definedCandidate eligibility is determined by request validation; all validated candidates are ranked by criteria.
Eligible and Excluded Candidates
{
  "constraintSummary": {
    "definedConstraintCount": 0,
    "activeConstraintCount": 0,
    "eligibleOptionCount": 3,
    "excludedOptionCount": 0,
    "eligibleOptions": [
      "CLAIM-011-01",
      "CLAIM-011-02",
      "CLAIM-011-03"
    ],
    "excludedOptions": []
  }
}
Constraint Handling Pattern
const constraints = decisionDetail.constraints || [];
if (constraints.length === 0) {
  // No catalog-defined hard constraints.
  // Submit all validated candidates for criteria-based ranking.
}

const summary = response.constraintSummary;
const excluded = response.decisionResult?.excludedOptions || [];

Excluded candidates do not participate in ranking because hard constraints are evaluated before scoring. For AUTO-INS-011, no candidates are excluded by catalog-defined constraints because DKS currently defines none for this decision.

Industry Profile

The active industry profile reads claim options from $.claims, option IDs from $.optionId, and display names from $.name. No lookup tables, transformations, defaults, or unit conversions are configured for this profile.

Profile ID
auto-insurance-determine-claim-intake-priorit-auto-ins-011
Version
1.0.0
Options Path
$.claims
Option ID Path
$.optionId
Display Name Path
$.name
Client Business Data PathTransformationCanonical Criterion IDUnitValidation
option.assessment.claimSeverityScoredirect numeric valueclaim_severity_scoreScorescore_0_to_100
option.assessment.customerImpactScoredirect numeric valuecustomer_impact_scoreScorescore_0_to_100
option.assessment.coverageClarityScoredirect numeric valuecoverage_clarity_scoreScorescore_0_to_100
option.risk.fraudRiskScoredirect numeric valuefraud_risk_scoreScorescore_0_to_100
option.financial.estimatedLossAmountdirect numeric valueestimated_loss_amountCurrencynon_negative_currency
Raw Business Data
{
  "requestContext": {
    "sourceSystem": "claims-intake",
    "correlationId": "auto-ins-011-demo-001"
  },
  "claims": [
    {
      "optionId": "CLAIM-011-01",
      "name": "Claim CASE-001",
      "assessment": {
        "claimSeverityScore": 83,
        "customerImpactScore": 83,
        "coverageClarityScore": 83
      },
      "risk": {
        "fraudRiskScore": 78
      },
      "financial": {
        "estimatedLossAmount": 62500
      }
    }
  ]
}
Prepared Option Values
{
  "optionId": "CLAIM-011-01",
  "name": "Claim CASE-001",
  "values": {
    "claim_severity_score": 83,
    "customer_impact_score": 83,
    "coverage_clarity_score": 83,
    "fraud_risk_score": 78,
    "estimated_loss_amount": 62500
  }
}
Client applications own operational facts. DKS owns canonical decision knowledge.

Profiles and Scenarios

Profiles adjust weights. Scenarios describe operating context. Both are discovered from the DKS decision detail response.

Profile IDNamePurpose
balancedBalancedPreserves the default criterion priorities for this insurance decision.
cost_controlCost ControlEmphasizes financial leakage, claim cost, reserves, and expense control.
risk_averseRisk AverseEmphasizes coverage, liability, fraud exposure, severity, and compliance risk.
customer_focusedCustomer FocusedEmphasizes service speed, customer impact, and experience quality.
Scenario IDNameUse When
standardStandard Claim HandlingOrdinary claim volume and complete claim information.
catastrophe_eventCatastrophe EventHigh-volume event conditions require faster triage and severity prioritization.
coverage_uncertaintyCoverage UncertaintyPolicy, liability, or eligibility information is incomplete.
customer_escalationCustomer EscalationComplaint risk, hardship, or service-level commitments are elevated.

Prepared Input

The active DDE catalog execution contract accepts decisionId, profileId, scenarioId, algorithm, weightStrategy, runSensitivity, requestContext, and options.

Prepared Decision Input JSON
{
  "decisionId": "AUTO-INS-011",
  "profileId": "balanced",
  "scenarioId": "standard",
  "algorithm": "TOPSIS",
  "weightStrategy": "Manual",
  "runSensitivity": false,
  "requestContext": {
    "correlationId": "auto-ins-011-demo-001"
  },
  "options": [
    {
      "optionId": "CLAIM-011-01",
      "name": "Claim CASE-001",
      "values": {
        "claim_severity_score": 83,
        "customer_impact_score": 83,
        "coverage_clarity_score": 83,
        "fraud_risk_score": 78,
        "estimated_loss_amount": 62500
      }
    },
    {
      "optionId": "CLAIM-011-02",
      "name": "Claim CASE-002",
      "values": {
        "claim_severity_score": 75,
        "customer_impact_score": 75,
        "coverage_clarity_score": 75,
        "fraud_risk_score": 70,
        "estimated_loss_amount": 107500
      }
    }
  ]
}

Execute

cURL
curl -X POST "https://dde.vinquery.com/api/v1/decide" \
  -H "Authorization: Bearer ${DECISIOQ_TOKEN}" \
  -H "Content-Type: application/json" \
  -H "X-Correlation-Id: auto-ins-011-demo-001" \
  --data @auto-ins-011-execute.json

DDE retrieves authoritative criteria, profiles, scenarios, and validation metadata from DKS, composes the engine-ready request, and executes the deterministic ranking.

Interpret the Result

Use decisionResult.winner and decisionResult.ranking as the deterministic result. Scores are useful within the same run; avoid comparing raw scores across unrelated decisions or catalog versions.

Successful Response Shape
{
  "service": "decisioq",
  "version": "7.6.3",
  "requestId": "0HNE...",
  "operation": "Decide",
  "success": true,
  "decisionType": "AUTO-INS-011",
  "decisionVersion": "13.9.3",
  "timestampUtc": "2026-07-19T00:00:00Z",
  "decisionResult": {
    "winner": "CLAIM-011-01",
    "confidence": 72.4,
    "ranking": [
      {
        "optionId": "CLAIM-011-01",
        "score": 0.8421,
        "breakdown": {
          "claim_severity_score": 0.15,
          "customer_impact_score": 0.20
        },
        "normalizationBreakdown": {}
      }
    ],
    "excludedOptions": [],
    "explanation": {
      "summary": "Claim CASE-001 ranked highest based on the submitted criteria.",
      "strengths": [],
      "weaknesses": [],
      "exclusions": []
    }
  },
  "constraintSummary": {
    "definedConstraintCount": 0,
    "activeConstraintCount": 0,
    "eligibleOptionCount": 3,
    "excludedOptionCount": 0,
    "eligibleOptions": [
    "CLAIM-011-01",
    "CLAIM-011-02",
    "CLAIM-011-03"
    ],
    "excludedOptions": []
  },
  "executionTrace": {
    "selectedProfileId": "balanced",
    "selectedScenarioId": "standard",
    "weightSource": "dksProfile:balanced",
    "effectiveWeights": {
      "claim_severity_score": 25,
      "customer_impact_score": 20
    }
  },
  "warnings": [],
  "requestContext": {
    "correlationId": "auto-ins-011-demo-001"
  }
}
WinnerThe selected claim option ID in decisionResult.winner.
WarningsNon-fatal issues to review before relying on the recommendation.
Operational MetadataKeep request IDs, correlation IDs, selected profile, selected scenario, and catalog version for support.

Sensitivity Analysis

Use "runSensitivity": true when the client needs evidence about recommendation stability. DecisioQ varies criterion weights by controlled factors while keeping submitted options and values fixed.

Sensitivity Result Shape
{
  "runSensitivity": true,
  "sensitivityResult": {
    "stableWinner": true,
    "winner": "CLAIM-011-01",
    "mostSensitiveCriterion": "claim_severity_score",
    "confidence": 95,
    "criterionImpacts": {
      "claim_severity_score": 0.1842
    },
    "winnerChangeCounts": {
      "claim_severity_score": 0
    }
  }
}
Sensitivity Analysis does not replace the deterministic decision result. It provides evidence about how stable that result is under permitted changes.

Explanation of Decision Result

The Explanation Service receives the finalized deterministic result and a controlled evidence package. It is synchronous in the current execution flow when configured and returns under the vendor-neutral ai block. If explanation generation fails silently, the deterministic result remains available.

Explanation Shape
{
  "ai": {
    "enabled": true,
    "generated": true,
    "schemaValidated": true,
    "explanation": {
      "summary": "The selected claim has the strongest overall priority.",
      "whyRecommended": "It combined high customer impact and clear coverage with manageable loss exposure.",
      "keyDrivers": [],
      "tradeoffs": [],
      "competitors": [],
      "sensitivitySummary": "Sensitivity analysis was not included in this response.",
      "scenarioSummary": "The standard claim-handling scenario was selected.",
      "risks": [],
      "nextSteps": [],
      "assumptions": []
    }
  }
}

The Explanation of Decision Result must not receive raw private claim files or unrestricted notes. It explains the already-finalized result; it does not select, rerank, recalculate, or override it.

Tracing and Logs

Use request identifiers to connect client, Identity, DKS, and DDE activity. Authentication and identity-security activity belongs in IdentityAuditEvents. Catalog, mapping, decision execution, sensitivity, and explanation operations belong in decisioq_log.

X-Request-Id
Optional client-supplied request ID. If omitted, DDE or DKS generates one.
X-Correlation-Id
Optional client workflow ID propagated from DDE to DKS.
requestContext.correlationId
Payload value echoed by DDE and used for execution logging.
DecisionId
Recorded for decision-specific operations. General catalog and identity operations may not have a decision ID.
ServiceNameOperationRequestIdCorrelationIdDecisionIdStatusTimestamp
IdentityToken issuedidentity requestoptionalSuccessUTC
DKSDecisionCatalog.DecisionDefinitionDDE propagated requestauto-ins-011-demo-001AUTO-INS-011SuccessUTC
DDEDecideDDE requestauto-ins-011-demo-001AUTO-INS-011SuccessUTC
Never log API Consumer secrets, bearer tokens, raw authorization headers, or sensitive claim details.

Code Examples

These examples authenticate, retrieve AUTO-INS-011 metadata, validate profile and scenario selections, execute the decision, pass a correlation ID, and print the deterministic result.

Environment variables
DECISIOQ_CLIENT_ID
DECISIOQ_CLIENT_SECRET

Optional:
DECISIOQ_IDENTITY_URL=https://identity.vinquery.com/connect/token
DECISIOQ_DKS_URL=https://dks.vinquery.com
DECISIOQ_DDE_URL=https://dde.vinquery.com

Troubleshooting

SymptomLikely CauseHTTP Status or ErrorCorrective ActionWhere to Investigate
Token rejectedInvalid credentials or access code401 or 400Request a new server-side token; do not expose credentials in browser JavaScript.IdentityAuditEvents
Unknown decision IDDecision is absent from active DKS catalog404Verify AUTO-INS-011 in /decisioncatalog/decisions/AUTO-INS-011.DKS logs
Invalid profile or scenarioRequest value is not listed in decision metadata400Use one of the profile or scenario IDs returned by DKS.DDE validation logs
Missing criterionOption values omit a required canonical criterion400 validation errorSend all five required AUTO-INS-011 criteria for every claim.DDE validation response
Out-of-range valueScore outside 0-100 or negative currency value400 validation errorApply score_0_to_100 and non_negative_currency before submit.Client validation, DDE validation
Service unavailableDKS, DDE, or Identity unavailable5xx or non-JSON upstream errorCheck health endpoints and server logs.Hosting/IIS logs and DecisioQ logs
Explanation unavailableExplanation provider disabled or failed silentlySuccess with missing or failed ai blockUse deterministic decisionResult; treat explanation as optional.DDE application logs
Download link failsStatic asset missing from website404Verify the file exists under examples/auto-ins-011.Website static files

Production Checklist

Security

Keep API Consumer credentials server-side, use HTTPS, cache JWTs, renew before expiration, never log secrets, and ensure the API Consumer is linked to a DecisioQ account for usage accounting.

Knowledge and Versioning

Retrieve DKS metadata, preserve industry profile version 1.0.0, and monitor catalog version changes.

Execution Reliability

Use timeouts, cancellation tokens, structured error handling, and avoid unsafe automatic retries unless idempotency is established.

Observability

Propagate X-Correlation-Id, retain requestId, and distinguish DKS failures from DDE failures.

Explanation Safety

Persist deterministic results separately and isolate explanation failure from ranking success.

Testing

Use contract tests, validation tests, sensitivity tests, and privacy-safe claim samples.