This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
Patient Administration Work Group | Maturity Level: 0 | Draft | Compartments: Not linked to any defined compartments |
A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
OrganizationRole describes the role an organization plays at an organization, including the services they provide, the location(s) where they provide services, and their availability, electronic endpoints, and other relevant information.
OrganizationRole addresses the need to define a non-hierarchical relationship between two or more organizations. For example: •One organization may provide services to another organization •Two or more organizations may form a partnership or joint venture •An organization may be a member of another organization, but not owned by it (e.g. a hospital is a member the American Hospital Association, a hospital is a member of a health information exchange network) OrganizationRole is similar in form and function to practitionerRole. Instead of references to practitioner and organization (as in practitionerRole), organizationRole includes references to a participatingOrg and a primaryOrg. The participating organization provides “services” to the primary organization (much like a practitioner provides services to an organization). Using the three examples above: •The participating organization provides services to the primary organization •The joint venture is considered the primary organization, and partners within the joint venture are considered participating organizations •An association is the primary organization, and its members are participating organizations. As with practitionerRole, organizationRole provides the link between an organization and a health insurance provider network.The role, specialty, Location telecom and HealthcareService properties can be repeated if required in other instances of the PractitionerRole. Some systems record a collection of service values for a single location, others record the single service and the list of locations it is available. Both are acceptable options for representing this data.
Qualifications (from the Practitioner resource) do not imply a Role, but might be considered when an Organization allocates practitioners to roles within their organization, and could provide useful information (such as expiry information) which could need to be tracked in some situations to ensure they continue to be eligible for a specific role.
Practitioner performs different roles within the same or even different organizations. Depending on jurisdiction and custom, it may be necessary to maintain a specific Practitioner Resource for each such role or have a single Practitioner with multiple roles. The role can be limited to a specific period, after which authorization for this role ends. Note that the represented organization need not necessarily be the (direct) employer of a Practitioner.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
OrganizationRole | D | DomainResource | Roles/organizations the practitioner is associated with Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location |
active | Σ | 0..1 | boolean | Whether this practitioner role record is in active use |
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) |
organization | Σ | 0..1 | Reference(Organization) | Organization where the roles are available |
participatingOrganization | Σ | 0..1 | Reference(Organization) | Practitioner that is able to provide the defined services for the organization |
network | Σ | 0..* | Reference(Organization) | The network(s) this association applies to |
code | Σ | 0..* | CodeableConcept | Roles which this practitioner may perform OrganizationRole (Example) |
specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Practice Setting Code Value Set (Preferred) |
location | Σ | 0..* | Reference(Location) | The location(s) at which this practitioner provides care |
healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |
telecom | Σ | 0..* | ContactPoint | Contact details that are specific to the role/location/service |
availableTime | 0..* | BackboneElement | Times the Service Site is available | |
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun DaysOfWeek (Required) | |
allDay | 0..1 | boolean | Always available? e.g. 24 hour service | |
availableStartTime | 0..1 | time | Opening time of day (ignored if allDay = true) | |
availableEndTime | 0..1 | time | Closing time of day (ignored if allDay = true) | |
notAvailable | 0..* | BackboneElement | Not available during this time due to provided reason | |
description | 1..1 | string | Reason presented to the user explaining why time not available | |
during | 0..1 | Period | Service not available from this date | |
availabilityExceptions | 0..1 | string | Description of availability exceptions | |
endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<OrganizationRole xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifiers that are specific to a role/location --></identifier> <active value="[boolean]"/><!-- 0..1 Whether this practitioner role record is in active use --> <period><!-- 0..1 Period The period during which the practitioner is authorized to perform in these role(s) --></period> <organization><!-- 0..1 Reference(Organization) Organization where the roles are available --></organization> <participatingOrganization><!-- 0..1 Reference(Organization) Practitioner that is able to provide the defined services for the organization --></participatingOrganization> <network><!-- 0..* Reference(Organization) The network(s) this association applies to --></network> <code><!-- 0..* CodeableConcept Roles which this practitioner may perform --></code> <specialty><!-- 0..* CodeableConcept Specific specialty of the practitioner --></specialty> <location><!-- 0..* Reference(Location) The location(s) at which this practitioner provides care --></location> <healthcareService><!-- 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s) --></healthcareService> <telecom><!-- 0..* ContactPoint Contact details that are specific to the role/location/service --></telecom> <availableTime> <!-- 0..* Times the Service Site is available --> <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun --> <allDay value="[boolean]"/><!-- 0..1 Always available? e.g. 24 hour service --> <availableStartTime value="[time]"/><!-- 0..1 Opening time of day (ignored if allDay = true) --> <availableEndTime value="[time]"/><!-- 0..1 Closing time of day (ignored if allDay = true) --> </availableTime> <notAvailable> <!-- 0..* Not available during this time due to provided reason --> <description value="[string]"/><!-- 1..1 Reason presented to the user explaining why time not available --> <during><!-- 0..1 Period Service not available from this date --></during> </notAvailable> <availabilityExceptions value="[string]"/><!-- 0..1 Description of availability exceptions --> <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role --></endpoint> </OrganizationRole>
JSON Template
{ "resourceType" : "OrganizationRole", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifiers that are specific to a role/location "active" : <boolean>, // Whether this practitioner role record is in active use "period" : { Period }, // The period during which the practitioner is authorized to perform in these role(s) "organization" : { Reference(Organization) }, // Organization where the roles are available "participatingOrganization" : { Reference(Organization) }, // Practitioner that is able to provide the defined services for the organization "network" : [{ Reference(Organization) }], // The network(s) this association applies to "code" : [{ CodeableConcept }], // Roles which this practitioner may perform "specialty" : [{ CodeableConcept }], // Specific specialty of the practitioner "location" : [{ Reference(Location) }], // The location(s) at which this practitioner provides care "healthcareService" : [{ Reference(HealthcareService) }], // The list of healthcare services that this worker provides for this role's Organization/Location(s) "telecom" : [{ ContactPoint }], // Contact details that are specific to the role/location/service "availableTime" : [{ // Times the Service Site is available "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun "allDay" : <boolean>, // Always available? e.g. 24 hour service "availableStartTime" : "<time>", // Opening time of day (ignored if allDay = true) "availableEndTime" : "<time>" // Closing time of day (ignored if allDay = true) }], "notAvailable" : [{ // Not available during this time due to provided reason "description" : "<string>", // R! Reason presented to the user explaining why time not available "during" : { Period } // Service not available from this date }], "availabilityExceptions" : "<string>", // Description of availability exceptions "endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the practitioner with this role }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:OrganizationRole; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:OrganizationRole.identifier [ Identifier ], ... ; # 0..* Business Identifiers that are specific to a role/location fhir:OrganizationRole.active [ boolean ]; # 0..1 Whether this practitioner role record is in active use fhir:OrganizationRole.period [ Period ]; # 0..1 The period during which the practitioner is authorized to perform in these role(s) fhir:OrganizationRole.organization [ Reference(Organization) ]; # 0..1 Organization where the roles are available fhir:OrganizationRole.participatingOrganization [ Reference(Organization) ]; # 0..1 Practitioner that is able to provide the defined services for the organization fhir:OrganizationRole.network [ Reference(Organization) ], ... ; # 0..* The network(s) this association applies to fhir:OrganizationRole.code [ CodeableConcept ], ... ; # 0..* Roles which this practitioner may perform fhir:OrganizationRole.specialty [ CodeableConcept ], ... ; # 0..* Specific specialty of the practitioner fhir:OrganizationRole.location [ Reference(Location) ], ... ; # 0..* The location(s) at which this practitioner provides care fhir:OrganizationRole.healthcareService [ Reference(HealthcareService) ], ... ; # 0..* The list of healthcare services that this worker provides for this role's Organization/Location(s) fhir:OrganizationRole.telecom [ ContactPoint ], ... ; # 0..* Contact details that are specific to the role/location/service fhir:OrganizationRole.availableTime [ # 0..* Times the Service Site is available fhir:OrganizationRole.availableTime.daysOfWeek [ code ], ... ; # 0..* mon | tue | wed | thu | fri | sat | sun fhir:OrganizationRole.availableTime.allDay [ boolean ]; # 0..1 Always available? e.g. 24 hour service fhir:OrganizationRole.availableTime.availableStartTime [ time ]; # 0..1 Opening time of day (ignored if allDay = true) fhir:OrganizationRole.availableTime.availableEndTime [ time ]; # 0..1 Closing time of day (ignored if allDay = true) ], ...; fhir:OrganizationRole.notAvailable [ # 0..* Not available during this time due to provided reason fhir:OrganizationRole.notAvailable.description [ string ]; # 1..1 Reason presented to the user explaining why time not available fhir:OrganizationRole.notAvailable.during [ Period ]; # 0..1 Service not available from this date ], ...; fhir:OrganizationRole.availabilityExceptions [ string ]; # 0..1 Description of availability exceptions fhir:OrganizationRole.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to services operated for the practitioner with this role ]
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
OrganizationRole | D | DomainResource | Roles/organizations the practitioner is associated with Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location |
active | Σ | 0..1 | boolean | Whether this practitioner role record is in active use |
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) |
organization | Σ | 0..1 | Reference(Organization) | Organization where the roles are available |
participatingOrganization | Σ | 0..1 | Reference(Organization) | Practitioner that is able to provide the defined services for the organization |
network | Σ | 0..* | Reference(Organization) | The network(s) this association applies to |
code | Σ | 0..* | CodeableConcept | Roles which this practitioner may perform OrganizationRole (Example) |
specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Practice Setting Code Value Set (Preferred) |
location | Σ | 0..* | Reference(Location) | The location(s) at which this practitioner provides care |
healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |
telecom | Σ | 0..* | ContactPoint | Contact details that are specific to the role/location/service |
availableTime | 0..* | BackboneElement | Times the Service Site is available | |
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun DaysOfWeek (Required) | |
allDay | 0..1 | boolean | Always available? e.g. 24 hour service | |
availableStartTime | 0..1 | time | Opening time of day (ignored if allDay = true) | |
availableEndTime | 0..1 | time | Closing time of day (ignored if allDay = true) | |
notAvailable | 0..* | BackboneElement | Not available during this time due to provided reason | |
description | 1..1 | string | Reason presented to the user explaining why time not available | |
during | 0..1 | Period | Service not available from this date | |
availabilityExceptions | 0..1 | string | Description of availability exceptions | |
endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role | |
Documentation for this format |
XML Template
<OrganizationRole xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifiers that are specific to a role/location --></identifier> <active value="[boolean]"/><!-- 0..1 Whether this practitioner role record is in active use --> <period><!-- 0..1 Period The period during which the practitioner is authorized to perform in these role(s) --></period> <organization><!-- 0..1 Reference(Organization) Organization where the roles are available --></organization> <participatingOrganization><!-- 0..1 Reference(Organization) Practitioner that is able to provide the defined services for the organization --></participatingOrganization> <network><!-- 0..* Reference(Organization) The network(s) this association applies to --></network> <code><!-- 0..* CodeableConcept Roles which this practitioner may perform --></code> <specialty><!-- 0..* CodeableConcept Specific specialty of the practitioner --></specialty> <location><!-- 0..* Reference(Location) The location(s) at which this practitioner provides care --></location> <healthcareService><!-- 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s) --></healthcareService> <telecom><!-- 0..* ContactPoint Contact details that are specific to the role/location/service --></telecom> <availableTime> <!-- 0..* Times the Service Site is available --> <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun --> <allDay value="[boolean]"/><!-- 0..1 Always available? e.g. 24 hour service --> <availableStartTime value="[time]"/><!-- 0..1 Opening time of day (ignored if allDay = true) --> <availableEndTime value="[time]"/><!-- 0..1 Closing time of day (ignored if allDay = true) --> </availableTime> <notAvailable> <!-- 0..* Not available during this time due to provided reason --> <description value="[string]"/><!-- 1..1 Reason presented to the user explaining why time not available --> <during><!-- 0..1 Period Service not available from this date --></during> </notAvailable> <availabilityExceptions value="[string]"/><!-- 0..1 Description of availability exceptions --> <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role --></endpoint> </OrganizationRole>
JSON Template
{ "resourceType" : "OrganizationRole", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifiers that are specific to a role/location "active" : <boolean>, // Whether this practitioner role record is in active use "period" : { Period }, // The period during which the practitioner is authorized to perform in these role(s) "organization" : { Reference(Organization) }, // Organization where the roles are available "participatingOrganization" : { Reference(Organization) }, // Practitioner that is able to provide the defined services for the organization "network" : [{ Reference(Organization) }], // The network(s) this association applies to "code" : [{ CodeableConcept }], // Roles which this practitioner may perform "specialty" : [{ CodeableConcept }], // Specific specialty of the practitioner "location" : [{ Reference(Location) }], // The location(s) at which this practitioner provides care "healthcareService" : [{ Reference(HealthcareService) }], // The list of healthcare services that this worker provides for this role's Organization/Location(s) "telecom" : [{ ContactPoint }], // Contact details that are specific to the role/location/service "availableTime" : [{ // Times the Service Site is available "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun "allDay" : <boolean>, // Always available? e.g. 24 hour service "availableStartTime" : "<time>", // Opening time of day (ignored if allDay = true) "availableEndTime" : "<time>" // Closing time of day (ignored if allDay = true) }], "notAvailable" : [{ // Not available during this time due to provided reason "description" : "<string>", // R! Reason presented to the user explaining why time not available "during" : { Period } // Service not available from this date }], "availabilityExceptions" : "<string>", // Description of availability exceptions "endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the practitioner with this role }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:OrganizationRole; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:OrganizationRole.identifier [ Identifier ], ... ; # 0..* Business Identifiers that are specific to a role/location fhir:OrganizationRole.active [ boolean ]; # 0..1 Whether this practitioner role record is in active use fhir:OrganizationRole.period [ Period ]; # 0..1 The period during which the practitioner is authorized to perform in these role(s) fhir:OrganizationRole.organization [ Reference(Organization) ]; # 0..1 Organization where the roles are available fhir:OrganizationRole.participatingOrganization [ Reference(Organization) ]; # 0..1 Practitioner that is able to provide the defined services for the organization fhir:OrganizationRole.network [ Reference(Organization) ], ... ; # 0..* The network(s) this association applies to fhir:OrganizationRole.code [ CodeableConcept ], ... ; # 0..* Roles which this practitioner may perform fhir:OrganizationRole.specialty [ CodeableConcept ], ... ; # 0..* Specific specialty of the practitioner fhir:OrganizationRole.location [ Reference(Location) ], ... ; # 0..* The location(s) at which this practitioner provides care fhir:OrganizationRole.healthcareService [ Reference(HealthcareService) ], ... ; # 0..* The list of healthcare services that this worker provides for this role's Organization/Location(s) fhir:OrganizationRole.telecom [ ContactPoint ], ... ; # 0..* Contact details that are specific to the role/location/service fhir:OrganizationRole.availableTime [ # 0..* Times the Service Site is available fhir:OrganizationRole.availableTime.daysOfWeek [ code ], ... ; # 0..* mon | tue | wed | thu | fri | sat | sun fhir:OrganizationRole.availableTime.allDay [ boolean ]; # 0..1 Always available? e.g. 24 hour service fhir:OrganizationRole.availableTime.availableStartTime [ time ]; # 0..1 Opening time of day (ignored if allDay = true) fhir:OrganizationRole.availableTime.availableEndTime [ time ]; # 0..1 Closing time of day (ignored if allDay = true) ], ...; fhir:OrganizationRole.notAvailable [ # 0..* Not available during this time due to provided reason fhir:OrganizationRole.notAvailable.description [ string ]; # 1..1 Reason presented to the user explaining why time not available fhir:OrganizationRole.notAvailable.during [ Period ]; # 0..1 Service not available from this date ], ...; fhir:OrganizationRole.availabilityExceptions [ string ]; # 0..1 Description of availability exceptions fhir:OrganizationRole.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to services operated for the practitioner with this role ]
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
OrganizationRole.code | The role a person plays representing an organization | Example | OrganizationRole |
OrganizationRole.specialty | Specific specialty associated with the agency | Preferred | Practice Setting Code Value Set |
OrganizationRole.availableTime.daysOfWeek | The days of the week. | Required | DaysOfWeek |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
active | token | Whether this practitioner role record is in active use | OrganizationRole.active | |
date | date | The period during which the practitioner is authorized to perform in these role(s) | OrganizationRole.period | |
token | A value in an email contact | OrganizationRole.telecom.where(system='email') | ||
endpoint | reference | Technical endpoints providing access to services operated for the practitioner with this role | OrganizationRole.endpoint (Endpoint) | |
identifier | token | A practitioner's Identifier | OrganizationRole.identifier | |
location | reference | One of the locations at which this practitioner provides care | OrganizationRole.location (Location) | |
network | reference | One of the locations at which this practitioner provides care | OrganizationRole.network (Organization) | |
participating-organization | reference | Practitioner that is able to provide the defined services for the organization | OrganizationRole.participatingOrganization (Organization) | |
phone | token | A value in a phone contact | OrganizationRole.telecom.where(system='phone') | |
primary-organization | reference | The identity of the organization the practitioner represents / acts on behalf of | OrganizationRole.organization (Organization) | |
role | token | The practitioner can perform this role at for the organization | OrganizationRole.code | |
service | reference | The list of healthcare services that this worker provides for this role's Organization/Location(s) | OrganizationRole.healthcareService (HealthcareService) | |
specialty | token | The practitioner has this specialty at an organization | OrganizationRole.specialty | |
telecom | token | The value in any kind of contact | OrganizationRole.telecom |