org.hl7.rim
public interface Role extends RimObject, InfrastructureRoot
A competency of the Entity playing the Role as identified, defined, guaranteed, or acknowledged by the Entity that scopes the Role.
Discussion: An Entity participates in an Act as in a particular Role. Note that a particular entity in a particular role can participate in an act in many ways. Thus, a Person in the role of a practitioner can participate in a patient encounter as a rounding physician or as an attending physician. The Role defines the competency of the Entity irrespective of any Act, as opposed to Participation, which are limited to the scope of an Act.
Each role is "played" by one Entity, called the "player" and is "scoped" by another Entity, called the "scoper". Thus the Role of "patient" may be played by a person and scoped by the provider organization from which the patient will receive services. Similarly, the employer scopes an "employee" role.
The identifier of the Role identifies the Entity playing the role in that role. This identifier is assigned by the scoping Entity to the player. The scoping Entity need not have issued the identifier, but it may have re-used an existing identifier for the Entity to also identify the Entity in the Role with the scoper.
Most attributes of Role are attributes of the playing entity while in the particular role.
| Method Summary | |
|---|---|
| void | addInboundLink(RoleLink value)
Adds an association 'inboundLink' to RIM class RoleLink.
|
| void | addOutboundLink(RoleLink value)
Adds an association 'outboundLink' to RIM class RoleLink.
|
| void | addParticipation(Participation value)
Adds an association 'participation' to RIM class Participation.
|
| BAG<AD> | getAddr()
Gets attribute addr of type BAG |
| ED | getCertificateText()
Gets attribute certificateText of type ED and cardinality 0..1.
|
| CS | getClassCode()
Gets attribute classCode of type CS and cardinality 1..1.
|
| CE | getCode()
Gets attribute code of type CE and cardinality 0..1.
|
| IVL<TS> | getEffectiveTime()
Gets attribute effectiveTime of type IVL |
| SET<II> | getId()
Gets attribute id of type SET |
| AssociationSet<RoleLink> | getInboundLink()
Gets association 'inboundLink' to RIM classes RoleLink with cardinality (0..*).
|
| BL | getNegationInd()
Gets attribute negationInd of type BL and cardinality 0..1.
|
| AssociationSet<RoleLink> | getOutboundLink()
Gets association 'outboundLink' to RIM classes RoleLink with cardinality (0..*).
|
| AssociationSet<Participation> | getParticipation()
Gets association 'participation' to RIM classes Participation with cardinality (0..*).
|
| Entity | getPlayer()
Gets association 'player' to RIM class Entity with cardinality (0..1).
|
| LIST<INT> | getPositionNumber()
Gets attribute positionNumber of type LIST |
| RTO | getQuantity()
Gets attribute quantity of type RTO and cardinality 0..1.
|
| Entity | getScoper()
Gets association 'scoper' to RIM class Entity with cardinality (0..1).
|
| SET<CS> | getStatusCode()
Gets attribute statusCode of type SET |
| BAG<TEL> | getTelecom()
Gets attribute telecom of type BAG |
| void | setAddr(BAG<AD> value)
Sets attribute addr of type BAG |
| void | setCertificateText(ED value)
Sets attribute certificateText of type ED and cardinality 0..1.
|
| void | setClassCode(CS value)
Sets attribute classCode of type CS and cardinality 1..1.
|
| void | setCode(CE value)
Sets attribute code of type CE and cardinality 0..1.
|
| void | setEffectiveTime(IVL<TS> value)
Sets attribute effectiveTime of type IVL |
| void | setId(SET<II> value)
Sets attribute id of type SET |
| void | setInboundLink(AssociationSet<RoleLink> value)
Sets associations 'inboundLink' to RIM classes RoleLink with cardinality (0..*).
|
| void | setNegationInd(BL value)
Sets attribute negationInd of type BL and cardinality 0..1.
|
| void | setOutboundLink(AssociationSet<RoleLink> value)
Sets associations 'outboundLink' to RIM classes RoleLink with cardinality (0..*).
|
| void | setParticipation(AssociationSet<Participation> value)
Sets associations 'participation' to RIM classes Participation with cardinality (0..*).
|
| void | setPlayer(Entity value)
Sets association 'player' to RIM class Entity with cardinality (0..1).
|
| void | setPositionNumber(LIST<INT> value)
Sets attribute positionNumber of type LIST |
| void | setQuantity(RTO value)
Sets attribute quantity of type RTO and cardinality 0..1.
|
| void | setScoper(Entity value)
Sets association 'scoper' to RIM class Entity with cardinality (0..1).
|
| void | setStatusCode(SET<CS> value)
Sets attribute statusCode of type SET |
| void | setTelecom(BAG<TEL> value)
Sets attribute telecom of type BAG |
Parameters: value the added association value
Parameters: value the added association value
Parameters: value the added association value
An address for the Entity while in the Role.
Returns: the attribute value
A textual or multimedia depiction of a certificate issued by the scoping Entity of a Role certifying that this Role is indeed played by the player Entity.
Examples: The certificate can be represented in many different ways, either inline or by reference, according to the ED data type. Typical cases are:
1.) Paper-based certificate: the ED data type may refer to some document or file that can be retrieved through an electronic interface to a hardcopy archive.
2.) Electronic certificate: this attribute can represent virtually any electronic certification scheme, such as, an electronically (including digitally) signed electronic text document.
3.) Digital certificate (public key certificate): in particular, this attribute can represent digital certificates, as an inline data block or by reference to such data. The certificate data block would be constructed in accordance to a digital certificate standard, such as X509, SPKI, PGP, etc.
The certificate subject is the Entity that plays the Role. The certificate issuer is the Entity that scopes the Role.
Returns: the attribute value
A code specifying the major category of a Role as defined by HL7 vocabulary.
Returns: the attribute value
A code further specifying the kind of Role.
Discussion: The Role.code must conceptually be a proper specialization of Role.classCode. Role.code does not modify Role.classCode. Rather, each is a complete concept or a Role-like relationship between two Entities, but Role.code may be more specific than Role.classCode.
The Role.code may not be coded if only an un-coded name for the type of role is commonly used.
Returns: the attribute value
An interval of time specifying the period during which the Role is in effect, if such time limit is applicable and known.
Returns: the attribute value
A unique identifier for the player Entity in this Role.
Returns: the attribute value
Returns: the references to the linked classes
An indicator specifying that the Role is a competency that is specifically not attributed to the Entity playing the Role.
Examples: 1.) This Person is not our Employee
2.) This Mouthwash does not have Alcohol as an ingredient.
Constraint
Normally all Roles are considered to be affirmative. (This attribute defaults to FALSE).
Returns: the attribute value
Returns: the references to the linked classes
Returns: the references to the linked classes
The following constraint applies to this association:
Invariant (Role x) { not(x.player.equals(null)) or not(x.scoper.equals(null)) }
Returns: the reference to the linked class
An integer specifying the position of the Entity playing the Role with respect to the Entity that scopes the Role.
Discussion: This attribute is primarily used with respect to containment roles. For example, some containers have discrete positions in which content may be located. Depending on the geometry of the container, the position may be referenced as a scalar ordinal number, or as a vector of ordinal numbers (coordinates). Coordinates always begin counting at 1.
Some containers may have customary ways of referring to the positions or no way at all. In the absence of any specific regulation for a specific container type, the rule of thumb is that the coordinate that is changed earlier is positioned first. For an automated blood chemistry analyzer with a square shaped tray, this means that the first coordinate is the one in which direction the tray moves at each step and the second coordinate is the one in which the tray moves only every 10 (or so) steps.
Returns: the attribute value
A ratio (numerator : denominator) specifying the relative quantities of the Entity playing the Role in the Entity scoping the Role, used for Roles that represent composition relationships between the scoping and playing Entities.
Examples: 1.) This syrup's (scoper) ingredients include 160 mg (numerator) Acetaminophen (player) per tablespoon (denominator).
2.) This herd (scoper) consists of 500 (numerator) cattle (player).
3.) A VAX 6630 computer (scoper) has 3 (numerator) CPUs (player) as parts.
4.) This package (scoper) contains 100 (numerator) pills (player).
Discussion: In composition-relationships (e.g., has-parts, has-ingredient, has-content) the Role.quantity attribute specifies that a numerator amount of the target entity is comprised by a denominator amount of the source entity of such composition-relationship. For example, if a box (source) has-content 10 eggs (target), the relationship quantity is 10:1; if 0.6 mL contain 75 mg of FeSO4 the ingredient relationship quantity is 75 mg : 0.6 mL. Both numerator and denominator must be amount quantities (extensive quantities, i.e., a count number, mass, volume, amount of substance, amount of energy, etc.).
Returns: the attribute value
The following constraint applies to this association:
Invariant (Role x) { not(x.player.equals(null)) or not(x.scoper.equals(null)) }
Returns: the reference to the linked class
A code specifying the state of this Role as defined in the state-transition model.
Returns: the attribute value
A telecommunication address for the Entity while in the Role.
Returns: the attribute value
An address for the Entity while in the Role.
Parameters: value the new attribute value
A textual or multimedia depiction of a certificate issued by the scoping Entity of a Role certifying that this Role is indeed played by the player Entity.
Examples: The certificate can be represented in many different ways, either inline or by reference, according to the ED data type. Typical cases are:
1.) Paper-based certificate: the ED data type may refer to some document or file that can be retrieved through an electronic interface to a hardcopy archive.
2.) Electronic certificate: this attribute can represent virtually any electronic certification scheme, such as, an electronically (including digitally) signed electronic text document.
3.) Digital certificate (public key certificate): in particular, this attribute can represent digital certificates, as an inline data block or by reference to such data. The certificate data block would be constructed in accordance to a digital certificate standard, such as X509, SPKI, PGP, etc.
The certificate subject is the Entity that plays the Role. The certificate issuer is the Entity that scopes the Role.
Parameters: value the new attribute value
A code specifying the major category of a Role as defined by HL7 vocabulary.
Parameters: value the new attribute value
A code further specifying the kind of Role.
Discussion: The Role.code must conceptually be a proper specialization of Role.classCode. Role.code does not modify Role.classCode. Rather, each is a complete concept or a Role-like relationship between two Entities, but Role.code may be more specific than Role.classCode.
The Role.code may not be coded if only an un-coded name for the type of role is commonly used.
Parameters: value the new attribute value
An interval of time specifying the period during which the Role is in effect, if such time limit is applicable and known.
Parameters: value the new attribute value
A unique identifier for the player Entity in this Role.
Parameters: value the new attribute value
Parameters: value the new association values
An indicator specifying that the Role is a competency that is specifically not attributed to the Entity playing the Role.
Examples: 1.) This Person is not our Employee
2.) This Mouthwash does not have Alcohol as an ingredient.
Constraint
Normally all Roles are considered to be affirmative. (This attribute defaults to FALSE).
Parameters: value the new attribute value
Parameters: value the new association values
Parameters: value the new association values
The following constraint applies to this association:
Invariant (Role x) { not(x.player.equals(null)) or not(x.scoper.equals(null)) }
Parameters: value the new association value
An integer specifying the position of the Entity playing the Role with respect to the Entity that scopes the Role.
Discussion: This attribute is primarily used with respect to containment roles. For example, some containers have discrete positions in which content may be located. Depending on the geometry of the container, the position may be referenced as a scalar ordinal number, or as a vector of ordinal numbers (coordinates). Coordinates always begin counting at 1.
Some containers may have customary ways of referring to the positions or no way at all. In the absence of any specific regulation for a specific container type, the rule of thumb is that the coordinate that is changed earlier is positioned first. For an automated blood chemistry analyzer with a square shaped tray, this means that the first coordinate is the one in which direction the tray moves at each step and the second coordinate is the one in which the tray moves only every 10 (or so) steps.
Parameters: value the new attribute value
A ratio (numerator : denominator) specifying the relative quantities of the Entity playing the Role in the Entity scoping the Role, used for Roles that represent composition relationships between the scoping and playing Entities.
Examples: 1.) This syrup's (scoper) ingredients include 160 mg (numerator) Acetaminophen (player) per tablespoon (denominator).
2.) This herd (scoper) consists of 500 (numerator) cattle (player).
3.) A VAX 6630 computer (scoper) has 3 (numerator) CPUs (player) as parts.
4.) This package (scoper) contains 100 (numerator) pills (player).
Discussion: In composition-relationships (e.g., has-parts, has-ingredient, has-content) the Role.quantity attribute specifies that a numerator amount of the target entity is comprised by a denominator amount of the source entity of such composition-relationship. For example, if a box (source) has-content 10 eggs (target), the relationship quantity is 10:1; if 0.6 mL contain 75 mg of FeSO4 the ingredient relationship quantity is 75 mg : 0.6 mL. Both numerator and denominator must be amount quantities (extensive quantities, i.e., a count number, mass, volume, amount of substance, amount of energy, etc.).
Parameters: value the new attribute value
The following constraint applies to this association:
Invariant (Role x) { not(x.player.equals(null)) or not(x.scoper.equals(null)) }
Parameters: value the new association value
A code specifying the state of this Role as defined in the state-transition model.
Parameters: value the new attribute value
A telecommunication address for the Entity while in the Role.
Parameters: value the new attribute value