---
title: ENExposureConfiguration
framework: exposurenotification
role: symbol
role_heading: Class
path: exposurenotification/enexposureconfiguration
---

# ENExposureConfiguration

The object that contains parameters for configuring exposure notification risk scoring behavior.

## Declaration

```swift
class ENExposureConfiguration
```

## Mentioned in

Supporting Exposure Notifications in iOS 12.5

## Overview

Overview important: This class is available in iOS 12.5, and in iOS 13.5 and later. The ExposureNotification framework defines an Exposure Risk Value (ERV) to allow Health Authorities to define when to alert a user that they may have been exposed to someone diagnosed with COVID-19. The app uses the ERV to calculate the user’s Meaningful Exposure Minutes (MEMs) value. Health Authorities have flexibility in calculating this value by setting weights and values related to Bluetooth attenuations, infectiousness of the affected individual, and diagnosis report type. They can also determine what threshold will result in a notification. important: While the ERV is measured in MEMs, the system actually calculates and returns a number of seconds, rounded to the nearest minute. For example, if a person has an ERV of 2 MEMs, the app returns a value of 120 (seconds). Convert ERVs to minutes before displaying it to the user by dividing the returned value by 60. The calculation method described in this document is available starting with iOS 14. To adopt this method of risk assessment, set the ENAPIVersion key to the integer value 2 in the app’s Info.plist file. For more information on the V1 calculation used in earlier versions of iOS, see Exposure Risk Value Calculation in ExposureNotification Version 1. The following diagram shows how to calculate an ERV:

The class defines three sets of weights that give priority to the components of the ERV: minutes-at-attenuation, infectiousness, and report type. The weighted minutes-at-attenuation assigns priority to the amount of time that the user is near beacons at different Bluetooth attenuations. Assign values between 0–250 percent to weights that represent Immediate, Near, Medium, and Other distances.

The infectiousness weight modifies the ERV based on the affected userʼs infectiousness level for the day of exposure relative to the day of symptom onset. To set the infectiousness level for when there is no symptom onset date provided, use ENDaysSinceOnsetOfSymptomsUnknown. A user’s infectiousness level can be ENInfectiousness.high, ENInfectiousness.standard, or ENInfectiousness.none. Assign both infectiousnessHighWeight and infectiousnessStandardWeight a value between 0 percent and 250 percent.

The weighted report type assigns priority to the method of diagnosis. Assign values ranging from 0–250 percent to weights that represent a confirmed test diagnosis, clinical diagnosis, self- reported diagnoisis, and recursive diagnosis.

In addition to setting the weights, you can perform additional filtering by setting daysSinceLastExposureThreshold to limit the number of days to consider when calculating the risk level. Calculating an Example Exposure Risk Value The following diagrams illustrate calculating an ERV using a real-world scenario. The weighted minutes-at-attenuation shows 5 minutes of immediate exposure with a 150 percent weight, 10 minutes of near exposure with a 100 percent weight, 10 minutes of medium exposure with a 50 percent weight, and 5 minutes of other exposure with a 0 percent weight.

The weighted infectiousness indicates days –14 to –6 from the current day with no infectiousness, days –5 to –3 with 100 percent of standard infectiousness, days –2 to +5 with 200 percent high infectiousness, days +6 to +10 with 100 percent standard infectiousness, and days +11 to +14 with no infectiousness.

Here are the weighted report types for all three tests:

The result of the calculation shows an ERV of 45 minutes:

important: To prevent an ERV of 0, set any unused weight to 100 percent.

## Topics

### Configuring Duration

- [attenuationDurationThresholds](exposurenotification/enexposureconfiguration/attenuationdurationthresholds.md)
- [immediateDurationWeight](exposurenotification/enexposureconfiguration/immediatedurationweight.md)
- [mediumDurationWeight](exposurenotification/enexposureconfiguration/mediumdurationweight.md)
- [nearDurationWeight](exposurenotification/enexposureconfiguration/neardurationweight.md)
- [otherDurationWeight](exposurenotification/enexposureconfiguration/otherdurationweight.md)
- [daysSinceLastExposureThreshold](exposurenotification/enexposureconfiguration/dayssincelastexposurethreshold.md)

### Configuring Infectiousness

- [infectiousnessForDaysSinceOnsetOfSymptoms](exposurenotification/enexposureconfiguration/infectiousnessfordayssinceonsetofsymptoms.md)
- [infectiousnessHighWeight](exposurenotification/enexposureconfiguration/infectiousnesshighweight.md)
- [infectiousnessStandardWeight](exposurenotification/enexposureconfiguration/infectiousnessstandardweight.md)
- [ENDaysSinceOnsetOfSymptomsUnknown](exposurenotification/endayssinceonsetofsymptomsunknown.md)

### Configuring Report Types

- [reportTypeConfirmedClinicalDiagnosisWeight](exposurenotification/enexposureconfiguration/reporttypeconfirmedclinicaldiagnosisweight.md)
- [reportTypeConfirmedTestWeight](exposurenotification/enexposureconfiguration/reporttypeconfirmedtestweight.md)
- [reportTypeRecursiveWeight](exposurenotification/enexposureconfiguration/reporttyperecursiveweight.md)
- [reportTypeSelfReportedWeight](exposurenotification/enexposureconfiguration/reporttypeselfreportedweight.md)
- [reportTypeNoneMap](exposurenotification/enexposureconfiguration/reporttypenonemap.md)

### Determining Exposure Risk Level in Version 1

- [Exposure Risk Value Calculation in ExposureNotification Version 1](exposurenotification/exposure-risk-value-calculation-in-exposurenotification-version-1.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Exposures

- [Configuring Exposure Notifications](exposurenotification/configuring-exposure-notifications.md)
- [ENExposureWindow](exposurenotification/enexposurewindow.md)
- [ENScanInstance](exposurenotification/enscaninstance.md)
- [Exposure Parameter Limits](exposurenotification/exposure-parameter-limits.md)
