Fat Agent Standard / Insurance
v1.0Underwriting
Represents the insurance-specific questions, answers, evidence, requirements, risk findings, and underwriting results used to evaluate an insurance risk.
Underwriting MUST reference other Fat Agent Standard objects rather than duplicate their underlying data. Questions are selected by line, product, carrier, and prior answers. Conditional rules belong on Product.
Identity
underwriting_id and line_of_business are required. carrier_id, product_id, application_id, quote_id, and policy_id are optional so the same structure can attach to a carrier, product, transaction, or issued contract. Health insurance and group insurance are outside Fat Agent Standard v1.0.
| Field | Type | Required | Description |
|---|---|---|---|
underwriting_id | string | Yes | Unique identifier for the Underwriting object |
line_of_business | enum | Yes | Insurance line being evaluated Allowed: life, annuity, long_term_care, disability, personal_auto, property, personal_umbrella, commercial, other |
line_of_business_description | string | Yes* | Custom value when line_of_business is other. Required when line_of_business is other. MUST NOT be set otherwise. |
product_type | enum | No | Standardized product classification. MUST be valid for the selected line_of_business. Allowed: term_life, whole_life, universal_life, indexed_universal_life, guaranteed_universal_life, final_expense, other, fixed_annuity, myga, fixed_indexed_annuity, spia, variable_annuity, traditional_ltc, hybrid_ltc, short_term_disability, long_term_disability, standard_auto, non_standard_auto, classic_collectible_auto, motorcycle, recreational_vehicle, homeowners, condo, renters, dwelling_fire, mobile_manufactured_home, flood, personal_umbrella, businessowners, commercial_package, commercial_property, general_liability, commercial_auto, workers_compensation, commercial_umbrella, professional_liability, errors_omissions, directors_officers, employment_practices_liability, cyber, inland_marine, builders_risk, equipment_breakdown, crime, bonds |
product_type_description | string | Yes* | Custom value when product_type is other. Required when product_type is other. MUST NOT be set otherwise. |
| carrier_id | string | No | ID of the issuing Carrier |
| product_id | string | No | ID of the carrier Product |
| application_id | string | No | Related Application |
quote_id | string | No | Related Quote |
| policy_id | string | No | Related Policy |
Subject
Every Underwriting object evaluates one subject. A transaction MAY contain multiple Underwriting objects when multiple subjects require separate evaluation.
| Field | Type | Required | Description |
|---|---|---|---|
subject_type | enum | Yes | Type of Standard object being evaluated Allowed: person, organization, vehicle, property, application, policy, other |
subject_type_description | string | Yes* | Custom value when subject_type is other. Required when subject_type is other. MUST NOT be set otherwise. |
subject_id | string | Yes | ID of the Standard object being evaluated |
Questions
questions[] stores the questions that were actually asked and the answers received. Conditional follow-up rules belong on Product, not on the completed Underwriting record. answer MUST correspond to answer_type. Existing Person, Vehicle, Property, Claim / Loss, and PriorPolicy facts SHOULD be referenced rather than re-asked.
| Field | Type | Required | Description |
|---|---|---|---|
question_id | string | Yes* | Unique identifier for the question record |
question_code | string | Yes* | Standardized Fat Agent question identifier |
carrier_question_code | string | No | Carrier-specific question identifier |
category | enum | Yes* | Question category Allowed: medical, tobacco, medication, family_history, driving, financial, occupation, aviation, avocation, criminal_legal, foreign_travel, residency, property_hazard, vehicle_use, commercial_operations, loss_history, prior_insurance, eligibility, replacement, other |
category_description | string | Yes* | Custom value when category is other. Required when category is other. MUST NOT be set otherwise. |
question_text | string | Yes* | Human-readable question |
answer_type | enum | Yes* | Declared type of the answer value Allowed: boolean, string, number, integer, date, single_select, multi_select, other |
answer_type_description | string | Yes* | Custom value when answer_type is other. Required when answer_type is other. MUST NOT be set otherwise. |
answer | boolean | string | number | array[string] | null | No | Answer value. MUST correspond to answer_type. |
answer_date | string (date) | No | Date the answer was provided |
answered_by_type | enum | No | Who supplied the answer Allowed: applicant, insured, agent, carrier, third_party, system, other |
answered_by_type_description | string | Yes* | Custom value when answered_by_type is other. Required when answered_by_type is other. MUST NOT be set otherwise. |
answered_by_id | string | No | ID of the Person, Organization, Producer, system, or other source that supplied the answer |
source_type | enum | No | Provenance of the answer Allowed: applicant, agent, carrier, carrier_api, third_party, report, document, imported_data, calculated, system, other |
source_type_description | string | Yes* | Custom value when source_type is other. Required when source_type is other. MUST NOT be set otherwise. |
source_id | string | No | Identifier of the source record or system |
source_date | string (date) | No | Date the source supplied the answer |
notes | string | No | Additional notes about the question or answer |
Conditions
conditions[] identifies known underwriting conditions. The Standard identifies the condition. Product rules determine whether it is a knockout, rating, modified benefit, referral, or approval.
| Field | Type | Required | Description |
|---|---|---|---|
condition_id | string | Yes* | Unique identifier for the condition record |
condition_code | string | Yes* | Standardized condition identifier |
carrier_condition_code | string | No | Carrier-specific condition identifier |
condition_name | string | Yes* | Human-readable condition name |
condition_category | enum | Yes* | Condition category Allowed: cardiovascular, cancer, respiratory, neurological, renal, liver, endocrine, diabetes, mental_behavioral, musculoskeletal, autoimmune, infectious, substance_use, functional_cognitive, other |
condition_category_description | string | Yes* | Custom value when condition_category is other. Required when condition_category is other. MUST NOT be set otherwise. |
status | enum | Yes* | Current condition status Allowed: active, history, resolved, in_treatment, unknown, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
diagnosis_date | string (date) | No | Date of diagnosis |
onset_date | string (date) | No | Date of onset |
treatment_end_date | string (date) | No | Date treatment ended |
resolved_date | string (date) | No | Date the condition resolved |
source_type | enum | No | Provenance of the condition Allowed: applicant, agent, carrier, carrier_api, third_party, report, document, imported_data, calculated, system, other |
source_type_description | string | Yes* | Custom value when source_type is other. Required when source_type is other. MUST NOT be set otherwise. |
source_id | string | No | Identifier of the source record or system |
source_date | string (date) | No | Date the source supplied the condition |
notes | string | No | Additional notes about the condition |
Evidence / Requirements
requirements[] represents underwriting evidence requested, received, or reviewed. Evidence MAY reference a Document using document_id. Use of credit-based insurance scores remains subject to applicable law and carrier rules.
| Field | Type | Required | Description |
|---|---|---|---|
requirement_id | string | Yes* | Unique identifier for the requirement |
requirement_type | enum | Yes* | Type of evidence or requirement Allowed: mvr, mib, prescription_history, medical_records, aps, paramed_exam, labs, financial_documentation, inspection, replacement_cost_estimate, loss_runs, insurance_score, credit_based_insurance_score, motor_vehicle_report, identity_verification, proof_of_ownership, proof_of_prior_insurance, questionnaire, supplemental_application, document, other |
requirement_type_description | string | Yes* | Custom value when requirement_type is other. Required when requirement_type is other. MUST NOT be set otherwise. |
status | enum | Yes* | Current requirement status Allowed: required, requested, ordered, pending, received, reviewed, waived, cancelled, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
requested_date | string (date) | No | Date the requirement was requested |
received_date | string (date) | No | Date the requirement was received |
reviewed_date | string (date) | No | Date the requirement was reviewed |
document_id | string | No | Related Document / Evidence |
provider | string | No | Vendor or system that supplied the evidence |
reference_id | string | No | Provider or carrier reference for the requirement |
notes | string | No | Additional notes about the requirement |
Findings
findings[] describes material discoveries from questions, reports, evidence, carrier review, or automated evaluation. A finding does not by itself determine the final underwriting decision.
| Field | Type | Required | Description |
|---|---|---|---|
finding_id | string | Yes* | Unique identifier for the finding |
finding_type | enum | Yes* | Type of finding Allowed: medical, medication, driving, financial, occupation, property, vehicle, loss_history, prior_insurance, commercial_operations, eligibility, data_discrepancy, other |
finding_type_description | string | Yes* | Custom value when finding_type is other. Required when finding_type is other. MUST NOT be set otherwise. |
severity | enum | No | Severity of the finding Allowed: informational, low, moderate, high, critical, other |
severity_description | string | Yes* | Custom value when severity is other. Required when severity is other. MUST NOT be set otherwise. |
source_type | enum | No | Provenance of the finding Allowed: applicant, agent, carrier, carrier_api, third_party, report, document, imported_data, calculated, system, other |
source_type_description | string | Yes* | Custom value when source_type is other. Required when source_type is other. MUST NOT be set otherwise. |
source_id | string | No | Identifier of the source record or system |
source_date | string (date) | No | Date the source supplied the finding |
description | string | Yes* | What was discovered |
Decision
decision represents the underwriting result when one exists. Preserve the carrier decision without independently changing or reinterpreting it. risk_class is a string because classes vary by carrier and line.
| Field | Type | Required | Description |
|---|---|---|---|
status | enum | Yes* | Underwriting result Allowed: pending, approved, approved_with_changes, preferred, standard, rated, modified, referred, ineligible, declined, withdrawn, other |
status_description | string | Yes* | Custom value when status is other. Required when status is other. MUST NOT be set otherwise. |
risk_class | string | No | Standardized or carrier-provided risk classification |
risk_class_description | string | No | Additional carrier-specific explanation of the risk class |
decision_date | string (date) | No | Date the decision was made |
reason_codes | array[string] | No | Carrier or Standard reason codes supporting the decision |
notes | string | No | Additional decision notes |
Adjustments
adjustments[] represents underwriting modifications applied because of the evaluated risk. They MUST remain distinguishable from Coverage itself. coverage_id MAY identify a specific Coverage affected by the adjustment.
| Field | Type | Required | Description |
|---|---|---|---|
adjustment_id | string | Yes* | Unique identifier for the adjustment |
adjustment_type | enum | Yes* | Type of underwriting modification Allowed: table_rating, flat_extra, surcharge, credit, discount, exclusion, modified_benefit, modified_limit, modified_deductible, other |
adjustment_type_description | string | Yes* | Custom value when adjustment_type is other. Required when adjustment_type is other. MUST NOT be set otherwise. |
value | number | string | No | Numeric or string value describing the adjustment |
unit | enum | No | Unit for the adjustment value Allowed: percentage, currency, table, basis_points, text, other |
unit_description | string | Yes* | Custom value when unit is other. Required when unit is other. MUST NOT be set otherwise. |
reason | string | No | Why the adjustment was applied |
| coverage_id | string | No | Coverage affected by the adjustment |
External References
external_references maps the Underwriting object to identifiers from carriers, underwriting engines, AMS records, or third-party report systems.
| Field | Type | Required | Description |
|---|---|---|---|
system | string | Yes* | External system |
reference_id | string | Yes* | Identifier assigned by that system |
reference_type | string | No | Type of reference |
Line of Business and Product Types
product_type MUST be valid for the selected line_of_business when supplied. Health insurance and group insurance are outside Fat Agent Standard v1.0. When line_of_business is other, line_of_business_description MUST be supplied.
| Line of Business | Allowed product_type |
|---|---|
life | term_life, whole_life, universal_life, indexed_universal_life, guaranteed_universal_life, final_expense, other |
annuity | fixed_annuity, myga, fixed_indexed_annuity, spia, variable_annuity, other |
long_term_care | traditional_ltc, hybrid_ltc, other |
disability | short_term_disability, long_term_disability, other |
personal_auto | standard_auto, non_standard_auto, classic_collectible_auto, motorcycle, recreational_vehicle, other |
property | homeowners, condo, renters, dwelling_fire, mobile_manufactured_home, flood, other |
personal_umbrella | personal_umbrella, other |
commercial | businessowners, commercial_package, commercial_property, general_liability, commercial_auto, workers_compensation, commercial_umbrella, professional_liability, errors_omissions, directors_officers, employment_practices_liability, cyber, inland_marine, builders_risk, equipment_breakdown, crime, bonds, other |
other | other |
Subject Types
subject_type identifies the Fat Agent Standard object being evaluated. Underwriting MUST reference that object rather than duplicate it.
| Line of Business | Allowed product_type |
|---|---|
person | Person |
organization | Organization |
vehicle | Vehicle |
property | Property |
application | Application |
policy | Policy |
other | Requires subject_type_description |
Validation Rules
- underwriting_id, line_of_business, subject_type, and subject_id MUST be supplied.
- Questions, conditions, evidence, findings, decisions, and adjustments are optional because an Underwriting record MAY be created before those items exist.
- When an enum value is other, the companion {field}_description field is required and MUST be a non-empty string. That companion field MUST NOT be set unless the enum value is other.
- product_type MUST be valid for the selected line_of_business when supplied.
- Health insurance and group insurance MUST NOT appear on Underwriting.
- Each question requires question_id, question_code, category, question_text, and answer_type.
- Question answer MUST match the declared answer_type.
- Existing Standard-object facts SHOULD be referenced rather than unnecessarily duplicated as underwriting questions.
- Conditions identify underwriting facts. They do not contain universal carrier eligibility rules.
- Product and carrier rules determine knockouts, eligibility, conditional questions, and required evidence.
- Evidence requirements MAY reference Document objects using document_id.
- Findings MUST remain distinguishable from the final underwriting decision.
- Adjustments MUST remain distinguishable from Coverage itself.
- Historical underwriting data MUST NOT be overwritten merely because a later decision, requirement, or finding exists.
- Source and provenance SHOULD be preserved when data comes from a report, API, carrier, applicant, agent, calculation, or third party.
- Dates MUST use ISO 8601 date format (YYYY-MM-DD).
