org.hl7.rim
Interface Entity

All Superinterfaces:
BasicEntity, java.lang.Cloneable, Hibernatable, InfrastructureRoot, RimObject
All Known Subinterfaces:
Container, Device, LivingSubject, ManufacturedMaterial, Material, NonPersonLivingSubject, Organization, Person, Place
All Known Implementing Classes:
ContainerDecorator, ContainerImpl, DeviceDecorator, DeviceImpl, EntityDecorator, EntityImpl, LivingSubjectDecorator, LivingSubjectImpl, ManufacturedMaterialDecorator, ManufacturedMaterialImpl, MaterialDecorator, MaterialImpl, NonPersonLivingSubjectDecorator, NonPersonLivingSubjectImpl, OrganizationDecorator, OrganizationImpl, PersonDecorator, PersonImpl, PlaceDecorator, PlaceImpl

public interface Entity
extends BasicEntity

A physical thing, group of physical things or an organization capable of participating in Acts, while in a role.

Discussion: An entity is a physical object that has, had or will have existence. The only exception to this is Organization, which while not having a physical presence, fulfills the other characteristics of an Entity. The Entity hierarchy encompasses living subjects (including human beings), organizations, material, and places and their specializations. It does not indicate the roles played, or acts that these entities participate in.

Constraints: It does not include events/acts/actions, or the roles that things can play (e.g. patient, provider).


Method Summary
 void addCommunicationFunction(CommunicationFunction communicationFunction)
          Adds an association communicationFunction.
 void addLanguageCommunication(LanguageCommunication languageCommunication)
          Adds an association languageCommunication.
 void addPlayedRole(Role playedRole)
          Adds an association playedRole.
 void addScopedRole(Role scopedRole)
          Adds an association scopedRole.
 CE getCode()
          A value representing the specific kind of Entity the instance represents.
 java.util.List<CommunicationFunction> getCommunicationFunction()
           
 ED getDesc()
          A textual or multimedia depiction of the Entity.
 IVL<TS> getExistenceTime()
          An interval of time specifying the period in which the Entity physically existed.
 CE getHandlingCode()
          A value representing special handling requirements for the Entity.
 SET<II> getId()
          A unique identifier for the Entity.
 java.util.List<LanguageCommunication> getLanguageCommunication()
           
 BAG<EN> getName()
          A non-unique textual identifier or moniker for the Entity.
 java.util.List<Role> getPlayedRole()
           
 SET<PQ> getQuantity()
          The number or quantity of the Entity, with appropriate units, congruent with the value of Entity.determinerCode.
 CE getRiskCode()
          A value representing the type of hazard or threat associated with the Entity.
 java.util.List<Role> getScopedRole()
           
 CS getStatusCode()
          A value representing whether the information associated with the Entity is currently active or inactive for the purpose of participation in acts.
 BAG<TEL> getTelecom()
          A telecommunication address for the Entity.
 void setCode(CE code)
          Sets the property code.
 void setCommunicationFunction(java.util.List<CommunicationFunction> communicationFunction)
          Sets the property communicationFunction.
 void setDesc(ED desc)
          Sets the property desc.
 void setExistenceTime(IVL<TS> existenceTime)
          Sets the property existenceTime.
 void setHandlingCode(CE handlingCode)
          Sets the property handlingCode.
 void setId(SET<II> id)
          Sets the property id.
 void setLanguageCommunication(java.util.List<LanguageCommunication> languageCommunication)
          Sets the property languageCommunication.
 void setName(BAG<EN> name)
          Sets the property name.
 void setPlayedRole(java.util.List<Role> playedRole)
          Sets the property playedRole.
 void setQuantity(SET<PQ> quantity)
          Sets the property quantity.
 void setRiskCode(CE riskCode)
          Sets the property riskCode.
 void setScopedRole(java.util.List<Role> scopedRole)
          Sets the property scopedRole.
 void setStatusCode(CS statusCode)
          Sets the property statusCode.
 void setTelecom(BAG<TEL> telecom)
          Sets the property telecom.
 
Methods inherited from interface org.hl7.rim.BasicEntity
getClassCode, getDeterminerCode, setClassCode, setDeterminerCode
 
Methods inherited from interface org.hl7.rim.InfrastructureRoot
getNullFlavor, getRealmCode, getTemplateId, getTypeId, setNullFlavor, setRealmCode, setTemplateId, setTypeId
 
Methods inherited from interface org.hl7.rim.RimObject
clone, getCloneCode, getType, setCloneCode, setType
 
Methods inherited from interface org.hl7.hibernate.Hibernatable
getInternalId, getInternalVersionNumber, setInternalId, setInternalVersionNumber
 

Method Detail

getId

SET<II> getId()

A unique identifier for the Entity.

Rationale: Successful communication only requires that an entity have a single identifier assigned to it. However, it is recognized that as different systems maintain different databases, there may be different instance identifiers assigned by different systems. Note that an instance identifier is a pure identifier and not a classifier. For Material, serial numbers assigned by specific manufacturers, catalog numbers of specific distributors, or inventory numbers issued by owners, may also be represented by the Role.id, which allows a more clear expression of the fact that such a code is assigned by a specific party associated with that material.


setId

void setId(SET<II> id)
Sets the property id.

See Also:
getId()

getCode

CE getCode()

A value representing the specific kind of Entity the instance represents.

Examples: A medical building, a Doberman Pinscher, a blood collection tube, a tissue biopsy.

Rationale: For each Entity, the value for this attribute is drawn from one of several coding systems depending on the Entity.classCode, such as living subjects (animal and plant taxonomies), chemical substance (e.g., IUPAC code), organizations, insurance company, government agency, hospital, park, lake, syringe, etc. It is possible that Entity.code may be so fine grained that it represents a single instance. An example is the CDC vaccine manufacturer code, modeled as a concept vocabulary, when in fact each concept refers to a single instance.


setCode

void setCode(CE code)
Sets the property code.

See Also:
getCode()

getQuantity

SET<PQ> getQuantity()

The number or quantity of the Entity, with appropriate units, congruent with the value of Entity.determinerCode.

Examples: With undetermined kinds, the quantity is but a reference quantity for the specification of the proportion of ingredients or components (e.g. through a has-part, has-ingredient, or has-content Role). For example, a kind of group with 60% females is Person(quantity = 100) has-part Person(quantity = 60; sex = female). Amoxicillin 500 mg per tablet is Material(Tablet, quantity = 1) has-ingredient Material(Amoxicillin, quantity = 500 mg). Glucose 5% (D5W) is Material(D5W, quantity = 1 kg) has-ingredient Material(Glucose, quantity = 50 g).

Material-specific quantity relations are expressed using the fact that the data type of this attribute is a set of physical quantity (SET<PQ>). If more than one quantity value are specified in this set, each element in this set is considered to specify the same amount of the material. For example, for one liter of water one could use the set 1 L, 1 kg, 55.56 mol to specify the volume, mass, and amount of substance for the same amount of water, this is equivalent with specifying the mass density (volumic mass 1 kg/L) and the molar mass (18 g/mol). For Glucose one could specify 180 g, 1 mol according to the molar mass (180 g/mol).

Discussion: When the Entity instance is a portion of a substance, the quantity specifies the amount of that substance comprised by that portion. For an undetermined substance (kind) the quantity serves two purposes at the same time: (a) it provides a means of relations between quantities specific for that substance, and (b) it is a reference quantity for the specification of ingredients or components. In all cases, the quantity is an extensive "amount" kind of quantity (e.g., number, length, volume, mass, surface area, energy, etc.). Note that most relative or fractional quantities are not amounts, in particular, mass fraction, substance concentration, mass ratios, percentages, etc. are not extensive quantities and are prohibited values for this attribute.

Constraints: For Entities with determinerCode = INSTANCE, the quantity is 1. For an Entity with determinerCode = QUANTIFIED_KIND, the quantity is the number of individual members in the group; for an Entity with a determinerCode = KIND, the value is undetermined.


setQuantity

void setQuantity(SET<PQ> quantity)
Sets the property quantity.

See Also:
getQuantity()

getName

BAG<EN> getName()

A non-unique textual identifier or moniker for the Entity.

Examples: Proper names, nicknames, legal names of persons, places or things.

Rationale: Most entities have a commonly used name that can be used to differentiate them from other Entities, but does not provide a unique identifier.


setName

void setName(BAG<EN> name)
Sets the property name.

See Also:
getName()

getDesc

ED getDesc()

A textual or multimedia depiction of the Entity.

Discussion: The content of the description is not considered part of the functional information communicated between systems. Descriptions are meant to be shown to interested human individuals. All information relevant for automated functions must be communicated using the proper attributes and associated objects.

Rationale: Names and descriptions of entities are typically more meaningful to human viewers than numeric, mnemonic or abbreviated code values. The description allows for additional context about the entity to be conveyed to human viewers without impacting the functional components of the message.


setDesc

void setDesc(ED desc)
Sets the property desc.

See Also:
getDesc()

getStatusCode

CS getStatusCode()

A value representing whether the information associated with the Entity is currently active or inactive for the purpose of participation in acts.

Design Advisory: This attribute was defined in the original RIM as repeating, owing to the presence of nested states in the state machines. In actual practice, however, there is never a need to communicate more than a single status value. therefore, committees are advised to constrain this attribute to a maximum cardinality of 1 in all message designs.


setStatusCode

void setStatusCode(CS statusCode)
Sets the property statusCode.

See Also:
getStatusCode()

getExistenceTime

IVL<TS> getExistenceTime()

An interval of time specifying the period in which the Entity physically existed.

Examples: ManufactureDate/DisposalDate

Constraints: This period may represent past, present or future time periods.

Rationale: Physical entities have specified periods in which they exist. Equipment is manufactured, placed in service, retired and salvaged. The relevance of this attribute is in planning, availability and retrospective analysis.


setExistenceTime

void setExistenceTime(IVL<TS> existenceTime)
Sets the property existenceTime.

See Also:
getExistenceTime()

getTelecom

BAG<TEL> getTelecom()

A telecommunication address for the Entity.


setTelecom

void setTelecom(BAG<TEL> telecom)
Sets the property telecom.

See Also:
getTelecom()

getRiskCode

CE getRiskCode()

A value representing the type of hazard or threat associated with the Entity.

Examples: Petrochemical or organic chemicals are highly flammable agents that pose an increased risk of fire under certain conditions. Entities with either natural or introduced radioactive character pose a risk to those handling them. Entities comprising specimens from diseased individuals pose an increased risk of infection to those handling them. Persons or animals of irascible temperament may prove to be a risk to healthcare personnel.

Rationale: Some entities have characteristics that pose potential increased risk of injury or damage to other Entities. This attribute identifies the type of risk without specifying the level of risk.


setRiskCode

void setRiskCode(CE riskCode)
Sets the property riskCode.

See Also:
getRiskCode()

getHandlingCode

CE getHandlingCode()

A value representing special handling requirements for the Entity.

Examples: Keep at room temperature; Keep frozen below 0 C; Keep in a dry environment; Keep upright, do not turn upside down.

Rationale: This attribute is used to describe special handling required by the Entity to avoid damage to it or other entities.


setHandlingCode

void setHandlingCode(CE handlingCode)
Sets the property handlingCode.

See Also:
getHandlingCode()

getCommunicationFunction

java.util.List<CommunicationFunction> getCommunicationFunction()

setCommunicationFunction

void setCommunicationFunction(java.util.List<CommunicationFunction> communicationFunction)
Sets the property communicationFunction.

See Also:
getCommunicationFunction()

addCommunicationFunction

void addCommunicationFunction(CommunicationFunction communicationFunction)
Adds an association communicationFunction.

See Also:
addCommunicationFunction(org.hl7.rim.CommunicationFunction)

getLanguageCommunication

java.util.List<LanguageCommunication> getLanguageCommunication()

setLanguageCommunication

void setLanguageCommunication(java.util.List<LanguageCommunication> languageCommunication)
Sets the property languageCommunication.

See Also:
getLanguageCommunication()

addLanguageCommunication

void addLanguageCommunication(LanguageCommunication languageCommunication)
Adds an association languageCommunication.

See Also:
addLanguageCommunication(org.hl7.rim.LanguageCommunication)

getPlayedRole

java.util.List<Role> getPlayedRole()

setPlayedRole

void setPlayedRole(java.util.List<Role> playedRole)
Sets the property playedRole.

See Also:
getPlayedRole()

addPlayedRole

void addPlayedRole(Role playedRole)
Adds an association playedRole.

See Also:
addPlayedRole(org.hl7.rim.Role)

getScopedRole

java.util.List<Role> getScopedRole()

setScopedRole

void setScopedRole(java.util.List<Role> scopedRole)
Sets the property scopedRole.

See Also:
getScopedRole()

addScopedRole

void addScopedRole(Role scopedRole)
Adds an association scopedRole.

See Also:
addScopedRole(org.hl7.rim.Role)