{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$ref": "#/definitions/Claim",
  "definitions": {
    "Claim": {
      "type": "object",
      "properties": {
        "resourceType": {
          "type": "string",
          "const": "Claim",
          "description": "Fixed resource type discriminator"
        },
        "id": {
          "type": "string",
          "description": "Logical id of this resource. Assigned by the server or originating system."
        },
        "meta": {
          "$ref": "#/definitions/Meta",
          "description": "Metadata about the resource"
        },
        "status": {
          "type": "string",
          "enum": [
            "open",
            "closed",
            "reopened",
            "denied",
            "subrogation"
          ],
          "description": "Current status of the claim.\n\n- `open` — Claim is active and being handled\n- `closed` — Claim has been resolved and closed\n- `reopened` — Previously closed claim has been reopened\n- `denied` — Claim coverage has been denied\n- `subrogation` — In subrogation recovery phase"
        },
        "claimNumber": {
          "type": "string",
          "description": "Carrier-assigned claim number"
        },
        "policy": {
          "$ref": "#/definitions/Reference",
          "description": "Reference to the policy under which the claim is filed"
        },
        "coverage": {
          "$ref": "#/definitions/Reference",
          "description": "Reference to the coverage section applicable to this claim"
        },
        "insured": {
          "$ref": "#/definitions/Reference",
          "description": "Reference to the insured"
        },
        "dateOfLoss": {
          "type": "string",
          "description": "Date the loss or incident occurred.",
          "format": "date"
        },
        "dateReported": {
          "type": "string",
          "description": "Date/time the claim was reported to the carrier.",
          "format": "date-time"
        },
        "lossType": {
          "$ref": "#/definitions/CodeableConcept",
          "description": "Type/cause of loss."
        },
        "description": {
          "type": "string",
          "description": "Narrative description of the loss or incident"
        },
        "lossLocation": {
          "$ref": "#/definitions/Address",
          "description": "Location where the loss occurred"
        },
        "adjuster": {
          "$ref": "#/definitions/Reference",
          "description": "Reference to the assigned adjuster.",
          "deprecated": "Use `assignments` for richer multi-party claim handling."
        },
        "claimants": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Claimant"
          },
          "description": "Claimant(s) — parties making the claim"
        },
        "financials": {
          "$ref": "#/definitions/ClaimFinancials",
          "description": "Financial reserves and payment summary"
        },
        "litigationStatus": {
          "$ref": "#/definitions/CodeableConcept",
          "description": "Litigation status."
        },
        "documents": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attachment"
          },
          "description": "Supporting documents (photos, police reports, medical records, etc.)"
        },
        "lossCause": {
          "$ref": "#/definitions/CodeableConcept",
          "description": "Structured cause of loss."
        },
        "lossKind": {
          "$ref": "#/definitions/CodeableConcept",
          "description": "High-level loss category (property, liability, medical, auto, workers-comp)."
        },
        "lossTime": {
          "type": "string",
          "description": "Time of day the loss occurred.",
          "format": "time"
        },
        "assignments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClaimsAssignment"
          },
          "description": "Assigned parties with roles — replaces single adjuster field for complex claims."
        },
        "reports": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClaimReport"
          },
          "description": "Police, fire, incident, and appraisal reports related to this claim"
        },
        "subrogation": {
          "$ref": "#/definitions/SubrogationDetail",
          "description": "Subrogation recovery tracking"
        }
      },
      "required": [
        "claimNumber",
        "dateOfLoss",
        "insured",
        "lossType",
        "policy",
        "resourceType",
        "status"
      ],
      "additionalProperties": false,
      "description": "A claim represents an insured's report of a loss or incident that may be covered under their policy. This is the starting point of the claims workflow in insurance.",
      "examples": [
        {
          "resourceType": "Claim",
          "id": "clm-2025-5001",
          "status": "open",
          "claimNumber": "CLM-2025-005001",
          "policy": {
            "reference": "Policy/pol-2025-1001"
          },
          "insured": {
            "reference": "Insured/ins-001",
            "display": "Acme Manufacturing Corp"
          },
          "dateOfLoss": "2025-09-15",
          "dateReported": "2025-09-16T08:30:00Z",
          "lossType": {
            "coding": [
              {
                "code": "BI",
                "display": "Bodily Injury"
              }
            ]
          },
          "description": "Employee slip and fall in warehouse area",
          "lossLocation": {
            "line": [
              "123 Industrial Blvd"
            ],
            "city": "Hartford",
            "state": "CT"
          }
        }
      ]
    },
    "Meta": {
      "type": "object",
      "properties": {
        "versionId": {
          "type": "string",
          "description": "Version-specific identifier for this resource version. Changes each time the resource is updated."
        },
        "lastUpdated": {
          "type": "string",
          "description": "When this resource was last updated.",
          "format": "date-time"
        },
        "source": {
          "type": "string",
          "description": "URI identifying the originating system that created or last modified this resource.",
          "format": "uri"
        },
        "tag": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "description": "Security or access control tags"
        }
      },
      "additionalProperties": false,
      "description": "Metadata about a resource instance. Tracks versioning, provenance, and timestamps."
    },
    "Coding": {
      "type": "object",
      "properties": {
        "system": {
          "type": "string",
          "description": "The code system URI that defines the code.",
          "format": "uri"
        },
        "code": {
          "type": "string",
          "description": "The code value from the code system"
        },
        "display": {
          "type": "string",
          "description": "Human-readable display text for the code"
        }
      },
      "required": [
        "code"
      ],
      "additionalProperties": false,
      "description": "A coded value from a defined code system. Used throughout BIND for standardized enumerations.",
      "examples": [
        {
          "system": "https://bind.codes/line-of-business",
          "code": "GL",
          "display": "General Liability"
        }
      ]
    },
    "Reference": {
      "type": "object",
      "properties": {
        "reference": {
          "type": "string",
          "description": "Relative or absolute reference to another resource. Format: `{ResourceType}/{id}` for relative references."
        },
        "type": {
          "type": "string",
          "description": "The resource type being referenced"
        },
        "display": {
          "type": "string",
          "description": "Text alternative for the reference (e.g. display name)"
        }
      },
      "additionalProperties": false,
      "description": "A reference from one BIND resource to another.",
      "examples": [
        {
          "reference": "Insured/ins-789",
          "display": "Acme Corp"
        }
      ]
    },
    "CodeableConcept": {
      "type": "object",
      "properties": {
        "coding": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Coding"
          },
          "description": "Code(s) from formal code systems"
        },
        "text": {
          "type": "string",
          "description": "Plain text representation of the concept"
        }
      },
      "additionalProperties": false,
      "description": "A concept with a coding and optional text. Wraps one or more Coding values with a human-readable summary."
    },
    "Address": {
      "type": "object",
      "properties": {
        "use": {
          "type": "string",
          "enum": [
            "work",
            "mailing",
            "billing",
            "loss-location",
            "home",
            "old"
          ],
          "description": "Purpose of this address"
        },
        "type": {
          "type": "string",
          "enum": [
            "postal",
            "physical",
            "both"
          ],
          "description": "The type of address (postal, physical, or both)"
        },
        "text": {
          "type": "string",
          "description": "Full unstructured text representation of the address"
        },
        "line": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Street address lines"
        },
        "city": {
          "type": "string",
          "description": "City or municipality"
        },
        "district": {
          "type": "string",
          "description": "County or district. Critical for insurance rating territories and jurisdiction determination."
        },
        "state": {
          "type": "string",
          "description": "State, province, or region"
        },
        "postalCode": {
          "type": "string",
          "description": "Postal / ZIP code"
        },
        "country": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code.",
          "default": "US"
        },
        "period": {
          "$ref": "#/definitions/Period",
          "description": "Period during which this address was/is in use"
        },
        "geoPoint": {
          "$ref": "#/definitions/GeoPoint",
          "description": "Geographic coordinates of this address"
        }
      },
      "additionalProperties": false,
      "description": "A physical or mailing address.",
      "examples": [
        {
          "use": "work",
          "type": "both",
          "line": [
            "123 Main St",
            "Suite 400"
          ],
          "city": "Hartford",
          "state": "CT",
          "postalCode": "06103",
          "country": "US",
          "district": "Hartford County"
        }
      ]
    },
    "Period": {
      "type": "object",
      "properties": {
        "start": {
          "type": "string",
          "description": "Start of the period (inclusive).",
          "format": "date"
        },
        "end": {
          "type": "string",
          "description": "End of the period (inclusive).",
          "format": "date"
        }
      },
      "additionalProperties": false,
      "description": "A time period defined by a start and/or end date. Used for policy terms, coverage periods, etc.",
      "examples": [
        {
          "start": "2025-01-01",
          "end": "2026-01-01"
        }
      ]
    },
    "GeoPoint": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number",
          "description": "Latitude in decimal degrees.",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "description": "Longitude in decimal degrees.",
          "minimum": -180,
          "maximum": 180
        },
        "altitude": {
          "type": "number",
          "description": "Altitude in meters above sea level"
        }
      },
      "required": [
        "latitude",
        "longitude"
      ],
      "additionalProperties": false,
      "description": "A geographic point in WGS84 coordinates. Used for precise location of insured properties, loss locations, etc."
    },
    "Claimant": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the claimant"
        },
        "role": {
          "$ref": "#/definitions/CodeableConcept",
          "description": "Role of the claimant in the loss."
        },
        "contact": {
          "$ref": "#/definitions/Address",
          "description": "Claimant's address"
        },
        "attorney": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Attorney's name"
            },
            "firm": {
              "type": "string",
              "description": "Law firm name"
            }
          },
          "required": [
            "name"
          ],
          "additionalProperties": false,
          "description": "Attorney information, if represented"
        }
      },
      "required": [
        "name",
        "role"
      ],
      "additionalProperties": false,
      "description": "A party making a claim or involved in a claim.",
      "examples": [
        {
          "name": "John Smith",
          "role": "injured-party",
          "contact": {
            "line": [
              "456 Oak St"
            ],
            "city": "Hartford",
            "state": "CT"
          }
        }
      ]
    },
    "ClaimFinancials": {
      "type": "object",
      "properties": {
        "totalIncurred": {
          "$ref": "#/definitions/Money",
          "description": "Total incurred (paid + outstanding reserves)"
        },
        "totalPaid": {
          "$ref": "#/definitions/Money",
          "description": "Total amount paid to date"
        },
        "totalReserves": {
          "$ref": "#/definitions/Money",
          "description": "Outstanding reserves"
        },
        "subrogationRecovery": {
          "$ref": "#/definitions/Money",
          "description": "Amount recovered through subrogation"
        },
        "deductibleApplied": {
          "$ref": "#/definitions/Money",
          "description": "Deductible amount applicable to this claim"
        },
        "payments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClaimPayment"
          },
          "description": "Individual payment transactions"
        }
      },
      "additionalProperties": false,
      "description": "Financial summary of a claim, including reserves and payments.",
      "examples": [
        {
          "totalIncurred": {
            "value": 150000,
            "currency": "USD"
          },
          "totalPaid": {
            "value": 75000,
            "currency": "USD"
          },
          "totalReserves": {
            "value": 75000,
            "currency": "USD"
          }
        }
      ]
    },
    "Money": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number",
          "description": "Numeric amount. Represented as a number; precision should be maintained by the consuming system."
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 currency code.",
          "default": "USD"
        }
      },
      "required": [
        "value"
      ],
      "additionalProperties": false,
      "description": "A monetary amount with currency.",
      "examples": [
        {
          "value": 1000000,
          "currency": "USD"
        }
      ]
    },
    "ClaimPayment": {
      "type": "object",
      "properties": {
        "paymentDate": {
          "type": "string",
          "description": "Date the payment was made.",
          "format": "date"
        },
        "amount": {
          "$ref": "#/definitions/Money",
          "description": "Amount of the payment"
        },
        "paymentType": {
          "$ref": "#/definitions/CodeableConcept",
          "description": "Type of payment."
        },
        "payee": {
          "type": "string",
          "description": "Payee — who received the payment"
        },
        "description": {
          "type": "string",
          "description": "Description of what the payment covers"
        }
      },
      "required": [
        "paymentDate",
        "amount",
        "paymentType"
      ],
      "additionalProperties": false,
      "description": "An individual payment made on a claim."
    },
    "Attachment": {
      "type": "object",
      "properties": {
        "contentType": {
          "type": "string",
          "description": "MIME type of the content.",
          "examples": [
            "application/pdf"
          ]
        },
        "url": {
          "type": "string",
          "description": "URI where the attachment data can be retrieved.",
          "format": "uri"
        },
        "title": {
          "type": "string",
          "description": "Human-readable title for the attachment"
        },
        "creation": {
          "type": "string",
          "description": "Date the attachment was created.",
          "format": "date-time"
        }
      },
      "additionalProperties": false,
      "description": "An attachment or document reference. Used for loss runs, applications, endorsement forms, etc."
    },
    "ClaimsAssignment": {
      "type": "object",
      "properties": {
        "person": {
          "$ref": "#/definitions/Reference"
        },
        "role": {
          "$ref": "#/definitions/CodeableConcept"
        },
        "assignedDate": {
          "type": "string",
          "format": "date"
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "completed",
            "reassigned"
          ]
        }
      },
      "required": [
        "person",
        "role"
      ],
      "additionalProperties": false,
      "description": "An assignment of a person to handle part of a claim."
    },
    "ClaimReport": {
      "type": "object",
      "properties": {
        "reportType": {
          "$ref": "#/definitions/CodeableConcept"
        },
        "reportNumber": {
          "type": "string"
        },
        "agency": {
          "type": "string"
        },
        "date": {
          "type": "string",
          "format": "date"
        },
        "attachment": {
          "$ref": "#/definitions/Attachment"
        }
      },
      "required": [
        "reportType"
      ],
      "additionalProperties": false,
      "description": "A report filed in connection with a claim."
    },
    "SubrogationDetail": {
      "type": "object",
      "properties": {
        "responsibleParty": {
          "type": "string"
        },
        "thirdPartyInsurer": {
          "type": "string"
        },
        "thirdPartyPolicyNumber": {
          "type": "string"
        },
        "potentialRecovery": {
          "$ref": "#/definitions/Money"
        },
        "actualRecovery": {
          "$ref": "#/definitions/Money"
        },
        "status": {
          "$ref": "#/definitions/CodeableConcept"
        }
      },
      "additionalProperties": false,
      "description": "Subrogation tracking details for recovery from responsible parties."
    }
  },
  "$id": "https://bind-standard.org/schema/Claim",
  "title": "Claim"
}
