Proposed Data Model Changes


Beware of SQL's reserved words!!
(please check the SQL Reserved Words page before proposing table or attribute names)

Each proposal needs to be signed and dated. (Preferably using mediawiki's four tildes: ~~~~

Proposals

  • (-) hl7_in_queue.state
  • (-) hl7_in_queue.date_processed
  • (-) hl7_in_queue.error_msg
  • (+) Add table 'report_object' for reporting system. It should look like this:
#----------------------------
# Table structure for report objects
#----------------------------
drop table if exists report_object;
CREATE TABLE `report_object` (
  `report_object_id` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `description` varchar(1000) default NULL,
  `report_object_type` varchar(255) NOT NULL,
  `report_object_sub_type` varchar(255) NOT NULL,
  `xml_data` text default NULL,
  `creator` int(11) NOT NULL,
  `date_created` datetime NOT NULL,
  `changed_by` int(11) default NULL,
  `date_changed` datetime default NULL,
  `voided` tinyint(1) NOT NULL,
  `voided_by` int(11) default NULL,
  `date_voided` datetime default NULL,
  `void_reason` varchar(255) default NULL,
  PRIMARY KEY  (`report_object_id`),
  KEY `report_object_creator` (`creator`),
  KEY `user_who_changed_report_object` (`changed_by`),
  KEY `user_who_voided_report_object` (`voided_by`),
  CONSTRAINT `report_object_creator` FOREIGN KEY (`creator`) REFERENCES `users` (`user_id`),
  CONSTRAINT `user_who_changed_report_object` FOREIGN KEY (`changed_by`) REFERENCES `users` (`user_id`),
  CONSTRAINT `user_who_voided_report_object` FOREIGN KEY (`voided_by`) REFERENCES `users` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='InnoDB free: 66560 kB; (`creator`) REFER `openmrs/users`(`us';

-Christian

  • (+) Add table 'report_report_object' for reporting system. It should look like this:
#----------------------------
# Table structure for report_report_object
#----------------------------
CREATE TABLE `report_report_object` (
  `report_id` int(11) NOT NULL default '0',
  `report_object_id` int(11) NOT NULL default '0',
  PRIMARY KEY  (`report_id`,`report_object_id`),
  KEY `report_report_object` (`report_id`),
  CONSTRAINT `report_report_object_report_ref` FOREIGN KEY (`report_id`) REFERENCES `report` (`report_id`),
  CONSTRAINT `report_report_object_report_object_ref` FOREIGN KEY (`report_object_id`) REFERENCES `report_object` (`report_object_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-Christian 06:47, 17 April 2006 (US Eastern Standard Time)

Under consideration

  • (+) user.status — we need PIH to specify use cases for this attribute
  • (+) note.status — e.g., unpublished, completed, etc. We need to discuss a list of potential states.