Metadata

Claims Manager provides claims handling services for a wide range of different clients each with their own disparate data collection needs. As such, the fields that are available on the various objects will differ considerably depending on the context. To cater for these variations, each object has a set of common fields which will be available no matter what context you are in, and an extendedFields array containing a list of key value pairs of the identifier and value.

The word context, when used in conjunction with metadata, relates to the type of claim that the metadata belongs to. For the majority of the /metadata endpoints, this will be the combination of programmeCode, policyTypeCode, countryCode and, optionally, incidentDate which are passed in as query parameters.

The following incident object shows the common fields programmeCode, policyCountry, policyTypeCode, incidentDate and description. In addition, it also contains two extendedFields of Global_Incident_Form:Incident_Location and Global_Incident_Form:Cause_Code1.

{
    "programmeCode": "8ffd4f55",
    "policyCountry": "GB",
    "policyTypeCode": "17ed9895",
    "incidentDate": "2022-04-01",
    "description": "Test incident from Claims Manager Api",
    "extendedFields": [
        {
            "identifier": "Global_Incident_Form:Incident_Location",
            "value": "Test Location"
        },
        {
            "identifier": "Global_Incident_Form:Cause_Code1",
            "value": "Accidental Damage"
        }
    ]
}

The various /metadata endpoints can be used to find the list of available fields for the given context, along with other important information about the field such as what the data type is, which property it maps to in the object and the list of available options where appropriate.

Metadata responses

The response of all the metadata endpoints (excluding the programmes endpoint) is always a list of fieldMetaData objects. This list represents every field that is available to populate with data for the given context. A curtailed example response from the metadata/incidents endpoint is shown below:

[
    {
        "identifier": "Global_Incident_Form:Broadspire:InformationOnly",
        "mapsTo": "extendedFields",
        "name": "Information Only",
        "section": "Status",
        "dataType": "boolean",
        "maxLength": null,
        "isRequired": true,
        "listSource": null
    },
    {
        "identifier": "Global_Incident_Form:Broadspire:InitialRecoveryAssessment",
        "mapsTo": "extendedFields",
        "name": "Initial Recovery Assessment",
        "section": "Status",
        "dataType": "string",
        "maxLength": null,
        "isRequired": false,
        "listSource": [
            "0%",
            "10%",
            "20%",
            "30%",
            "40%",
            "50%",
            "60%",
            "70%",
            "80%",
            "90%",
            "100%"
        ]
    },
    {
        "identifier": "Global_Incident_Form:Current_Status",
        "mapsTo": "extendedFields",
        "name": "Current Status",
        "section": "Status",
        "dataType": "string",
        "maxLength": 2500,
        "isRequired": false,
        "listSource": null
    },
    {
        "identifier": "Global_Incident_Form:Broadspire:ControlOfClaims",
        "mapsTo": "extendedFields",
        "name": "Control of Claims",
        "section": "Status",
        "dataType": "string",
        "maxLength": null,
        "isRequired": false,
        "listSource": [
            "Insurer Directed",
            "Insurer Handled",
            "TPA Handled"
        ]
    },
    {
        "identifier": "Global_Incident_Form:IsStarredClaim",
        "mapsTo": "extendedFields",
        "name": "Starred Claim",
        "section": "Status",
        "dataType": "boolean",
        "maxLength": null,
        "isRequired": true,
        "listSource": null
    },
    {
        "identifier": "Global_Incident_Form:Codes:Outcome",
        "mapsTo": "extendedFields",
        "name": "Outcome",
        "section": "Status",
        "dataType": "string",
        "maxLength": null,
        "isRequired": false,
        "listSource": [
            "Accepted in Full",
            "Negotiated Quantum and / or Liability",
            "Not Applicable",
            "Repudiated First & Third Party",
            "Repudiated First Party",
            "Repudiated Third Party",
            "Third Party Accepted in Full",
            "Withdrawn"
        ]
    }
    ......
]

The various properties of the metadata response are described below:

Property Description
identifier Unique identifier for the field. When the mapsTo property is "extendedFields", this should be populated in the identifier field of the extendedFields entry.
mapsTo Determines which property in the relevant model the field should be populated in. When this is "extendedFields", the field should be added to the extendedFields array with the given identifier.
name The name of the field as it appears in Claims Manager.
section The tab in which this field can be found in Claims Manager.
dataType The expected data type for the field. When the mapsTo property is "extendedFields", the given string value of the extendedFields.value property should be convertible to this type.
maxLength When the dataType property is set to string, this field is the maximum length string that will be accepted.
isRequired Flag showing whether the field is marked as required in Claims Manager. This is for reference only; fields marked as required by Claims Manager are not mandatory via the Api.
listSource When present, indicated that the value of this field should be one of the given options in the array.

Maps To

The mapsTo property tells you which property in the model the field should be populated in. For example, if you were looking at the field metadata for the Incident, a mapsTo property of incidentDate tells you that this field should go in the incidentDate property of the Incident model.

When this is set to extendedFields, there is no explicit property for this field. To update this field, you need to add an object to the extendedFields array using the identifier given.

List Source

Where the listSource property is provided, the value passed back to us should be one of the options in the given array. Please note that the same field can return different options depending on the context and furthermore these options can be amended at any time if requested (for example to add a new option). For these reasons it is strongly recommended that clients using the Api do not hard code these options into their implementations, but dynamically retrieve them from the metadata endpoint at runtime.