MARC.Everest.DataTypes Namespace
The namespace in which data types exist


Public classAD Mailing at home or office addresses is primarily used to communicate data that will allow printing mail labels.
Public classADXP A character string that may have a type-tag signifying its role in the address.
Public classANY Defines the basic properties of every data value.
Public classBAG <T > An unordered list of collection values where each value can be contained more than once in the collection.
Public classBL A binary value for use in boolean logic
Public classCD <T > Represents any kind of concept usually given by a code with qualifications.
Public classCDGroupObsolete. A logically grouped list of related qualifiers
Public classCE <T > Coded with Equalivalents
Public classCO Represents data where coded values are associated with a specific order.
Public classCOLL <T > An abstract type intended to collect common functionality related to collections
Public classCR <T > A concept qualifier code with optionally named role.
Public classCS <T > Coded data in its simplest form where only the code is not predetermined.
Public classCV <T > Represents codified data whereby the codified value and code system are unknown
Public classDatePrecisionUtil Date precision utilities
Public classED Encapsulated data is used to transport larger portions of text, binary and XML data within an instance.
Public classEIVL <T > Specifies a periodic interval of time where the recurrence is based on the activities of daily living or other important events that are time related but not fully determined by time
Public classEN A name for a person, organization, place or thing
Public classENXP A character string token representing a part of a name
Public classGTS A set of points in time, specifying the timing of events and actions and the cyclical validity patterns that may exist for certain kinds of information
Public classHIST <T > A collection of items that are ordered based on their history
Public classHXIT The HistoryItem or HXIT is a generic data type extension that tags a time range and control act event to any datatype. The time range is the time in which the information represented by the value is (was) valid and which control act event modified the value
Public classHXIT <T > This implementation of the HXIT type is used for R1 data types compatibility.
Public classII A unique reference number that identifies a thing or object.
Public classINT Integer numbers are precise numbers that are results of counting and enumerating.
Public classIVL <T > A set of consecutive values of an ordered base datatype. Any ordered type can be the basis of an IVL
Public classLIST <T > A collection that contains other discrete (but not necessarily distinct) values in a defined sequence.
Public classMO An MO is a quantity expressing the amount of money in some currency
Public classNPPD <T > Non-Parametric Probability Distribution
Public classNullFlavorUtil Null Flavor utility
Public classON A name for an organization
Public classPDV <T > The primitive data value (PDV) data type is not explicitly defined by HL7, however it is used here as a shortcut to allow many types to share functionality
Public classPIVL <T > An interval of time that recurs periodically. PIVL has two properties phase and period.
Public classPN 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).
Public classPQ A dimensioned quantity expressing the result of measuring
Public classPQR An extension of the coded value datatype representing a physical quantity using an unit from any code system . Used to show alternative representation for a physical quantity. The coded value represents the unit (usually in some other coding system other than UCCUM)
Public classQSC <T > Represents a genericized QSET which contains a collection of terms
Public classQSD <T > Represents a QSET <T > that has been specialized as a difference between [P:First] and [P:Second]
Public classQSET <T > A set of consecutive values of an ordered base data type
Public classQSI <T > Represents a QSET <T > that has been specialized as an intersection of other sets.
Public classQSP <T > Represents a QSET <T > that has been specialized as a periodic hull between [P:First] and [P:Second]
Public classQSS <T > Represents a QSET <T > that has been specialized as containing a set.
Public classQSU <T > Represents a QSET <T > that has been specialized as a union of other sets.
Public classQTY <T > The quantity data type is an abstract generalization for all data types whose value set has an order relation and where difference is defined in all of the data type's totally ordered value subsets. A quantity type abstraction is needed in defining certain other types such as the interval and probability distribution
Public classREAL Represents fractional numbers.
Public classRTO <S, T > A quantity constructed as the quotient of a numerator quantity divided by the denominator
Public classSC The SC class represents an ST that optionally has a code attached.
Public classSET <T >
Public classSLIST <T > A sequence of sampled values scaled and translated from a list of integer values. Used to specify sampled biosignals
Public classSPQRObsolete. SPQR is an initialism from a Latin phrase, Senatus Populusque Romanus ("The Senate and People of Rome")
Public classST The character string datatype stands for text data primarily intended for machine processing
Public classSXCM <T > Set component: An individual component belonging to a set. See IVL for an example of a specific type of set.
Public classSXPR <T > A set component that is itself made up of set components that are evaluated as one value
Public classTEL A telephone number, voice, fax, email address, or other locator used for a resouce mediated by telecommunications equipment.
Public classTN Trivial Name: A restriction of EN(Entity Name) that is a string used for simple names.
Public classTS A quantity specifying a point on the axis of natural time.
Public classURG <T > A union of UVP <T >(Probability) and IVL <T >(Interval).
Public classUVP <T > A generic datatype extension used to specify a proabability(percentage, from 0 to 1) expressing the information


Public enumerationAddressPartType Identifies how an address part contributes to the address.
Public enumerationCalendarCycle Specifies how the repetitions of the Periodic Interval are aligned to the cycles of the underlying calendar. A non-aligned periodic interval recurs independently from the calendar(e.g every 30 days). An aligned periodic interval is synchronized with the calendar(e.g the 5th day of every month).
Public enumerationCodingRationale A CD represents any kind of concept usually by giving a code defined in a code system. A CD builds upon a CE by allowing the assignment of qualifiers.
Public enumerationDatePrecision Date precision
Public enumerationDomainTimingEventType Domain timing event type
Public enumerationEntityNamePartQualifier An enumeration of part qualifiers.
Public enumerationEntityNamePartType An enumeration of part types.
Public enumerationEntityNameUse Enumeration of entity name uses.
Public enumerationIdentifierReliability Identifies the reliability of the II
Public enumerationIdentifierScope Identifies the scope to which an II applies
Public enumerationIdentifierUse Identifies how the II should be used
Public enumerationNullFlavor Indicates why a value is not present.
Public enumerationPostalAddressUse Identifies how an address can be used
Public enumerationSetOperator A code specifying whether the set component is included (union) or excluded (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.
Public enumerationUpdateMode An enumeration of the allowed update modes. See Members for modes.


Data Types are a major portion of any HL7v3 system. Data types represent the foundational classes from which more complex classes can be constructed.

The MARC-HI Everest Framework contains a series of data types classes that are a hand written combination of R1 and R2 HL7 data types structures. They contain methods that aim to assist developers in the creation of their instances and all attempts have been made to sheild developers from the complexities of the data types.


Sheilded Data Types

// Note how a developer is sheilded from using data types directly
REPC_IN000076CA instance = new REPC_IN000076CA();
instance.Id = Guid.NewGuid();
instance.CreationTime = DateTime.Now;
instance.ProcessingMode = ProcessingID.Immediate;

The data types themselves may be formatted using one or more data type formatters. This makes it possible to use the same data types classes in instances that use R1 or R2 data types.