Best interval UCE function
The @BestInterval UCE function creates an interval stream from contributing channels based on priority and quality of the contributing intervals. When calculating the best interval, @BestInterval searches for the first high-quality interval from each of the contributors’ interval statuses. Once found, @BestInterval searches for the next high-quality interval, etc., etc. If unable to find a high-quality interval, the default status list will be applied. For example, the following table shows the Best Intervals based on the contributors and interval quality. The parameters, along with explanation of the logic, are described below the table.
Contributor Priority |
Best Intervals |
Interval 1 2 VEESET1PV |
Interval 2 3 VEESET1PV |
Interval 3 1 VEESET1PV |
Interval 4 3 VEESET1PV |
Interval 5 0 EMPTY ESTNEEDED |
---|---|---|---|---|---|---|
1
|
SP1 Values |
1 |
1 |
1 |
1 |
1 |
SP1 Statuses |
EMPTY VEESET1FV |
EMPTY VEESET1FV |
VEESET1PV |
VEESET1NV |
VEESET1NV |
|
2
|
SP2 Values |
2 |
2 |
2 |
2 |
2 |
SP2 Statuses |
VEESET1PV |
EXCLUDED VEESET1FV |
VEESET1PV |
VEESET1NV |
VEESET1FV |
|
3
|
SP3 Values |
3 |
3 |
3 |
3 |
3 |
SP3 Statuses |
VEESET1PV |
VEESET1PV |
VEESET1PV |
VEESET1PV |
EXCLUDED VEESET1FV |
The @BestInterval parameters are described below:
@BestInterval(BestIntervalExcludeStatuses, BestIntervalMarkStatuses, <spc ref1>, <spc ref2>, … <spc refN> / <default status list>)
-
BestIntervalExcludeStatuses: This parameter is a User Defined Attribute (UDA) ID,defined at the Service Point Channel (SPC) level for each contributor referenced in theContributor Channel References parameter. The UDA is a list of interval statuses thatare considered low quality (i.e. these statuses will eliminate a contributor’s interval).
-
For example: "EMPTY,EXCLUDED,VEESET1FV"
-
Note: This UDA does not need to be defined as a Searchable UDA.
-
Note: By default, VEESET1NV is used when exclude statuses are not specified.
-
-
BestIntervalMarkStatuses: This parameter is a User Defined Attribute (UDA) ID,defined at the Service Point Channel (SPC) level for each contributor referenced in theContributor Channel References parameter. The UDA is a list of interval statuses thatare added to the Best Interval to identify which contributor was selected.
-
For example, “PRIMARY,BACKUP1,BACKUP2”
-
Note: This UDA does not need to be defined as a Searchable UDA.
-
Note: You may need to create extended statuses.
-
-
Contributor Channel References: This is a list of channel references for eachcontributing service point.
-
For example: <spc ref1>, <spc ref2>, … <spc refN>
-
-
Default Status List: This optional parameter is a list of interval statuses that will be usedwhen no contributing intervals can be found.
-
For example: “EMPTY,ESTNEEDED”
-
Note: A “\” (backslash) delimiter is required between the last channel reference and the default status list.
-
The steps below explain the logic:
-
Interval 1
-
SP1, interval 1 has EMPTY status, so it skips this contributor
-
SP2, interval 1 has high-quality, so its value and statuses are used
-
-
Interval 2
-
SP1, interval 2 has EMPTY status, so it skips this contributor
-
SP2, interval 2 has EXCLUDED status, so it skips this contributor
-
SP3, interval 2 has high-quality, so its value and statuses are used
-
-
Interval 3
-
SP1, interval 3 has high-quality, so its value and statuses are used.
-
-
Interval 4
-
SP1, interval 4 has VEESET1NV status, so it skips this contributor
-
SP2, interval 4 has VEESET1NV status, so it skips this contributor
-
SP3, interval 4 has high-quality, so its value and statuses are used
-
-
Interval 5
-
SP1, interval 5 has VEESET1NV status, so it skips this contributor
-
SP2, interval 5 has VEESET1FV status, so it skips this contributor
-
SP3, interval 5 has EXCLUDED status, so skips this contributor
-
Since all contributors were skipped, the default status list is used
-
Below are examples of the @BestInterval UCE function:
-
@bestinterval(uda1, uda2, $sp:11)
-
@bestinterval(uda1, uda2, $sp:11 \ MISSING, ESTNEEDED)
-
@bestinterval(uda1, uda2, 00008:11)
-
@bestinterval(uda1, uda2, 00008:11 \ MISSING, ESTNEEDED)
-
@bestinterval(uda1, uda2, $sp:11, $sp:12, $sp:13)
-
@bestinterval(uda1, uda2, $sp:11, $sp:12, $sp:13 \ MISSING, ESTNEEDED)
-
@bestinterval(uda1, uda2, 00008:11, 00008:12, 00008:13)
-
@bestinterval(uda1, uda2, 00008:11, 00008:12, 00008:13 \ MISSING, ESTNEEDED)