Copyright (c) 2001, 2002, 2003, 2004, 2005 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: gsd2xsd.xsl,v 1.4 2005/04/17 03:20:15 lmckenzi Exp $
Generated by $Id: v3dt-schema.xsl,v 1.5 2005/05/24 05:44:38 lmckenzi Exp $
$Id: Vocabulary.xml,v 1.1 2005/08/25 11:33:46 mcraig Exp $ RoseTree XML to Schema: $Id: VocabXMLtoXSD.xsl,v 1.6 2005/05/24 00:14:18 lmckenzi Exp $
The following types are used internally in data types
The following types are used for structural RIM attributes
Mailing and home or office addresses. A sequence of address parts, such as street or post office Box, city, postal code, country, etc.
partType of delimiter attribute fixed to DEL value
OCL
self.delimiter->forAll(adxp : AdxpDelimiter | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DEL)
partType of country attribute fixed to CNT value
OCL
self.country->forAll(adxp : AdxpCountry | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CNT)
partType of state attribute fixed to STA value
OCL
self.state->forAll(adxp : AdxpState | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STA)
partType of county attribute fixed to CPA value
OCL
self.county->forAll(adxp : AdxpCounty | (adxp.partType.oclIsUndefined()) or adxp.partType = AddressPartType::CPA)
partType of city attribute fixed to CTY value
OCL
self.city->forAll(adxp : AdxpCity | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CTY)
partType of postalCode attribute fixed to ZIP value
OCL
self.postalCode->forAll(adxp : AdxpPostalCode | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::ZIP)
partType of streetAddressLine attribute fixed to SAL value
OCL
self.streetAddressLine->forAll(adxp : AdxpStreetAddressLine | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::SAL)
partType of houseNumber attribute fixed to BNR value
OCL
self.houseNumber->forAll(adxp : AdxpHouseNumber | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::BNR)
partType of houseNumberNumeric attribute fixed to BNN value
OCL
self.houseNumberNumeric->forAll(adxp : AdxpHouseNumberNumeric | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::BNN)
partType of direction attribute fixed to DIR value
OCL
self.direction->forAll(adxp : AdxpDirection | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DIR)
partType of streetName attribute fixed to STR value
OCL
self.streetName->forAll(adxp : AdxpStreetName | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STR)
partType of streetNameBase attribute fixed to STB value
OCL
self.streetNameBase->forAll(adxp : AdxpStreetNameBase | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STB)
partType of streetNameType attribute fixed to STTYP value
OCL
self.streetNameType->forAll(adxp : AdxpStreetNameType | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STTYP)
partType of additionalLocator attribute fixed to ADL value
OCL
self.additionalLocator->forAll(adxp : AdxpAdditionalLocator | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::ADL)
partType of unitID attribute fixed to UNID value
OCL
self.unitID->forAll(adxp : AdxpUnitID | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::UNID)
partType of unitType attribute fixed to UNIT value
OCL
self.unitType->forAll(adxp : AdxpUnitType | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::UNIT)
partType of careOf attribute fixed to CAR value
OCL
self.careOf->forAll(adxp : AdxpCareOf | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CAR)
partType of censusTract attribute fixed to CEN value
OCL
self.censusTract->forAll(adxp : AdxpCensusTract | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CEN)
partType of deliveryAddressLine attribute fixed to DAL value
OCL
self.deliveryAddressLine->forAll(adxp : AdxpDeliveryAddressLine | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DAL)
partType of deliveryInstallationType attribute fixed to DINST value
OCL
self.deliveryInstallationType->forAll(adxp : AdxpDeliveryInstallationType | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DINST)
partType of deliveryInstallationArea attribute fixed to DINSTA value
OCL
self.deliveryInstallationArea->forAll(adxp : AdxpDeliveryInstallationArea | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DINSTA)
partType of deliveryInstallationQualifier attribute fixed to DINSTQ value
OCL
self.deliveryInstallationQualifier->forAll(adxp : AdxpDeliveryInstallationQualifier | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DINSTQ)
partType of deliveryMode attribute fixed to DMOD value
OCL
self.deliveryMode->forAll(adxp : AdxpDeliveryMode | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DMOD)
partType of deliveryModeIdentifier attribute fixed to DMODID value
OCL
self.deliveryModeIdentifier->forAll(adxp : AdxpDeliveryModeIdentifier | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DMODID)
partType of buildingNumberSuffix attribute fixed to BNS value
OCL
self.buildingNumberSuffix->forAll(adxp : AdxpBuildingNumberSuffix | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::BNS)
partType of postBox attribute fixed to POB value
OCL
self.postBox->forAll(adxp : AdxpPostBox | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::POB)
partType of precinct attribute fixed to PRE value
OCL
self.precinct->forAll(adxp : AdxpPrecinct | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::PRE)
A General Timing Specification (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 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, the isNotOrdered property can be used to convey this information.
A set of codes advising a system or user which address in a set of like addresses to select for a given purpose.
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.
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.
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.
thumbnail is undefined
OCL
self.thumbnail.oclIsUndefined()
reference is undefined
OCL
self.reference.oclIsUndefined()
integrityCheckAlgorithm is prohibited
OCL
self.integrityCheckAlgorithm.oclIsUndefined()
compression is prohibited
OCL
self.compression.oclIsUndefined()
representation fixed to TXT
OCL
self.representation.oclIsUndefined() or self.representation=BinaryDataEncoding::TXT
ST element must be nullFlavor or must contains datas
OCL
(not self.nullFlavor.oclIsUndefined()) xor (self.mixed->size() > 0)
mediaType fixed on ST to text/plain
OCL
self.mediaType.oclIsUndefined() or self.mediaType='text/plain'
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 the ED data type when the ED media type is text/plain.
if thumbnail defined on ED element, thumbnail.thumbnail must be undefined
OCL
not self.thumbnail.oclIsUndefined() implies self.thumbnail.thumbnail.oclIsUndefined()
on ED, mediaType is csType
OCL
self.mediaType.oclIsUndefined() or self.isCSType(self.mediaType)
on ED, language is csType
OCL
self.language.oclIsUndefined() or self.isCSType(self.language)
integrityCheck shall be xs:base64Binary type
OCL
self.integrityCheck.oclIsUndefined() or self.isBIN(self.integrityCheck)
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.
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.
For character based information the language property specifies the human language of the text.
Identifies the type of the encapsulated data and identifies a method to interpret or render the data.
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.
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 Universal Resource Locator (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 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.
URL must be nullFlavor, or it must have value attribute
OCL
(not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined())
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.
A quantity specifying a point on the axis of natural time. A point in time is most often represented as a calendar expression.
on TS, value is tsType
OCL
self.value.oclIsUndefined() or self.isTSType(self.value)
The quantity data type 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.
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 BooleanNonNull type is used where a Boolean cannot have a null value. A Boolean value can be either true or false.
nullFlavor is prohibited
OCL
self.nullFlavor.oclIsUndefined()
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.
BL is nullFlavor or value must be not null
OCL
(not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined())
The BooleanNonNull type is used where a Boolean cannot have a null value. A Boolean value can be either true or false.
nullFlavor undefined on BN class
OCL
self.nullFlavor.oclIsUndefined()
The quantity in which the bag item occurs in its containing bag.
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.
on CD, code shall be a string
OCL
self.code.oclIsUndefined() or self.isCSType(self.code)
on CD, codeSystem is an uid attribute
OCL
self.codeSystem.oclIsUndefined() or self.isUID(self.codeSystem)
on CD, codeSystemName is an stType
OCL
self.codeSystemName.oclIsUndefined() or self.isSTType(self.codeSystemName)
on CD, codeSystemVersion is stType
OCL
self.codeSystemVersion.oclIsUndefined() or self.isSTType(self.codeSystemVersion)
on CD, displayName is stType
OCL
self.displayName.oclIsUndefined() or self.isSTType(self.displayName)
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.
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".
CR is nullFlavor or valur must be defined
OCL
(not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined())
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 CR.name.
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 the CR.value.
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.
Coded data, consists of a code, display name, code system, and original text. Used when a single code value must be sent.
translation null
OCL
self.translation->size()=0
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.
qualifier empty
OCL
self.qualifier->size()=0
The quantity in which the bag item occurs in its containing bag.
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.low.oclIsUndefined() implies self.center.oclIsUndefined() and (self.width.oclIsUndefined() or self.high.oclIsUndefined())
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.center.oclIsUndefined() implies self.high.oclIsUndefined() and self.low.oclIsUndefined()
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.high.oclIsUndefined() implies (self.low.oclIsUndefined() and self.center.oclIsUndefined() and self.width.oclIsUndefined()) or ((not self.low.oclIsUndefined()) and self.width.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.width.oclIsUndefined()) and self.low.oclIsUndefined() and self.center.oclIsUndefined())
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.width.oclIsUndefined() implies ((not self.low.oclIsUndefined()) and self.center.oclIsUndefined() and self.high.oclIsUndefined()) or (self.low.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.center.oclIsUndefined()) and self.low.oclIsUndefined() and self.high.oclIsUndefined())
The low 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.
The high limit of the interval.
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.
A dimensioned quantity expressing the result of a measurement act.
on PQ, unit is csType
OCL
self.unit.oclIsUndefined() or self.isCSType(self.unit)
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 unit of measure specified in the Unified Code for Units of Measure (UCUM) [http://aurora.rg.iupui.edu/UCUM].
The magnitude of the quantity measured in terms of the unit.
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.
Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open).
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.
Coded data, consists of a code, display name, code system, and original text. Used when a single code value must be sent.
codeSystem null
OCL
self.codeSystem.oclIsUndefined()
codeSystemVersion null
OCL
self.codeSystemVersion.oclIsUndefined()
displayName null
OCL
self.displayName.oclIsUndefined()
codeSystemName prohibited
OCL
self.codeSystemName.oclIsUndefined()
A code for a common (periodical) activity of daily living based on which the event related periodic interval is specified.
codeSystem null or equal to 2.16.840.1.113883.5.139
OCL
not self.codeSystem.oclIsUndefined() implies self.codeSystem='2.16.840.1.113883.5.139'
codeSystemName null or equals to TimingEvent
OCL
not self.codeSystemName.oclIsUndefined() implies self.codeSystemName='TimingEvent'
on EIVLEvent type, code shall be TimingEvent if present
OCL
self.code.oclIsUndefined() or self.code='AC' or self.code='ACD' or self.code='ACM' or self.code='ACV' or self.code='HS' or self.code='IC' or self.code='ICD' or self.code='ICM' or self.code='ICV' or self.code='PC' or self.code='PCD'
or self.code='PCM' or self.code='PCV'
Note: because this type is defined as an extension of SXCM_T, all of the attributes and elements accepted for T are also accepted by this definition. However, they are NOT allowed by the normative description of this type. Unfortunately, we cannot write a general purpose schematron contraints to provide that extra validation, thus applications must be aware that instance (fragments) that pass validation with this might might still not be legal.
A code for a common (periodical) activity of daily living based on which the event related periodic interval is specified.
An interval of elapsed time (duration, not absolute point in time) that marks the offsets for the beginning, width and end of the event-related periodic interval measured from the time each such event actually occurred.
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 primary measure of variance/uncertainty of the value (the square root of the sum of the squares of the differences between all data points and the mean). The standard deviation is used to normalize the data for computing the distribution function. Applications that cannot deal with probability distributions can still get an idea about the confidence level by looking at the standard deviation.
A code specifying the type of probability distribution. Possible values are as shown in the attached table. The NULL value (unknown) for the type code indicates that the probability distribution type is unknown. In that case, the standard deviation has the meaning of an informal guess.
The low 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.
The high limit of the interval.
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 primary measure of variance/uncertainty of the value (the square root of the sum of the squares of the differences between all data points and the mean). The standard deviation is used to normalize the data for computing the distribution function. Applications that cannot deal with probability distributions can still get an idea about the confidence level by looking at the standard deviation.
A code specifying the type of probability distribution. Possible values are as shown in the attached table. The NULL value (unknown) for the type code indicates that the probability distribution type is unknown. In that case, the standard deviation has the meaning of an informal guess.
Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open).
Note: because this type is defined as an extension of SXCM_T, all of the attributes and elements accepted for T are also accepted by this definition. However, they are NOT allowed by the normative description of this type. Unfortunately, we cannot write a general purpose schematron contraints to provide that extra validation, thus applications must be aware that instance (fragments) that pass validation with this might might still not be legal.
A code for a common (periodical) activity of daily living based on which the event related periodic interval is specified.
An interval of elapsed time (duration, not absolute point in time) that marks the offsets for the beginning, width and end of the event-related periodic interval measured from the time each such event actually occurred.
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".
partType of delimiter fixed to DEL
OCL
self.delimiter->forAll(enxp : EnDelimiter | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::DEL)
partType of family fixed to FAM
OCL
self.family->forAll(enxp : EnFamily | enxp.partType.oclIsUndefined() or enxp.partType=EntityNamePartType::FAM)
partType of given fixed to GIV
OCL
self.given->forAll(enxp : EnGiven | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::GIV)
partType of prefix fixed to PFX
OCL
self.prefix->forAll(enxp : EnPrefix | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::PFX)
partType of suffix fixed to SFX
OCL
self.suffix->forAll(enxp : EnSuffix | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::SFX)
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 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.
The qualifier 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.
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.low.oclIsUndefined() implies self.center.oclIsUndefined() and (self.width.oclIsUndefined() or self.high.oclIsUndefined())
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.center.oclIsUndefined() implies self.high.oclIsUndefined() and self.low.oclIsUndefined()
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.high.oclIsUndefined() implies (self.low.oclIsUndefined() and self.center.oclIsUndefined() and self.width.oclIsUndefined()) or ((not self.low.oclIsUndefined()) and self.width.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.width.oclIsUndefined()) and self.low.oclIsUndefined() and self.center.oclIsUndefined())
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.width.oclIsUndefined() implies ((not self.low.oclIsUndefined()) and self.center.oclIsUndefined() and self.high.oclIsUndefined()) or (self.low.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.center.oclIsUndefined()) and self.low.oclIsUndefined() and self.high.oclIsUndefined())
The low 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.
The high limit of the interval.
Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open).
This is the start-value of the generated list.
The difference between one value and its previous different value. For example, to generate the sequence (1; 4; 7; 10; 13; ...) the increment is 3; likewise to generate the sequence (1; 1; 4; 4; 7; 7; 10; 10; 13; 13; ...) the increment is also 3.
The integer by which the index for the sequence is divided, effectively the number of times the sequence generates the same sequence item value before incrementing to the next sequence item value. For example, to generate the sequence (1; 1; 1; 2; 2; 2; 3; 3; 3; ...) the denominator is 3.
If non-NULL, specifies that the sequence alternates, i.e., after this many increments, the sequence item values roll over to start from the initial sequence item value. For example, the sequence (1; 2; 3; 1; 2; 3; 1; 2; 3; ...) has period 3; also the sequence (1; 1; 2; 2; 3; 3; 1; 1; 2; 2; 3; 3; ...) has period 3 too.
This is the start-value of the generated list.
This is the start-value of the generated list.
The difference between one value and its previous different value. For example, to generate the sequence (1; 4; 7; 10; 13; ...) the increment is 3; likewise to generate the sequence (1; 1; 4; 4; 7; 7; 10; 10; 13; 13; ...) the increment is also 3.
The integer by which the index for the sequence is divided, effectively the number of times the sequence generates the same sequence item value before incrementing to the next sequence item value. For example, to generate the sequence (1; 1; 1; 2; 2; 2; 3; 3; 3; ...) the denominator is 3.
If non-NULL, specifies that the sequence alternates, i.e., after this many increments, the sequence item values roll over to start from the initial sequence item value. For example, the sequence (1; 2; 3; 1; 2; 3; 1; 2; 3; ...) has period 3; also the sequence (1; 1; 2; 2; 3; 3; 1; 1; 2; 2; 3; 3; ...) has period 3 too.
The time interval during which the given information was, is, or is expected to be valid. The interval can be open or closed, as well as infinite or undefined on either side.
The time interval during which the given information was, is, or is expected to be valid. The interval can be open or closed, as well as infinite or undefined on either side.
The time interval during which the given information was, is, or is expected to be valid. The interval can be open or closed, as well as infinite or undefined on either side.
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.
II must be nullflavor or root attribtue must be defined
OCL
(not self.nullFlavor.oclIsUndefined()) xor (not self.root.oclIsUndefined())
on II, root attribute shall match uid structure
OCL
self.root.oclIsUndefined() or self.isUID(self.root)
on II, extension shall be stType
OCL
self.extension.oclIsUndefined() or self.isSTType(self.extension)
on II, assigningAuthorityame shall be stType
OCL
self.assigningAuthorityName.oclIsUndefined() or self.isSTType(self.assigningAuthorityName)
A human readable name or mnemonic for the assigning authority. This name may be provided solely for the convenience of unaided humans interpreting an II 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 character string as a unique identifier within the scope of the identifier root.
A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.
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 value should be not null, or nullFlavor is defined
OCL
(not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined())
if present on INT, value shall be bigger or equal to -1
OCL
self.value.oclIsUndefined() or (self.value>(-2))
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.low.oclIsUndefined() implies self.center.oclIsUndefined() and (self.width.oclIsUndefined() or self.high.oclIsUndefined())
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.high.oclIsUndefined() implies (self.low.oclIsUndefined() and self.center.oclIsUndefined() and self.width.oclIsUndefined()) or ((not self.low.oclIsUndefined()) and self.width.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.width.oclIsUndefined()) and self.low.oclIsUndefined() and self.center.oclIsUndefined())
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.center.oclIsUndefined() implies self.high.oclIsUndefined() and self.low.oclIsUndefined()
In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived.
OCL
not self.width.oclIsUndefined() implies ((not self.low.oclIsUndefined()) and self.center.oclIsUndefined() and self.high.oclIsUndefined()) or (self.low.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.center.oclIsUndefined()) and self.low.oclIsUndefined() and self.high.oclIsUndefined())
The low 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.
The high limit of the interval.
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.
Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open).
The low 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.
The high limit of the interval.
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.
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.
nullFlavor doeas not much if value or curracy are defined
OCL
not ((not self.nullFlavor.oclIsUndefined()) and ((not self.value.oclIsUndefined()) or (not self.currency.oclIsUndefined())))
on MO, currency is csType
OCL
self.currency.oclIsUndefined() or self.isCSType(self.currency)
The currency unit as defined in ISO 4217.
The magnitude of the monetary amount in terms of the currency unit.
Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open).
The low 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.
The high limit of the interval.
Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open).
The low 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.
The high limit of the interval.
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.
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.
nullFlavor must be defined, or value must be not null
OCL
(not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined())
Specifies whether the limit is included in the interval (interval is closed) or excluded from the interval (interval is open).
A name for an organization. A sequence of name parts.
family and given must be null on ON element
OCL
self.family->isEmpty() and self.given->isEmpty()
Note: because this type is defined as an extension of SXCM_T, all of the attributes and elements accepted for T are also accepted by this definition. However, they are NOT allowed by the normative description of this type. Unfortunately, we cannot write a general purpose schematron contraints to provide that extra validation, thus applications must be aware that instance (fragments) that pass validation with this might might still not be legal.
A prototype of the repeating interval specifying the duration of each occurrence and anchors the periodic interval sequence at a certain point in time.
A time duration specifying a reciprocal measure of the frequency at which the periodic interval repeats.
Specifies if and how the repetitions are aligned to the cycles of the underlying calendar (e.g., to distinguish every 30 days from "the 5th of every month".) A non-aligned periodic interval recurs independently from the calendar. An aligned periodic interval is synchronized with the calendar.
Indicates whether the exact timing is up to the party executing the schedule (e.g., to distinguish "every 8 hours" from "3 times a day".)
Note: because this type is defined as an extension of SXCM_T, all of the attributes and elements accepted for T are also accepted by this definition. However, they are NOT allowed by the normative description of this type. Unfortunately, we cannot write a general purpose schematron contraints to provide that extra validation, thus applications must be aware that instance (fragments) that pass validation with this might might still not be legal.
A prototype of the repeating interval specifying the duration of each occurrence and anchors the periodic interval sequence at a certain point in time.
A time duration specifying a reciprocal measure of the frequency at which the periodic interval repeats.
Specifies if and how the repetitions are aligned to the cycles of the underlying calendar (e.g., to distinguish every 30 days from "the 5th of every month".) A non-aligned periodic interval recurs independently from the calendar. An aligned periodic interval is synchronized with the calendar.
Indicates whether the exact timing is up to the party executing the schedule (e.g., to distinguish "every 8 hours" from "3 times a day".)
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).
delimiter attributes must not contains LS as qualifier, as well as for family, given, prefix and suffix
OCL
self.delimiter->forAll(enxp :EnDelimiter | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and
self.family->forAll(enxp :EnFamily | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and
self.given->forAll(enxp :EnGiven | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and
self.prefix->forAll(enxp :EnPrefix | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and
self.suffix->forAll(enxp :EnSuffix | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) )
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. RTO 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 RTO.
The denominator must not be zero
OCL
(self.denominator.oclIsKindOf(INT) implies self.denominator.oclAsType(INT).value <> 0) and
(self.denominator.oclIsKindOf(REAL) implies self.denominator.oclAsType(REAL).value <> 0)
denominator and numerator shall be present
OCL
(not self.denominator.oclIsUndefined()) and (not self.numerator.oclIsUndefined())
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.
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.
denominator value must be not null
OCL
self.denominator.value<>0
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 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.
on SC, code is csType
OCL
self.code.oclIsUndefined() or self.isCSType(self.code)
on SC, codeSystem is uid type
OCL
self.codeSystem.oclIsUndefined() or self.isUID(self.codeSystem)
on SC, codeSystemName is stType
OCL
self.codeSystemName.oclIsUndefined() or self.isSTType(self.codeSystemName)
on SC, codeSystemVersion is stType
OCL
self.codeSystemVersion.oclIsUndefined() or self.isSTType(self.codeSystemVersion)
on SC, displayName is stType
OCL
self.displayName.oclIsUndefined() or self.isSTType(self.displayName)
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 origin of the list item value scale, i.e., the physical quantity that a zero-digit in the sequence would represent.
A ratio-scale quantity that is factored out of the digit sequence.
A sequence of raw digits for the sample values. This is typically the raw output of an A/D converter.
The origin of the list item value scale, i.e., the physical quantity that a zero-digit in the sequence would represent.
A ratio-scale quantity that is factored out of the digit sequence.
A sequence of raw digits for the sample values. This is typically the raw output of an A/D converter.
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.
A restriction of entity name that is effectively a simple string used for a simple name for things and places.
TN is a restriction of entity name that is effectively a simple string used for a simple name for things and places.
OCL
self.delimiter->isEmpty() and self.family->isEmpty() and self.given->isEmpty() and self.prefix->isEmpty() and self.suffix->isEmpty() and self.mixed->size() = 1
The probability assigned to the value, a decimal number between 0 (very uncertain) and 1 (certain).