Working page to draft requirements. 


  1. Business Architecture Requirements



    1. Use Case DescriptionStaged Data (HDS)Request DataExtract Data

      Data contained in the HDS will conform to OpenIDL data model standardsData shall be aggregated during extractionData extracted is for single defined use based on data request and agreement to access data

      Minimal data attributes to be available consist of the "Day 1" OpenIDL data model fields, other attributes in the OpenIDL data model are populated at the option of the carrierData shall be anonymized during extractionData to be extracted, aggregated, and anonymized as defined in the data request

      Data shall consist of policy and loss transactions over the course of the policy term and lifetime of any associated claims based on source system activityOnly aggregated and anonymized data shall be transmitted beyond the private analytics node

      Data shall be current to the Prior Month + 45 daysNo Personally identifiable information (PII) data shall be transmitted beyond the private analytics node

      Companies shall maintain data in the HDS for 5 prior years plus current yearTimeframes for data to be included in aggregation shall be defined

      Data in the HDS will remain within 5% error tolerance per line and state based on OpenIDL edit packageAttributes to be used in aggregation shall be identified

      Access to data is via permissioned accessLogic for extracting data shall be defined


      Calculations to be used in aggregations, analysis, and reporting shall be identified and defined


      The specific use of the information shall be defined


      Permitted accessors to the information and users of data shall be defined


      Proportion of individual carrier information to be used in extraction to the population of data in the extraction shall be communicated


      Only authorized approvers may commit carrier to a data request


      No altering or embellishing data including appending outside data is permitted unless approved by carrier


      Requested data shall be for one time use only.  Additional uses for data will require a new request. 


      No changes to request, attributes used, extraction patterns, accessors, users, or specific use of the data is permitted post consent


      Data request communication shall be through a communications protocol within OpenIDL and archived within OpenIDL


      Individual carrier contribution to a data request will not exceed X% of the population of premium, losses, exposures, etc.


      Data calls have an expiration date from which consent is needed, if applicable


  2. Strategic Architecture Requirements

    1. General

      • Must store and make accessible data elements provided by the data model working group.
      • Must conform to the OpenIDL data model standards. (?)

      Query Execution

      • Must work to maximize the simplicity of the extraction patterns.
      • HDS must be able to support arbitrary queries. Includes questions in the future that we may not yet know.
      • Extraction patterns are written against a specific version of the model.
      • Must support the state DOI, such as auto coverage and auto territory.
      • Must have sufficient performance.

      Schema Evolution

      • May only conform to going-forward models.
      • New attributes will not need to be historically filled.
      • Should allow for schema evolution with minimal impact.

      History

      • Must provide current data, defined as month end plus 45 days.
      • Must hold history according to regulatory requirements, generally defaulted to 5 years.

      Data Quality

      • Must have edits to verify data quality before being available for consumption.
      • Must have tolerances for the edits that default to 5%.

      Structural Concerns

      • Must have traceability across all layers.
      • Must provide a mechanism for model versioning.


  3. Data Dictionary

    1. Policy

      1. Field TypeFieldDay 1 or 2 Req.DefinitionExpected ValuesComments
        1.  AllRecord LOB1A code identifying the broader line of insurance the transaction is to be reported as.Personal Auto
        1.  AllRecord Type1A code identifying the type of transaction being reported.Premium, Paid, OS, ALAE, Limited Coding
        2. PolicyCompany ID1A unique 4-digit code assigned by the Statistical Bureaus to identify each insurance company.Numeric
        2. PolicyAnnual Statement Line1A code identifying the line of insurance the transaction was written under.Alpha numeric.  NAIC - 19.1, 19.2, 21.1
        2. PolicyPolicy Category1A code identifying whether the record is Personal or Commercial.Personal / Commercial / Surplus 
        2. PolicySubline1A code identifying the coverage.Liability, No-Fault, Physical Damage, Med Pay
        2. PolicyPolicy Identifier1A unique combination of letters and numbers that identifies an insured's insurance policy.  This is the foreign key for connecting the claim and policy records.Alpha-numeric.  No Limit to the field length.
        2. PolicyPolicy Effective Date1The date of when the policy became effective.https://en.wikipedia.org/wiki/ISO_8601 - YYYY-MM-DD
        2. PolicyTransaction Type1A code identifying whether the record is a New Business, Change, Renewal, Cancellation, etc.New, Renew, New Change, Renew Change, New Cancel, New Audit; Renew Audit
        2. PolicyTransaction Effective Date1Date the change becomes effective.  Not the booking date.https://en.wikipedia.org/wiki/ISO_8601 - YYYY-MM-DDneeded to calculate exposure
        2. PolicyTransaction Expiration Date1Date the change ends.https://en.wikipedia.org/wiki/ISO_8601 - YYYY-MM-DDneeded to calculate exposure
        2. PolicyMarket1Market in which the policy is being written through.Voluntary / Residual
        2. PolicyAccounting Date1The date the transaction was financially booked.https://en.wikipedia.org/wiki/ISO_8601 - YYYY-MM-DD
        2. PolicyProgram1A code that indicates whether the basic rules and forms used in writing the policy are using certain Bureau's rules or form or if they are independent.ISO, AAIS, Independent, State Standard, Other
        2. PolicyMulti-Car Discount Code1A code that indicates whether there is a multi-car discount or just a single rated car.Multi, Single, Not Applicable
        2. PolicyPackage Code1A code identifying whether the policy is standalone or part of a package.Standalone, Package
        2. PolicyPool Affiliation1Identifies business written in a pool such as an assigned risk facility or joint underwriting association, and business not written in a pool.Pooled, Direct
        2. PolicyPricing Tier1Company assigned pricing mechanism.Standard, Sub-Standard, Preferred, Modeled
        2. PolicyNC Program Enhancement Ind1Based on North Carolina Session 2015 House Bill 288, premiums and losses resulting from program enhancements must not comingle with basic data. This
        code indicates the use of enhanced endorsements.
        Yes / No
        2. PolicyNC Reinsurance Facility1A code that distinguishes between business written under the NC Reinsurance Facility and that which is not.Ceded, Retained, Not WrittenReinsurance fund business but financially recorded as direct written premium
        2. PolicySC Reinsurance Facility1A code that distinguishes between business written under the SC Reinsurance Facility and that which is not.Ceded, Retained, Not WrittenSC State Exception A 
        2. PolicyMulti-Car Risks1A field that indicates whether the multi-car risk is subject to the PIP Premium Discount and whether the Principal Auto is not Discounted. Multi Car Subject to PIP Discount - Principal Auto Not Discounted, Multi Car Subject to PIP Discount - Additional Auto Discounted, Multi-Car Risks Not Subject to PIP Discount; All Other AutosNJ State Exception B; Applies to PIP Multi-Car Risks only.
        3. DriverGender1Gender of highest rated operator of each insured vehicle. Male, Female, X
        3. DriverDriver Age1Driver's age when policy was written.Provide raw age.  
        3. DriverMarital Status1Indicates whether driver is single or married.Single, Married, Other
        3. DriverSafe Driving/Defensive Driver Discount1Discount for the practice of using driving strategies that minimize risk and help avoid accidents, as by predicting hazards on the road Discount Applied, Does Not Qualify, Discount not Offered on Coverage
        3. DriverGood Student Discount1Discount for student getting good grades in school.Discount Applied, Does Not Qualify, Discount not Offered on Coverage
        3. DriverNumber of Penalty Points1Number of motoring conviction codes, fixed penalty notices, endorsements against the driver.  Numeric.  Provide number of points
        3. DriverDrivers Training Discount1Discount for Driver taking Driving School lessons.Discount Applied, Does Not Qualify, Discount not Offered on Coverage
        3. Driver55 & Over Discount1Discount for 55 & over years olds for successful completion of the PA certified training course.Discount Applied, Does Not Qualify, Discount not Offered on CoveragePA State Exception B
        3. DriverAccident Prevention Credit1Indicates whether the vehicle has an accident prevention credit.Discount Applied, Does Not Qualify, Discount not Offered on CoverageNY State Exception A
        4. VehicleBody Style1The shape and model of a vehicle.** See Body Style tab
        4. VehicleBody Size1Type of VehiclePrivate Passenger, Sports Car, Oversized Car or Limo, All Other
        4. VehicleEngine Size (Motorcycle)1Size of Engine in Motorcycles or Motor ScootersProvide actual engine size.NJ State Exception C (Applies to Motorcycle only)
        4. VehicleVIN1Unique combination of numbers and letters that identify each vehicle.Vehicle Index - Alpha numeric. No Limit to the field length.
        4. VehicleGaraging State1State where the vehicle is principally garaged.NAIC Standard
        4. VehicleGarage ZIP51First 5 digits of Zip Code of where the vehicle is principally garaged.Alpha numeric 5 bytes.
        4. VehicleGarage ZIP41Last 4 digits of Zip Code of where the vehicle is principally garaged.Alpha numeric 4 bytes.Optional Reporting field
        4. VehicleVehicle Year1Model Year4 byte numeric.  YYYY
        4. VehicleVehicle Use1Primary use of the vehicle.Personal / Commute / Business / Farm
        4. VehicleVehicle Symbol1Abstraction of the vehicle rating symbols.  Not company rating symbols.Use current code values from the AAIS Stat Plan.
        4. VehicleVehicle Performance1Vehicle Performance characteristicStandard, Intermediate, High, Sports Car, Sports Premium (NJ only), All Other
        4. VehiclePer Commute Miles1Number of miles driven per commute.Numeric.  Raw numbers
        4. VehicleAnnual Vehicle Miles1Number of miles driven annually.Numeric.  Raw numbers
        4. VehicleAnti-lock Brakes Discount1Code indicating whether Anti-Lock Brakes discount was applied to the vehicle.Discount Applied, Does Not Qualify, Discount not Offered on Coverage
        4. VehicleSafety Restraint Discount1Code indicating whether Safety Restraint discount was applied to the vehicle.Discount Applied, Does Not Qualify, Discount not Offered on Coverage
        4. VehicleAnti-theft Device Discount1Code indicating whether Anti-Theft Device discount was applied to the vehicle.Discount Applied, Does Not Qualify, Discount not Offered on Coverage**  NJ and NY require additional information.  Applies to Comp Physical Damage coverage
        5. CoverageCoverage Code1Code representing the coverage of the vehicle the premium on the record applies to.** See Coverage Code Values tab
        5. CoveragePer Person Limit1Per Person Limit for the CoverageNumeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.
        5. CoveragePer Accident Limit1Per Accident Limit for the CoverageNumeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.
        5. CoverageProperty Damage Limit1Property Damage Limit for the CoverageNumeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.
        5. CoverageCombined Single Limit1Combined Single Limit for the CoverageNumeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.
        5. CoveragePremium1Transactional Premium applicable to the coverageNumeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.
        5. CoverageDeductible1Deductible for the CoverageNumeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.
        5. CoverageUM/UIM Stacking Indicator1Indicates whether UM/UIM Limits are stacked (per vehicle) or non-stacked (per policy)Limits Stacked, Non-StackedUM/UIM Motorist field & UM/UIM Indicator
        5. CoverageMedical Expenses Ded Amt1Deductible amount applicable to Medical Expenses.Provide whole numberApplies to NJ only
        5. CoverageNJ Threshold/Tort Limitation1Code indicating whether the insured has a Threshold and Tort Limitation on the policy.Liability - No Threshold/Tort limitation, Liability - Verbal Threshold/Tort Limitation, Liability with Unknown Threshold /Tort Limitation;
        PIP - Medical Exp Benefits as Primary Cov - No limitation, Medical Exp Benefits as Primary Cov - Verbal limitation, Medical Exp Benefits as Secondary Cov - No limitation, Medical Exp Benefits as Secondary Cov - Verbal limitation 
        NJ State Exception A
        5. CoveragePrimary No-Fault Health Plan1Determines what type of no-fault health plan the driver has. Employers' primary, PIP primary, Medicare primary, No basic PIP medical (i.e. private health plan), Employers' work loss plan & medicare coordination both primary, Employers' work loss primary w/o basic PIP med expNY State Exception B
        5. CoverageCombined First Party Benefits1Code describing the combination of Medical Benefits Limit, Loss of Income $, Accidental Death $, Funeral Expense $Day 1 Stat Plan values.  Will be replaced by Day 2 fields.PA State Exception C


    2. Claim

      1. Field TypeFieldDay 1 or 2 Req.DefinitionExpected ValuesComments
        1. Claim IdentifierPolicy Identifier1A unique combination of letters and numbers that identifies an insured's insurance policy.  This is the foreign key for connecting the claim and policy records.Alpha-numeric.  No Limit to the field length.

        1. Claim IdentifierPolicy Eff Date1The date of when the policy became effective.https://en.wikipedia.org/wiki/ISO_8601 - YYYY-MM-DD

        1. Claim IdentifierClaim Number1A unique combination of letters and numbers that identifies an insured's claim.Alpha-numeric.  No Limit to the field length.

        1. Claim IdentifierVIN1Unique combination of numbers and letters that identify each vehicle.Vehicle Index - Alpha numeric. No Limit to the field length.

        1. Claim IdentifierAccident Date1Date the loss occurreddatetime: https://www.iso.org/iso-8601-date-and-time-format.htmldatetime: https://www.iso.org/iso-8601-date-and-time-format.html
        1. Claim IdentifierCause of Loss1Reason the loss occurred.BI, Death Claim, Property Damage, Loss of Income, Med Pay, Collision, Flood, etcgeocode: https://en.wikipedia.org/wiki/ISO_6709
        1. Claim IdentifierClaim Status1A code showing whether the claim is open or closed.Open, Closed, Reopened

        2. Claim ActivityClaim Number1A unique combination of letters and numbers that identifies an insured's claim.Alpha-numeric.  No Limit to the field length.

        2. Claim ActivityClaimant Identifier1Code identifying the various claimants for a single loss.Alpha-numeric.  No Limit to the field length.

        2. Claim ActivityCoverage Code1Code representing the coverage of the vehicle the premium on the record applies to.BI, PD, CSL, UMBI, UMPD, UMBIPD, UMUIMBI, UMUIMPD, UMUIMBIPD, UIMBI, UIMPD, UIMBIPD, PIP, Comp, Coll, Medical Benefits, Med Pay.

        2. Claim ActivityAccounting Date1The date the transaction was financially booked.https://en.wikipedia.org/wiki/ISO_8601 - YYYY-MM-DD

        2. Claim ActivityPaid Loss1Loss Amount paid on the claim for this transaction.Numeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.Use to derive the Transaction Code
        2. Claim ActivityPaid LAE1Loss Amount paid on Loss Adjustment Expenses for this transaction.Numeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.Use to derive the Transaction Code
        2. Claim ActivityOutstanding Loss1Loss Amount reserved for possible future payments for this claim, claimant and coverage.Numeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.

        2. Claim ActivityOutstanding LAE1Loss Amount reserved for Loss Adjustment Expenses for this claim, claimant and coverage.Numeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.

        2. Claim ActivitySubrogation - Loss1Loss Amount recovered from a 3rd Party.Numeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.

        2. Claim ActivitySubrogation - LAE1Loss Amount for Loss Adjustment Expense recovered from a 3rd Party.Numeric with a decimal and a negative sign when applicable.  Decimal is required when including cents.

        2. Claim ActivityTort Limitation1A code that indicates whether the tort limitation applies to the driver.Rejected / AcceptedState Exception for KY & PA


  4. Business Data Model

    Define…
    1. The business data model represents the entities, attributes, and relationships as understood by business users.
    2. The business data model has no regard for the implementation technology nor the processing required to load it.
    3. A data element is a singular piece of information, such as one number, one string, one date, etc.
    4. An entity is a set of data elements.
    5. A business entity is an entity that is recognizable to business users and tends to occur in conversations with them, such that the number of elements is not small enough (typically one to five) to be trivially embedded inside another entity. Policy, claim, vehicle, and home are typical examples.
    6. A relationship occurs when business users can understand the use of entity names in a sentence of the form “has a” or “has many” such as “a policy has many claims”, where “many” can include one or none, and where more semantically rich terms for “has” may be used such as “belongs to” or “contains”.
    7. The model aspires to not repeat the attributes of an entity in more than one place.
    8. The model must make it difficult to over-count elements and values.
    9. Sparsity is the measure of empty values to total number of values. For example, an entity of 100 records and 100 attributes has 10,000 cells.  If 1,000 are empty, the sparsity is is 10%.
    10. No entity when populated should have a sparsity level exceeding 10%. If that occurs, the entity should be reviewed for the opportunity to create more than one entity.  For example, an auto policy and a home policy are both policies, but have sufficiently different attributes that they could have high sparsity and warrant being two different entities.
    11. Any entity that is highly covariant with another entity may be embedded in it. g. policies have addresses.  Address can be broken out for robust handling, or it can be left inside the policy.
    12. The following are entities in the business data model:
      1. Policy – An agreement between a carrier and an insured.
        1. Auto Policy – A policy for a set of vehicles.
        2. Home Policy – A policy for a home and its related risks.
      2. Vehicle – An insurable object operated by a driver on road.
      3. Driver – A person who operates a vehicle.
      4. Coverage – A transfer of a certain type of risk.
      5. Claim – A set of events under a policy that results in payments.
      6. Claim Event – An event under a claim.
      7. More! Not exhaustive…
    13. The following are relationships:
      1. A policy has one or more vehicles.
      2. A vehicle has one or more drivers.
      3. A policy has many coverages.
      4. A policy has zero or many claims.
      5. A claim belongs to exactly one policy.
      6. A claim has many claim events.
      7. A claim event belongs to exactly one policy.
      8. More! Not exhaustive…
  5. Presentation Data Model

    The presentation data model optimizes the ease of writing queries, and to do so, is willing to give up some business precision of the business data model, but is not particularly concerned about system performance, though some adaptation to the implementation model may occur.
    1. TODO: Enumerate the properties of this model.
  6. Persistence Data Model

    The persistence data model is obsessed with precise preservation of truth and having flexibility into the future. It is willing to be somewhat unrecognizable to business users, and takes into account both system performance and implementation concerns.
    1. TODO: Enumerate the properties of this model.
  7. Loading Data Model

    The loading data model seeks to make getting data into the system as easy as possible. It is very willing to compromise in favor of making feeds from sources easy, and TODO.
    1. TODO: Enumerate the properties of this model.