dicom-schema.sql 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --
  2. -- A simple SQLITE3 database schema for modelling locally stored DICOM files
  3. --
  4. -- Note: the semicolon at the end is necessary for the simple parser to separate
  5. -- the statements since the SQlite driver does not handle multiple
  6. -- commands per QSqlQuery::exec call!
  7. -- ;
  8. DROP TABLE IF EXISTS 'Images' ;
  9. DROP TABLE IF EXISTS 'Patients' ;
  10. DROP TABLE IF EXISTS 'Series' ;
  11. DROP TABLE IF EXISTS 'Studies' ;
  12. CREATE TABLE 'Images' (
  13. 'Filename' VARCHAR(1024) NOT NULL ,
  14. 'SeriesInstanceUID' VARCHAR(255) NOT NULL ,
  15. 'InsertTimestamp' VARCHAR(20) NOT NULL ,
  16. PRIMARY KEY ('Filename') );
  17. CREATE TABLE 'Patients' (
  18. 'UID' INTEGER PRIMARY KEY AUTOINCREMENT,
  19. 'PatientsName' VARCHAR(255) NULL ,
  20. 'PatientID' VARCHAR(255) NULL ,
  21. 'PatientsBirthDate' DATE NULL ,
  22. 'PatientsBirthTime' TIME NULL ,
  23. 'PatientsSex' varchar(1) NULL ,
  24. 'PatientsAge' varchar(10) NULL ,
  25. 'PatientsComments' VARCHAR(255) NULL );
  26. CREATE TABLE 'Series' (
  27. 'SeriesInstanceUID' VARCHAR(255) NOT NULL ,
  28. 'StudyInstanceUID' VARCHAR(45) NOT NULL ,
  29. 'SeriesNumber' INT NULL ,
  30. 'SeriesDate' DATE NULL ,
  31. 'SeriesTime' VARCHAR(20) NULL ,
  32. 'SeriesDescription' VARCHAR(255) NULL ,
  33. 'BodyPartExamined' VARCHAR(255) NULL ,
  34. 'FrameOfReferenceUID' VARCHAR(255) NULL ,
  35. 'AcquisitionNumber' INT NULL ,
  36. 'ContrastAgent' VARCHAR(255) NULL ,
  37. 'ScanningSequence' VARCHAR(45) NULL ,
  38. 'EchoNumber' INT NULL ,
  39. 'TemporalPosition' INT NULL ,
  40. PRIMARY KEY ('SeriesInstanceUID') );
  41. CREATE TABLE 'Studies' (
  42. 'StudyInstanceUID' VARCHAR(255) NOT NULL ,
  43. 'PatientsUID' INT NOT NULL ,
  44. 'StudyID' VARCHAR(255) NULL ,
  45. 'StudyDate' DATE NULL ,
  46. 'StudyTime' VARCHAR(20) NULL ,
  47. 'AccessionNumber' VARCHAR(255) NULL ,
  48. 'ModalitiesInStudy' VARCHAR(255) NULL ,
  49. 'InstitutionName' VARCHAR(255) NULL ,
  50. 'ReferringPhysician' VARCHAR(255) NULL ,
  51. 'PerformingPysiciansName' VARCHAR(255) NULL ,
  52. 'StudyDescription' VARCHAR(255) NULL ,
  53. PRIMARY KEY ('StudyInstanceUID') );