![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
In order to construct a decent UI, I envisage that there's a certain amount of metadata I will want to associate with each column. While I might be able to name a column 'warfarin_dose', for example, and make it of type 'int', I need somewhere to store some metadata, such as the definition of the data (say, 'Last recorded warfarin dose prior to surgery'), maybe the units of the dose, and whether this is a factor contributing to the outcome of the user's study or whether it is an outcome. What are the requirements for this metadata? For example, does it have to be machine readable, html displayable, etc.? |
#3
| |||
| |||
|
|
On Wed, 25 Feb 2004 07:51:13 -0800, Tom Hester <$$tom (AT) metadata (DOT) com> wrote: In order to construct a decent UI, I envisage that there's a certain amount of metadata I will want to associate with each column. While I might be able to name a column 'warfarin_dose', for example, and make it of type 'int', I need somewhere to store some metadata, such as the definition of the data (say, 'Last recorded warfarin dose prior to surgery'), maybe the units of the dose, and whether this is a factor contributing to the outcome of the user's study or whether it is an outcome. What are the requirements for this metadata? For example, does it have to be machine readable, html displayable, etc.? Ideally both. For example, I might want to display the string 'Last recorded warfarin dose prior to surgery' next to the input field in the HTML, but I might also want to store plausible lower and upper limits for validation, and I want to know which of several broader groupings (e.g. contributing factor or outcome) the column belongs to. My first thought was to have a table whose columns were, say, 'full_description', 'units', 'lower_limit', 'upper_limit' and so on and whose rows referred to a column in the main data collection table. This idea seems fragile to me---I would have to be very careful about maintaining synchronisation between this metadata table and the main table. Is there a better way? |
#4
| |||
| |||
|
|
I propose you consider having some metadata with your metadata in a 3 table "generic" arrangement similar to the following... Study Table Metadata Metadata Table StudyID int MetadataID int StudyDescription varchar(8000) MetadataType char(5) MetadataDescription varchar(500) MetadataUnit of Measure varchar(50) MetadataHTMLDescription ... MetadataStyleSheetName ... MetadataHasALowAndHighRange boolean ... StudyMetadata StudyID int MetadataID int StudySub MetadataValue varchar(800) MetadataRangeLow numeric MetadataRangeHigh numeric ... ...or some such generic design could accomodate numerous "studies" with a single data structure...of course the queries get a bit more "interesting", but that could be handled with some clever database view definitions. |
#5
| |||
| |||
|
|
... there's a certain amount of metadata I will want to associate with each column. |
#6
| |||
| |||
|
|
... there's a certain amount of metadata I will want to associate with each column. That ought to be in the data dictionary and there are tools for that sort of thing out there already. Have you read the ISO-11179 Metadata Standards? Have you looked at the WhiteMarsh tool based on it? |
![]() |
| Thread Tools | |
| Display Modes | |
| |