Newer
Older
TIASDataHub / src / tiasdata / catalog / migrations / identity / 0001_initial.sql
-- 対応表(identity.sqlite)の最初のスキーマ(SPEC_02「対応表」).
-- 目録とは別の DB なので,版(PRAGMA user_version)の系列も目録とは別にする.
-- apply_migrations() が BEGIN・COMMIT で囲み,PRAGMA user_version を更新する.
-- 適用済みのマイグレーションは編集しない.

CREATE TABLE identity_map (
    -- 実際の患者 ID(取り込み元が持つもの)
    -- INTEGER 以外の PRIMARY KEY は NULL を受け入れ,CHECK も NULL を違反としないため NOT NULL を明示する
    patient_key TEXT NOT NULL PRIMARY KEY CHECK (patient_key <> ''),
    -- 研究用 ID.1 つの症例は 1 人の患者にだけ対応する
    subject_id TEXT NOT NULL UNIQUE
        CHECK (subject_id GLOB 'S[0-9][0-9][0-9][0-9][0-9][0-9]'),
    created_at TEXT NOT NULL
        CHECK (created_at GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]Z')
);