The goal of this guide is to accelerate new Policy Admin developer on-boarding by providing information about how to use Athena policy admin.

It is very typical for Athena to be deployed as a digital component in a brown field environment where platform needs to work with policy admin system(s) already used by our customers.

For cases without readily available policy admin system Athena have proprietary lightweight solution for policy management as well. At current stage Athena policy admin is API-only solution. Athena policy admin is pre-integrated with Proposition Builder.


PlantUML SVG diagram


Policy Admin DB

Athena policy admin database is built in PostgreSQL database management system, contains entities required to store and manage GI policies. Athena policy admin database is designed in a way that products can be extended to support custom information what may be necessary for specific insurance products’s needs.

Policy Admin API

Policy admin API provides CRUD and business logic API’s necessary to integrate external systems with the policy admin DB and to run insurance business operations.

Policy admin API is pre-integrated with Athena proposition engine what is used to manage and execute insurance calculation and underwriting logic.

Customer service portal

Our experience so far is that for digital products the customer service portal is always highly tailored for the needs of particular product, white label or organisation and therefore Athena platform don’t currently include generic customer service portal solution.

Our answer for providing tailored portal solutions is Mini Apps engine what allows to construct tailored portal from small, reusable plugins. Each client can opt for implementing additional plugins what serves their particular needs and constructs truly individual user experience.

We still believe though that there is place in the platform for a generic solution as well, so it is in Athena platform roadmap without concrete plans for when it will be offered to Athena consumers.

Athena policy admin guidelines

How to start project

  • First step is always to define insurance product to implement. This will serve as an input for:
    • Product design in Calculation Engine
    • Classifier data structures in Athena policy admin database.
  • Go here to get more information about Calculation Engine.
  • Deploy policy admin DB and policy API
  • Implement products in product factory
  • Configure adapter service so that mapping is right for the particular product.
  • At this point it should be possible to work with policies trough the Proposition factory Policy API.

Even though starting a project is very simple, configuration of full production ready product may take several weeks from the point when developers have full product specification.

How to extend policy admin database

There are three supported policy admin database modifications:

  • Custom fields for policies and insured objects - simplest way how to store additional information along with data objects and don’t require customisation of the policy admin API because these values are stored in key-value type data structures. While this is recommended as a default extensibility this may be inefficient for the cases where custom information is extensively used for reporting and there are lot of fields with custom information. For those cases see the next option.
  • Additional fields in insured object tables - will require to write a plugin for the policy admin API as well. This is recommended for the cases where key-value nature of custom fields may discredit system performance.
  • New classifier tables - May be referenced by custom insured object tables. These tables needs to follow naming convention “cls_{classifier_name_in_snake_case}”. As bare minimum these tables should have following fields:
    • “{classifier_name_in_snake_case}_id” - ID field. Bigint, NOT NULL.
    • “{classifier_name_in_snake_case}_code” - Textual code. String, NULL.
    • “{classifier_name_in_snake_case}_text” - Textual description of the classifier (will be displayed in drop down fields). String, NOT NULL.
    • “{classifier_name_in_snake_case}_sequence” - Determines order in classifier drop down fields. Integer, NOT NULL.


Athena License, Copyright by Knowledgeprice