Difference between revisions of "DataTypes Comments Section 1"

From HL7Wiki
Jump to navigation Jump to search
 
Line 1: Line 1:
 
== Editorial Comments on [http://wiktolog.com/hl7/datatypes.html DataTypes Abstract Specification] V2.0 Rev 5699 ==
 
== Editorial Comments on [http://wiktolog.com/hl7/datatypes.html DataTypes Abstract Specification] V2.0 Rev 5699 ==
  
 +
=== Ballot Preface ===
 
* '''[http://wiktolog.com/hl7/datatypes.html#preface 1.1 Notes to Readers]'''
 
* '''[http://wiktolog.com/hl7/datatypes.html#preface 1.1 Notes to Readers]'''
 
** In general, these paragraphs are undecipherable to an outsider. We assume that they will be removed in the final copy?
 
** In general, these paragraphs are undecipherable to an outsider. We assume that they will be removed in the final copy?
 
* '''[http://wiktolog.com/hl7/datatypes.html#datyp2acks 1.2 Acknowledgements]'''
 
* '''[http://wiktolog.com/hl7/datatypes.html#datyp2acks 1.2 Acknowledgements]'''
** OK
+
*** OK
 
* '''[http://wiktolog.com/hl7/datatypes.html#datyp2ChangesThisCycle 1.3 Changes made to this Specification]'''  
 
* '''[http://wiktolog.com/hl7/datatypes.html#datyp2ChangesThisCycle 1.3 Changes made to this Specification]'''  
 
** Again, these will be going away in the final document?
 
** Again, these will be going away in the final document?
  
* '''[http://wiktolog.com/hl7/datatypes.html#datyp2intro 1 Overview]'''
+
=== [http://wiktolog.com/hl7/datatypes.html#datyp2intro 1 Overview] ===
** '''[http://wiktolog.com/hl7/datatypes.html#datyp2introscope 1.1 Introduction and Scope]'''  
+
* '''[http://wiktolog.com/hl7/datatypes.html#datyp2introscope 1.1 Introduction and Scope]'''  
**# P3 - ...intended to implemented ''directly'' based on the details.  
+
*# P3 - ...intended to implemented ''directly or solely'' based on the details.  
**# P4 What is a "payload"?
+
*# P4 What is a "payload"?
**# RMO-ODP reference won't be obvious to everyone.  Recommend an external reference and a short statement about the "external" and "computational" views are.
+
*# RMO-ODP reference won't be obvious to everyone.  Recommend an external reference (http://www.rm-odp.net/ for general and a short statement about the "external" and "computational" views are.
** '''[http://wiktolog.com/hl7/datatypes.html#datyp2introwhat 1.2 What is a Data Type?]'''
 
**# P1 - What is a ''data element'' and how does it relate to types and values"
 
**# P3 - ''"A semantic property of a data type is referred to by a name and can be evaluated for any value of data type."''
 
**## (Editorial) of ''a'' data type? 
 
**## Should  ''"semantic property"'' be defined before we talk about how it fits.  In general this paragraph doesn't make a lot of sense.  Expand
 
**# P4 - ... construct <strike>any></strike> higher order meaning''s'': messages, computerized patient record<strike> document</strike>s, or business objects and their transactions
 
**# P4 - Neither identity nor state ''n''or chang<strike>ing</strike>e of state is defined for a data value. <strike>Conversely i</strike>''I'' business objects, documents and messages (''???''), we track state...
 
  
 +
* '''[http://wiktolog.com/hl7/datatypes.html#datyp2introwhat 1.2 What is a Data Type?]'''
 +
*# P1 - This introduction starts on the premise that the readers clearly and correctly understand what a ''data element'' is.  I'm not certain that this is true.  Is each bit in this html stream a data element?  Is the entire page? Would it make sense to borrow some basic introductory material from ISO 11179 here? 
 +
*#* '''3.3.8 data element''' - unit of data for which the definition, identification, representation and permissible values are specified by a set of attributes.  (ISO/IEC 11179-1 Second edition 2004-09-14).
 +
*# P2 - Since we only make use of extensional definitions in one rather trivial case (boolean), perhaps all this detail isn't necessary?
 +
*# P3 - ''"A semantic property of a data type is referred to by a name and can be evaluated for any value of '' '''a''' '' data type."''
 +
*#* I'm not sure that the notion of ''"semantic property"'' makes a lot of sense.  As contrasted to, say ''syntactic'' property?  Perhaps we need to focus on what a ''property'' is in general.  It is mentioned in P2, but perhaps it needs to be expanded.  The term ''semantic <nowiki><x></nowiki>'' appears at various points throughout this document without adding much in the line of clarity.  I would advocate striking "semantic" unless it clarifies the intended meaning.
 +
*# P4 - ... construct <strike>any></strike> higher order meaning''s'': messages, computerized patient record<strike> document</strike>s, or business objects and their transactions
 +
*# P4 - Neither identity nor state ''n''or chang<strike>ing</strike>e of state is defined for a data value. <strike>Conversely i</strike>''I'' business objects, documents and messages (''???''), we track state...
  
1.3 ...<strike>are</strike> can be defined - intensionally - ... (why the hyphens?)  ''Are cardinal numbers defined as a data type?''
+
* [http://wiktolog.com/hl7/datatypes.html#datyp2introrep 1.3 Representation of Data Values]
1.3 How about "For example, a data type for cardinal numbers (non-negative integers) can be defined as the combination of a successor function, which yields the successor for any given cardinal number plus the rule that ''zero'' is the cardinal number that is not the successor for any other cardinal value.  We can use this definition...
+
*# P2
 +
*#* ...<strike>are</strike> can be defined - intensionally - ... (why the hyphens?)   
 +
*#* ''Are cardinal numbers defined as a data type?''
 +
*#* How about "For example, a data type for cardinal numbers (non-negative integers) can be defined as the combination of a successor function, which yields the successor for any given cardinal number plus the rule that ''zero'' is the cardinal number that is not the successor for any other cardinal value.  We can use this definition...
  
...the ''boolean'' data type can be defined extensionally, with two distinct values.
+
*# P3
 +
*#* ...the <strike>B</strike>''b''oolean data type can be defined extensionally, with two distinct values.
 +
*#* As the boolean data type turns out to be the ''only'' case of an extensional definition, I wonder whether it is necessary to go into this much detail at the abstract level.  Is there an intent to use extensional definitions for other types?  I suppose that some of the CD work could be viewed as a quasi-extensional approach...
  
1.4 ...
+
* [http://wiktolog.com/hl7/datatypes.html#datyp2introprop 1.4 Properties of Data Values]
# ''going seriously passive here'' - how about "Data types specify the properties of data values."
+
*# P1
# Units aren't the ''most'' common example.
+
*#* ''going seriously passive here'' - how about "Data types specify the properties of data values."
# More generally, however, one should view ...
+
*#* Are units really the ''most'' common example?
# "value set" isn't defined.  
+
*#* <strike>However, more generally one should think of</strike>... --> Generally, however, one should view ...
 +
*# P2 ''value set'' isn't defined - it needs at least a brief reference.
  
# "Whether semantic properties..." - what is a ''semantic property''???
+
*# P4 "Whether ''semantic properties''..." - How do these relate to the general ''properties'' that were described in the previous paragraph?  (Recommend striking "semantic").
 +
*# P7 The use of ''semantics'' is ok here, as we're not referring to ''semantic types'' or ''semantic properties''. 
  
In general, this section needs some work - expanding and polishing, but it is getting closer.
+
#* ''In general, this section needs some work - expanding and polishing, but it is getting close. It plays a key role in the comprehensibility of the whole document and it is important to get it right...''
  
1.5
+
* [http://wiktolog.com/hl7/datatypes.html#datyp2intronabs Need for Abstraction]
# "... version 3 is its <strike>openness towards</strike>neutrality regarding representation and implementation technologies. . All HL7 version 3 specifications are <strike>supposed to be done in a form independent from specific representation and implementation technologies</strike>required  to be technology and representationally nutral.</strike>
+
*# P1 "... version 3 is its <strike>openness towards</strike>neutrality regarding representation and implementation technologies. . All HL7 version 3 specifications are <strike>supposed to be done in a form independent from specific representation and implementation technologies</strike>required  to be technology and representationally nutral.</strike>
  
# Some of these questions make no sense until you've read the rest of the spec.  If you are going to introduce ''ANY'' in the introductory material, you need more explanation.
+
*# GENERAL Some of these questions make no sense until you've read the rest of the spec.  If you are going to introduce ''ANY'' in the introductory material, you need more explanation.
  
# With a ''semantic specification'' - '''What IS this?'''
+
*# Q3 P1 <strike>With a semantic specification, an Implementable Technology Specification (ITS) can conform simply by asserting a mapping between the constructs of its technology and the HL7 version 3 data type semantics.</strike>An Implementable Technology Specification (ITS) conforms to an abstract specification by asserting a mapping the constructs of its technology and the properties defined in the HL7 version 3 abstract data types.
  
1.7
+
* [http://wiktolog.com/hl7/datatypes.html#datyp2introndts 1.6 Need for an HL7 Data Type Standard]
* '''Foundation '''
+
*# P2 - <strike>For example, f</strike>Few implementation technologies...
# NULL comment on BL a bit out of place, but it passes.
+
*# P3 - join w/ P2.
# COMP and CEQ seem out of place. In addition, is CEQ abstract as well?
 
  
* '''Basic'''
+
* [http://wiktolog.com/hl7/datatypes.html#datyp2introovw 1.7 Overview of Data Types]
# ''Instead of the data, an ED  may contain only a reference'' - This needs clarification.
+
 
# ''Note that ST is a specialization of ED where the mediaType is fixed to text/plain and several other properties are constrained to null.'' - out of place - this goes with the next entry as a second sentence.  ST is a specialization of ED ...
+
** '''Foundation '''
# ''that optionally may'' - isn't this a split inifinitive?
+
**# NULL comment on BL a bit out of place, but it passes.
# CD - ''this needs redefinition - the definition is not correct and is unnecessarily inflammatory''
+
**# COMP and CEQ seem out of place.  In addition, is CEQ abstract as well?
# CO - <strike>Coded data</strike>A Concept Descriptor where an ordering relation is defined among some or all of the concept codes. ''Numerical value has *nothing* to do with this. This is implementation specific.
+
 
# CS - Coded data where all the fields are predetermined with the exception of the code.
+
** '''Basic'''
# TEL - is this a URI or a URL?  Is URL implementation specific?
+
*# ''Instead of the data, an ED  may contain only a reference'' - This needs clarification.
# EN is underspecified, but will pass
+
*# ''Note that ST is a specialization of ED where the mediaType is fixed to text/plain and several other properties are constrained to null.'' - out of place - this goes with the next entry as a second sentence.  ST is a specialization of ED ...
 +
*# ''that optionally may'' - isn't this a split inifinitive?
 +
*# CD - ''this needs redefinition - the definition is not correct and is unnecessarily inflammatory''
 +
*# CO - <strike>Coded data</strike>A Concept Descriptor where an ordering relation is defined among some or all of the concept codes. ''Numerical value has *nothing* to do with this. This is implementation specific.
 +
*# CS - Coded data where all the fields are predetermined with the exception of the code.
 +
*# TEL - is this a URI or a URL?  Is URL implementation specific?
 +
*# EN is underspecified, but will pass
  
 
* '''Quantities'''
 
* '''Quantities'''
# PQ - how does this align with the previous 3? - Are INT, REAL and RTO al ''quantities'' if so, it would be good to stress this, so we understand that PQ takes one of these and adds dimension.
+
*# PQ - how does this align with the previous 3? - Are INT, REAL and RTO al ''quantities'' if so, it would be good to stress this, so we understand that PQ takes one of these and adds dimension.
# EXPR - does this belong in ''Quantity'' or the paragrpah below.
+
*# EXPR - does this belong in ''Quantity'' or the paragrpah below.
  
 
* '''Quantity Collections'''
 
* '''Quantity Collections'''
# ''expressional'' is a wierd word - does it mean expression?
+
*# ''expressional'' is a wierd word - does it mean expression?
# "Term" is capitalized and used without definitions.  Can we fit it into QSET?
+
*# "Term" is capitalized and used without definitions.  Can we fit it into QSET?
# QSD and QSP need to be differentiated
+
*# QSD and QSP need to be differentiated
# QSC - need more detail.
+
*# QSC - need more detail.
# IVL - same
+
*# IVL - same
  
 
* '''Uncertaintities'''
 
* '''Uncertaintities'''
# What is a "generic data type extension"
+
*# What is a "generic data type extension"
# "used to specify"? - That specifies?
+
*# "used to specify"? - That specifies?
# " (§ ) are not fully qualified types, but only restrictions on previously defined types and flavors." - what is this?  What does it reference...
+
*# " (§ ) are not fully qualified types, but only restrictions on previously defined types and flavors." - what is this?  What does it reference...
  
 
* '''Flavors'''
 
* '''Flavors'''
Line 84: Line 98:
 
# GTS.BOUNDEDPIVL - good lord.  This needs to be restated in English.
 
# GTS.BOUNDEDPIVL - good lord.  This needs to be restated in English.
  
1.8 '''Conformance'''
+
* [http://wiktolog.com/hl7/datatypes.html#datyp2conf 1.8 Conformance]
 
# Should there be an introductory paragraph that grounds the meaning of "SHALL", "MAY" and any other critical keyword?
 
# Should there be an introductory paragraph that grounds the meaning of "SHALL", "MAY" and any other critical keyword?
 
# All instances of these data types SHALL ''be'' valid with respect to the invariant statements contained in this specification.
 
# All instances of these data types SHALL ''be'' valid with respect to the invariant statements contained in this specification.

Revision as of 16:47, 8 March 2008

Editorial Comments on DataTypes Abstract Specification V2.0 Rev 5699

Ballot Preface

1 Overview

  • 1.1 Introduction and Scope
    1. P3 - ...intended to implemented directly or solely based on the details.
    2. P4 What is a "payload"?
    3. RMO-ODP reference won't be obvious to everyone. Recommend an external reference (http://www.rm-odp.net/ for general and a short statement about the "external" and "computational" views are.
  • 1.2 What is a Data Type?
    1. P1 - This introduction starts on the premise that the readers clearly and correctly understand what a data element is. I'm not certain that this is true. Is each bit in this html stream a data element? Is the entire page? Would it make sense to borrow some basic introductory material from ISO 11179 here?
      • 3.3.8 data element - unit of data for which the definition, identification, representation and permissible values are specified by a set of attributes. (ISO/IEC 11179-1 Second edition 2004-09-14).
    2. P2 - Since we only make use of extensional definitions in one rather trivial case (boolean), perhaps all this detail isn't necessary?
    3. P3 - "A semantic property of a data type is referred to by a name and can be evaluated for any value of a data type."
      • I'm not sure that the notion of "semantic property" makes a lot of sense. As contrasted to, say syntactic property? Perhaps we need to focus on what a property is in general. It is mentioned in P2, but perhaps it needs to be expanded. The term semantic <x> appears at various points throughout this document without adding much in the line of clarity. I would advocate striking "semantic" unless it clarifies the intended meaning.
    4. P4 - ... construct any> higher order meanings: messages, computerized patient record documents, or business objects and their transactions
    5. P4 - Neither identity nor state nor changinge of state is defined for a data value. Conversely iI business objects, documents and messages (???), we track state...
  • 1.3 Representation of Data Values
    1. P2
      • ...are can be defined - intensionally - ... (why the hyphens?)
      • Are cardinal numbers defined as a data type?
      • How about "For example, a data type for cardinal numbers (non-negative integers) can be defined as the combination of a successor function, which yields the successor for any given cardinal number plus the rule that zero is the cardinal number that is not the successor for any other cardinal value. We can use this definition...
    1. P3
      • ...the Bboolean data type can be defined extensionally, with two distinct values.
      • As the boolean data type turns out to be the only case of an extensional definition, I wonder whether it is necessary to go into this much detail at the abstract level. Is there an intent to use extensional definitions for other types? I suppose that some of the CD work could be viewed as a quasi-extensional approach...
  • 1.4 Properties of Data Values
    1. P1
      • going seriously passive here - how about "Data types specify the properties of data values."
      • Are units really the most common example?
      • However, more generally one should think of... --> Generally, however, one should view ...
    2. P2 value set isn't defined - it needs at least a brief reference.
    1. P4 "Whether semantic properties..." - How do these relate to the general properties that were described in the previous paragraph? (Recommend striking "semantic").
    2. P7 The use of semantics is ok here, as we're not referring to semantic types or semantic properties.
    • In general, this section needs some work - expanding and polishing, but it is getting close. It plays a key role in the comprehensibility of the whole document and it is important to get it right...
  • Need for Abstraction
    1. P1 "... version 3 is its openness towardsneutrality regarding representation and implementation technologies. . All HL7 version 3 specifications are supposed to be done in a form independent from specific representation and implementation technologiesrequired to be technology and representationally nutral.
    1. GENERAL Some of these questions make no sense until you've read the rest of the spec. If you are going to introduce ANY in the introductory material, you need more explanation.
    1. Q3 P1 With a semantic specification, an Implementable Technology Specification (ITS) can conform simply by asserting a mapping between the constructs of its technology and the HL7 version 3 data type semantics.An Implementable Technology Specification (ITS) conforms to an abstract specification by asserting a mapping the constructs of its technology and the properties defined in the HL7 version 3 abstract data types.
    • Foundation
      1. NULL comment on BL a bit out of place, but it passes.
      2. COMP and CEQ seem out of place. In addition, is CEQ abstract as well?
    • Basic
    1. Instead of the data, an ED may contain only a reference - This needs clarification.
    2. Note that ST is a specialization of ED where the mediaType is fixed to text/plain and several other properties are constrained to null. - out of place - this goes with the next entry as a second sentence. ST is a specialization of ED ...
    3. that optionally may - isn't this a split inifinitive?
    4. CD - this needs redefinition - the definition is not correct and is unnecessarily inflammatory
    5. CO - Coded dataA Concept Descriptor where an ordering relation is defined among some or all of the concept codes. Numerical value has *nothing* to do with this. This is implementation specific.
    6. CS - Coded data where all the fields are predetermined with the exception of the code.
    7. TEL - is this a URI or a URL? Is URL implementation specific?
    8. EN is underspecified, but will pass
  • Quantities
    1. PQ - how does this align with the previous 3? - Are INT, REAL and RTO al quantities if so, it would be good to stress this, so we understand that PQ takes one of these and adds dimension.
    2. EXPR - does this belong in Quantity or the paragrpah below.
  • Quantity Collections
    1. expressional is a wierd word - does it mean expression?
    2. "Term" is capitalized and used without definitions. Can we fit it into QSET?
    3. QSD and QSP need to be differentiated
    4. QSC - need more detail.
    5. IVL - same
  • Uncertaintities
    1. What is a "generic data type extension"
    2. "used to specify"? - That specifies?
    3. " (§ ) are not fully qualified types, but only restrictions on previously defined types and flavors." - what is this? What does it reference...
  • Flavors

Something is missing here - shouldn't there be an introductory paragraph of some sort? The paragraph needs to mention that the meaning of the constraints will be clarified by looking at each individual type.

  1. ED.DOC.INLINE so the contents are a document is not provided by means of a reference.
  2. ED.DOC.REF - so that the contents are a reference to a document."
  3. TEL.URL - didn't the definition of "TEL" say it had to be a URL?
  4. PN, ... - why is Entity and Person capitalized? Maybe explain in the introductory material? I would rather see lower case.
  5. IVL.LOW, IVL.HIGH, IVL.WIDTH, ... - not a semantic explanation. Replace lowClosed with what it means.
  6. GTS.BOUNDEDPIVL - good lord. This needs to be restated in English.
  1. Should there be an introductory paragraph that grounds the meaning of "SHALL", "MAY" and any other critical keyword?
  2. All instances of these data types SHALL be valid with respect to the invariant statements contained in this specification.
  1. Question: Is it up to the creator or the recipient to make sure this is true? The second sentence weakly implies the creator, but it isn't absolutely clear.
  1. "Definition 1" - not sure I agree with the caption. Maybe this should be a simple textbox?

1.8.1 Constraining Model

  1. Need a bit more datail.
  2. Why is "Contstraining Model" capitalized, but not "Primary?
  3. This paragraph needs clarification - are null flavors outside the scope of constraining models? Is there any way that a constraining model can declare that it doesn't allow a null flavor in a given data value? This tends to imply not, which I don't think is what is intended.
  4. NI - need to spell this out.
  5. Where did "*" come in on cardinalities - did we intend to add "0..*" and 1..*"? If not, what goes on. What does "Cardinality of 1" mean with respect to what was just stated. Wouldn't this be more simply put in terms of min and max cardinality?
  1. Paragraphs appear out of order.
  2. In general, THIS SECTION NEEDS WORK