Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Health Level Seven. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Health Level Seven. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Generated by $Id: datatypes-base.xsd,v 1.1 2006/05/23 23:03:14 wbeeler Exp $ $Id: datatypes-base.xsd,v 1.1 2006/05/23 23:03:14 wbeeler Exp $ Generated by $Id: datatypes-base.xsd,v 1.1 2006/05/23 23:03:14 wbeeler Exp $ Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type. An exceptional value expressing missing information and possibly the reason why the information is missing. The Boolean type stands for the values of two-valued logic. A Boolean value can be either true or false, or, as any other value may be NULL. The Boolean type stands for the values of two-valued logic. A Boolean value can be either true or false, or, as any other value may be NULL. The BooleanNonNull type is used where a Boolean cannot have a null value. A Boolean value can be either true or false. The BooleanNonNull type is used where a Boolean cannot have a null value. A Boolean value can be either true or false. The BooleanNonNull type is used where a Boolean cannot have a null value. A Boolean value can be either true or false. Binary data is a raw block of bits. Binary data is a protected type that MUST not be used outside the data type specification. Specifies the representation of the binary data that is the content of the binary data value. Binary data is a raw block of bits. Binary data is a protected type that MUST not be used outside the data type specification. Data that is primarily intended for human interpretation or for further machine processing is outside the scope of HL7. This includes unformatted or formatted written language, multimedia data, or structured information as defined by a different standard (e.g., XML-signatures.) Instead of the data itself, an ED may contain only a reference (see TEL.) Note that the ST data type is a specialization of when the is text/plain. A telecommunication address (TEL), such as a URL for HTTP or FTP, which will resolve to precisely the same binary data that could as well have been provided as inline data. Identifies the type of the encapsulated data and identifies a method to interpret or render the data. For character based information the language property specifies the human language of the text. Indicates whether the raw byte data is compressed, and what compression algorithm was used. The integrity check is a short binary value representing a cryptographically strong checksum that is calculated over the binary data. The purpose of this property, when communicated with a reference is for anyone to validate later whether the reference still resolved to the same data that the reference resolved to when the encapsulated data value with reference was created. Specifies the algorithm used to compute the integrityCheck value. A thumbnail is an abbreviated rendition of the full data. A thumbnail requires significantly fewer resources than the full data, while still maintaining some distinctive similarity with the full data. A thumbnail is typically used with by-reference encapsulated data. It allows a user to select data more efficiently before actually downloading through the reference. The character string data type stands for text data, primarily intended for machine processing (e.g., sorting, querying, indexing, etc.) Used for names, symbols, and formal expressions. The character string data type stands for text data, primarily intended for machine processing (e.g., sorting, querying, indexing, etc.) Used for names, symbols, and formal expressions.

Text content is only allowed in non-NULL values.

Coded data in its simplest form, consists of a code. The code system and code system version is fixed by the context in which the value occurs. is used for coded attributes that have a single HL7-defined value set. A concept descriptor represents any kind of concept usually by giving a code defined in a code system. A concept descriptor can contain the original text or phrase that served as the basis of the coding and one or more translations into different coding systems. A concept descriptor can also contain qualifiers to describe, e.g., the concept of a "left foot" as a postcoordinated term built from the primary code "FOOT" and the qualifier "LEFT". In exceptional cases, the concept descriptor need not contain a code but only the original text describing that concept. The text or phrase used as the basis for the coding. Specifies additional codes that increase the specificity of the primary code. A set of other concept descriptors that translate this concept descriptor into other code systems. The plain code symbol defined by the code system. For example, "784.0" is the code symbol of the ICD-9 code "784.0" for headache. Specifies the code system that defines the code. A common name of the coding system. If applicable, a version descriptor defined specifically for the given code system. A name or title for the code, under which the sending system shows the code value to its users. Coded data, consists of a coded value (CV) and, optionally, coded value(s) from other coding systems that identify the same concept. Used when alternative codes may exist. The text or phrase used as the basis for the coding. A set of other concept descriptors that translate this concept descriptor into other code systems. The plain code symbol defined by the code system. For example, "784.0" is the code symbol of the ICD-9 code "784.0" for headache. Specifies the code system that defines the code. A common name of the coding system. If applicable, a version descriptor defined specifically for the given code system. A name or title for the code, under which the sending system shows the code value to its users. Coded data, consists of a code, display name, code system, and original text. Used when a single code value must be sent. The text or phrase used as the basis for the coding. The plain code symbol defined by the code system. For example, "784.0" is the code symbol of the ICD-9 code "784.0" for headache. Specifies the code system that defines the code. A common name of the coding system. If applicable, a version descriptor defined specifically for the given code system. A name or title for the code, under which the sending system shows the code value to its users. Coded data, consists of a code, display name, code system, and original text. Used when a single code value must be sent. The plain code symbol defined by the code system. For example, "784.0" is the code symbol of the ICD-9 code "784.0" for headache. Coded data, where the domain from which the codeset comes is ordered. The Coded Ordinal data type adds semantics related to ordering so that models that make use of such domains may introduce model elements that involve statements about the order of the terms in a domain. A concept qualifier code with optionally named role. Both qualifier role and value codes must be defined by the coding system. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg".

A value component is required or else the code role is NULL.

Specifies the manner in which the concept role value contributes to the meaning of a code phrase. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows to add the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg". In this example "has-laterality" is . The concept that modifies the primary code of a code phrase through the role relation. For example, if SNOMED RT defines a concept "leg", a role relation "has-laterality", and another concept "left", the concept role relation allows adding the qualifier "has-laterality: left" to a primary code "leg" to construct the meaning "left leg". In this example "left" is . Indicates if the sense of the role name is inverted. This can be used in cases where the underlying code system defines inversion but does not provide reciprocal pairs of role names. By default, inverted is false.
An ST that optionally may have a code attached. The text must always be present if a code is present. The code is often a local code. The plain code symbol defined by the code system. For example, "784.0" is the code symbol of the ICD-9 code "784.0" for headache. Specifies the code system that defines the code. A common name of the coding system. If applicable, a version descriptor defined specifically for the given code system. A name or title for the code, under which the sending system shows the code value to its users. A unique identifier string is a character string which identifies an object in a globally unique and timeless manner. The allowable formats and values and procedures of this data type are strictly controlled by HL7. At this time, user-assigned identifiers may be certain character representations of ISO Object Identifiers () and DCE Universally Unique Identifiers (). HL7 also reserves the right to assign other forms of UIDs (, such as mnemonic identifiers for code systems. An identifier that uniquely identifies a thing or object. Examples are object identifier for HL7 RIM objects, medical record number, order id, service catalog item id, Vehicle Identification Number (VIN), etc. Instance identifiers are defined based on ISO object identifiers. A root component is required or else the II value is NULL. A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier. A character string as a unique identifier within the scope of the identifier root. A human readable name or mnemonic for the assigning authority. This name may be provided solely for the convenience of unaided humans interpreting an value and can have no computational meaning. Note: no automated processing must depend on the assigning authority name to be present in any form. Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false). A telecommunications address specified according to Internet standard RFC 1738 [http://www.ietf.org/rfc/rfc1738.txt]. The URL specifies the protocol and the contact point defined by that protocol for the resource. Notable uses of the telecommunication address data type are for telephone and telefax numbers, e-mail addresses, Hypertext references, FTP references, etc. A telecommunications address specified according to Internet standard RFC 1738 [http://www.ietf.org/rfc/rfc1738.txt]. The URL specifies the protocol and the contact point defined by that protocol for the resource. Notable uses of the telecommunication address data type are for telephone and telefax numbers, e-mail addresses, Hypertext references, FTP references, etc. A quantity specifying a point on the axis of natural time. A point in time is most often represented as a calendar expression. A quantity specifying a point on the axis of natural time. A point in time is most often represented as a calendar expression. PQ A telephone number (voice or fax), e-mail address, or other locator for a resource (information or service) mediated by telecommunication equipment. The address is specified as a URL qualified by time specification and use codes that help in deciding which address to use for a given time and purpose. Specifies the periods of time during which the telecommunication address can be used. For a telephone number, this can indicate the time of day in which the party can be reached on that telephone. For a web address, it may specify a time range in which the web content is promised to be available under the given address. One or more codes advising a system or user which telecommunication address in a set of like addresses to select for a given telecommunication need. A character string that may have a type-tag signifying its role in the address. Typical parts that exist in about every address are street, house number, or post box, postal code, city, country but other roles may be defined regionally, nationally, or on an enterprise level (e.g. in military addresses). Addresses are usually broken up into lines, which are indicated by special line-breaking delimiter elements (e.g., DEL). Specifies whether an address part names the street, city, country, postal code, post box, etc. If the type is NULL the address part is unclassified and would simply appear on an address label as is. Mailing and home or office addresses. A sequence of address parts, such as street or post office Box, city, postal code, country, etc. A GTS specifying the periods of time during which the address can be used. This is used to specify different addresses for different times of the year or to refer to historical addresses. A set of codes advising a system or user which address in a set of like addresses to select for a given purpose. A boolean value specifying whether the order of the address parts is known or not. While the address parts are always a Sequence, the order in which they are presented may or may not be known. Where this matters, can be used to convey this information. A character string token representing a part of a name. May have a type code signifying the role of the part in the whole entity name, and a qualifier code for more detail about the name part type. Typical name parts for person names are given names, and family names, titles, etc. Indicates whether the name part is a given name, family name, prefix, suffix, etc. is a set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type. For example, a given name may be flagged as a nickname, a family name may be a pseudonym or a name of public records. A name for a person, organization, place or thing. A sequence of name parts, such as given name or family name, prefix, suffix, etc. Examples for entity name values are "Jim Bob Walton, Jr.", "Health Level Seven, Inc.", "Lake Tahoe", etc. An entity name may be as simple as a character string or may consist of several entity name parts, such as, "Jim", "Bob", "Walton", and "Jr.", "Health Level Seven" and "Inc.", "Lake" and "Tahoe". An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things. A set of codes advising a system or user which name in a set of like names to select for a given purpose. A name without specific use code might be a default name useful for any purpose, but a name with a specific use code would be preferred for that respective purpose. A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. PN differs from EN because the qualifier type cannot include LS (Legal Status). A name for an organization. A sequence of name parts. An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things. A set of codes advising a system or user which name in a set of like names to select for a given purpose. A name without specific use code might be a default name useful for any purpose, but a name with a specific use code would be preferred for that respective purpose. A restriction of entity name that is effectively a simple string used for a simple name for things and places. An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things. is an abstract generalization for all data types (1) whose value set has an order relation (less-or-equal) and (2) where difference is defined in all of the data type's totally ordered value subsets. The quantity type abstraction is needed in defining certain other types, such as the interval and the probability distribution. QTY Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise numbers that are results of counting and enumerating. Integer numbers are discrete, the set of integers is infinite but countable. No arbitrary limit is imposed on the range of integer numbers. Two NULL flavors are defined for the positive and negative infinity. Integer numbers (-1,0,1,2, 100, 3398129, etc.) are precise numbers that are results of counting and enumerating. Integer numbers are discrete, the set of integers is infinite but countable. No arbitrary limit is imposed on the range of integer numbers. Two NULL flavors are defined for the positive and negative infinity. INT Fractional numbers. Typically used whenever quantities are measured, estimated, or computed from other real numbers. The typical representation is decimal, where the number of significant decimal digits is known as the precision. Real numbers are needed beyond integers whenever quantities of the real world are measured, estimated, or computed from other real numbers. The term "Real number" in this specification is used to mean that fractional values are covered without necessarily implying the full set of the mathematical real numbers. Fractional numbers. Typically used whenever quantities are measured, estimated, or computed from other real numbers. The typical representation is decimal, where the number of significant decimal digits is known as the precision. Real numbers are needed beyond integers whenever quantities of the real world are measured, estimated, or computed from other real numbers. The term "Real number" in this specification is used to mean that fractional values are covered without necessarily implying the full set of the mathematical real numbers. REAL A representation of a physical quantity in a unit from any code system. Used to show alternative representation for a physical quantity. The magnitude of the measurement value in terms of the unit specified in the code. A dimensioned quantity expressing the result of a measurement act. PQ An alternative representation of the same physical quantity expressed in a different unit, of a different unit code system and possibly with a different value. The magnitude of the quantity measured in terms of the unit. The unit of measure specified in the Unified Code for Units of Measure (UCUM) [http://aurora.rg.iupui.edu/UCUM]. A monetary amount is a quantity expressing the amount of money in some currency. Currencies are the units in which monetary amounts are denominated in different economic regions. While the monetary amount is a single kind of quantity (money) the exchange rates between the different units are variable. This is the principle difference between physical quantity and monetary amounts, and the reason why currency units are not physical units. MO The magnitude of the monetary amount in terms of the currency unit. The currency unit as defined in ISO 4217. A quantity constructed as the quotient of a numerator quantity divided by a denominator quantity. Common factors in the numerator and denominator are not automatically cancelled out. supports titers (e.g., "1:128") and other quantities produced by laboratories that truly represent ratios. Ratios are not simply "structured numerics", particularly blood pressure measurements (e.g. "120/60") are not ratios. In many cases REAL should be used instead of . The probability assigned to the value, a decimal number between 0 (very uncertain) and 1 (certain). A code for a common (periodical) activity of daily living based on which the event related periodic interval is specified. A code specifying whether the set component is included (union) or excluded (set-difference) from the set, or other set operations with the current set component and the set as constructed from the representation stream up to the current point. The low limit of the interval. The difference between high and low boundary. The purpose of distinguishing a width property is to handle all cases of incomplete information symmetrically. In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. The high limit of the interval. The difference between high and low boundary. The purpose of distinguishing a width property is to handle all cases of incomplete information symmetrically. In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. The high limit of the interval. The arithmetic mean of the interval (low plus high divided by 2). The purpose of distinguishing the center as a semantic property is for conversions of intervals from and to point values. The difference between high and low boundary. The purpose of distinguishing a width property is to handle all cases of incomplete information symmetrically. In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open). RTO_QTY_QTY The quantity that is being divided in the ratio. The default is the integer number 1 (one). The quantity that devides the numerator in the ratio. The default is the integer number 1 (one). The denominator must not be zero. A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. PN differs from EN because the qualifier type cannot include LS (Legal Status). An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things. An exceptional value expressing missing information and possibly the reason why the information is missing. A set of codes advising a system or user which name in a set of like names to select for a given purpose. A name without specific use code might be a default name useful for any purpose, but a name with a specific use code would be preferred for that respective purpose. A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. PN differs from EN because the qualifier type cannot include LS (Legal Status). An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things. An exceptional value expressing missing information and possibly the reason why the information is missing. A set of codes advising a system or user which name in a set of like names to select for a given purpose. A name without specific use code might be a default name useful for any purpose, but a name with a specific use code would be preferred for that respective purpose. A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. PN differs from EN because the qualifier type cannot include LS (Legal Status). An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things. An exceptional value expressing missing information and possibly the reason why the information is missing. A set of codes advising a system or user which name in a set of like names to select for a given purpose. A name without specific use code might be a default name useful for any purpose, but a name with a specific use code would be preferred for that respective purpose. A character string token representing a part of a name. May have a type code signifying the role of the part in the whole entity name, and a qualifier code for more detail about the name part type. Typical name parts for person names are given names, and family names, titles, etc. Indicates whether the name part is a given name, family name, prefix, suffix, etc. is a set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type. For example, a given name may be flagged as a nickname, a family name may be a pseudonym or a name of public records. The low limit of the interval. The difference between high and low boundary. The purpose of distinguishing a width property is to handle all cases of incomplete information symmetrically. In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. The high limit of the interval. The difference between high and low boundary. The purpose of distinguishing a width property is to handle all cases of incomplete information symmetrically. In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. The high limit of the interval. The arithmetic mean of the interval (low plus high divided by 2). The purpose of distinguishing the center as a semantic property is for conversions of intervals from and to point values. The difference between high and low boundary. The purpose of distinguishing a width property is to handle all cases of incomplete information symmetrically. In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. An exceptional value expressing missing information and possibly the reason why the information is missing. A code specifying whether the set component is included (union) or excluded (set-difference) from the set, or other set operations with the current set component and the set as constructed from the representation stream up to the current point. An exceptional value expressing missing information and possibly the reason why the information is missing. Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open). A dimensioned quantity expressing the result of a measurement act. PQ An alternative representation of the same physical quantity expressed in a different unit, of a different unit code system and possibly with a different value. An exceptional value expressing missing information and possibly the reason why the information is missing. The magnitude of the quantity measured in terms of the unit. The unit of measure specified in the Unified Code for Units of Measure (UCUM) [http://aurora.rg.iupui.edu/UCUM]. A representation of a physical quantity in a unit from any code system. Used to show alternative representation for a physical quantity. The text or phrase used as the basis for the coding. An exceptional value expressing missing information and possibly the reason why the information is missing. The plain code symbol defined by the code system. For example, "784.0" is the code symbol of the ICD-9 code "784.0" for headache. Specifies the code system that defines the code. A common name of the coding system. If applicable, a version descriptor defined specifically for the given code system. A name or title for the code, under which the sending system shows the code value to its users. The magnitude of the measurement value in terms of the unit specified in the code. Data that is primarily intended for human interpretation or for further machine processing is outside the scope of HL7. This includes unformatted or formatted written language, multimedia data, or structured information as defined by a different standard (e.g., XML-signatures.) Instead of the data itself, an ED may contain only a reference (see TEL.) Note that the ST data type is a specialization of when the is text/plain. A telecommunication address (TEL), such as a URL for HTTP or FTP, which will resolve to precisely the same binary data that could as well have been provided as inline data. An exceptional value expressing missing information and possibly the reason why the information is missing. Specifies the representation of the binary data that is the content of the binary data value. Identifies the type of the encapsulated data and identifies a method to interpret or render the data. For character based information the language property specifies the human language of the text. Indicates whether the raw byte data is compressed, and what compression algorithm was used. The integrity check is a short binary value representing a cryptographically strong checksum that is calculated over the binary data. The purpose of this property, when communicated with a reference is for anyone to validate later whether the reference still resolved to the same data that the reference resolved to when the encapsulated data value with reference was created. Specifies the algorithm used to compute the integrityCheck value. A thumbnail is an abbreviated rendition of the full data. A thumbnail requires significantly fewer resources than the full data, while still maintaining some distinctive similarity with the full data. A thumbnail is typically used with by-reference encapsulated data. It allows a user to select data more efficiently before actually downloading through the reference. An exceptional value expressing missing information and possibly the reason why the information is missing. Specifies the representation of the binary data that is the content of the binary data value. Identifies the type of the encapsulated data and identifies a method to interpret or render the data. For character based information the language property specifies the human language of the text. Indicates whether the raw byte data is compressed, and what compression algorithm was used. The integrity check is a short binary value representing a cryptographically strong checksum that is calculated over the binary data. The purpose of this property, when communicated with a reference is for anyone to validate later whether the reference still resolved to the same data that the reference resolved to when the encapsulated data value with reference was created. Specifies the algorithm used to compute the integrityCheck value. A quantity specifying a point on the axis of natural time. A point in time is most often represented as a calendar expression. PQ An exceptional value expressing missing information and possibly the reason why the information is missing. A telephone number (voice or fax), e-mail address, or other locator for a resource (information or service) mediated by telecommunication equipment. The address is specified as a URL qualified by time specification and use codes that help in deciding which address to use for a given time and purpose. Specifies the periods of time during which the telecommunication address can be used. For a telephone number, this can indicate the time of day in which the party can be reached on that telephone. For a web address, it may specify a time range in which the web content is promised to be available under the given address. An exceptional value expressing missing information and possibly the reason why the information is missing. One or more codes advising a system or user which telecommunication address in a set of like addresses to select for a given telecommunication need. An exceptional value expressing missing information and possibly the reason why the information is missing. A code specifying whether the set component is included (union) or excluded (set-difference) from the set, or other set operations with the current set component and the set as constructed from the representation stream up to the current point. Mailing and home or office addresses. A sequence of address parts, such as street or post office Box, city, postal code, country, etc. A GTS specifying the periods of time during which the address can be used. This is used to specify different addresses for different times of the year or to refer to historical addresses. An exceptional value expressing missing information and possibly the reason why the information is missing. A set of codes advising a system or user which address in a set of like addresses to select for a given purpose. A boolean value specifying whether the order of the address parts is known or not. While the address parts are always a Sequence, the order in which they are presented may or may not be known. Where this matters, can be used to convey this information. A character string that may have a type-tag signifying its role in the address. Typical parts that exist in about every address are street, house number, or post box, postal code, city, country but other roles may be defined regionally, nationally, or on an enterprise level (e.g. in military addresses). Addresses are usually broken up into lines, which are indicated by special line-breaking delimiter elements (e.g., DEL). Specifies whether an address part names the street, city, country, postal code, post box, etc. If the type is NULL the address part is unclassified and would simply appear on an address label as is.