Skip to content

Slot: Subject Column (subject_column)

Name of the column carrying the opaque subject / cohort identifier the record-level subject refers to (e.g. subject_id).

Tier: recommended

Why this slot matters

The whole point of an exposure sidecar is to be joined back to a health-data layer. Without knowing which column carries the subject or cohort identifier, the values cannot be attached to the people or places the record-level subject refers to, and the linkage step becomes guesswork.

In plain terms

This names the ID column that says who (or where) each row belongs to — a patient identifier like subject_id, or a place identifier like a census-tract code.

URI: envar:slot/subject_column

Applicable Classes

Name Description Modifies Slot
DataLayout How the companion data file (CSV / parquet) is laid out and how this record's... no

Properties

Type and Range

Property Value
Range String
Domain Of DataLayout

Cardinality and Requirements

Property Value

Examples

Value
subject_id
tract_id

Identifier and Mapping Information

Annotations

property value
tier recommended
justification The whole point of an exposure sidecar is to be joined back to a health-data layer. Without knowing which column carries the subject or cohort identifier, the values cannot be attached to the people or places the record-level subject refers to, and the linkage step becomes guesswork.
explanation This names the ID column that says who (or where) each row belongs to — a patient identifier like subject_id, or a place identifier like a census-tract code.
covered_by None

Schema Source

Mappings

Mapping Type Mapped Value
self envar:subject_column
native envar:subject_column

LinkML Source

name: subject_column
annotations:
  tier:
    tag: tier
    value: recommended
  justification:
    tag: justification
    value: The whole point of an exposure sidecar is to be joined back to a health-data
      layer. Without knowing which column carries the subject or cohort identifier,
      the values cannot be attached to the people or places the record-level `subject`
      refers to, and the linkage step becomes guesswork.
  explanation:
    tag: explanation
    value: This names the ID column that says who (or where) each row belongs to —
      a patient identifier like `subject_id`, or a place identifier like a census-tract
      code.
  covered_by:
    tag: covered_by
    annotations:
      omop_gaia:
        tag: omop_gaia
        annotations:
          extent:
            tag: extent
            value: full
          status:
            tag: status
            value: verified
          where:
            tag: where
            value: external_exposure.person_id; person.person_id; location.location_id
          evidence:
            tag: evidence
            value: EnVar/examples/heat/COMPARISON.md §A (Person identifier — ✅ for
              OMOP/GAIA)
          note:
            tag: note
            value: OMOP carries the subject identifier first-class on external_exposure.person_id
              (and person/location).
      degauss:
        tag: degauss
        annotations:
          extent:
            tag: extent
            value: full
          status:
            tag: status
            value: verified
          where:
            tag: where
            value: '`id` column on every CSV row'
          evidence:
            tag: evidence
            value: EnVar/examples/heat/COMPARISON.md §A (Person identifier — ✅ for
              DeGAUSS)
          note:
            tag: note
            value: DeGAUSS carries the person identifier in the `id` column on every
              row.
      amadeus:
        tag: amadeus
        annotations:
          extent:
            tag: extent
            value: full
          status:
            tag: status
            value: verified
          where:
            tag: where
            value: '`person_loc_id` / `person_id` column on every row'
          evidence:
            tag: evidence
            value: EnVar/examples/heat/COMPARISON.md §A (Person identifier — ✅ for
              Amadeus)
          note:
            tag: note
            value: Amadeus carries the person identifier on every row.
      cher:
        tag: cher
        annotations:
          extent:
            tag: extent
            value: partial
          status:
            tag: status
            value: asserted
          where:
            tag: where
            value: table_column_dictionary column tagged Index / Foreign Reference
              (participant linkage)
          note:
            tag: note
            value: 'C-HER can tag a subject/participant column via Index or Foreign
              Reference, but not as a dedicated sidecar subject binding. Conservative:
              partial.'
      codata:
        tag: codata
        annotations:
          extent:
            tag: extent
            value: out_of_layer
          status:
            tag: status
            value: asserted
          where:
            tag: where
            value: no column
          note:
            tag: note
            value: The subject/cohort column binding is instance-layer layout, outside
              CODATA's conceptual scope.
description: Name of the column carrying the opaque subject / cohort identifier the
  record-level `subject` refers to (e.g. `subject_id`).
title: Subject Column
examples:
- value: subject_id
  description: patient-level extract
- value: tract_id
  description: census-tract-level extract
from_schema: https://w3id.org/linkml/microschemas/envar
rank: 1000
domain_of:
- DataLayout
range: string