Difference between revisions of "DataTypes Comments Section 3"

From HL7Wiki
Jump to navigation Jump to search
 
Line 1: Line 1:
 
== [http://wiktolog.com/hl7/datatypes.html#datyp2foundtyp 3 Foundation Types] ==
 
== [http://wiktolog.com/hl7/datatypes.html#datyp2foundtyp 3 Foundation Types] ==
 +
# The section title is "Foundation Types" and the figure title is "Fundamental data types"
 
* [http://wiktolog.com/hl7/datatypes.html#dt-ANY 3.1 DataValue (ANY)]
 
* [http://wiktolog.com/hl7/datatypes.html#dt-ANY 3.1 DataValue (ANY)]
 +
*# <strike>Defines the basic properties of every data value</strike> The basic properties common to all data values defined... (Definitions shouldn't say what things do, they should say what they ''are'')
 +
*# dataType - "Every <strike>proper</strike>data value implicitly ''or explicitly'' caries...
 +
*# The formatting is a little difficult to follow - it isn't clear where the sentence that begins with "A data type MAY.." is connected with nullFlavor or dataType.
 +
*# The UML diagram includes "equals", yet it isn't in the property summary. Is this because of the "fuzzy" nature of the summaries?
 +
*# The UML diagram has "equals" and the formal definition has "equal".
 +
*# The formal definition has "identical", which isn't in the UML diagram.
 +
*# 3.1.1 - (a) what is a ''proper'' data value?  (b) why can't a data value carry information ''explicitly''?
 +
*# 3.1.1 - can't we replace  (§ ) w/ something more useful?  This won't even work in a non-html environment
 +
*# 3.1.1 "An exceptional value may not have a type specified by either the context or the instance" - what is the context?  What is the instance?
 +
*# 3.1.1 Why isn't the INV/not any constraint declared as an invariant?
 +
*# 3.1.2 P3 - "imposed by the <nowiki>[[Constraining Model]]</nowiki>." - wiki markup?
 +
*# 3.1.2 P5 - "See <nowiki>[[Conformance]]</nowiki> for further information." - more markup?
 +
*# Table 5 - something is wrong with the formatting here.
 +
*# Table 5 - maybe this would be a good place to stick the information about codes and levels - either that or put the code and level explanation in an appendix and reference it here?
 +
*# Table 5 - the difference between INV and OTH appears to be that of INV is "The value as represented in the instance" being invalid ant OTH being "The actual value".  I have no clue what this distinction is.
 +
*# Table 5 - OTH - we need (e.g. concept code not required by code system, ''integer is too large or small to represent, etc.'').  The single example is confusing - especially given the NINF and PINF children.
 +
*# Table 5 - UNC - originalText isn't a component of ANY, so what can this mean?  Furthermore, the paragraph below states "If the data type is not null, then the nullFlavor will be null." Where, exactly, would the originalText go?
 +
*# Table 5 - QS - This is really curious, as it seems to imply a ''non-''null data value and instead should be an imprecise result.  I assume that this issue has been properly discussed? (NOTE: I see that it has in the sections below and in "Definition 27".)
 +
*# Table 5 - TRC - Same as QS
 +
#* "The only case where non-proper (NULL) values may be equal is where both values have a nullFlavor of NA. In '''<strike>all</strike>''' most other cases, the outcome of comparing NULL values is also null. However, there are exceptions based on the semantic meaning of nullFlavor.
 +
#* ''For instance, although direct comparison of two values with nullFlavor PINF is always null (NI), two intervals with the equal low bounds and high bounds of PINF will return true, since they specify the same set.'' - I'm not sure that I understand this example.  Isn't there a difference between (a) stating that an interval doesn't have an upper bound and (b) stating that the upper bound is too large to be encoded in the value (which I guess I'm assuming the implicit of PINF is)?  Or have I misinterpreted the meaning of PINF and NINF?  What would be the nullFlavor, say, for an integer that is too large to encode in a particular ITS?
 +
*# "but the constraining model specifies that the age must be less than 100 years, the age may still be specified, provided that the model does not make the attribute mandatory." - I'm not sure I'm following here.  IF I say that the age field is optional, and must be less than 100 years, it is ok to pass what the actual age is (120) in the value, even if the data is stated to be null.  IF, however, I say that age is required and it must be less than 100, I can no longer supply the actual age?
 +
*# "Where the difference of null flavors is not significant,..." - how do I know whether it is or isn't?
 +
*# "When a property (i.e. RIM attribute, or message field) is labeled mandatory, and the container is not null itself, then any value assigned to the property SHALL be nonNull." - what is a "null container"?
 +
*# "For example physical quantity <strike>() </strike> has the two <strike>semantic</strike> properties
 
* [http://wiktolog.com/hl7/datatypes.html#dt-TYPE 3.2 DataType (TYPE) specializes ANY]
 
* [http://wiktolog.com/hl7/datatypes.html#dt-TYPE 3.2 DataType (TYPE) specializes ANY]
 
* [http://wiktolog.com/hl7/datatypes.html#dt-BL 3.3 Boolean (BL) specializes ANY]
 
* [http://wiktolog.com/hl7/datatypes.html#dt-BL 3.3 Boolean (BL) specializes ANY]

Revision as of 20:10, 8 March 2008

3 Foundation Types

  1. The section title is "Foundation Types" and the figure title is "Fundamental data types"
  • 3.1 DataValue (ANY)
    1. Defines the basic properties of every data value The basic properties common to all data values defined... (Definitions shouldn't say what things do, they should say what they are)
    2. dataType - "Every properdata value implicitly or explicitly caries...
    3. The formatting is a little difficult to follow - it isn't clear where the sentence that begins with "A data type MAY.." is connected with nullFlavor or dataType.
    4. The UML diagram includes "equals", yet it isn't in the property summary. Is this because of the "fuzzy" nature of the summaries?
    5. The UML diagram has "equals" and the formal definition has "equal".
    6. The formal definition has "identical", which isn't in the UML diagram.
    7. 3.1.1 - (a) what is a proper data value? (b) why can't a data value carry information explicitly?
    8. 3.1.1 - can't we replace (§ ) w/ something more useful? This won't even work in a non-html environment
    9. 3.1.1 "An exceptional value may not have a type specified by either the context or the instance" - what is the context? What is the instance?
    10. 3.1.1 Why isn't the INV/not any constraint declared as an invariant?
    11. 3.1.2 P3 - "imposed by the [[Constraining Model]]." - wiki markup?
    12. 3.1.2 P5 - "See [[Conformance]] for further information." - more markup?
    13. Table 5 - something is wrong with the formatting here.
    14. Table 5 - maybe this would be a good place to stick the information about codes and levels - either that or put the code and level explanation in an appendix and reference it here?
    15. Table 5 - the difference between INV and OTH appears to be that of INV is "The value as represented in the instance" being invalid ant OTH being "The actual value". I have no clue what this distinction is.
    16. Table 5 - OTH - we need (e.g. concept code not required by code system, integer is too large or small to represent, etc.). The single example is confusing - especially given the NINF and PINF children.
    17. Table 5 - UNC - originalText isn't a component of ANY, so what can this mean? Furthermore, the paragraph below states "If the data type is not null, then the nullFlavor will be null." Where, exactly, would the originalText go?
    18. Table 5 - QS - This is really curious, as it seems to imply a non-null data value and instead should be an imprecise result. I assume that this issue has been properly discussed? (NOTE: I see that it has in the sections below and in "Definition 27".)
    19. Table 5 - TRC - Same as QS
    • "The only case where non-proper (NULL) values may be equal is where both values have a nullFlavor of NA. In all most other cases, the outcome of comparing NULL values is also null. However, there are exceptions based on the semantic meaning of nullFlavor.
    • For instance, although direct comparison of two values with nullFlavor PINF is always null (NI), two intervals with the equal low bounds and high bounds of PINF will return true, since they specify the same set. - I'm not sure that I understand this example. Isn't there a difference between (a) stating that an interval doesn't have an upper bound and (b) stating that the upper bound is too large to be encoded in the value (which I guess I'm assuming the implicit of PINF is)? Or have I misinterpreted the meaning of PINF and NINF? What would be the nullFlavor, say, for an integer that is too large to encode in a particular ITS?