Maintaining Domains

Global Library domains provide a way to create any number of unique name spaces within Oracle Clinical. When you define Global Library domains, object names are required to be unique only within the domain, rather than across the entire Global Library. Definitions can be moved from one domain to another as long as the new domain does not contain an object with the same name.

The flexibility that domains allow you is particularly useful in cases where you want separate namespaces to handle both legacy data and data from new studies.

The Global Library can store definitions that you copied into or modified in studies. Each library object belongs to a domain, and together, the library object name and domain form a unique key. Two library definitions with the same name cannot exist in one domain, but different domains can contain library definitions with the same name.

For more information, see:

Limiting Access to Definitions Through Domains

Each user and each study has a list of domains from which definitions are accessible to either the user or the study. The user domain list determines what data is accessible to someone working in the Global Library. The study domain list limits the domains in which studies may access Global Library definitions during such operations as copying a DCM into a study. Definitions in a domain that is not on a user or study domain list are not accessible to that user or study, depending upon the task.

Default domain lists are created by the system administrator or Global Librarian for all users and all studies; with the appropriate privileges these lists can be modified for individual studies or users.

Domains of Parent and Child Definitions

Definitions that reference other definitions, such as DCMs, can be seen as parent objects, being made up of child objects, such as DCM Question Groups.

Parent objects in the Global Library are:

  • Discrete value groups

  • Questions

  • Question Groups

  • DCMs

  • DCIs

  • Derivation Procedures

  • Validation Procedures

  • Where clauses

  • Queries

Parent definitions may reference child definitions belonging to different domains. If the domain of any child object is changed, the parent object continues to reference the same child object in its new domain.

When parent definitions are composed of child definitions belonging to different domains, the user domain list needs to be modified to allow access to these domains. (See Overriding Default Domain Lists.) Restrictions on using definitions from different domains are:

  • SAS names must be unique for any one Question Group, regardless of their Question's domain.

  • A Question Group name must be unique within a DCM.

  • Two Questions of the same name cannot appear in the same Question Group or DCM if they are in different domains.

Modifying the Domains of Library Definitions

You can modify the domain of a library object, provided an object with the same name does not exist in the new domain. When a parent object's domain is modified, the child definitions retain their domains.

When a child object in the Library moves to another domain, all instances of its use continue to reference it.

When a library object is copied into a study, the domain of the object at the parent level becomes the name of the study, since object names must be unique within a domain/study combination. The effective domain is therefore the study. The child definitions of the copied object continue to reference their domains as defined in the Global Library, although these domains may be changed if the domain of the child object is changed at the Library level.

Note:

You can modify an object's domain only in the parent form. For example, you can change the domain of a Question in the Maintain Questions form, but not in its instantiation as a child object in the Question Group Questions window of the Maintain Question Groups form.

Creating Domains

The system administrator or Global Librarian creates domains by adding values to the reference codelist OCL_DOMAINS. This codelist is an installation codelist, and only a user with appropriate privileges can modify it. To add or modify a domain in the OCL_DOMAINS codelist, from the Admin menu, select Reference Codelist, and then Installation Codelists. Query and modify the codelist OCL_DOMAINS. The domains are available immediately after you save your work.

Note:

No Oracle Clinical validation prevents the name of a Library domain from coinciding with that of a study; company rules need to be in place to enforce this restriction.

For more information, see:

Domains and Prioritization

The sequence of domains on the user- and study-level domain lists is significant. The first domain listed has priority over other domains. For example, while creating a Question in the Maintain Questions form, when you navigate from the Question field to the Domain field, the first domain in the user domain list automatically defaults into the field. This defaulted value can be modified, but will be defaulted into the Domain field when any new or copied object is created. If you are creating a number of Library definitions, it is helpful to have the domain in which they should be created appear first on your user domain list.

Similarly, when you are copying definitions by name, such as adding Questions to a Question Group by typing their names, Oracle Clinical copies the first object it finds with a matching name in the order of your domain list.

Domains and Object status

You can set a Retired Global Library object's status back to Active. In addition, Library domains allow for the reuse of the names of retired definitions. For example, a retired Question in one domain can be copied into another domain as an active object. Or, a retired Question can be moved to another domain, for example, OBSOLETE, thus freeing up the Question name in the original domain.

Maintaining Domains

This section describes how to define domain lists for all users or all studies, then how to override a default for a particular user or study.

For more information, see:

Creating Default Domain Lists

The Maintain Default Domain Lists window allows the study administrator or Global Librarian to select the default domain or domains, either for all users or in all studies. If user- or study-level domains are set for particular users or studies, they take precedence over these default lists.

Depending on your role permissions, you can change the default domain listing for a particular user or a particular study.

To define default domain lists for all users or all studies, from the Admin menu, select Glib Admin, and choose Default Domains. Toggle between User and Study in the Domain List Sub Type field to set the user or study default domain lists.

You can add domains to, remove domains from, or resequence the domains on the domain list by using these buttons:

  • All Domains populates the domain list with all domains in the OCL_DOMAINS reference codelist.

  • Up moves a selected domain in the list up in prioritization.

  • Down moves a selected domain down in prioritization.

Any domain can be removed from the list by deleting its record from the Define Default Domain Searchlist window.

The default domain lists take effect immediately for all users and studies without defined domain lists, once you save and exit the form.

Overriding Default Domain Lists

If you have the proper privileges, you can override the default domain lists for a particular user or study by defining user- or study-level domain lists. The domain list determines the accessibility of data in various domains and also prioritizes activities involving domains.

You may need to override the default domain list because you want to query data from domains not on a default list, or to order domains differently from the default.

Maintaining User-Level Domain Lists

To set a user-level domain list, from the Admin menu, select Glib Admin, and choose User Domain. Alternatively you can invoke the Special menu and choose Define Domain Searchlist from the Global Library forms for maintaining definitions. Whenever you invoke the domain searchlist from the Special menu, the system prompts you to save unsaved work.

If you have the necessary privileges (access to the Oracle Clinical menu path Admin, GLIB Admin, Define User Domain Searchlist, if the Oracle-defined menu-role associations have not been modified), you can modify your domain list with these buttons:

Note:

If you do not have the necessary privileges, you can only resequence the domains in the list when you access the Define Domain Searchlist form from the Special menu in other forms such as Maintain Questions.

  • Default returns the list to the default listing set by the system administrator or Global Librarian.

  • All Domains populates the domain list with all domains.

  • Up moves a selected domain in the list up in prioritization.

  • Down moves a selected domain down in prioritization.

  • Delete Record removes any domain from the list.

Maintaining Study-Level Domain Lists

To set the study domain list for a particular study, from the Design menu, select Studies, then choose Clinical Studies. Navigate to or query the study whose domain list you want to modify, and choose Define Domain Searchlist from the Special menu. Modify your domain list, using these buttons:

  • Default returns the list to the listing set by the system administrator.

  • All Domains populates the domain list with all domains.

  • Up moves a selected domain in the list up in prioritization.

  • Down moves a selected domain down in prioritization.

  • Delete Record removes any domain from the list.

Using Domains within the Global Library

Working in the Global Library, you can view and access only definitions belonging to domains defined in your user domain list, which may be based on a default user domain list or on a customized user-level domain list. As well as limiting the domains where you can access data, the domain list sets up certain prioritization.

Note:

A Question name and/or SAS name must be unique for any one Question Group. Also, two Questions with the same name, but in different domains, cannot appear in the same Question Group.

For more information, see:

Querying a Library Object

Any queries you make in the Global Library are restricted to the domains on your user domain list; they bring up all objects that belong to domains in that list. When you query parent objects, only objects belonging to domains on your user domain list are returned. However, when you select a particular object, you can view all child objects of the parent, regardless of the domain of the child object. For example, if you have access only to objects in domain STANDARD and query on DCMs, all DCMs with domain STANDARD are returned. If you click the DCM Question Groups button, you see all the DCM Question Groups associated with that DCM, even if those Question Groups belong to domains not on your user domain list.

Creating a Library Object

When you create a Global Library object, the domain of the created object must be on your user domain list. The first domain listed on the user domain list automatically defaults into the Domain field, so if you are working primarily in one domain, it is helpful to have that domain appear first on your user domain list.

You can change the defaulted domain to another domain, provided the combination of object name and domain does not already exist. A list of values (LOV) is available to select a domain.

Modifying the Domain of a Library Object

The domain of any library object can be changed, regardless of the status of the object, provided the new combination of object name and domain is unique.

Copying an Object in the Global Library

When an object is copied, either from a different domain in the Global Library or from a study, the newly copied object is created in the first domain on the user domain list. After copying the new object, you can rename it to another domain, provided the object name/domain combination is unique.

Certain copy functions allow you to copy an object from within the Global Library or from a study. If you are copying from the Global Library, you are limited to objects belonging to domains on your user domain list. If you choose to copy from a study, you are under no such restriction.

Adding and Locating Objects

Adding and locating actions that can be invoked from the Special menu are bounded by the user domain list. Possible actions include Add Question, Add Ques Grp (which are copy functions on child objects), and Locate DVG options.

Domain Selection for Data Objects in Studies

The domain of all parent-level objects in a study is the study name, since all object names must be unique within the study. The default or study-level domain list limits access to library objects from study data definition forms. Only library objects belonging to the domains on this list are accessible to the study during copy functions.

Note:

A Question name or SAS name must be unique for any one Question Group. Also, two Questions of the same name cannot appear in the same Question Group if they are in different domains.

For more information, see:

Domain Rules When Creating or Copying Objects

When you create an object in a study, the domain is the study name, and it cannot be modified.

When you copy an object from the Global Library to a study, you are limited to accessing the domains on the domain study list. Restrictions on copying from another study are determined through security and not by domain accessibility.

Objects copied from the Global Library have the study name as the domain at the parent level, and child objects retain their Global Library domain names. If the domain of a child object is changed in the Global Library, this change is reflected in any studies in which the object appears.

Adding and Locating Objects

Adding and locating actions that can be invoked from the Special menu are bounded by the study domain list. Possible actions include the Add Question, Add Ques Grp (which are simply copy functions on child objects), and Locate DVG options.

Examples of Domain Use

Here are some examples of the ways that you can use domains and manual procedures:

Support Conversion and Current Standards

Create a new domain, CONVERSION, in addition to the domain STANDARD. Create library definitions for converted studies that cannot be modified to comply with new standards. Enforce the standard operating procedure that converted studies can only use objects containing objects from the CONVERSION domain, while new studies may reference only STANDARD definitions. You must manually enforce that unique parent objects are created in the CONVERSION domain if any component objects are from the CONVERSION domain.

Support Project-Specific Standards Exceptions and Development

In addition to the STANDARD domain, create a domain for each new project. Define in each new domain any objects specific to the project. If objects defined at the project level later become candidates for general use, they can be moved to the STANDARD domain. For any study, the project name domain would be the first on the study domain list, with STANDARD second.

Manually enforce the following constraints:

  • A given project can copy objects only from its own project domain and from the STANDARD domain.

  • Candidate objects—first defined at the project level so that they might later become standards—initially have unique names.

  • No STANDARD objects are created with the names of candidate objects while the decision to elevate them from "candidate" to "standard" is pending.

Remove Obsolete Objects to Allow Reuse of Names

In addition to the STANDARD domain, create domains OBSOLETE, OBSOLETE1, OBSOLETE2, etc. When it is determined that a standard object must be retired from use, and that also a new object of the same name must take its place, change the domain of the retired object to OBSOLETE. If, by some rare circumstance, the successor object must itself be retired and moved out of the way, rename its domain to OBSOLETE1.

You cannot move the successor object to OBSOLETE, since OBSOLETE already contains the original object with that name. Manually enforce the constraint that you cannot copy objects from an OBSOLETE domain to a new study or to be part of a new library object.

Create a Special Domain for Testing

In addition to the STANDARD domain, create the domain INSTALL_TEST to hold objects for testing purposes in a new database installation. Manually enforce the constraint that two domains should not reference each other, and that only STANDARD objects be used for production work.