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.

Table 76 Parameters and logic

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:

  1. Interval 1

    1. SP1, interval 1 has EMPTY status, so it skips this contributor

    2. SP2, interval 1 has high-quality, so its value and statuses are used

  2. Interval 2

    1. SP1, interval 2 has EMPTY status, so it skips this contributor

    2. SP2, interval 2 has EXCLUDED status, so it skips this contributor

    3. SP3, interval 2 has high-quality, so its value and statuses are used

  3. Interval 3

    1. SP1, interval 3 has high-quality, so its value and statuses are used.

  4. Interval 4

    1. SP1, interval 4 has VEESET1NV status, so it skips this contributor

    2. SP2, interval 4 has VEESET1NV status, so it skips this contributor

    3. SP3, interval 4 has high-quality, so its value and statuses are used

  5. Interval 5

    1. SP1, interval 5 has VEESET1NV status, so it skips this contributor

    2. SP2, interval 5 has VEESET1FV status, so it skips this contributor

    3. SP3, interval 5 has EXCLUDED status, so skips this contributor

    4. 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)