Using Samples as an Alternative to a Specimen Repository

Documentation: Version 20.7
A lab provides assay data for your research study. But the incoming data only shows specimen ids. No participant id or visit id information is included. How do you map the assay data to the participant ids in your study?

Using the built-in specimen repository makes this process very easy by recognizing the specimen ids in the incoming data and automatically mapping them to the associated participant ids and visit ids.

However, the specimen repository is not ideal for all use cases. Some key issues are:

  • The specimen repository has a large set of required fields, which may not match your particular way of modeling specimens.
  • The specimen repository does not have a full concept of "parentage" or "lineage" between samples, providing only a single level of "grouped" vials.
On the other hand, Samples and Sample Types provide a flexible parentage model, and you have complete control over the fields. For this reason, you might want to use them as an alternative to the specimen repository.

This topic explains how to use Sample Types (and a mapping list) as an alternative to a specimen repository. We will use a Sample Type to hold the specimen information and a Mapping List to associate each specimen id with a participantId / visitId pair. In the instructions below, we assume that you already have a pre-existing study that is visit-based. (This same method will also work with a date-based study.)

Note this technique will not work for all assay types. For example, Expression Matrix assays are not supported.

Create a Sample Type

Sample Types have very few requirements regarding table structure. Basically, the only requirement is that there is a field with unique values that can serve as the key/name field. In most cases, you can import your specimen information to a Sample Type with no changes. To begin setting up, create a Sample Type and import your specimens as described in the topic Import Samples.

Use the following Sample Type to build a working example. When you import the sample Type, specify:


Create a List for Participant/Visit Resolution

To tell the server where each specimen came from and when, you provide a list mapping each specimen to a particular participant and draw date. The list must contain the following four fields. The four fields, field names, and data types are required, even if some of the fields do not have any data.

Field NameData Type
SpecimenIdMust match the data type of your Sample Type key/name field.

Use the following List to build a working example:


Modify Assay Designs

Now create, or modify, your assay designs to utilize these new resources.

First create a link between your assay designs and the Sample Type. Do this by modifying the SpecimenId field in your assay to become a lookup field to your Sample Type. For details see Link Assay Data to Samples.

Second, tell your assay designs to use the mapping list. Do this by adding a Participant/Visit Resolver field to your assay design at the batch level. When importing data, point this resolver field at your List as described in the topic Participant/Visit Resolver Field. You may also want to set this List as a default value.

You assay design should have the following fields:

Field NameData Type
SpecimenIdMust match the data type of your Sample Type key/name field.
VisitId or DateInteger or DateTime.

Import Data Behavior

When you import data to the assay design, you only need to provide data in the SpecimenId field. The server will consult the mapping List and fill in the ParticipantId and Visit/Date fields automatically.

For example, when you import the following assay data sheet with blank ParticipantId and VisitId fields...

vial1  .12.23.34
vial1  .44.02.19
vial1  .55.06.91
vial1  .73.22.93

...the server will fill in the missing values...


Related Topics


Was this content helpful?

Log in or register an account to provide feedback

expand all collapse all