Slicer3/strawman DICOM Schema

From Slicer Wiki
Jump to: navigation, search
Home < Slicer3 < strawman DICOM Schema
DROP TABLE IF EXISTS main.Patient ;
CREATE  TABLE IF NOT EXISTS main.Patient (
  `idPatient` INTEGER,
  `Name` VARCHAR(45) NULL ,
  `ID` VARCHAR(50) NULL ,
  `Birth Date` DATE NULL ,
  `Sex` VARCHAR(1) DEFAULT 'X' ,
  PRIMARY KEY (`idPatient`),
  UNIQUE (Name,ID)
 );

DROP TABLE IF EXISTS main.`Study` ;
CREATE  TABLE IF NOT EXISTS main.`Study` (
  `idStudy` INTEGER ,
  `UID` VARCHAR(64) NOT NULL ,
  `ID` VARCHAR(32) NULL ,
  `Description` VARCHAR(45) NULL,
  `Date` DATE NULL ,
  `Time` TIME NULL ,
  `Modality` VARCHAR(45) NULL ,
  `Manufacturer` VARCHAR(45) NULL ,
  `Institution Name` VARCHAR(45) NULL ,
  `Referring Physician` VARCHAR(45) NULL ,
  `Patient_idPatient` INT,
  FOREIGN KEY (Patient_idPatient) REFERENCES Patient(idPatient)
  PRIMARY KEY (`idStudy`),
  UNIQUE (UID))
;

DROP TABLE IF EXISTS main.`Series` ;
CREATE  TABLE IF NOT EXISTS main.`Series` (
  `idSeries` INTEGER ,
  `UID` VARCHAR(64) NOT NULL ,
  `ID` VARCHAR(32) NULL ,
  `Description` VARCHAR(45) NULL ,
  `Image Type` VARCHAR(45) NULL ,
  `Date` DATE NULL ,
  `Time` TIME NULL ,
  `Study_idStudy` INT NOT NULL ,
  FOREIGN KEY (`Study_idStudy` ) REFERENCES `Study` (`idStudy` )
  PRIMARY KEY (`idSeries`),
  UNIQUE (UID))
;
DROP TABLE IF EXISTS main.`Image` ;

CREATE  TABLE IF NOT EXISTS main.`Image` (
  `idImage` INTEGER ,
  `UID` VARCHAR(64) NOT NULL ,
  `Number` INT NULL ,
  `Image Position Patient` VARCHAR(64) NULL ,
  `Pixel Offset` INT NULL ,
  `Slice Location` FLOAT NULL ,
  `FileName` VARCHAR(4096) NULL ,
  `Series_idSeries` INT NOT NULL ,
  FOREIGN KEY (`Series_idSeries` ) REFERENCES `Series` (`idSeries` )
  PRIMARY KEY (`idImage`),
  UNIQUE (UID))
;