Identifier Metrics

GET /monitoring/v1/identifiermetrics

The identifier metrics help you understand:

  • How many records you have stored.
  • How often different kinds of demographic identifiers are found in your records.
  • What kind and how many demographic identifiers different data sources provide.

Overview

There are two parts to the identifier metrics: global metrics (across all sources), and source-specific metrics.

Global Metrics

The global metrics show how many total records and total unique persons you have (in this case 16,400 and 8,287 respectively):

  "totalRecordCount": 16400,
  "totalPersonCount": 8287,

There is also a report showing how often each demographic identifier appears in records. For example, the following data shows that 16,125 out of 16,400 records (over 98%) contained a date of birth:

  "globalMetricsRecords": [ 
    {
      "identifierType": "DOB",
      "recordCount": 16125,
      "recordRatio": 0.9832317,
      "source": ""
    },
    ...
  ]

The empty source field indicates that the record count/ratio are for all source systems.

Identifier Types

Available identifier types include: City, DOB, Email, FirstName, Gender, HighwayNumber, HighwayPrefix, LastFourSSN, LastName, MaidenName, MiddleName, Ordinal, PO, POBoxNumber, PhoneNumber, SSN, State, StreetFraction, StreetName, StreetNumber, StreetNumberAlpha, StreetType, UnitNumber, UnitNumberAlpha, UnitType, ZipCode, and ZipCodeExtension.

Source-Specific Metrics

If you need to dig deeper into a specific source system, or examine differences between sources, the summaryMetricsRecords and sourceTotals fields give breakdowns by source. For example:

  "summaryMetricsRecords": [ 
    {
      "identifierType": "DOB",
      "recordCount": 753,
      "recordRatio": 0.7150997,
      "source": "CommunityClinic"
    },
    {
      "identifierType": "DOB",
      "recordCount": 1811,
      "recordRatio": 0.9810244,
      "source": "GeneralHospital"
    },
    ...
  ],
  "sourceTotals": [ 
    {
      "source": "CommunityClinic",
      "totalRecordCount": 1053
    },
    {
      "source": "GeneralHospital",
      "totalRecordCount": 1846
    },
    ...
  ]

Putting these two lists together, you can conclude:

Source Total Records Records with DOB % Records with DOB
Community Clinic 1053 753 72%
General Hospital 1846 1811 98%

This data shows that Community Clinic is sending dates of birth at a lower rate than General Hospital, which could result in downstream issues with matching.

Data Fields

refreshed object

Timestamp when the data was last updated, in RFC3339 format.

totalRecordCount integer

The total number of records in the Identity service.

totalPersonCount integer

The total number of unique persons in the Identity service.

globalMetricsRecords collection

A breakdown of matching statistics by demographic identifier type encompassing all systems.

summaryMetricsRecords collection

A breakdown of matching statistics by demographic identifier type and system.

sourceTotals collection

The total number of records, broken down by source system.

Sample Data
{
  "refreshed": "2022-10-06T07:58:49.0232254Z",
  "totalRecordCount": 16400,
  "totalPersonCount": 8287,
  "globalMetricsRecords": [
    {
      "identifierType": "DOB",
      "recordCount": 16125,
      "recordRatio": 0.9832317,
      "source": ""
    },
    ...
  ],
  "summaryMetricsRecords": [ 
    {
      "identifierType": "DOB",
      "recordCount": 753,
      "recordRatio": 0.7150997,
      "source": "CommunityClinic"
    },
    {
      "identifierType": "DOB",
      "recordCount": 1811,
      "recordRatio": 0.9810244,
      "source": "GeneralHospital"
    },
    ...
  ],
  "sourceTotals": [ 
    {
      "source": "CommunityClinic",
      "totalRecordCount": 1053
    },
    {
      "source": "GeneralHospital",
      "totalRecordCount": 1846
    },
    ...
  ]
}
{ "refreshed": "2022-10-06T07:58:49.0232254Z", "totalRecordCount": 16400, "totalPersonCount": 8287, "globalMetricsRecords": [ { "identifierType": "DOB", "recordCount": 16125, "recordRatio": 0.9832317, "source": "" }, ... ], "summaryMetricsRecords": [ { "identifierType": "DOB", "recordCount": 753, "recordRatio": 0.7150997, "source": "CommunityClinic" }, { "identifierType": "DOB", "recordCount": 1811, "recordRatio": 0.9810244, "source": "GeneralHospital" }, ... ], "sourceTotals": [ { "source": "CommunityClinic", "totalRecordCount": 1053 }, { "source": "GeneralHospital", "totalRecordCount": 1846 }, ... ] }

Prometheus Data Source

When you provide an accept parameter of text/plain in the HTTP request header, the Identity service will provide metrics in a format suitable for use as a Prometheus data source.

Sample Summary Prometheus Data
 # HELP global_metric_total_person_count The total number of persons in the system
 # TYPE global_metric_total_person_count gauge
 global_metric_total_person_count 16387
 ...
 # HELP summary_metric_total_record_count The total number of records in the system by source
 # TYPE summary_metric_total_record_count gauge
 summary_metric_total_record_count{source="CommunityClinic"} 1053
 summary_metric_total_record_count{source="GeneralHospital"} 1846
 ...
 # HELP source_metric_identifiers_ratio The ratio of records for each identifier type for a specific source
 # TYPE source_metric_identifiers_ratio gauge
 source_metric_identifiers_ratio{identifier_type="DOB",source="CommunityClinic"} 0.7150997
 source_metric_identifiers_ratio{identifier_type="DOB",source="GeneralHospital"} 0.9810244
 ...
 # HELP global_metric_identifiers_ratio The ratio of records for each identifier type
 # TYPE global_metric_identifiers_ratio gauge
 global_metric_identifiers_ratio{identifier_type="DOB"} 0.9832317
 ...
 # HELP source_metric_identifiers_total The total number of records for each identifier type for a specific source
 # TYPE source_metric_identifiers_total gauge
 source_metric_identifiers_total{identifier_type="DOB",source="CommunityClinic"} 753
 source_metric_identifiers_total{identifier_type="DOB",source="GeneralHospital"} 1811
 ...
 # HELP global_metric_total_record_count The total number of records in the system 
 # TYPE global_metric_total_record_count gauge
 global_metric_total_record_count 16400
# HELP global_metric_total_person_count The total number of persons in the system # TYPE global_metric_total_person_count gauge global_metric_total_person_count 16387 ... # HELP summary_metric_total_record_count The total number of records in the system by source # TYPE summary_metric_total_record_count gauge summary_metric_total_record_count{source="CommunityClinic"} 1053 summary_metric_total_record_count{source="GeneralHospital"} 1846 ... # HELP source_metric_identifiers_ratio The ratio of records for each identifier type for a specific source # TYPE source_metric_identifiers_ratio gauge source_metric_identifiers_ratio{identifier_type="DOB",source="CommunityClinic"} 0.7150997 source_metric_identifiers_ratio{identifier_type="DOB",source="GeneralHospital"} 0.9810244 ... # HELP global_metric_identifiers_ratio The ratio of records for each identifier type # TYPE global_metric_identifiers_ratio gauge global_metric_identifiers_ratio{identifier_type="DOB"} 0.9832317 ... # HELP source_metric_identifiers_total The total number of records for each identifier type for a specific source # TYPE source_metric_identifiers_total gauge source_metric_identifiers_total{identifier_type="DOB",source="CommunityClinic"} 753 source_metric_identifiers_total{identifier_type="DOB",source="GeneralHospital"} 1811 ... # HELP global_metric_total_record_count The total number of records in the system # TYPE global_metric_total_record_count gauge global_metric_total_record_count 16400