-- 対応表(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')
);