public interface Entity extends InfrastructureRoot, Versioned
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 (example patient, provider).
Modifier and Type | Method and Description |
---|---|
void |
addId(II id)
Adds an id to the set of ids.
|
void |
addLanguageCommunication(LanguageCommunication languageCommunication)
Adds a
LanguageCommunication to this entity |
void |
addName(EN name)
Adds a name expressed as an EN datatype to the Bag of Names.
|
Role |
addPlayedRole(CS roleClass,
CE code,
Entity scoper,
SET<II> id)
Creates a role according to the given parameters and adds the role to the
collection of roles played by this entity.
|
void |
addQuantity(PQ pq)
Adds a quantity to the entity
|
Role |
addScopedRole(CS roleClass,
CE code,
Entity player,
SET<II> id)
Creates a role according to the given parameters and adds the role to the
collection of roles scoped by this entity.
|
void |
addTelecom(TEL telecom)
Adds a TEL datatype to the bag of TELs
|
CS |
getClassCode()
An HL7 defined value representing the class or category that the
Entity instance represents. |
CE |
getCode()
A value representing the specific kind of
Entity the
instance represents. |
ED |
getDesc()
A textual or multimedia depiction of the
Entity . |
CS |
getDeterminerCode()
An HL7 defined value representing whether the
Entity
represents a kind-of or a specific instance. |
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 . |
Iterator |
getLanguageCommunication()
A collection of
LanguageCommunication objects applicable to
this entity. |
BAG<EN> |
getName()
A non-unique textual identifier or moniker for the
Entity . |
Iterator |
getOwnedPlayedRoles()
Gets retrieved roles played and owned by this entity.
|
Iterator |
getOwnedPlayedRoles(RoleFetch roleFetch)
Gets retrieved roles played and owned by this entity.
|
Iterator |
getOwnedScopedRoles()
Gets retrieved roles scoped and owned by this entity.
|
Iterator |
getOwnedScopedRoles(RoleFetch roleFetch)
Gets retrieved roles scoped and owned by this entity.
|
Iterator |
getPlayedRoles()
Gets retrieved all roles played by this entity.
|
Iterator |
getPlayedRoles(RoleFetch roleFetch)
Gets retrieved roles all played by this entity.
|
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 . |
Iterator |
getScopedRoles()
Gets retrieved roles scoped by this entity.
|
Iterator |
getScopedRoles(RoleFetch roleFetch)
Gets retrieved roles scoped by this entity.
|
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 |
setDesc(ED desc) |
void |
setExistenceTime(IVL<TS> existenceTime) |
void |
setHandlingCode(CE handlingCode) |
void |
setName(BAG<EN> name) |
void |
setQuantity(SET<PQ> setPq) |
void |
setRiskCode(CE riskCode) |
void |
setStatusCode(CS statusCode) |
void |
setTelecom(BAG<TEL> telecom) |
getControlAct, getToken, setToken
createNewVersion, getVersionNum, isCurrentVersion
CS getClassCode()
Entity
instance represents.
Examples: Person, Animal, Chemical Substance, Group, Organization
Rationale: Due to the extremely large number of potential values for a
code set representing all physical things in the universe, the class code
indicates both the subtype branch of the Entity
hierarchy
used as well as a high-level classifier to represent the instance of
Entity
. This can be used to constrain the eligible value
domains for the Entity.code
attribute.
EntityFactory
Entity
by the EntityFactory
.CS getDeterminerCode()
Entity
represents a kind-of or a specific instance.
Examples: 1 human being (an instance), 3 syringes (quantified kind) or the population of Indianapolis (kind of group)
Rationale: An Entity
may at times represent information
concerning a specific instance (the most common), a quantifiable group
with common characteristics or a general type of Entity
.
This code distinguishes these different representations.
Entity
by the EntityFactory
.SET<II> getId()
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.
Oracle: Identifiers are only required to be unique within specific
domains. Entities created by the EntityFactory
always
contain one Identifier generated by HDR.
void addId(II id) throws HDRRimException
id
- The entity id, must be a valid II. The II is unique across a
broad class (Act, Entity, non-owned Role) rather than across the finer
grained classes of HL7.HDRRimException
- If this Entity
is a queried object.CE getCode()
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 (example,, 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.
Entity
code is set set on the
Entity
by the EntityFactory
.BAG<EN> getName()
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.
void setName(BAG<EN> name) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.void addName(EN name) throws HDRRimException
name
- The entity Name, must be a valid EN datatypeHDRRimException
- If this Entity
is a queried object.ED getDesc()
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.
void setDesc(ED desc) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.CS getStatusCode()
Entity
is currently active or inactive for the purpose of
participation in acts.
void setStatusCode(CS statusCode) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.IVL<TS> getExistenceTime()
Entity
physically existed.
Examples: Birthdate/Deathdate, ManufactureDate/DisposalDate
Constraints: This period may represent past, present or future time periods.
Rationale: Physical entities have specified periods in which they exist. Human beings are born, live their lives and die. Equipment is manufactured, placed in service, retired and salvaged. The relevance of this attribute is in planning, availability and retrospective analysis.
void setExistenceTime(IVL<TS> existenceTime) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.void setTelecom(BAG<TEL> telecom) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.void addTelecom(TEL telecom) throws HDRRimException
telecom
- The telecom dataHDRRimException
- If this Entity
is a queried object.CE getRiskCode()
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.
void setRiskCode(CE riskCode) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.CE getHandlingCode()
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.
void setHandlingCode(CE handlingCode) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.Iterator getPlayedRoles()
Entity
obtained through
EntityFactory
then this would return all the owned roles
added where this entity is the player. If this method is called on an
Entity
versioned through createNewVersion call, then this
would return all the carried forward roles played by this entity plus any
roles (owned ) added where this entity is the player minus any such roles
deleted.Iterator getPlayedRoles(RoleFetch roleFetch) throws HDRRimException
roleFetch
object was used in the query, then this method
would return the Played Roles fetched due to this fetch object. Otherwise
it would return null.
For example, passing a fetch object with the class code "PAT" set as a criteria will return a list of all patient roles played by that person.
roleFetch
- Fetch object containing the search criteria.HDRRimException
- under the following conditions:
roleFetch
is passed as null.Entity
is not a queried object.Role
,
Query
Role addPlayedRole(CS roleClass, CE code, Entity scoper, SET<II> id) throws HDRRimException
roleClass
- the class of the played rolecode
- the played role codescoper
- an optional entity scoping the played roleid
- an optional set of IIs. The II is unique across a broad class
(Act, Entity, non-owned Role) rather than across the finer grained
classes of HL7.Entity
.HDRRimException
- under the following conditions:
Entity
is a queried object.addScopedRole(CS, CE, Entity, SET)
,
Role
,
RoleFactory
Iterator getOwnedPlayedRoles()
Entity
obtained
through EntityFactory then this would return all the roles (owned) added
where this entity is the player. If this method is called on an
Entity
versioned through createNewVersion call, then this
would return all the carried forward owned roles played by this entity
plus any roles (owned) added where this entity is the player minus any
such roles deleted. Owned roles are roles that conceptually belong to an
entity and are never directly used in participation with an act. For
example "NOK"EntityFactory
Iterator getOwnedPlayedRoles(RoleFetch roleFetch) throws HDRRimException
roleFetch
object was used in the query, then this method
would return the owned Played Roles fetched due to this fetch object.
Otherwise it would return null. Owned roles are roles that conceptually
belong to an entity and are never directly used in participation with an
act. For example "NOK"roleFetch
- Fetch object containing the search criteria.HDRRimException
- under the following conditions:
roleFetch
is passed as null.Entity
is not a queried object.Role
,
Participation
,
Act
Iterator getScopedRoles()
Entity
obtained through
EntityFactory
then this would return all the roles (owned)
added where this entity is the scoper. If this method is called on an
Entity
versioned through createNewVersion call, then this
would return all the carried forward roles scoped by this entity plus any
roles (owned) added where this entity is the scoper minus any such roles
deleted.Role
,
EntityFactory
Iterator getScopedRoles(RoleFetch roleFetch) throws HDRRimException
roleFetch
object was used in the query, then this method
would return the Scoped Roles fetched due to this fetch object. Otherwise
it would return null.
For example, asking an organization to return "ASSIGNED" (staff) roles will return a list of all staff members scoped by that organization.
roleFetch
- fetch object containing the search criteria.HDRRimException
- under the following conditions:
roleFetch
is passed as null.Entity
is not a queried object.Role
,
EntityFactory
Role addScopedRole(CS roleClass, CE code, Entity player, SET<II> id) throws HDRRimException
roleClass
- the class of the scoped rolecode
- the scoped role codeplayer
- an optional entity scoping the played roleid
- an optional set of IIs. The II is unique across a broad class
(Act, Entity, non-owned Role) rather than across the finer grained
classes of HL7.HDRRimException
- under the following conditions:
Entity
is a queried object.addPlayedRole(CS, CE, Entity, SET)
,
Role
,
RoleFactory
Iterator getOwnedScopedRoles()
Entity
obtained
through EntityFactory
then this would return all the roles
(owned) added where this entity is the scoper. If this method is called
on an Entity
versioned through createNewVersion call, then
this would return all the carried forward owned roles scoped by this
entity plus any roles (owned) added where this entity is the scoper minus
any such roles deleted.Act
,
Role
,
EntityFactory
Iterator getOwnedScopedRoles(RoleFetch roleFetch) throws HDRRimException
roleFetch
object was used in the query, then this method
would return the owned Scoped Roles fetched due to this fetch object.
Otherwise it would return null.roleFetch
- Fetch object containing the search criteria.HDRRimException
- under the following conditions:
roleFetch
is passed as null.Entity
is not a queried object.Role
Iterator getLanguageCommunication()
LanguageCommunication
objects applicable to
this entity.LanguageCommunication
void addLanguageCommunication(LanguageCommunication languageCommunication) throws HDRRimException
LanguageCommunication
to this entitylanguageCommunication
- A LanguageCommunication
to add
to the existing collectionHDRRimException
- If this Entity
is a queried object.LanguageCommunication
SET<PQ> getQuantity()
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 (example, 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
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 (example,,
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.
void setQuantity(SET<PQ> setPq) throws HDRRimException
HDRRimException
- If this Entity
is a queried object.void addQuantity(PQ pq) throws HDRRimException
pq
- the quantity as a PQHDRRimException
- If this Entity
is a queried object.HDR Glossary HDR Concept Lists HDR Exceptions HDR Programmer's Guide HDR Implementation Guide HDR Profile Options
Copyright © 2016, 2018, Oracle. All rights reserved