Reference Sheets

Reference sheets are user defined tables, stored within the application, that can be used to support dynamic logic functions and conditions for various purposes. Reference sheets are typically used as look-up tables, with a high volume of records, where a user configured groovy function provides the search algorithm.

Configuration

The structure of the reference sheet is defined as a dynamic record definition (for more detail see the Developer Guide on Extensibility). Reference sheets can be accessed in dynamic logic and through the HTTP API. The following settings control how the reference sheet can be identified through both channels.

  • the usage name
    The name that is used by interfaces and dynamic logic scripts. The name can be specified in mixed case, to support the coding conventions in use.

  • the display name
    The label of the reference sheet as shown in the user interface (specifically the name of the tab)

  • the resource name
    The name that is used in the url

This leads to the following structure:

Reference Sheet

Field Description

Dynamic Record Definition

The dynamic record definition that defines the structure

Usage Name

The usage name of the reference sheet

Display Name

The display name of the reference sheet

Resource Name

The name that is used in the url

Indicator Time Validity

Does the reference sheet use start and end dates?

Reference sheets are similar to dynamic record definitions, but provide several additional features that are not available to dynamic records, such as:

  • support for large numbers of reference sheet lines

  • possibility to define a composite unique key consisting of fields of any data type (for more detail see the Developer Guide on Extensibility)

  • audit-ability of reference sheet lines

  • search capability on reference sheet lines

The structure is:

Reference Sheet Line

Field Description

Reference Sheet

The reference sheet to which this line belongs

Key

The concatenation of all key attributes

Payload

The payload consisting of all configured dimensions

Start Date

The start date of the reference sheet line

End Date

The end date of the reference sheet line

Reference sheet lines typically contain fields that refer to other configuration within the same application. Examples are procedure groups, diagnosis groups, countries, modifiers and location types. To facilitate the user in setting values for such fields, for example, by showing a list of values, the reference sheet definition 'column' can be configured to refer to the appropriate configuration item.

There are two ways of doing this:

  • Pick List with validation
    A flex code field usage that points to a flex code definition will automatically support an LOV that validates the field, which means that it is impossible to enter a value that is not part of the LOV. In the example above, the field procedureCode could point to a procedure flex code definition, for example a single definition like CPT_CODES or a flex code set like DRG_CODES or just PROCEDURES.

  • Pick List without validation
    A flex code field usage that points to a character field can be configured to provide an LOV that does not validate the field, which means that the LOV can be used to pick a value from, but it is also possible to enter a value that is not part of the list. The LOV that is shown is the same LOV that is used in other pages. The list of tables that can be chosen as a pick list is seeded. Note that this is generic functionality for dynamic record definitions that the reference sheets make use of.

Using Reference Sheets in Dynamic Logic

Dynamic logic can by linked to reference sheets through the following configuration:

Dynamic Logic Reference Sheet

Field Description

Dynamic Logic

The dynamic logic

Reference Sheet

The reference sheet

For example, consider a reference sheet called 'TYPE MAPPINGS' that has a usage name 'mappings'. It can be read by including the following line in the logic:

def mappings = new SearchBuilder(ReferenceSheetLine.class)
                         .join("mappings")
                         .execute();

For more examples on the usage of reference sheets, refer scenarios - Pricing Check and Benefits Check in the Authorization Operations Guide.