Profiles


StructureDefinition UKCore-HealthCareService

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
activeΣ ?!0..1boolean
providedByS Σ0..1Reference(Organization)
categoryΣ0..*CodeableConcept
typeS Σ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
locationΣ0..*Reference(Location)
nameΣ0..1string
commentΣ0..1string
extraDetails0..1markdown
photoΣ0..1Attachment
telecom0..*ContactPoint
coverageArea0..*Reference(Location)
serviceProvisionCode0..*CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
code0..1CodeableConcept
comment0..1markdown
program0..*CodeableConcept
characteristic0..*CodeableConcept
communication0..*CodeableConceptBinding
referralMethod0..*CodeableConcept
appointmentRequired0..1boolean
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
description1..1string
during0..1Period
availabilityExceptions0..1string
endpoint0..*Reference(Endpoint)
HealthcareService
ShortThe details of a healthcare service available at a location
Definition

The details of a healthcare service available at a location.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • rim: act[classCode=ACT][moodCode=DEF]
HealthcareService.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

HealthcareService.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
HealthcareService.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
HealthcareService.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
HealthcareService.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
HealthcareService.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
HealthcareService.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
HealthcareService.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
HealthcareService.identifier
ShortExternal identifiers for this item
Definition

External identifiers for this item.

Cardinality0..*
TypeIdentifier
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • rim: .id
HealthcareService.active
ShortWhether this HealthcareService record is in active use
Definition

This flag is used to mark the record to not be used. This is not used when a center is closed for maintenance, or for holidays, the notAvailable period is to be used for this.

Cardinality0..1
Typeboolean
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because it may be used to mark that the resource was created in error.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • rim: .statusCode
HealthcareService.providedBy
ShortThe organization that provides this healthcare service.
Definition

The organization that provides this healthcare service.

Cardinality0..1
TypeReference(Organization)
Must SupportTrue
SummaryTrue
Comments

This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .scopingRole.Organization
HealthcareService.category
ShortBroad category of service being performed or delivered
Definition

Identifies the broad category of service being performed or delivered.

Cardinality0..*
TypeCodeableConcept
Binding

A category of the service(s) that could be provided.

ServiceCategory (example)

SummaryTrue
Aliasservice category
Comments

Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
  • rim: .code
HealthcareService.type
ShortThe type of service provided by this healthcare service.
Definition

The specific type of service that may be delivered or performed.

Cardinality0..*
TypeCodeableConcept
Binding

Additional details about where the content was created (e.g. clinical specialty).

ServiceType (example)

Must SupportTrue
SummaryTrue
Aliasservice type
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code
HealthcareService.specialty
ShortSpecialties handled by the HealthcareService
Definition

Collection of specialties handled by the service site. This is more of a medical term.

Cardinality0..*
TypeCodeableConcept
Binding

A specialty that a healthcare service may provide.

UKCorePracticeSettingCode (extensible)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code
HealthcareService.location
ShortLocation(s) where service may be provided
Definition

The location(s) where this healthcare service may be provided.

Cardinality0..*
TypeReference(Location)
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.where[x]
  • rim: .location.role[classCode=SDLOC]
HealthcareService.name
ShortDescription of service as presented to a consumer while searching
Definition

Further description of the service as it would be presented to a consumer while searching.

Cardinality0..1
Typestring
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .name
HealthcareService.comment
ShortAdditional description and/or any specific issues not covered elsewhere
Definition

Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName.

Cardinality0..1
Typestring
SummaryTrue
Comments

Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .location.role[classCode=SDLOC].desc
HealthcareService.extraDetails
ShortExtra details about the service that can't be placed in the other fields
Definition

Extra details about the service that can't be placed in the other fields.

Cardinality0..1
Typemarkdown
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].text
HealthcareService.photo
ShortFacilitates quick identification of the service
Definition

If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list.

Cardinality0..1
TypeAttachment
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=SBJ].observation.value
HealthcareService.telecom
ShortContacts related to the healthcare service
Definition

List of contacts related to this specific healthcare service.

Cardinality0..*
TypeContactPoint
Comments

If this is empty, then refer to the location's contacts.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .telecom
HealthcareService.coverageArea
ShortLocation(s) service is intended for/available to
Definition

The location(s) that this service is available to (not where the service is provided).

Cardinality0..*
TypeReference(Location)
Comments

The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as "in-home".

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .location.role[classCode=SDLOC].subjectOf.A_SpatialCoordinate
HealthcareService.serviceProvisionCode
ShortConditions under which service is available/offered
Definition

The code(s) that detail the conditions under which the healthcare service is available/offered.

Cardinality0..*
TypeCodeableConcept
Binding

The code(s) that detail the conditions under which the healthcare service is available/offered.

ServiceProvisionConditions (example)

Comments

The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]
HealthcareService.eligibility
ShortSpecific eligibility requirements required to use the service
Definition

Does this service have specific eligibility requirements that need to be met in order to use the service?

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
HealthcareService.eligibility.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
HealthcareService.eligibility.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
HealthcareService.eligibility.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
HealthcareService.eligibility.code
ShortCoded value for the eligibility
Definition

Coded value for the eligibility.

Cardinality0..1
TypeCodeableConcept
Binding

Coded values underwhich a specific service is made available.

(unbound) (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]
HealthcareService.eligibility.comment
ShortDescribes the eligibility conditions for the service
Definition

Describes the eligibility conditions for the service.

Cardinality0..1
Typemarkdown
Comments

The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT].text
HealthcareService.program
ShortPrograms that this service is applicable to
Definition

Programs that this service is applicable to.

Cardinality0..*
TypeCodeableConcept
Binding

Government or local programs that this service applies to.

Program (example)

Comments

Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, ….

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=PERT].observation
HealthcareService.characteristic
ShortCollection of characteristics (attributes)
Definition

Collection of characteristics (attributes).

Cardinality0..*
TypeCodeableConcept
Binding

A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy).

(unbound) (example)

Comments

These could be such things as is wheelchair accessible.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=PERT].observation
HealthcareService.communication
ShortThe language that this service is offered in
Definition

Some services are specifically made available in multiple languages, this property permits a directory to declare the languages this is offered in. Typically this is only provided where a service operates in communities with mixed languages used.

Cardinality0..*
TypeCodeableConcept
Binding

A ValueSet that identifies the language used by a person.

AllLanguages (required)

Binding extensions
maxValueSetAllLanguages
Comments

When using this property it indicates that the service is available with this language, it is not derived from the practitioners, and not all are required to use this language, just that this language is available while scheduling.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
HealthcareService.referralMethod
ShortWays that the service accepts referrals
Definition

Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.

Cardinality0..*
TypeCodeableConcept
Binding

The methods of referral can be used when referring to a specific HealthCareService resource.

ReferralMethod (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=PERT].observation
HealthcareService.appointmentRequired
ShortIf an appointment is required for access to this service
Definition

Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service.

Cardinality0..1
Typeboolean
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .actrelationship[typeCode=PERT].observation
HealthcareService.availableTime
ShortTimes the Service Site is available
Definition

A collection of times that the Service Site is available.

Cardinality0..*
TypeBackboneElement
Comments

More detailed availability information may be provided in associated Schedule/Slot resources.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.availableTime.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
HealthcareService.availableTime.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
HealthcareService.availableTime.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
HealthcareService.availableTime.daysOfWeek
Shortmon | tue | wed | thu | fri | sat | sun
Definition

Indicates which days of the week are available between the start and end Times.

Cardinality0..*
Typecode
Binding

The days of the week.

DaysOfWeek (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.availableTime.allDay
ShortAlways available? e.g. 24 hour service
Definition

Is this always available? (hence times are irrelevant) e.g. 24 hour service.

Cardinality0..1
Typeboolean
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.availableTime.availableStartTime
ShortOpening time of day (ignored if allDay = true)
Definition

The opening time of day. Note: If the AllDay flag is set, then this time is ignored.

Cardinality0..1
Typetime
Comments

The time zone is expected to be for where this HealthcareService is provided at.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.availableTime.availableEndTime
ShortClosing time of day (ignored if allDay = true)
Definition

The closing time of day. Note: If the AllDay flag is set, then this time is ignored.

Cardinality0..1
Typetime
Comments

The time zone is expected to be for where this HealthcareService is provided at.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.notAvailable
ShortNot available during this time due to provided reason
Definition

The HealthcareService is not available during this period of time due to the provided reason.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.notAvailable.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
HealthcareService.notAvailable.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
HealthcareService.notAvailable.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
HealthcareService.notAvailable.description
ShortReason presented to the user explaining why time not available
Definition

The reason that can be presented to the user as to why this time is not available.

Cardinality1..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
HealthcareService.notAvailable.during
ShortService not available from this date
Definition

Service is not available (seasonally or for a public holiday) from this date.

Cardinality0..1
TypePeriod
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.availabilityExceptions
ShortDescription of availability exceptions
Definition

A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.

Cardinality0..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
HealthcareService.endpoint
ShortTechnical endpoints providing access to electronic services operated for the healthcare service
Definition

Technical endpoints providing access to services operated for the specific healthcare services defined at this resource.

Cardinality0..*
TypeReference(Endpoint)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
HealthcareService0..*
HealthcareService.idstring0..1
HealthcareService.metaMeta0..1
HealthcareService.implicitRulesuri0..1
HealthcareService.languagecode0..1
HealthcareService.textNarrative0..1
HealthcareService.containedResource0..*
HealthcareService.extensionExtension0..*
HealthcareService.modifierExtensionExtension0..*
HealthcareService.identifierIdentifier0..*
HealthcareService.activeboolean0..1
HealthcareService.providedByReference(Organization)0..1
HealthcareService.categoryCodeableConcept0..*
HealthcareService.typeCodeableConcept0..*
HealthcareService.specialtyCodeableConcept0..*
HealthcareService.locationReference(Location)0..*
HealthcareService.namestring0..1
HealthcareService.commentstring0..1
HealthcareService.extraDetailsmarkdown0..1
HealthcareService.photoAttachment0..1
HealthcareService.telecomContactPoint0..*
HealthcareService.coverageAreaReference(Location)0..*
HealthcareService.serviceProvisionCodeCodeableConcept0..*
HealthcareService.eligibilityBackboneElement0..*
HealthcareService.eligibility.idstring0..1
HealthcareService.eligibility.extensionExtension0..*
HealthcareService.eligibility.modifierExtensionExtension0..*
HealthcareService.eligibility.codeCodeableConcept0..1
HealthcareService.eligibility.commentmarkdown0..1
HealthcareService.programCodeableConcept0..*
HealthcareService.characteristicCodeableConcept0..*
HealthcareService.communicationCodeableConcept0..*
HealthcareService.referralMethodCodeableConcept0..*
HealthcareService.appointmentRequiredboolean0..1
HealthcareService.availableTimeBackboneElement0..*
HealthcareService.availableTime.idstring0..1
HealthcareService.availableTime.extensionExtension0..*
HealthcareService.availableTime.modifierExtensionExtension0..*
HealthcareService.availableTime.daysOfWeekcode0..*
HealthcareService.availableTime.allDayboolean0..1
HealthcareService.availableTime.availableStartTimetime0..1
HealthcareService.availableTime.availableEndTimetime0..1
HealthcareService.notAvailableBackboneElement0..*
HealthcareService.notAvailable.idstring0..1
HealthcareService.notAvailable.extensionExtension0..*
HealthcareService.notAvailable.modifierExtensionExtension0..*
HealthcareService.notAvailable.descriptionstring1..1
HealthcareService.notAvailable.duringPeriod0..1
HealthcareService.availabilityExceptionsstring0..1
HealthcareService.endpointReference(Endpoint)0..*

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-HealthcareService" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-HealthcareService" />
<version value="1.3.0" />
<name value="UKCoreHealthcareService" />
<title value="UK Core Healthcare Service" />
<status value="active" />
<date value="2024-07-11" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [HealthcareService](https://hl7.org/fhir/R4/HealthcareService.html)." />
<purpose value="This profile is used to describe a single healthcare service or category of services that are provided by an organisation at a location, including a virtual location." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="HealthcareService" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/HealthcareService" />
<derivation value="constraint" />
<element id="HealthcareService">
<path value="HealthcareService" />
<short value="The details of a healthcare service available at a location" />
<definition value="The details of a healthcare service available at a location." />
<min value="0" />
<max value="*" />
<path value="HealthcareService" />
<min value="0" />
<max value="*" />
</base>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="rim" />
<map value="act[classCode=ACT][moodCode=DEF]" />
</mapping>
</element>
<element id="HealthcareService.id">
<path value="HealthcareService.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="HealthcareService.meta">
<path value="HealthcareService.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<code value="Meta" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="HealthcareService.implicitRules">
<path value="HealthcareService.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="HealthcareService.language">
<path value="HealthcareService.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="HealthcareService.text">
<path value="HealthcareService.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<code value="Narrative" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="HealthcareService.contained">
<path value="HealthcareService.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="HealthcareService.extension">
<path value="HealthcareService.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="HealthcareService.modifierExtension">
<path value="HealthcareService.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="HealthcareService.identifier">
<path value="HealthcareService.identifier" />
<short value="External identifiers for this item" />
<definition value="External identifiers for this item." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="rim" />
<map value=".id" />
</mapping>
</element>
<element id="HealthcareService.active">
<path value="HealthcareService.active" />
<short value="Whether this HealthcareService record is in active use" />
<definition value="This flag is used to mark the record to not be used. This is not used when a center is closed for maintenance, or for holidays, the notAvailable period is to be used for this." />
<comment value="This element is labeled as a modifier because it may be used to mark that the resource was created in error." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.active" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<meaningWhenMissing value="This resource is generally assumed to be active if no value is provided for the active element" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
<identity value="rim" />
<map value=".statusCode" />
</mapping>
</element>
<element id="HealthcareService.providedBy">
<path value="HealthcareService.providedBy" />
<short value="The organization that provides this healthcare service." />
<definition value="The organization that provides this healthcare service." />
<comment value="This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.providedBy" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="rim" />
<map value=".scopingRole.Organization" />
</mapping>
</element>
<element id="HealthcareService.category">
<path value="HealthcareService.category" />
<short value="Broad category of service being performed or delivered" />
<definition value="Identifies the broad category of service being performed or delivered." />
<comment value="Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type." />
<alias value="service category" />
<min value="0" />
<max value="*" />
<path value="HealthcareService.category" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="service-category" />
</extension>
<strength value="example" />
<description value="A category of the service(s) that could be provided." />
<valueSet value="http://hl7.org/fhir/ValueSet/service-category" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
<identity value="rim" />
<map value=".code" />
</mapping>
</element>
<element id="HealthcareService.type">
<path value="HealthcareService.type" />
<short value="The type of service provided by this healthcare service." />
<definition value="The specific type of service that may be delivered or performed." />
<alias value="service type" />
<min value="0" />
<max value="*" />
<path value="HealthcareService.type" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="service-type" />
</extension>
<strength value="example" />
<description value="Additional details about where the content was created (e.g. clinical specialty)." />
<valueSet value="http://hl7.org/fhir/ValueSet/service-type" />
</binding>
<identity value="rim" />
<map value=".actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code" />
</mapping>
</element>
<element id="HealthcareService.specialty">
<path value="HealthcareService.specialty" />
<short value="Specialties handled by the HealthcareService" />
<definition value="Collection of specialties handled by the service site. This is more of a medical term." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.specialty" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="service-specialty" />
</extension>
<strength value="extensible" />
<description value="A specialty that a healthcare service may provide." />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode" />
</binding>
<identity value="rim" />
<map value=".actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code" />
</mapping>
</element>
<element id="HealthcareService.location">
<path value="HealthcareService.location" />
<short value="Location(s) where service may be provided" />
<definition value="The location(s) where this healthcare service may be provided." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.location" />
<min value="0" />
<max value="*" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.where[x]" />
</mapping>
<identity value="rim" />
<map value=".location.role[classCode=SDLOC]" />
</mapping>
</element>
<element id="HealthcareService.name">
<path value="HealthcareService.name" />
<short value="Description of service as presented to a consumer while searching" />
<definition value="Further description of the service as it would be presented to a consumer while searching." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.name" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="rim" />
<map value=".name" />
</mapping>
</element>
<element id="HealthcareService.comment">
<path value="HealthcareService.comment" />
<short value="Additional description and/or any specific issues not covered elsewhere" />
<definition value="Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName." />
<comment value="Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.comment" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="rim" />
<map value=".location.role[classCode=SDLOC].desc" />
</mapping>
</element>
<element id="HealthcareService.extraDetails">
<path value="HealthcareService.extraDetails" />
<short value="Extra details about the service that can't be placed in the other fields" />
<definition value="Extra details about the service that can't be placed in the other fields." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.extraDetails" />
<min value="0" />
<max value="1" />
</base>
<code value="markdown" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].text" />
</mapping>
</element>
<element id="HealthcareService.photo">
<path value="HealthcareService.photo" />
<short value="Facilitates quick identification of the service" />
<definition value="If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.photo" />
<min value="0" />
<max value="1" />
</base>
<code value="Attachment" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="rim" />
<map value=".actrelationship[typeCode=SBJ].observation.value" />
</mapping>
</element>
<element id="HealthcareService.telecom">
<path value="HealthcareService.telecom" />
<short value="Contacts related to the healthcare service" />
<definition value="List of contacts related to this specific healthcare service." />
<comment value="If this is empty, then refer to the location's contacts." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.telecom" />
<min value="0" />
<max value="*" />
</base>
<code value="ContactPoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".telecom" />
</mapping>
</element>
<element id="HealthcareService.coverageArea">
<path value="HealthcareService.coverageArea" />
<short value="Location(s) service is intended for/available to" />
<definition value="The location(s) that this service is available to (not where the service is provided)." />
<comment value="The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as "in-home"." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.coverageArea" />
<min value="0" />
<max value="*" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".location.role[classCode=SDLOC].subjectOf.A_SpatialCoordinate" />
</mapping>
</element>
<element id="HealthcareService.serviceProvisionCode">
<path value="HealthcareService.serviceProvisionCode" />
<short value="Conditions under which service is available/offered" />
<definition value="The code(s) that detail the conditions under which the healthcare service is available/offered." />
<comment value="The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.serviceProvisionCode" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="ServiceProvisionConditions" />
</extension>
<strength value="example" />
<description value="The code(s) that detail the conditions under which the healthcare service is available/offered." />
<valueSet value="http://hl7.org/fhir/ValueSet/service-provision-conditions" />
</binding>
<identity value="rim" />
<map value=".actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]" />
</mapping>
</element>
<element id="HealthcareService.eligibility">
<path value="HealthcareService.eligibility" />
<short value="Specific eligibility requirements required to use the service" />
<definition value="Does this service have specific eligibility requirements that need to be met in order to use the service?" />
<min value="0" />
<max value="*" />
<path value="HealthcareService.eligibility" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
</element>
<element id="HealthcareService.eligibility.id">
<path value="HealthcareService.eligibility.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="HealthcareService.eligibility.extension">
<path value="HealthcareService.eligibility.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="HealthcareService.eligibility.modifierExtension">
<path value="HealthcareService.eligibility.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="HealthcareService.eligibility.code">
<path value="HealthcareService.eligibility.code" />
<short value="Coded value for the eligibility" />
<definition value="Coded value for the eligibility." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.eligibility.code" />
<min value="0" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="ServiceEligibility" />
</extension>
<strength value="example" />
<description value="Coded values underwhich a specific service is made available." />
</binding>
<identity value="rim" />
<map value=".actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]" />
</mapping>
</element>
<element id="HealthcareService.eligibility.comment">
<path value="HealthcareService.eligibility.comment" />
<short value="Describes the eligibility conditions for the service" />
<definition value="Describes the eligibility conditions for the service." />
<comment value="The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.eligibility.comment" />
<min value="0" />
<max value="1" />
</base>
<code value="markdown" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT].text" />
</mapping>
</element>
<element id="HealthcareService.program">
<path value="HealthcareService.program" />
<short value="Programs that this service is applicable to" />
<definition value="Programs that this service is applicable to." />
<comment value="Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, …." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.program" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Program" />
</extension>
<strength value="example" />
<description value="Government or local programs that this service applies to." />
<valueSet value="http://hl7.org/fhir/ValueSet/program" />
</binding>
<identity value="rim" />
<map value=".actrelationship[typeCode=PERT].observation" />
</mapping>
</element>
<element id="HealthcareService.characteristic">
<path value="HealthcareService.characteristic" />
<short value="Collection of characteristics (attributes)" />
<definition value="Collection of characteristics (attributes)." />
<comment value="These could be such things as is wheelchair accessible." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.characteristic" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="ServiceCharacteristic" />
</extension>
<strength value="example" />
<description value="A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy)." />
</binding>
<identity value="rim" />
<map value=".actrelationship[typeCode=PERT].observation" />
</mapping>
</element>
<element id="HealthcareService.communication">
<path value="HealthcareService.communication" />
<short value="The language that this service is offered in" />
<definition value="Some services are specifically made available in multiple languages, this property permits a directory to declare the languages this is offered in. Typically this is only provided where a service operates in communities with mixed languages used." />
<comment value="When using this property it indicates that the service is available with this language, it is not derived from the practitioners, and not all are required to use this language, just that this language is available while scheduling." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.communication" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="required" />
<description value="A ValueSet that identifies the language used by a person." />
<valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
</binding>
</element>
<element id="HealthcareService.referralMethod">
<path value="HealthcareService.referralMethod" />
<short value="Ways that the service accepts referrals" />
<definition value="Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.referralMethod" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="ReferralMethod" />
</extension>
<strength value="example" />
<description value="The methods of referral can be used when referring to a specific HealthCareService resource." />
<valueSet value="http://hl7.org/fhir/ValueSet/service-referral-method" />
</binding>
<identity value="rim" />
<map value=".actrelationship[typeCode=PERT].observation" />
</mapping>
</element>
<element id="HealthcareService.appointmentRequired">
<path value="HealthcareService.appointmentRequired" />
<short value="If an appointment is required for access to this service" />
<definition value="Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.appointmentRequired" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".actrelationship[typeCode=PERT].observation" />
</mapping>
</element>
<element id="HealthcareService.availableTime">
<path value="HealthcareService.availableTime" />
<short value="Times the Service Site is available" />
<definition value="A collection of times that the Service Site is available." />
<comment value="More detailed availability information may be provided in associated Schedule/Slot resources." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.availableTime" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.availableTime.id">
<path value="HealthcareService.availableTime.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="HealthcareService.availableTime.extension">
<path value="HealthcareService.availableTime.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="HealthcareService.availableTime.modifierExtension">
<path value="HealthcareService.availableTime.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="HealthcareService.availableTime.daysOfWeek">
<path value="HealthcareService.availableTime.daysOfWeek" />
<short value="mon | tue | wed | thu | fri | sat | sun" />
<definition value="Indicates which days of the week are available between the start and end Times." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.availableTime.daysOfWeek" />
<min value="0" />
<max value="*" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="DaysOfWeek" />
</extension>
<strength value="required" />
<description value="The days of the week." />
<valueSet value="http://hl7.org/fhir/ValueSet/days-of-week|4.0.1" />
</binding>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.availableTime.allDay">
<path value="HealthcareService.availableTime.allDay" />
<short value="Always available? e.g. 24 hour service" />
<definition value="Is this always available? (hence times are irrelevant) e.g. 24 hour service." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.availableTime.allDay" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.availableTime.availableStartTime">
<path value="HealthcareService.availableTime.availableStartTime" />
<short value="Opening time of day (ignored if allDay = true)" />
<definition value="The opening time of day. Note: If the AllDay flag is set, then this time is ignored." />
<comment value="The time zone is expected to be for where this HealthcareService is provided at." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.availableTime.availableStartTime" />
<min value="0" />
<max value="1" />
</base>
<code value="time" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.availableTime.availableEndTime">
<path value="HealthcareService.availableTime.availableEndTime" />
<short value="Closing time of day (ignored if allDay = true)" />
<definition value="The closing time of day. Note: If the AllDay flag is set, then this time is ignored." />
<comment value="The time zone is expected to be for where this HealthcareService is provided at." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.availableTime.availableEndTime" />
<min value="0" />
<max value="1" />
</base>
<code value="time" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.notAvailable">
<path value="HealthcareService.notAvailable" />
<short value="Not available during this time due to provided reason" />
<definition value="The HealthcareService is not available during this period of time due to the provided reason." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.notAvailable" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.notAvailable.id">
<path value="HealthcareService.notAvailable.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="HealthcareService.notAvailable.extension">
<path value="HealthcareService.notAvailable.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="HealthcareService.notAvailable.modifierExtension">
<path value="HealthcareService.notAvailable.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="HealthcareService.notAvailable.description">
<path value="HealthcareService.notAvailable.description" />
<short value="Reason presented to the user explaining why time not available" />
<definition value="The reason that can be presented to the user as to why this time is not available." />
<min value="1" />
<max value="1" />
<path value="HealthcareService.notAvailable.description" />
<min value="1" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="HealthcareService.notAvailable.during">
<path value="HealthcareService.notAvailable.during" />
<short value="Service not available from this date" />
<definition value="Service is not available (seasonally or for a public holiday) from this date." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.notAvailable.during" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.availabilityExceptions">
<path value="HealthcareService.availabilityExceptions" />
<short value="Description of availability exceptions" />
<definition value="A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times." />
<min value="0" />
<max value="1" />
<path value="HealthcareService.availabilityExceptions" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="HealthcareService.endpoint">
<path value="HealthcareService.endpoint" />
<short value="Technical endpoints providing access to electronic services operated for the healthcare service" />
<definition value="Technical endpoints providing access to services operated for the specific healthcare services defined at this resource." />
<min value="0" />
<max value="*" />
<path value="HealthcareService.endpoint" />
<min value="0" />
<max value="*" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Endpoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
</snapshot>
<element id="HealthcareService.providedBy">
<path value="HealthcareService.providedBy" />
<short value="The organization that provides this healthcare service." />
<mustSupport value="true" />
</element>
<element id="HealthcareService.type">
<path value="HealthcareService.type" />
<short value="The type of service provided by this healthcare service." />
<mustSupport value="true" />
</element>
<element id="HealthcareService.specialty">
<path value="HealthcareService.specialty" />
<strength value="extensible" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode" />
</binding>
</element>
<element id="HealthcareService.communication">
<path value="HealthcareService.communication" />
<strength value="required" />
<description value="A ValueSet that identifies the language used by a person." />
<valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
</binding>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "UKCore-HealthcareService",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-HealthcareService",
"version": "1.3.0",
"name": "UKCoreHealthcareService",
"title": "UK Core Healthcare Service",
"status": "active",
"date": "2024-07-11",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [HealthcareService](https://hl7.org/fhir/R4/HealthcareService.html).",
"purpose": "This profile is used to describe a single healthcare service or category of services that are provided by an organisation at a location, including a virtual location.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "HealthcareService",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/HealthcareService",
"derivation": "constraint",
"element": [
{
"id": "HealthcareService",
"path": "HealthcareService",
"short": "The details of a healthcare service available at a location",
"definition": "The details of a healthcare service available at a location.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService",
"min": 0,
"max": "*"
},
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "rim",
"map": "act[classCode=ACT][moodCode=DEF]"
}
]
},
{
"id": "HealthcareService.id",
"path": "HealthcareService.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "HealthcareService.meta",
"path": "HealthcareService.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "HealthcareService.implicitRules",
"path": "HealthcareService.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "HealthcareService.language",
"path": "HealthcareService.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "HealthcareService.text",
"path": "HealthcareService.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "HealthcareService.contained",
"path": "HealthcareService.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "HealthcareService.extension",
"path": "HealthcareService.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "HealthcareService.modifierExtension",
"path": "HealthcareService.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "HealthcareService.identifier",
"path": "HealthcareService.identifier",
"short": "External identifiers for this item",
"definition": "External identifiers for this item.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "rim",
"map": ".id"
}
]
},
{
"id": "HealthcareService.active",
"path": "HealthcareService.active",
"short": "Whether this HealthcareService record is in active use",
"definition": "This flag is used to mark the record to not be used. This is not used when a center is closed for maintenance, or for holidays, the notAvailable period is to be used for this.",
"comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.active",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element",
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid",
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
},
{
"identity": "rim",
"map": ".statusCode"
}
]
},
{
"id": "HealthcareService.providedBy",
"path": "HealthcareService.providedBy",
"short": "The organization that provides this healthcare service.",
"definition": "The organization that provides this healthcare service.",
"comment": "This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.providedBy",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".scopingRole.Organization"
}
]
},
{
"id": "HealthcareService.category",
"path": "HealthcareService.category",
"short": "Broad category of service being performed or delivered",
"definition": "Identifies the broad category of service being performed or delivered.",
"comment": "Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type.",
"alias": [
"service category"
],
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.category",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "service-category"
}
],
"strength": "example",
"description": "A category of the service(s) that could be provided.",
"valueSet": "http://hl7.org/fhir/ValueSet/service-category"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
},
{
"identity": "rim",
"map": ".code"
}
]
},
{
"id": "HealthcareService.type",
"path": "HealthcareService.type",
"short": "The type of service provided by this healthcare service.",
"definition": "The specific type of service that may be delivered or performed.",
"alias": [
"service type"
],
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.type",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "service-type"
}
],
"strength": "example",
"description": "Additional details about where the content was created (e.g. clinical specialty).",
"valueSet": "http://hl7.org/fhir/ValueSet/service-type"
},
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code"
}
]
},
{
"id": "HealthcareService.specialty",
"path": "HealthcareService.specialty",
"short": "Specialties handled by the HealthcareService",
"definition": "Collection of specialties handled by the service site. This is more of a medical term.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.specialty",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "service-specialty"
}
],
"strength": "extensible",
"description": "A specialty that a healthcare service may provide.",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode"
},
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].code"
}
]
},
{
"id": "HealthcareService.location",
"path": "HealthcareService.location",
"short": "Location(s) where service may be provided",
"definition": "The location(s) where this healthcare service may be provided.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.location",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Location"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.where[x]"
},
{
"identity": "rim",
"map": ".location.role[classCode=SDLOC]"
}
]
},
{
"id": "HealthcareService.name",
"path": "HealthcareService.name",
"short": "Description of service as presented to a consumer while searching",
"definition": "Further description of the service as it would be presented to a consumer while searching.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.name",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".name"
}
]
},
{
"id": "HealthcareService.comment",
"path": "HealthcareService.comment",
"short": "Additional description and/or any specific issues not covered elsewhere",
"definition": "Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName.",
"comment": "Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.comment",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".location.role[classCode=SDLOC].desc"
}
]
},
{
"id": "HealthcareService.extraDetails",
"path": "HealthcareService.extraDetails",
"short": "Extra details about the service that can't be placed in the other fields",
"definition": "Extra details about the service that can't be placed in the other fields.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.extraDetails",
"min": 0,
"max": "1"
},
"type": [
{
"code": "markdown"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=COMP.act[classCode=ACT][moodCode=DEF].text"
}
]
},
{
"id": "HealthcareService.photo",
"path": "HealthcareService.photo",
"short": "Facilitates quick identification of the service",
"definition": "If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.photo",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Attachment"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=SBJ].observation.value"
}
]
},
{
"id": "HealthcareService.telecom",
"path": "HealthcareService.telecom",
"short": "Contacts related to the healthcare service",
"definition": "List of contacts related to this specific healthcare service.",
"comment": "If this is empty, then refer to the location's contacts.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".telecom"
}
]
},
{
"id": "HealthcareService.coverageArea",
"path": "HealthcareService.coverageArea",
"short": "Location(s) service is intended for/available to",
"definition": "The location(s) that this service is available to (not where the service is provided).",
"comment": "The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as \"in-home\".",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.coverageArea",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Location"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".location.role[classCode=SDLOC].subjectOf.A_SpatialCoordinate"
}
]
},
{
"id": "HealthcareService.serviceProvisionCode",
"path": "HealthcareService.serviceProvisionCode",
"short": "Conditions under which service is available/offered",
"definition": "The code(s) that detail the conditions under which the healthcare service is available/offered.",
"comment": "The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.serviceProvisionCode",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "ServiceProvisionConditions"
}
],
"strength": "example",
"description": "The code(s) that detail the conditions under which the healthcare service is available/offered.",
"valueSet": "http://hl7.org/fhir/ValueSet/service-provision-conditions"
},
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]"
}
]
},
{
"id": "HealthcareService.eligibility",
"path": "HealthcareService.eligibility",
"short": "Specific eligibility requirements required to use the service",
"definition": "Does this service have specific eligibility requirements that need to be met in order to use the service?",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.eligibility",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "HealthcareService.eligibility.id",
"path": "HealthcareService.eligibility.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "HealthcareService.eligibility.extension",
"path": "HealthcareService.eligibility.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "HealthcareService.eligibility.modifierExtension",
"path": "HealthcareService.eligibility.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "HealthcareService.eligibility.code",
"path": "HealthcareService.eligibility.code",
"short": "Coded value for the eligibility",
"definition": "Coded value for the eligibility.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.eligibility.code",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "ServiceEligibility"
}
],
"strength": "example",
"description": "Coded values underwhich a specific service is made available."
},
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT]"
}
]
},
{
"id": "HealthcareService.eligibility.comment",
"path": "HealthcareService.eligibility.comment",
"short": "Describes the eligibility conditions for the service",
"definition": "Describes the eligibility conditions for the service.",
"comment": "The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.eligibility.comment",
"min": 0,
"max": "1"
},
"type": [
{
"code": "markdown"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=PRCN].observation[moodCode=EVN.CRT].text"
}
]
},
{
"id": "HealthcareService.program",
"path": "HealthcareService.program",
"short": "Programs that this service is applicable to",
"definition": "Programs that this service is applicable to.",
"comment": "Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, ….",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.program",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Program"
}
],
"strength": "example",
"description": "Government or local programs that this service applies to.",
"valueSet": "http://hl7.org/fhir/ValueSet/program"
},
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=PERT].observation"
}
]
},
{
"id": "HealthcareService.characteristic",
"path": "HealthcareService.characteristic",
"short": "Collection of characteristics (attributes)",
"definition": "Collection of characteristics (attributes).",
"comment": "These could be such things as is wheelchair accessible.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.characteristic",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "ServiceCharacteristic"
}
],
"strength": "example",
"description": "A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy)."
},
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=PERT].observation"
}
]
},
{
"id": "HealthcareService.communication",
"path": "HealthcareService.communication",
"short": "The language that this service is offered in",
"definition": "Some services are specifically made available in multiple languages, this property permits a directory to declare the languages this is offered in. Typically this is only provided where a service operates in communities with mixed languages used.",
"comment": "When using this property it indicates that the service is available with this language, it is not derived from the practitioners, and not all are required to use this language, just that this language is available while scheduling.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.communication",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "required",
"description": "A ValueSet that identifies the language used by a person.",
"valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
}
},
{
"id": "HealthcareService.referralMethod",
"path": "HealthcareService.referralMethod",
"short": "Ways that the service accepts referrals",
"definition": "Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.referralMethod",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "ReferralMethod"
}
],
"strength": "example",
"description": "The methods of referral can be used when referring to a specific HealthCareService resource.",
"valueSet": "http://hl7.org/fhir/ValueSet/service-referral-method"
},
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=PERT].observation"
}
]
},
{
"id": "HealthcareService.appointmentRequired",
"path": "HealthcareService.appointmentRequired",
"short": "If an appointment is required for access to this service",
"definition": "Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.appointmentRequired",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".actrelationship[typeCode=PERT].observation"
}
]
},
{
"id": "HealthcareService.availableTime",
"path": "HealthcareService.availableTime",
"short": "Times the Service Site is available",
"definition": "A collection of times that the Service Site is available.",
"comment": "More detailed availability information may be provided in associated Schedule/Slot resources.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.availableTime",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.availableTime.id",
"path": "HealthcareService.availableTime.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "HealthcareService.availableTime.extension",
"path": "HealthcareService.availableTime.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "HealthcareService.availableTime.modifierExtension",
"path": "HealthcareService.availableTime.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "HealthcareService.availableTime.daysOfWeek",
"path": "HealthcareService.availableTime.daysOfWeek",
"short": "mon | tue | wed | thu | fri | sat | sun",
"definition": "Indicates which days of the week are available between the start and end Times.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.availableTime.daysOfWeek",
"min": 0,
"max": "*"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "DaysOfWeek"
}
],
"strength": "required",
"description": "The days of the week.",
"valueSet": "http://hl7.org/fhir/ValueSet/days-of-week|4.0.1"
},
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.availableTime.allDay",
"path": "HealthcareService.availableTime.allDay",
"short": "Always available? e.g. 24 hour service",
"definition": "Is this always available? (hence times are irrelevant) e.g. 24 hour service.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.availableTime.allDay",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.availableTime.availableStartTime",
"path": "HealthcareService.availableTime.availableStartTime",
"short": "Opening time of day (ignored if allDay = true)",
"definition": "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.",
"comment": "The time zone is expected to be for where this HealthcareService is provided at.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.availableTime.availableStartTime",
"min": 0,
"max": "1"
},
"type": [
{
"code": "time"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.availableTime.availableEndTime",
"path": "HealthcareService.availableTime.availableEndTime",
"short": "Closing time of day (ignored if allDay = true)",
"definition": "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.",
"comment": "The time zone is expected to be for where this HealthcareService is provided at.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.availableTime.availableEndTime",
"min": 0,
"max": "1"
},
"type": [
{
"code": "time"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.notAvailable",
"path": "HealthcareService.notAvailable",
"short": "Not available during this time due to provided reason",
"definition": "The HealthcareService is not available during this period of time due to the provided reason.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.notAvailable",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.notAvailable.id",
"path": "HealthcareService.notAvailable.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "HealthcareService.notAvailable.extension",
"path": "HealthcareService.notAvailable.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "HealthcareService.notAvailable.modifierExtension",
"path": "HealthcareService.notAvailable.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "HealthcareService.notAvailable.description",
"path": "HealthcareService.notAvailable.description",
"short": "Reason presented to the user explaining why time not available",
"definition": "The reason that can be presented to the user as to why this time is not available.",
"min": 1,
"max": "1",
"base": {
"path": "HealthcareService.notAvailable.description",
"min": 1,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "HealthcareService.notAvailable.during",
"path": "HealthcareService.notAvailable.during",
"short": "Service not available from this date",
"definition": "Service is not available (seasonally or for a public holiday) from this date.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.notAvailable.during",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.availabilityExceptions",
"path": "HealthcareService.availabilityExceptions",
"short": "Description of availability exceptions",
"definition": "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.",
"min": 0,
"max": "1",
"base": {
"path": "HealthcareService.availabilityExceptions",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "HealthcareService.endpoint",
"path": "HealthcareService.endpoint",
"short": "Technical endpoints providing access to electronic services operated for the healthcare service",
"definition": "Technical endpoints providing access to services operated for the specific healthcare services defined at this resource.",
"min": 0,
"max": "*",
"base": {
"path": "HealthcareService.endpoint",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Endpoint"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
}
]
},
"element": [
{
"id": "HealthcareService.providedBy",
"path": "HealthcareService.providedBy",
"short": "The organization that provides this healthcare service.",
"mustSupport": true
},
{
"id": "HealthcareService.type",
"path": "HealthcareService.type",
"short": "The type of service provided by this healthcare service.",
"mustSupport": true
},
{
"id": "HealthcareService.specialty",
"path": "HealthcareService.specialty",
"binding": {
"strength": "extensible",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode"
}
},
{
"id": "HealthcareService.communication",
"path": "HealthcareService.communication",
"binding": {
"strength": "required",
"description": "A ValueSet that identifies the language used by a person.",
"valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
}
}
]
}
}

Examples

An example to illustrate information about an orthopaedic service within a HealthcareService resource

Example UKCore-HealthcareService-OrthopaedicService


StructureDefinition UKCore-Location

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
statusS Σ ?!0..1codeBinding
operationalStatusΣ0..1CodingBinding
nameS Σ0..1string
alias0..*string
descriptionΣ0..1string
modeΣ0..1codeBinding
typeΣ0..*CodeableConceptBinding
telecom0..*ContactPoint
addressS0..1Address
physicalTypeΣ0..1CodeableConcept
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
longitude1..1decimal
latitude1..1decimal
altitude0..1decimal
managingOrganizationΣ0..1Reference(Organization)
partOf0..1Reference(Location)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
openingTime0..1time
closingTime0..1time
availabilityExceptions0..1string
endpoint0..*Reference(Endpoint)
Location
ShortDetails and position information for a physical place
Definition

Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • rim: .Role[classCode=SDLC]
Location.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Location.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Location.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Location.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Location.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Location.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Location.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Location.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Location.identifier
ShortUnique code or number identifying the location to its users
Definition

Unique code or number identifying the location to its users.

Cardinality0..*
TypeIdentifier
SummaryTrue
Requirements

Organization label locations in registries, need to keep track of those.

Slicing

Unordered, Open, by system(Value)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • rim: .id
Location.identifier:odsSiteCode
ShortODS Site code to identify the organisation at site level
Definition

ODS Site code to identify the organisation at site level.

Cardinality0..1
TypeIdentifier
Must SupportTrue
SummaryTrue
Requirements

Organization label locations in registries, need to keep track of those.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • rim: .id
Location.identifier:odsSiteCode.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Location.identifier:odsSiteCode.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Location.identifier:odsSiteCode.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
Location.identifier:odsSiteCode.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
Location.identifier:odsSiteCode.system
ShortODS Code
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
https://fhir.nhs.uk/Id/ods-site-code
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Location.identifier:odsSiteCode.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Location.identifier:odsSiteCode.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Location.identifier:odsSiteCode.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Location.status
ShortIs the location active, inactive, or suspended
Definition

The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.

Cardinality0..1
Typecode
Binding

Indicates whether the location is still in use.

LocationStatus (required)

Must SupportTrue
ModifierTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • rim: .statusCode
Location.operationalStatus
ShortThe operational status of the location (typically only for a bed/room)
Definition

The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance.

Cardinality0..1
TypeCoding
Binding

The operational status if the location (where typically a bed/room).

v2.0116 (preferred)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • rim: n/a
Location.name
ShortName of the location as used by humans. This does not need to be unique.
Definition

Name of the location as used by humans. Does not need to be unique.

Cardinality0..1
Typestring
Must SupportTrue
SummaryTrue
Comments

If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .name
Location.alias
ShortA list of alternate names that the location is known as, or was known as, in the past
Definition

A list of alternate names that the location is known as, or was known as, in the past.

Cardinality0..*
Typestring
Requirements

Over time locations and organizations go through many changes and can be known by different names.

For searching knowing previous names that the location was known by can be very useful.

Comments

There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .name
Location.description
ShortAdditional details about the location that could be displayed as further information to identify the location beyond its name
Definition

Description of the Location, which helps in finding or referencing the place.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Humans need additional information to verify a correct location has been identified.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity[classCode=PLC determinerCode=INSTANCE].desc
Location.mode
Shortinstance | kind
Definition

Indicates whether a resource instance represents a specific location or a class of locations.

Cardinality0..1
Typecode
Binding

Indicates whether a resource instance represents a specific location or a class of locations.

LocationMode (required)

SummaryTrue
Requirements

When using a Location resource for scheduling or orders, we need to be able to refer to a class of Locations instead of a specific Location.

Comments

This is labeled as a modifier because whether or not the location is a class of locations changes how it can be used and understood.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
  • rim: .playingEntity[classCode=PLC].determinerCode
Location.type
ShortType of function performed
Definition

Indicates the type of function performed at the location.

Cardinality0..*
TypeCodeableConcept
Binding

Indicates the type of function performed at the location.

v3.ServiceDeliveryLocationRoleType (extensible)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
  • rim: .code
Location.telecom
ShortContact details of the location
Definition

The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.

Cardinality0..*
TypeContactPoint
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .telecom
Location.address
ShortIf locations can be visited, we need to keep track of their address.
Definition

Physical location.

Cardinality0..1
TypeAddress
Must SupportTrue
Requirements

If locations can be visited, we need to keep track of their address.

Comments

Additional addresses should be recorded using another instance of the Location resource, or via the Organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .addr
Location.physicalType
ShortPhysical form of the location
Definition

Physical form of the location, e.g. building, room, vehicle, road.

Cardinality0..1
TypeCodeableConcept
Binding

Physical form of the location.

LocationType (example)

SummaryTrue
Requirements

For purposes of showing relevant locations in queries, we need to categorize locations.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
  • rim: .playingEntity [classCode=PLC].code
Location.position
ShortThe absolute geographic location
Definition

The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).

Cardinality0..1
TypeBackboneElement
Requirements

For mobile applications and automated route-finding knowing the exact location of the Location is required.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity [classCode=PLC determinerCode=INSTANCE].positionText
Location.position.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Location.position.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Location.position.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Location.position.longitude
ShortLongitude with WGS84 datum
Definition

Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).

Cardinality1..1
Typedecimal
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: (RIM Opted not to map the sub-elements of GPS location, is now an OBS)
Location.position.latitude
ShortLatitude with WGS84 datum
Definition

Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).

Cardinality1..1
Typedecimal
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: (RIM Opted not to map the sub-elements of GPS location, is now an OBS)
Location.position.altitude
ShortAltitude with WGS84 datum
Definition

Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).

Cardinality0..1
Typedecimal
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: (RIM Opted not to map the sub-elements of GPS location, is now an OBS)
Location.managingOrganization
ShortOrganization responsible for provisioning and upkeep
Definition

The organization responsible for the provisioning and upkeep of the location.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Requirements

Need to know who manages the location.

Comments

This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .scopingEntity[classCode=ORG determinerKind=INSTANCE]
Location.partOf
ShortAnother Location this one is physically a part of
Definition

Another Location of which this Location is physically a part of.

Cardinality0..1
TypeReference(Location)
Requirements

For purposes of location, display and identification, knowing which locations are located within other locations is important.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .inboundLink[typeCode=PART].source[classCode=SDLC]
Location.hoursOfOperation
ShortWhat days/times during a week is this location usually open
Definition

What days/times during a week is this location usually open.

Cardinality0..*
TypeBackboneElement
Comments

This type of information is commonly found published in directories and on websites informing customers when the facility is available.

Specific services within the location may have their own hours which could be shorter (or longer) than the locations hours.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
Location.hoursOfOperation.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Location.hoursOfOperation.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Location.hoursOfOperation.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Location.hoursOfOperation.daysOfWeek
Shortmon | tue | wed | thu | fri | sat | sun
Definition

Indicates which days of the week are available between the start and end Times.

Cardinality0..*
Typecode
Binding

The days of the week.

DaysOfWeek (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
Location.hoursOfOperation.allDay
ShortThe Location is open all day
Definition

The Location is open all day.

Cardinality0..1
Typeboolean
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
Location.hoursOfOperation.openingTime
ShortTime that the Location opens
Definition

Time that the Location opens.

Cardinality0..1
Typetime
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
Location.hoursOfOperation.closingTime
ShortTime that the Location closes
Definition

Time that the Location closes.

Cardinality0..1
Typetime
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
Location.availabilityExceptions
ShortDescription of availability exceptions
Definition

A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.

Cardinality0..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Location.endpoint
ShortTechnical endpoints providing access to services operated for the location
Definition

Technical endpoints providing access to services operated for the location.

Cardinality0..*
TypeReference(Endpoint)
Requirements

Organizations may have different systems at different locations that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Location0..*
Location.idstring0..1
Location.metaMeta0..1
Location.implicitRulesuri0..1
Location.languagecode0..1
Location.textNarrative0..1
Location.containedResource0..*
Location.extensionExtension0..*
Location.modifierExtensionExtension0..*
Location.identifierIdentifier0..*
Location.identifier:odsSiteCodeIdentifier0..1
Location.identifier:odsSiteCode.idstring0..1
Location.identifier:odsSiteCode.extensionExtension0..*
Location.identifier:odsSiteCode.usecode0..1
Location.identifier:odsSiteCode.typeCodeableConcept0..1
Location.identifier:odsSiteCode.systemuri1..1
Location.identifier:odsSiteCode.valuestring1..1
Location.identifier:odsSiteCode.periodPeriod0..1
Location.identifier:odsSiteCode.assignerReference(Organization)0..1
Location.statuscode0..1
Location.operationalStatusCoding0..1
Location.namestring0..1
Location.aliasstring0..*
Location.descriptionstring0..1
Location.modecode0..1
Location.typeCodeableConcept0..*
Location.telecomContactPoint0..*
Location.addressAddress0..1
Location.physicalTypeCodeableConcept0..1
Location.positionBackboneElement0..1
Location.position.idstring0..1
Location.position.extensionExtension0..*
Location.position.modifierExtensionExtension0..*
Location.position.longitudedecimal1..1
Location.position.latitudedecimal1..1
Location.position.altitudedecimal0..1
Location.managingOrganizationReference(Organization)0..1
Location.partOfReference(Location)0..1
Location.hoursOfOperationBackboneElement0..*
Location.hoursOfOperation.idstring0..1
Location.hoursOfOperation.extensionExtension0..*
Location.hoursOfOperation.modifierExtensionExtension0..*
Location.hoursOfOperation.daysOfWeekcode0..*
Location.hoursOfOperation.allDayboolean0..1
Location.hoursOfOperation.openingTimetime0..1
Location.hoursOfOperation.closingTimetime0..1
Location.availabilityExceptionsstring0..1
Location.endpointReference(Endpoint)0..*

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-Location" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Location" />
<version value="2.3.0" />
<name value="UKCoreLocation" />
<title value="UK Core Location" />
<status value="active" />
<date value="2023-12-12" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [Location](https://hl7.org/fhir/R4/Location.html)." />
<purpose value="This profile can be used to exchange details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.\n\nA location includes both incidental locations (a place which is used for healthcare without prior designation or authorisation) and dedicated, formally appointed locations. Locations may be private, public, mobile or fixed and scale from small freezers to full hospital buildings or parking garages." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Location" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Location" />
<derivation value="constraint" />
<element id="Location">
<path value="Location" />
<short value="Details and position information for a physical place" />
<definition value="Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated." />
<min value="0" />
<max value="*" />
<path value="Location" />
<min value="0" />
<max value="*" />
</base>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="rim" />
<map value=".Role[classCode=SDLC]" />
</mapping>
</element>
<element id="Location.id">
<path value="Location.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Location.meta">
<path value="Location.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<code value="Meta" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Location.implicitRules">
<path value="Location.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="Location.language">
<path value="Location.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="Location.text">
<path value="Location.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<code value="Narrative" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="Location.contained">
<path value="Location.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Location.extension">
<path value="Location.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Location.modifierExtension">
<path value="Location.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Location.identifier">
<path value="Location.identifier" />
<type value="value" />
<path value="system" />
</discriminator>
<rules value="open" />
</slicing>
<short value="Unique code or number identifying the location to its users" />
<definition value="Unique code or number identifying the location to its users." />
<requirements value="Organization label locations in registries, need to keep track of those." />
<min value="0" />
<max value="*" />
<path value="Location.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="rim" />
<map value=".id" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode">
<path value="Location.identifier" />
<sliceName value="odsSiteCode" />
<short value="ODS Site code to identify the organisation at site level" />
<definition value="ODS Site code to identify the organisation at site level." />
<requirements value="Organization label locations in registries, need to keep track of those." />
<min value="0" />
<max value="1" />
<path value="Location.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="rim" />
<map value=".id" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.id">
<path value="Location.identifier.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.extension">
<path value="Location.identifier.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.use">
<path value="Location.identifier.use" />
<short value="usual | official | temp | secondary | old (If known)" />
<definition value="The purpose of this identifier." />
<comment value="Applications can assume that an identifier is permanent unless it explicitly says that it is temporary." />
<requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
<min value="0" />
<max value="1" />
<path value="Identifier.use" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one." />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierUse" />
</extension>
<strength value="required" />
<description value="Identifies the purpose for this identifier, if known ." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-use|4.0.1" />
</binding>
<identity value="v2" />
<map value="N/A" />
</mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.type">
<path value="Location.identifier.type" />
<short value="Description of identifier" />
<definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
<comment value="This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type." />
<requirements value="Allows users to make use of identifiers when the identifier system is not known." />
<min value="0" />
<max value="1" />
<path value="Identifier.type" />
<min value="0" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierType" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="extensible" />
<description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-type" />
</binding>
<identity value="v2" />
<map value="CX.5" />
</mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.system">
<path value="Location.identifier.system" />
<short value="ODS Code" />
<definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." />
<comment value="Identifier.system is always case sensitive." />
<requirements value="There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers." />
<min value="1" />
<max value="1" />
<path value="Identifier.system" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<fixedUri value="https://fhir.nhs.uk/Id/ods-site-code" />
<label value="General" />
<valueUri value="http://www.acme.com/identifiers/patient" />
</example>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.4 / EI-2-4" />
</mapping>
<identity value="rim" />
<map value="II.root or Role.id.root" />
</mapping>
<identity value="servd" />
<map value="./IdentifierType" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.value">
<path value="Location.identifier.value" />
<short value="The value that is unique" />
<definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
<comment value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe." />
<min value="1" />
<max value="1" />
<path value="Identifier.value" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<label value="General" />
<valueString value="123456" />
</example>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.1 / EI.1" />
</mapping>
<identity value="rim" />
<map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
</mapping>
<identity value="servd" />
<map value="./Value" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.period">
<path value="Location.identifier.period" />
<short value="Time period when id is/was valid for use" />
<definition value="Time period during which identifier is/was valid for use." />
<min value="0" />
<max value="1" />
<path value="Identifier.period" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.7 + CX.8" />
</mapping>
<identity value="rim" />
<map value="Role.effectiveTime or implied by context" />
</mapping>
<identity value="servd" />
<map value="./StartDate and ./EndDate" />
</mapping>
</element>
<element id="Location.identifier:odsSiteCode.assigner">
<path value="Location.identifier.assigner" />
<short value="Organization that issued id (may be just text)" />
<definition value="Organization that issued/manages the identifier." />
<comment value="The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization." />
<min value="0" />
<max value="1" />
<path value="Identifier.assigner" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.4 / (CX.4,CX.9,CX.10)" />
</mapping>
<identity value="rim" />
<map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" />
</mapping>
<identity value="servd" />
<map value="./IdentifierIssuingAuthority" />
</mapping>
</element>
<element id="Location.status">
<path value="Location.status" />
<short value="Is the location active, inactive, or suspended" />
<definition value="The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location." />
<min value="0" />
<max value="1" />
<path value="Location.status" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="LocationStatus" />
</extension>
<strength value="required" />
<description value="Indicates whether the location is still in use." />
<valueSet value="http://hl7.org/fhir/ValueSet/location-status|4.0.1" />
</binding>
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
<identity value="rim" />
<map value=".statusCode" />
</mapping>
</element>
<element id="Location.operationalStatus">
<path value="Location.operationalStatus" />
<short value="The operational status of the location (typically only for a bed/room)" />
<definition value="The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance." />
<min value="0" />
<max value="1" />
<path value="Location.operationalStatus" />
<min value="0" />
<max value="1" />
</base>
<code value="Coding" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="OperationalStatus" />
</extension>
<strength value="preferred" />
<description value="The operational status if the location (where typically a bed/room)." />
<valueSet value="http://terminology.hl7.org/ValueSet/v2-0116" />
</binding>
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.name">
<path value="Location.name" />
<short value="Name of the location as used by humans. This does not need to be unique." />
<definition value="Name of the location as used by humans. Does not need to be unique." />
<comment value="If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches." />
<min value="0" />
<max value="1" />
<path value="Location.name" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="rim" />
<map value=".name" />
</mapping>
</element>
<element id="Location.alias">
<path value="Location.alias" />
<short value="A list of alternate names that the location is known as, or was known as, in the past" />
<definition value="A list of alternate names that the location is known as, or was known as, in the past." />
<comment value="There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location." />
<requirements value="Over time locations and organizations go through many changes and can be known by different names.\n\nFor searching knowing previous names that the location was known by can be very useful." />
<min value="0" />
<max value="*" />
<path value="Location.alias" />
<min value="0" />
<max value="*" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".name" />
</mapping>
</element>
<element id="Location.description">
<path value="Location.description" />
<short value="Additional details about the location that could be displayed as further information to identify the location beyond its name" />
<definition value="Description of the Location, which helps in finding or referencing the place." />
<requirements value="Humans need additional information to verify a correct location has been identified." />
<min value="0" />
<max value="1" />
<path value="Location.description" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="rim" />
<map value=".playingEntity[classCode=PLC determinerCode=INSTANCE].desc" />
</mapping>
</element>
<element id="Location.mode">
<path value="Location.mode" />
<short value="instance | kind" />
<definition value="Indicates whether a resource instance represents a specific location or a class of locations." />
<comment value="This is labeled as a modifier because whether or not the location is a class of locations changes how it can be used and understood." />
<requirements value="When using a Location resource for scheduling or orders, we need to be able to refer to a class of Locations instead of a specific Location." />
<min value="0" />
<max value="1" />
<path value="Location.mode" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="LocationMode" />
</extension>
<strength value="required" />
<description value="Indicates whether a resource instance represents a specific location or a class of locations." />
<valueSet value="http://hl7.org/fhir/ValueSet/location-mode|4.0.1" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
<identity value="rim" />
<map value=".playingEntity[classCode=PLC].determinerCode" />
</mapping>
</element>
<element id="Location.type">
<path value="Location.type" />
<short value="Type of function performed" />
<definition value="Indicates the type of function performed at the location." />
<min value="0" />
<max value="*" />
<path value="Location.type" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="LocationType" />
</extension>
<strength value="extensible" />
<description value="Indicates the type of function performed at the location." />
<valueSet value="http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
<identity value="rim" />
<map value=".code" />
</mapping>
</element>
<element id="Location.telecom">
<path value="Location.telecom" />
<short value="Contact details of the location" />
<definition value="The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites." />
<min value="0" />
<max value="*" />
<path value="Location.telecom" />
<min value="0" />
<max value="*" />
</base>
<code value="ContactPoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".telecom" />
</mapping>
</element>
<element id="Location.address">
<path value="Location.address" />
<short value="If locations can be visited, we need to keep track of their address." />
<definition value="Physical location." />
<comment value="Additional addresses should be recorded using another instance of the Location resource, or via the Organization." />
<requirements value="If locations can be visited, we need to keep track of their address." />
<min value="0" />
<max value="1" />
<path value="Location.address" />
<min value="0" />
<max value="1" />
</base>
<code value="Address" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".addr" />
</mapping>
</element>
<element id="Location.physicalType">
<path value="Location.physicalType" />
<short value="Physical form of the location" />
<definition value="Physical form of the location, e.g. building, room, vehicle, road." />
<requirements value="For purposes of showing relevant locations in queries, we need to categorize locations." />
<min value="0" />
<max value="1" />
<path value="Location.physicalType" />
<min value="0" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="PhysicalType" />
</extension>
<strength value="example" />
<description value="Physical form of the location." />
<valueSet value="http://hl7.org/fhir/ValueSet/location-physical-type" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
<identity value="rim" />
<map value=".playingEntity [classCode=PLC].code" />
</mapping>
</element>
<element id="Location.position">
<path value="Location.position" />
<short value="The absolute geographic location" />
<definition value="The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML)." />
<requirements value="For mobile applications and automated route-finding knowing the exact location of the Location is required." />
<min value="0" />
<max value="1" />
<path value="Location.position" />
<min value="0" />
<max value="1" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".playingEntity [classCode=PLC determinerCode=INSTANCE].positionText" />
</mapping>
</element>
<element id="Location.position.id">
<path value="Location.position.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.position.extension">
<path value="Location.position.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.position.modifierExtension">
<path value="Location.position.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Location.position.longitude">
<path value="Location.position.longitude" />
<short value="Longitude with WGS84 datum" />
<definition value="Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below)." />
<min value="1" />
<max value="1" />
<path value="Location.position.longitude" />
<min value="1" />
<max value="1" />
</base>
<code value="decimal" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="(RIM Opted not to map the sub-elements of GPS location, is now an OBS)" />
</mapping>
</element>
<element id="Location.position.latitude">
<path value="Location.position.latitude" />
<short value="Latitude with WGS84 datum" />
<definition value="Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below)." />
<min value="1" />
<max value="1" />
<path value="Location.position.latitude" />
<min value="1" />
<max value="1" />
</base>
<code value="decimal" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="(RIM Opted not to map the sub-elements of GPS location, is now an OBS)" />
</mapping>
</element>
<element id="Location.position.altitude">
<path value="Location.position.altitude" />
<short value="Altitude with WGS84 datum" />
<definition value="Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below)." />
<min value="0" />
<max value="1" />
<path value="Location.position.altitude" />
<min value="0" />
<max value="1" />
</base>
<code value="decimal" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="(RIM Opted not to map the sub-elements of GPS location, is now an OBS)" />
</mapping>
</element>
<element id="Location.managingOrganization">
<path value="Location.managingOrganization" />
<short value="Organization responsible for provisioning and upkeep" />
<definition value="The organization responsible for the provisioning and upkeep of the location." />
<comment value="This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource." />
<requirements value="Need to know who manages the location." />
<min value="0" />
<max value="1" />
<path value="Location.managingOrganization" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="rim" />
<map value=".scopingEntity[classCode=ORG determinerKind=INSTANCE]" />
</mapping>
</element>
<element id="Location.partOf">
<path value="Location.partOf" />
<short value="Another Location this one is physically a part of" />
<definition value="Another Location of which this Location is physically a part of." />
<requirements value="For purposes of location, display and identification, knowing which locations are located within other locations is important." />
<min value="0" />
<max value="1" />
<path value="Location.partOf" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy">
<valueBoolean value="true" />
</extension>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".inboundLink[typeCode=PART].source[classCode=SDLC]" />
</mapping>
</element>
<element id="Location.hoursOfOperation">
<path value="Location.hoursOfOperation" />
<short value="What days/times during a week is this location usually open" />
<definition value="What days/times during a week is this location usually open." />
<comment value="This type of information is commonly found published in directories and on websites informing customers when the facility is available.\n\nSpecific services within the location may have their own hours which could be shorter (or longer) than the locations hours." />
<min value="0" />
<max value="*" />
<path value="Location.hoursOfOperation" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="Location.hoursOfOperation.id">
<path value="Location.hoursOfOperation.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.hoursOfOperation.extension">
<path value="Location.hoursOfOperation.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.hoursOfOperation.modifierExtension">
<path value="Location.hoursOfOperation.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Location.hoursOfOperation.daysOfWeek">
<path value="Location.hoursOfOperation.daysOfWeek" />
<short value="mon | tue | wed | thu | fri | sat | sun" />
<definition value="Indicates which days of the week are available between the start and end Times." />
<min value="0" />
<max value="*" />
<path value="Location.hoursOfOperation.daysOfWeek" />
<min value="0" />
<max value="*" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="DaysOfWeek" />
</extension>
<strength value="required" />
<description value="The days of the week." />
<valueSet value="http://hl7.org/fhir/ValueSet/days-of-week|4.0.1" />
</binding>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="Location.hoursOfOperation.allDay">
<path value="Location.hoursOfOperation.allDay" />
<short value="The Location is open all day" />
<definition value="The Location is open all day." />
<min value="0" />
<max value="1" />
<path value="Location.hoursOfOperation.allDay" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="Location.hoursOfOperation.openingTime">
<path value="Location.hoursOfOperation.openingTime" />
<short value="Time that the Location opens" />
<definition value="Time that the Location opens." />
<min value="0" />
<max value="1" />
<path value="Location.hoursOfOperation.openingTime" />
<min value="0" />
<max value="1" />
</base>
<code value="time" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="Location.hoursOfOperation.closingTime">
<path value="Location.hoursOfOperation.closingTime" />
<short value="Time that the Location closes" />
<definition value="Time that the Location closes." />
<min value="0" />
<max value="1" />
<path value="Location.hoursOfOperation.closingTime" />
<min value="0" />
<max value="1" />
</base>
<code value="time" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="Location.availabilityExceptions">
<path value="Location.availabilityExceptions" />
<short value="Description of availability exceptions" />
<definition value="A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times." />
<min value="0" />
<max value="1" />
<path value="Location.availabilityExceptions" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Location.endpoint">
<path value="Location.endpoint" />
<short value="Technical endpoints providing access to services operated for the location" />
<definition value="Technical endpoints providing access to services operated for the location." />
<requirements value="Organizations may have different systems at different locations that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose." />
<min value="0" />
<max value="*" />
<path value="Location.endpoint" />
<min value="0" />
<max value="*" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Endpoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
</snapshot>
<element id="Location.identifier">
<path value="Location.identifier" />
<type value="value" />
<path value="system" />
</discriminator>
<rules value="open" />
</slicing>
</element>
<element id="Location.identifier:odsSiteCode">
<path value="Location.identifier" />
<sliceName value="odsSiteCode" />
<short value="ODS Site code to identify the organisation at site level" />
<definition value="ODS Site code to identify the organisation at site level." />
<max value="1" />
<mustSupport value="true" />
</element>
<element id="Location.identifier:odsSiteCode.system">
<path value="Location.identifier.system" />
<short value="ODS Code" />
<min value="1" />
<fixedUri value="https://fhir.nhs.uk/Id/ods-site-code" />
</element>
<element id="Location.identifier:odsSiteCode.value">
<path value="Location.identifier.value" />
<min value="1" />
</element>
<element id="Location.status">
<path value="Location.status" />
<short value="Is the location active, inactive, or suspended" />
<mustSupport value="true" />
</element>
<element id="Location.name">
<path value="Location.name" />
<short value="Name of the location as used by humans. This does not need to be unique." />
<mustSupport value="true" />
</element>
<element id="Location.address">
<path value="Location.address" />
<short value="If locations can be visited, we need to keep track of their address." />
<mustSupport value="true" />
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "UKCore-Location",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Location",
"version": "2.3.0",
"name": "UKCoreLocation",
"title": "UK Core Location",
"status": "active",
"date": "2023-12-12",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [Location](https://hl7.org/fhir/R4/Location.html).",
"purpose": "This profile can be used to exchange details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.\n\nA location includes both incidental locations (a place which is used for healthcare without prior designation or authorisation) and dedicated, formally appointed locations. Locations may be private, public, mobile or fixed and scale from small freezers to full hospital buildings or parking garages.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Location",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Location",
"derivation": "constraint",
"element": [
{
"id": "Location",
"path": "Location",
"short": "Details and position information for a physical place",
"definition": "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.",
"min": 0,
"max": "*",
"base": {
"path": "Location",
"min": 0,
"max": "*"
},
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "rim",
"map": ".Role[classCode=SDLC]"
}
]
},
{
"id": "Location.id",
"path": "Location.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Location.meta",
"path": "Location.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Location.implicitRules",
"path": "Location.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "Location.language",
"path": "Location.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "Location.text",
"path": "Location.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "Location.contained",
"path": "Location.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Location.extension",
"path": "Location.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Location.modifierExtension",
"path": "Location.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Location.identifier",
"path": "Location.identifier",
"slicing": {
{
"type": "value",
"path": "system"
}
],
"rules": "open"
},
"short": "Unique code or number identifying the location to its users",
"definition": "Unique code or number identifying the location to its users.",
"requirements": "Organization label locations in registries, need to keep track of those.",
"min": 0,
"max": "*",
"base": {
"path": "Location.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "rim",
"map": ".id"
}
]
},
{
"id": "Location.identifier:odsSiteCode",
"path": "Location.identifier",
"sliceName": "odsSiteCode",
"short": "ODS Site code to identify the organisation at site level",
"definition": "ODS Site code to identify the organisation at site level.",
"requirements": "Organization label locations in registries, need to keep track of those.",
"min": 0,
"max": "1",
"base": {
"path": "Location.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "rim",
"map": ".id"
}
]
},
{
"id": "Location.identifier:odsSiteCode.id",
"path": "Location.identifier.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.identifier:odsSiteCode.extension",
"path": "Location.identifier.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.identifier:odsSiteCode.use",
"path": "Location.identifier.use",
"short": "usual | official | temp | secondary | old (If known)",
"definition": "The purpose of this identifier.",
"comment": "Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
"requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.use",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one.",
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierUse"
}
],
"strength": "required",
"description": "Identifies the purpose for this identifier, if known .",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-use|4.0.1"
},
"mapping": [
{
"identity": "v2",
"map": "N/A"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "Location.identifier:odsSiteCode.type",
"path": "Location.identifier.type",
"short": "Description of identifier",
"definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
"comment": "This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
"requirements": "Allows users to make use of identifiers when the identifier system is not known.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.type",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierType"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "extensible",
"description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-type"
},
"mapping": [
{
"identity": "v2",
"map": "CX.5"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "Location.identifier:odsSiteCode.system",
"path": "Location.identifier.system",
"short": "ODS Code",
"definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
"comment": "Identifier.system is always case sensitive.",
"requirements": "There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.",
"min": 1,
"max": "1",
"base": {
"path": "Identifier.system",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"fixedUri": "https://fhir.nhs.uk/Id/ods-site-code",
"example": [
{
"label": "General",
"valueUri": "http://www.acme.com/identifiers/patient"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.4 / EI-2-4"
},
{
"identity": "rim",
"map": "II.root or Role.id.root"
},
{
"identity": "servd",
"map": "./IdentifierType"
}
]
},
{
"id": "Location.identifier:odsSiteCode.value",
"path": "Location.identifier.value",
"short": "The value that is unique",
"definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
"comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.",
"min": 1,
"max": "1",
"base": {
"path": "Identifier.value",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "123456"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.1 / EI.1"
},
{
"identity": "rim",
"map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
},
{
"identity": "servd",
"map": "./Value"
}
]
},
{
"id": "Location.identifier:odsSiteCode.period",
"path": "Location.identifier.period",
"short": "Time period when id is/was valid for use",
"definition": "Time period during which identifier is/was valid for use.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.7 + CX.8"
},
{
"identity": "rim",
"map": "Role.effectiveTime or implied by context"
},
{
"identity": "servd",
"map": "./StartDate and ./EndDate"
}
]
},
{
"id": "Location.identifier:odsSiteCode.assigner",
"path": "Location.identifier.assigner",
"short": "Organization that issued id (may be just text)",
"definition": "Organization that issued/manages the identifier.",
"comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.assigner",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.4 / (CX.4,CX.9,CX.10)"
},
{
"identity": "rim",
"map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper"
},
{
"identity": "servd",
"map": "./IdentifierIssuingAuthority"
}
]
},
{
"id": "Location.status",
"path": "Location.status",
"short": "Is the location active, inactive, or suspended",
"definition": "The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.",
"min": 0,
"max": "1",
"base": {
"path": "Location.status",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid",
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "LocationStatus"
}
],
"strength": "required",
"description": "Indicates whether the location is still in use.",
"valueSet": "http://hl7.org/fhir/ValueSet/location-status|4.0.1"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
},
{
"identity": "rim",
"map": ".statusCode"
}
]
},
{
"id": "Location.operationalStatus",
"path": "Location.operationalStatus",
"short": "The operational status of the location (typically only for a bed/room)",
"definition": "The operational status covers operation values most relevant to beds (but can also apply to rooms/units/chairs/etc. such as an isolation unit/dialysis chair). This typically covers concepts such as contamination, housekeeping, and other activities like maintenance.",
"min": 0,
"max": "1",
"base": {
"path": "Location.operationalStatus",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Coding"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "OperationalStatus"
}
],
"strength": "preferred",
"description": "The operational status if the location (where typically a bed/room).",
"valueSet": "http://terminology.hl7.org/ValueSet/v2-0116"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
},
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.name",
"path": "Location.name",
"short": "Name of the location as used by humans. This does not need to be unique.",
"definition": "Name of the location as used by humans. Does not need to be unique.",
"comment": "If the name of a location changes, consider putting the old name in the alias column so that it can still be located through searches.",
"min": 0,
"max": "1",
"base": {
"path": "Location.name",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".name"
}
]
},
{
"id": "Location.alias",
"path": "Location.alias",
"short": "A list of alternate names that the location is known as, or was known as, in the past",
"definition": "A list of alternate names that the location is known as, or was known as, in the past.",
"comment": "There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location.",
"requirements": "Over time locations and organizations go through many changes and can be known by different names.\n\nFor searching knowing previous names that the location was known by can be very useful.",
"min": 0,
"max": "*",
"base": {
"path": "Location.alias",
"min": 0,
"max": "*"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".name"
}
]
},
{
"id": "Location.description",
"path": "Location.description",
"short": "Additional details about the location that could be displayed as further information to identify the location beyond its name",
"definition": "Description of the Location, which helps in finding or referencing the place.",
"requirements": "Humans need additional information to verify a correct location has been identified.",
"min": 0,
"max": "1",
"base": {
"path": "Location.description",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity[classCode=PLC determinerCode=INSTANCE].desc"
}
]
},
{
"id": "Location.mode",
"path": "Location.mode",
"short": "instance | kind",
"definition": "Indicates whether a resource instance represents a specific location or a class of locations.",
"comment": "This is labeled as a modifier because whether or not the location is a class of locations changes how it can be used and understood.",
"requirements": "When using a Location resource for scheduling or orders, we need to be able to refer to a class of Locations instead of a specific Location.",
"min": 0,
"max": "1",
"base": {
"path": "Location.mode",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "LocationMode"
}
],
"strength": "required",
"description": "Indicates whether a resource instance represents a specific location or a class of locations.",
"valueSet": "http://hl7.org/fhir/ValueSet/location-mode|4.0.1"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
},
{
"identity": "rim",
"map": ".playingEntity[classCode=PLC].determinerCode"
}
]
},
{
"id": "Location.type",
"path": "Location.type",
"short": "Type of function performed",
"definition": "Indicates the type of function performed at the location.",
"min": 0,
"max": "*",
"base": {
"path": "Location.type",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "LocationType"
}
],
"strength": "extensible",
"description": "Indicates the type of function performed at the location.",
"valueSet": "http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
},
{
"identity": "rim",
"map": ".code"
}
]
},
{
"id": "Location.telecom",
"path": "Location.telecom",
"short": "Contact details of the location",
"definition": "The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.",
"min": 0,
"max": "*",
"base": {
"path": "Location.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".telecom"
}
]
},
{
"id": "Location.address",
"path": "Location.address",
"short": "If locations can be visited, we need to keep track of their address.",
"definition": "Physical location.",
"comment": "Additional addresses should be recorded using another instance of the Location resource, or via the Organization.",
"requirements": "If locations can be visited, we need to keep track of their address.",
"min": 0,
"max": "1",
"base": {
"path": "Location.address",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Address"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".addr"
}
]
},
{
"id": "Location.physicalType",
"path": "Location.physicalType",
"short": "Physical form of the location",
"definition": "Physical form of the location, e.g. building, room, vehicle, road.",
"requirements": "For purposes of showing relevant locations in queries, we need to categorize locations.",
"min": 0,
"max": "1",
"base": {
"path": "Location.physicalType",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "PhysicalType"
}
],
"strength": "example",
"description": "Physical form of the location.",
"valueSet": "http://hl7.org/fhir/ValueSet/location-physical-type"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
},
{
"identity": "rim",
"map": ".playingEntity [classCode=PLC].code"
}
]
},
{
"id": "Location.position",
"path": "Location.position",
"short": "The absolute geographic location",
"definition": "The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).",
"requirements": "For mobile applications and automated route-finding knowing the exact location of the Location is required.",
"min": 0,
"max": "1",
"base": {
"path": "Location.position",
"min": 0,
"max": "1"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity [classCode=PLC determinerCode=INSTANCE].positionText"
}
]
},
{
"id": "Location.position.id",
"path": "Location.position.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.position.extension",
"path": "Location.position.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.position.modifierExtension",
"path": "Location.position.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Location.position.longitude",
"path": "Location.position.longitude",
"short": "Longitude with WGS84 datum",
"definition": "Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).",
"min": 1,
"max": "1",
"base": {
"path": "Location.position.longitude",
"min": 1,
"max": "1"
},
"type": [
{
"code": "decimal"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "(RIM Opted not to map the sub-elements of GPS location, is now an OBS)"
}
]
},
{
"id": "Location.position.latitude",
"path": "Location.position.latitude",
"short": "Latitude with WGS84 datum",
"definition": "Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).",
"min": 1,
"max": "1",
"base": {
"path": "Location.position.latitude",
"min": 1,
"max": "1"
},
"type": [
{
"code": "decimal"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "(RIM Opted not to map the sub-elements of GPS location, is now an OBS)"
}
]
},
{
"id": "Location.position.altitude",
"path": "Location.position.altitude",
"short": "Altitude with WGS84 datum",
"definition": "Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).",
"min": 0,
"max": "1",
"base": {
"path": "Location.position.altitude",
"min": 0,
"max": "1"
},
"type": [
{
"code": "decimal"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "(RIM Opted not to map the sub-elements of GPS location, is now an OBS)"
}
]
},
{
"id": "Location.managingOrganization",
"path": "Location.managingOrganization",
"short": "Organization responsible for provisioning and upkeep",
"definition": "The organization responsible for the provisioning and upkeep of the location.",
"comment": "This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource.",
"requirements": "Need to know who manages the location.",
"min": 0,
"max": "1",
"base": {
"path": "Location.managingOrganization",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".scopingEntity[classCode=ORG determinerKind=INSTANCE]"
}
]
},
{
"id": "Location.partOf",
"path": "Location.partOf",
"short": "Another Location this one is physically a part of",
"definition": "Another Location of which this Location is physically a part of.",
"requirements": "For purposes of location, display and identification, knowing which locations are located within other locations is important.",
"min": 0,
"max": "1",
"base": {
"path": "Location.partOf",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy",
"valueBoolean": true
}
],
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Location"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".inboundLink[typeCode=PART].source[classCode=SDLC]"
}
]
},
{
"id": "Location.hoursOfOperation",
"path": "Location.hoursOfOperation",
"short": "What days/times during a week is this location usually open",
"definition": "What days/times during a week is this location usually open.",
"comment": "This type of information is commonly found published in directories and on websites informing customers when the facility is available.\n\nSpecific services within the location may have their own hours which could be shorter (or longer) than the locations hours.",
"min": 0,
"max": "*",
"base": {
"path": "Location.hoursOfOperation",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "Location.hoursOfOperation.id",
"path": "Location.hoursOfOperation.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.hoursOfOperation.extension",
"path": "Location.hoursOfOperation.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.hoursOfOperation.modifierExtension",
"path": "Location.hoursOfOperation.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Location.hoursOfOperation.daysOfWeek",
"path": "Location.hoursOfOperation.daysOfWeek",
"short": "mon | tue | wed | thu | fri | sat | sun",
"definition": "Indicates which days of the week are available between the start and end Times.",
"min": 0,
"max": "*",
"base": {
"path": "Location.hoursOfOperation.daysOfWeek",
"min": 0,
"max": "*"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "DaysOfWeek"
}
],
"strength": "required",
"description": "The days of the week.",
"valueSet": "http://hl7.org/fhir/ValueSet/days-of-week|4.0.1"
},
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "Location.hoursOfOperation.allDay",
"path": "Location.hoursOfOperation.allDay",
"short": "The Location is open all day",
"definition": "The Location is open all day.",
"min": 0,
"max": "1",
"base": {
"path": "Location.hoursOfOperation.allDay",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "Location.hoursOfOperation.openingTime",
"path": "Location.hoursOfOperation.openingTime",
"short": "Time that the Location opens",
"definition": "Time that the Location opens.",
"min": 0,
"max": "1",
"base": {
"path": "Location.hoursOfOperation.openingTime",
"min": 0,
"max": "1"
},
"type": [
{
"code": "time"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "Location.hoursOfOperation.closingTime",
"path": "Location.hoursOfOperation.closingTime",
"short": "Time that the Location closes",
"definition": "Time that the Location closes.",
"min": 0,
"max": "1",
"base": {
"path": "Location.hoursOfOperation.closingTime",
"min": 0,
"max": "1"
},
"type": [
{
"code": "time"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "Location.availabilityExceptions",
"path": "Location.availabilityExceptions",
"short": "Description of availability exceptions",
"definition": "A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.",
"min": 0,
"max": "1",
"base": {
"path": "Location.availabilityExceptions",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Location.endpoint",
"path": "Location.endpoint",
"short": "Technical endpoints providing access to services operated for the location",
"definition": "Technical endpoints providing access to services operated for the location.",
"requirements": "Organizations may have different systems at different locations that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose.",
"min": 0,
"max": "*",
"base": {
"path": "Location.endpoint",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Endpoint"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
}
]
},
"element": [
{
"id": "Location.identifier",
"path": "Location.identifier",
"slicing": {
{
"type": "value",
"path": "system"
}
],
"rules": "open"
}
},
{
"id": "Location.identifier:odsSiteCode",
"path": "Location.identifier",
"sliceName": "odsSiteCode",
"short": "ODS Site code to identify the organisation at site level",
"definition": "ODS Site code to identify the organisation at site level.",
"max": "1",
"mustSupport": true
},
{
"id": "Location.identifier:odsSiteCode.system",
"path": "Location.identifier.system",
"short": "ODS Code",
"min": 1,
"fixedUri": "https://fhir.nhs.uk/Id/ods-site-code"
},
{
"id": "Location.identifier:odsSiteCode.value",
"path": "Location.identifier.value",
"min": 1
},
{
"id": "Location.status",
"path": "Location.status",
"short": "Is the location active, inactive, or suspended",
"mustSupport": true
},
{
"id": "Location.name",
"path": "Location.name",
"short": "Name of the location as used by humans. This does not need to be unique.",
"mustSupport": true
},
{
"id": "Location.address",
"path": "Location.address",
"short": "If locations can be visited, we need to keep track of their address.",
"mustSupport": true
}
]
}
}

Examples

1. An example to illustrate a clinical unit within a hospital

Example UKCore-Location-CardiologySJUH


2. An example to illustrate a GP clinic location

Example UKCore-Location-GeneralPracticeNurseClinic


StructureDefinition UKCore-Organization

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
mainLocationC0..1Extension(Reference(Location))
id0..1string
extensionC0..0Extension
url1..1uriFixed Value
valuePeriodPeriod
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
activeS Σ ?!0..1boolean
typeΣ0..*CodeableConceptBinding
nameS Σ C0..1string
alias0..*string
telecomS C0..*ContactPoint
addressS C0..*Address
partOfΣ0..1Reference(Organization)
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
purpose0..1CodeableConceptBinding
name0..1HumanName
telecom0..*ContactPoint
address0..1Address
endpoint0..*Reference(Endpoint)
Organization
ShortA grouping of people or organizations with a common purpose
Definition

A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
  • org-1: The organization SHALL at least have a name or an identifier, and possibly more than one
    (identifier.count() + name.count()) > 0
Mappings
  • rim: Entity. Role, or Act
  • v2: (also see master files messages)
  • rim: Organization(classCode=ORG, determinerCode=INST)
  • servd: Organization
Organization.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Organization.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Organization.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Organization.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Organization.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Organization.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Organization.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Organization.extension:mainLocation
ShortThe main location of the organisation.
Definition

The main location of the organisation.

Cardinality0..1
TypeExtension(Reference(Location))
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
  • rim: n/a
Organization.extension:organizationPeriod
ShortThe date range that this organization SHOULD be considered available.
Definition

The date range that this organization SHOULD be considered available.

Cardinality0..1
TypeExtension(Period)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Organization.extension:organizationPeriod.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Organization.extension:organizationPeriod.extension
ShortExtension
Definition

An Extension

Cardinality0..0
TypeExtension
Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Organization.extension:organizationPeriod.url
Shortidentifies the meaning of the extension
Definition

Source of the definition for the extension code - a logical name or a URL.

Cardinality1..1
Typeuri
Comments

The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

Fixed Value
http://hl7.org/fhir/StructureDefinition/organization-period
Mappings
  • rim: N/A
Organization.extension:organizationPeriod.value[x]
ShortThe date range that this organization SHOULD be considered available.
Definition

The date range that this organization SHOULD be considered available.

Cardinality1..1
TypePeriod
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
Organization.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Organization.identifier
ShortIdentifies this organization across multiple systems.
Definition

Identifier for the organization that is used to identify the organization across multiple disparate systems.

Cardinality0..*
TypeIdentifier
Must SupportTrue
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

Slicing

Unordered, Open, by system(Value)

ConditionsThe cardinality or value of this element may be affected by these constraints: org-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: XON.10 / XON.3
  • rim: .scopes[Role](classCode=IDENT)
  • servd: ./Identifiers
Organization.identifier:odsOrganisationCode
ShortOrganisation Data Service code
Definition

Identifier code supplier by the Organisation Data Service.

Cardinality0..1
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

ConditionsThe cardinality or value of this element may be affected by these constraints: org-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: XON.10 / XON.3
  • rim: .scopes[Role](classCode=IDENT)
  • servd: ./Identifiers
Organization.identifier:odsOrganisationCode.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Organization.identifier:odsOrganisationCode.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Organization.identifier:odsOrganisationCode.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
Organization.identifier:odsOrganisationCode.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
Organization.identifier:odsOrganisationCode.system
ShortThe namespace for the identifier value
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
https://fhir.nhs.uk/Id/ods-organization-code
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Organization.identifier:odsOrganisationCode.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Organization.identifier:odsOrganisationCode.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Organization.identifier:odsOrganisationCode.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Organization.identifier:odsSiteCode
ShortODS Site code to identify the organisation at site level
Definition

ODS Site code to identify the organisation at site level.

Cardinality0..1
TypeIdentifier
SummaryTrue
Requirements

Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.

ConditionsThe cardinality or value of this element may be affected by these constraints: org-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: XON.10 / XON.3
  • rim: .scopes[Role](classCode=IDENT)
  • servd: ./Identifiers
Organization.identifier:odsSiteCode.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Organization.identifier:odsSiteCode.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Organization.identifier:odsSiteCode.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
Organization.identifier:odsSiteCode.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
Organization.identifier:odsSiteCode.system
ShortThe namespace for the identifier value
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
https://fhir.nhs.uk/Id/ods-site-code
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Organization.identifier:odsSiteCode.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Organization.identifier:odsSiteCode.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Organization.identifier:odsSiteCode.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Organization.active
ShortIdentifies this organization across multiple systems.
Definition

Whether the organization's record is still in active use.

Cardinality0..1
Typeboolean
Must SupportTrue
ModifierTrue
SummaryTrue
Requirements

Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI.

Comments

This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used.

This element is labeled as a modifier because it may be used to mark that the resource was created in error.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • v2: No equivalent in HL7 v2
  • rim: .status
  • servd: ./Status (however this concept in ServD more covers why the organization is active or not, could be delisted, deregistered, not operational yet) this could alternatively be derived from ./StartDate and ./EndDate and given a context date.
Organization.type
ShortKind of organization
Definition

The kind(s) of organization that this is.

Cardinality0..*
TypeCodeableConcept
Binding

A set of concepts indicating the organisation type, derived from the base CodeSystem, and Genomics specific concepts

UKCoreOrganizationType (extensible)

SummaryTrue
Requirements

Need to be able to track the kind of organization that this is - different organization types have different uses.

Comments

Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes

When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center.

We expect that some jurisdictions will profile this optionality to be a single cardinality.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
  • v2: No equivalent in v2
  • rim: .code
  • servd: n/a
Organization.name
ShortA name associated with the organization.
Definition

A name associated with the organization.

Cardinality0..1
Typestring
Must SupportTrue
SummaryTrue
Requirements

Need to use the name as the label of the organization.

Comments

If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches.

ConditionsThe cardinality or value of this element may be affected by these constraints: org-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: XON.1
  • rim: .name
  • servd: .PreferredName/Name
Organization.alias
ShortA list of alternate names that the organization is known as, or was known as in the past
Definition

A list of alternate names that the organization is known as, or was known as in the past.

Cardinality0..*
Typestring
Requirements

Over time locations and organizations go through many changes and can be known by different names.

For searching knowing previous names that the organization was known by can be very useful.

Comments

There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .name
Organization.telecom
ShortContact details for the organization.
Definition

A contact detail for the organization.

Cardinality0..*
TypeContactPoint
Must SupportTrue
Requirements

Human contact for the organization.

Comments

The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself.

ConditionsThe cardinality or value of this element may be affected by these constraints: org-3
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • org-3: The telecom of an organization can never be of use 'home'
    where(use = 'home').empty()
Mappings
  • v2: ORC-22?
  • rim: .telecom
  • servd: ./ContactPoints
Organization.address
ShortAn address for the organization.
Definition

An address for the organization.

Cardinality0..*
TypeAddress
Must SupportTrue
Requirements

May need to keep track of the organization's addresses for contacting, billing or reporting requirements.

Comments

Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used.

ConditionsThe cardinality or value of this element may be affected by these constraints: org-2
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • org-2: An address of an organization can never be of use 'home'
    where(use = 'home').empty()
Mappings
  • v2: ORC-23?
  • rim: .address
  • servd: ./PrimaryAddress and ./OtherAddresses
Organization.partOf
ShortThe organization of which this organization forms a part
Definition

The organization of which this organization forms a part.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Requirements

Need to be able to track the hierarchy of organizations within an organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: No equivalent in HL7 v2
  • rim: .playedBy[classCode=Part].scoper
  • servd: n/a
Organization.contact
ShortContact for the organization for a certain purpose
Definition

Contact for the organization for a certain purpose.

Cardinality0..*
TypeBackboneElement
Requirements

Need to keep track of assigned contact points within bigger organization.

Comments

Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .contactParty
Organization.contact.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Organization.contact.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Organization.contact.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Organization.contact.purpose
ShortThe type of contact
Definition

Indicates a purpose for which the contact can be reached.

Cardinality0..1
TypeCodeableConcept
Binding

The purpose for which you would contact a contact party.

ContactEntityType (extensible)

Requirements

Need to distinguish between multiple contact persons.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: ./type
Organization.contact.name
ShortA name associated with the contact
Definition

A name associated with the contact.

Cardinality0..1
TypeHumanName
Requirements

Need to be able to track the person by name.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PID-5, PID-9
  • rim: ./name
Organization.contact.telecom
ShortContact details (telephone, email, etc.) for a contact
Definition

A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.

Cardinality0..*
TypeContactPoint
Requirements

People have (primary) ways to contact them in some way such as phone, email.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PID-13, PID-14
  • rim: ./telecom
Organization.contact.address
ShortVisiting or postal addresses for the contact
Definition

Visiting or postal addresses for the contact.

Cardinality0..1
TypeAddress
Requirements

May need to keep track of a contact party's address for contacting, billing or reporting requirements.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PID-11
  • rim: ./addr
Organization.endpoint
ShortTechnical endpoints providing access to services operated for the organization
Definition

Technical endpoints providing access to services operated for the organization.

Cardinality0..*
TypeReference(Endpoint)
Requirements

Organizations have multiple systems that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Organization0..*
Organization.idstring0..1
Organization.metaMeta0..1
Organization.implicitRulesuri0..1
Organization.languagecode0..1
Organization.textNarrative0..1
Organization.containedResource0..*
Organization.extensionExtension0..*
Organization.extension:mainLocationExtension0..1
Organization.extension:organizationPeriodExtension0..1
Organization.extension:organizationPeriod.idstring0..1
Organization.extension:organizationPeriod.extensionExtension0..0
Organization.extension:organizationPeriod.urluri1..1
Organization.extension:organizationPeriod.value[x]Period1..1
Organization.modifierExtensionExtension0..*
Organization.identifierIdentifier0..*
Organization.identifier:odsOrganisationCodeIdentifier0..1
Organization.identifier:odsOrganisationCode.idstring0..1
Organization.identifier:odsOrganisationCode.extensionExtension0..*
Organization.identifier:odsOrganisationCode.usecode0..1
Organization.identifier:odsOrganisationCode.typeCodeableConcept0..1
Organization.identifier:odsOrganisationCode.systemuri1..1
Organization.identifier:odsOrganisationCode.valuestring1..1
Organization.identifier:odsOrganisationCode.periodPeriod0..1
Organization.identifier:odsOrganisationCode.assignerReference(Organization)0..1
Organization.identifier:odsSiteCodeIdentifier0..1
Organization.identifier:odsSiteCode.idstring0..1
Organization.identifier:odsSiteCode.extensionExtension0..*
Organization.identifier:odsSiteCode.usecode0..1
Organization.identifier:odsSiteCode.typeCodeableConcept0..1
Organization.identifier:odsSiteCode.systemuri1..1
Organization.identifier:odsSiteCode.valuestring1..1
Organization.identifier:odsSiteCode.periodPeriod0..1
Organization.identifier:odsSiteCode.assignerReference(Organization)0..1
Organization.activeboolean0..1
Organization.typeCodeableConcept0..*
Organization.namestring0..1
Organization.aliasstring0..*
Organization.telecomContactPoint0..*
Organization.addressAddress0..*
Organization.partOfReference(Organization)0..1
Organization.contactBackboneElement0..*
Organization.contact.idstring0..1
Organization.contact.extensionExtension0..*
Organization.contact.modifierExtensionExtension0..*
Organization.contact.purposeCodeableConcept0..1
Organization.contact.nameHumanName0..1
Organization.contact.telecomContactPoint0..*
Organization.contact.addressAddress0..1
Organization.endpointReference(Endpoint)0..*

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-Organization" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization" />
<version value="2.5.1" />
<name value="UKCoreOrganization" />
<title value="UK Core Organization" />
<status value="active" />
<date value="2024-07-23" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [Organization](https://hl7.org/fhir/R4/Organization.html)." />
<purpose value="This profile allows exchange of a formally or informally recognised grouping of people or organisations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Organization" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Organization" />
<derivation value="constraint" />
<element id="Organization">
<path value="Organization" />
<short value="A grouping of people or organizations with a common purpose" />
<definition value="A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc." />
<min value="0" />
<max value="*" />
<path value="Organization" />
<min value="0" />
<max value="*" />
</base>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="org-1" />
<severity value="error" />
<human value="The organization SHALL at least have a name or an identifier, and possibly more than one" />
<expression value="(identifier.count() + name.count()) > 0" />
<xpath value="count(f:identifier | f:name) > 0" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="v2" />
<map value="(also see master files messages)" />
</mapping>
<identity value="rim" />
<map value="Organization(classCode=ORG, determinerCode=INST)" />
</mapping>
<identity value="servd" />
<map value="Organization" />
</mapping>
</element>
<element id="Organization.id">
<path value="Organization.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Organization.meta">
<path value="Organization.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<code value="Meta" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Organization.implicitRules">
<path value="Organization.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="Organization.language">
<path value="Organization.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="Organization.text">
<path value="Organization.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<code value="Narrative" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="Organization.contained">
<path value="Organization.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Organization.extension">
<path value="Organization.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<ordered value="false" />
<rules value="open" />
</slicing>
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Organization.extension:mainLocation">
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
<valueCode value="normative" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
<valueCode value="4.0.0" />
</extension>
<path value="Organization.extension" />
<sliceName value="mainLocation" />
<short value="The main location of the organisation." />
<definition value="The main location of the organisation." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="1" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
<profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MainLocation" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.extension:organizationPeriod">
<path value="Organization.extension" />
<sliceName value="organizationPeriod" />
<short value="The date range that this organization SHOULD be considered available." />
<definition value="The date range that this organization SHOULD be considered available." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="1" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
<profile value="http://hl7.org/fhir/StructureDefinition/organization-period" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Organization.extension:organizationPeriod.id">
<path value="Organization.extension.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.extension:organizationPeriod.extension">
<path value="Organization.extension.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<short value="Extension" />
<definition value="An Extension" />
<min value="0" />
<max value="0" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
</element>
<element id="Organization.extension:organizationPeriod.url">
<path value="Organization.extension.url" />
<representation value="xmlAttr" />
<short value="identifies the meaning of the extension" />
<definition value="Source of the definition for the extension code - a logical name or a URL." />
<comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension." />
<min value="1" />
<max value="1" />
<path value="Extension.url" />
<min value="1" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="uri" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<fixedUri value="http://hl7.org/fhir/StructureDefinition/organization-period" />
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Organization.extension:organizationPeriod.value[x]">
<path value="Organization.extension.value[x]" />
<short value="The date range that this organization SHOULD be considered available." />
<definition value="The date range that this organization SHOULD be considered available." />
<min value="1" />
<max value="1" />
<path value="Extension.value[x]" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Organization.modifierExtension">
<path value="Organization.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Organization.identifier">
<path value="Organization.identifier" />
<type value="value" />
<path value="system" />
</discriminator>
<ordered value="false" />
<rules value="open" />
</slicing>
<short value="Identifies this organization across multiple systems." />
<definition value="Identifier for the organization that is used to identify the organization across multiple disparate systems." />
<requirements value="Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization." />
<min value="0" />
<max value="*" />
<path value="Organization.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<condition value="org-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="v2" />
<map value="XON.10 / XON.3" />
</mapping>
<identity value="rim" />
<map value=".scopes[Role](classCode=IDENT)" />
</mapping>
<identity value="servd" />
<map value="./Identifiers" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode">
<path value="Organization.identifier" />
<sliceName value="odsOrganisationCode" />
<short value="Organisation Data Service code" />
<definition value="Identifier code supplier by the Organisation Data Service." />
<requirements value="Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization." />
<min value="0" />
<max value="1" />
<path value="Organization.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<condition value="org-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="v2" />
<map value="XON.10 / XON.3" />
</mapping>
<identity value="rim" />
<map value=".scopes[Role](classCode=IDENT)" />
</mapping>
<identity value="servd" />
<map value="./Identifiers" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.id">
<path value="Organization.identifier.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.extension">
<path value="Organization.identifier.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.use">
<path value="Organization.identifier.use" />
<short value="usual | official | temp | secondary | old (If known)" />
<definition value="The purpose of this identifier." />
<comment value="Applications can assume that an identifier is permanent unless it explicitly says that it is temporary." />
<requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
<min value="0" />
<max value="1" />
<path value="Identifier.use" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one." />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierUse" />
</extension>
<strength value="required" />
<description value="Identifies the purpose for this identifier, if known ." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-use|4.0.1" />
</binding>
<identity value="v2" />
<map value="N/A" />
</mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.type">
<path value="Organization.identifier.type" />
<short value="Description of identifier" />
<definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
<comment value="This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type." />
<requirements value="Allows users to make use of identifiers when the identifier system is not known." />
<min value="0" />
<max value="1" />
<path value="Identifier.type" />
<min value="0" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierType" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="extensible" />
<description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-type" />
</binding>
<identity value="v2" />
<map value="CX.5" />
</mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.system">
<path value="Organization.identifier.system" />
<short value="The namespace for the identifier value" />
<definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." />
<comment value="Identifier.system is always case sensitive." />
<requirements value="There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers." />
<min value="1" />
<max value="1" />
<path value="Identifier.system" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<fixedUri value="https://fhir.nhs.uk/Id/ods-organization-code" />
<label value="General" />
<valueUri value="http://www.acme.com/identifiers/patient" />
</example>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.4 / EI-2-4" />
</mapping>
<identity value="rim" />
<map value="II.root or Role.id.root" />
</mapping>
<identity value="servd" />
<map value="./IdentifierType" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.value">
<path value="Organization.identifier.value" />
<short value="The value that is unique" />
<definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
<comment value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe." />
<min value="1" />
<max value="1" />
<path value="Identifier.value" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<label value="General" />
<valueString value="123456" />
</example>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.1 / EI.1" />
</mapping>
<identity value="rim" />
<map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
</mapping>
<identity value="servd" />
<map value="./Value" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.period">
<path value="Organization.identifier.period" />
<short value="Time period when id is/was valid for use" />
<definition value="Time period during which identifier is/was valid for use." />
<min value="0" />
<max value="1" />
<path value="Identifier.period" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.7 + CX.8" />
</mapping>
<identity value="rim" />
<map value="Role.effectiveTime or implied by context" />
</mapping>
<identity value="servd" />
<map value="./StartDate and ./EndDate" />
</mapping>
</element>
<element id="Organization.identifier:odsOrganisationCode.assigner">
<path value="Organization.identifier.assigner" />
<short value="Organization that issued id (may be just text)" />
<definition value="Organization that issued/manages the identifier." />
<comment value="The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization." />
<min value="0" />
<max value="1" />
<path value="Identifier.assigner" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.4 / (CX.4,CX.9,CX.10)" />
</mapping>
<identity value="rim" />
<map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" />
</mapping>
<identity value="servd" />
<map value="./IdentifierIssuingAuthority" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode">
<path value="Organization.identifier" />
<sliceName value="odsSiteCode" />
<short value="ODS Site code to identify the organisation at site level" />
<definition value="ODS Site code to identify the organisation at site level." />
<requirements value="Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization." />
<min value="0" />
<max value="1" />
<path value="Organization.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<condition value="org-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="v2" />
<map value="XON.10 / XON.3" />
</mapping>
<identity value="rim" />
<map value=".scopes[Role](classCode=IDENT)" />
</mapping>
<identity value="servd" />
<map value="./Identifiers" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.id">
<path value="Organization.identifier.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.extension">
<path value="Organization.identifier.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.use">
<path value="Organization.identifier.use" />
<short value="usual | official | temp | secondary | old (If known)" />
<definition value="The purpose of this identifier." />
<comment value="Applications can assume that an identifier is permanent unless it explicitly says that it is temporary." />
<requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
<min value="0" />
<max value="1" />
<path value="Identifier.use" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one." />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierUse" />
</extension>
<strength value="required" />
<description value="Identifies the purpose for this identifier, if known ." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-use|4.0.1" />
</binding>
<identity value="v2" />
<map value="N/A" />
</mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.type">
<path value="Organization.identifier.type" />
<short value="Description of identifier" />
<definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
<comment value="This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type." />
<requirements value="Allows users to make use of identifiers when the identifier system is not known." />
<min value="0" />
<max value="1" />
<path value="Identifier.type" />
<min value="0" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierType" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="extensible" />
<description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-type" />
</binding>
<identity value="v2" />
<map value="CX.5" />
</mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.system">
<path value="Organization.identifier.system" />
<short value="The namespace for the identifier value" />
<definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." />
<comment value="Identifier.system is always case sensitive." />
<requirements value="There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers." />
<min value="1" />
<max value="1" />
<path value="Identifier.system" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<fixedUri value="https://fhir.nhs.uk/Id/ods-site-code" />
<label value="General" />
<valueUri value="http://www.acme.com/identifiers/patient" />
</example>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.4 / EI-2-4" />
</mapping>
<identity value="rim" />
<map value="II.root or Role.id.root" />
</mapping>
<identity value="servd" />
<map value="./IdentifierType" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.value">
<path value="Organization.identifier.value" />
<short value="The value that is unique" />
<definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
<comment value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe." />
<min value="1" />
<max value="1" />
<path value="Identifier.value" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<label value="General" />
<valueString value="123456" />
</example>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.1 / EI.1" />
</mapping>
<identity value="rim" />
<map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
</mapping>
<identity value="servd" />
<map value="./Value" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.period">
<path value="Organization.identifier.period" />
<short value="Time period when id is/was valid for use" />
<definition value="Time period during which identifier is/was valid for use." />
<min value="0" />
<max value="1" />
<path value="Identifier.period" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.7 + CX.8" />
</mapping>
<identity value="rim" />
<map value="Role.effectiveTime or implied by context" />
</mapping>
<identity value="servd" />
<map value="./StartDate and ./EndDate" />
</mapping>
</element>
<element id="Organization.identifier:odsSiteCode.assigner">
<path value="Organization.identifier.assigner" />
<short value="Organization that issued id (may be just text)" />
<definition value="Organization that issued/manages the identifier." />
<comment value="The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization." />
<min value="0" />
<max value="1" />
<path value="Identifier.assigner" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="CX.4 / (CX.4,CX.9,CX.10)" />
</mapping>
<identity value="rim" />
<map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" />
</mapping>
<identity value="servd" />
<map value="./IdentifierIssuingAuthority" />
</mapping>
</element>
<element id="Organization.active">
<path value="Organization.active" />
<short value="Identifies this organization across multiple systems." />
<definition value="Whether the organization's record is still in active use." />
<comment value="This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used.\n\nThis element is labeled as a modifier because it may be used to mark that the resource was created in error." />
<requirements value="Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI." />
<min value="0" />
<max value="1" />
<path value="Organization.active" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<meaningWhenMissing value="This resource is generally assumed to be active if no value is provided for the active element" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="true" />
<isModifierReason value="This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
<identity value="v2" />
<map value="No equivalent in HL7 v2" />
</mapping>
<identity value="rim" />
<map value=".status" />
</mapping>
<identity value="servd" />
<map value="./Status (however this concept in ServD more covers why the organization is active or not, could be delisted, deregistered, not operational yet) this could alternatively be derived from ./StartDate and ./EndDate and given a context date." />
</mapping>
</element>
<element id="Organization.type">
<path value="Organization.type" />
<short value="Kind of organization" />
<definition value="The kind(s) of organization that this is." />
<comment value="Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes\n\nWhen considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center.\n\nWe expect that some jurisdictions will profile this optionality to be a single cardinality." />
<requirements value="Need to be able to track the kind of organization that this is - different organization types have different uses." />
<min value="0" />
<max value="*" />
<path value="Organization.type" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="OrganizationType" />
</extension>
<strength value="extensible" />
<description value="A set of concepts indicating the organisation type, derived from the base CodeSystem, and Genomics specific concepts" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-OrganizationType" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
<identity value="v2" />
<map value="No equivalent in v2" />
</mapping>
<identity value="rim" />
<map value=".code" />
</mapping>
<identity value="servd" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.name">
<path value="Organization.name" />
<short value="A name associated with the organization." />
<definition value="A name associated with the organization." />
<comment value="If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches." />
<requirements value="Need to use the name as the label of the organization." />
<min value="0" />
<max value="1" />
<path value="Organization.name" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<condition value="org-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="XON.1" />
</mapping>
<identity value="rim" />
<map value=".name" />
</mapping>
<identity value="servd" />
<map value=".PreferredName/Name" />
</mapping>
</element>
<element id="Organization.alias">
<path value="Organization.alias" />
<short value="A list of alternate names that the organization is known as, or was known as in the past" />
<definition value="A list of alternate names that the organization is known as, or was known as in the past." />
<comment value="There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization." />
<requirements value="Over time locations and organizations go through many changes and can be known by different names.\n\nFor searching knowing previous names that the organization was known by can be very useful." />
<min value="0" />
<max value="*" />
<path value="Organization.alias" />
<min value="0" />
<max value="*" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".name" />
</mapping>
</element>
<element id="Organization.telecom">
<path value="Organization.telecom" />
<short value="Contact details for the organization." />
<definition value="A contact detail for the organization." />
<comment value="The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself." />
<requirements value="Human contact for the organization." />
<min value="0" />
<max value="*" />
<path value="Organization.telecom" />
<min value="0" />
<max value="*" />
</base>
<code value="ContactPoint" />
</type>
<condition value="org-3" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="org-3" />
<severity value="error" />
<human value="The telecom of an organization can never be of use 'home'" />
<expression value="where(use = 'home').empty()" />
<xpath value="count(f:use[@value='home']) = 0" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="false" />
<identity value="v2" />
<map value="ORC-22?" />
</mapping>
<identity value="rim" />
<map value=".telecom" />
</mapping>
<identity value="servd" />
<map value="./ContactPoints" />
</mapping>
</element>
<element id="Organization.address">
<path value="Organization.address" />
<short value="An address for the organization." />
<definition value="An address for the organization." />
<comment value="Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used." />
<requirements value="May need to keep track of the organization's addresses for contacting, billing or reporting requirements." />
<min value="0" />
<max value="*" />
<path value="Organization.address" />
<min value="0" />
<max value="*" />
</base>
<code value="Address" />
</type>
<condition value="org-2" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="org-2" />
<severity value="error" />
<human value="An address of an organization can never be of use 'home'" />
<expression value="where(use = 'home').empty()" />
<xpath value="count(f:use[@value='home']) = 0" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="false" />
<identity value="v2" />
<map value="ORC-23?" />
</mapping>
<identity value="rim" />
<map value=".address" />
</mapping>
<identity value="servd" />
<map value="./PrimaryAddress and ./OtherAddresses" />
</mapping>
</element>
<element id="Organization.partOf">
<path value="Organization.partOf" />
<short value="The organization of which this organization forms a part" />
<definition value="The organization of which this organization forms a part." />
<requirements value="Need to be able to track the hierarchy of organizations within an organization." />
<min value="0" />
<max value="1" />
<path value="Organization.partOf" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy">
<valueBoolean value="true" />
</extension>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="No equivalent in HL7 v2" />
</mapping>
<identity value="rim" />
<map value=".playedBy[classCode=Part].scoper" />
</mapping>
<identity value="servd" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.contact">
<path value="Organization.contact" />
<short value="Contact for the organization for a certain purpose" />
<definition value="Contact for the organization for a certain purpose." />
<comment value="Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use." />
<requirements value="Need to keep track of assigned contact points within bigger organization." />
<min value="0" />
<max value="*" />
<path value="Organization.contact" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".contactParty" />
</mapping>
</element>
<element id="Organization.contact.id">
<path value="Organization.contact.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.contact.extension">
<path value="Organization.contact.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Organization.contact.modifierExtension">
<path value="Organization.contact.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Organization.contact.purpose">
<path value="Organization.contact.purpose" />
<short value="The type of contact" />
<definition value="Indicates a purpose for which the contact can be reached." />
<requirements value="Need to distinguish between multiple contact persons." />
<min value="0" />
<max value="1" />
<path value="Organization.contact.purpose" />
<min value="0" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="ContactPartyType" />
</extension>
<strength value="extensible" />
<description value="The purpose for which you would contact a contact party." />
<valueSet value="http://hl7.org/fhir/ValueSet/contactentity-type" />
</binding>
<identity value="rim" />
<map value="./type" />
</mapping>
</element>
<element id="Organization.contact.name">
<path value="Organization.contact.name" />
<short value="A name associated with the contact" />
<definition value="A name associated with the contact." />
<requirements value="Need to be able to track the person by name." />
<min value="0" />
<max value="1" />
<path value="Organization.contact.name" />
<min value="0" />
<max value="1" />
</base>
<code value="HumanName" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="v2" />
<map value="PID-5, PID-9" />
</mapping>
<identity value="rim" />
<map value="./name" />
</mapping>
</element>
<element id="Organization.contact.telecom">
<path value="Organization.contact.telecom" />
<short value="Contact details (telephone, email, etc.) for a contact" />
<definition value="A contact detail (e.g. a telephone number or an email address) by which the party may be contacted." />
<requirements value="People have (primary) ways to contact them in some way such as phone, email." />
<min value="0" />
<max value="*" />
<path value="Organization.contact.telecom" />
<min value="0" />
<max value="*" />
</base>
<code value="ContactPoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="v2" />
<map value="PID-13, PID-14" />
</mapping>
<identity value="rim" />
<map value="./telecom" />
</mapping>
</element>
<element id="Organization.contact.address">
<path value="Organization.contact.address" />
<short value="Visiting or postal addresses for the contact" />
<definition value="Visiting or postal addresses for the contact." />
<requirements value="May need to keep track of a contact party's address for contacting, billing or reporting requirements." />
<min value="0" />
<max value="1" />
<path value="Organization.contact.address" />
<min value="0" />
<max value="1" />
</base>
<code value="Address" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="v2" />
<map value="PID-11" />
</mapping>
<identity value="rim" />
<map value="./addr" />
</mapping>
</element>
<element id="Organization.endpoint">
<path value="Organization.endpoint" />
<short value="Technical endpoints providing access to services operated for the organization" />
<definition value="Technical endpoints providing access to services operated for the organization." />
<requirements value="Organizations have multiple systems that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose." />
<min value="0" />
<max value="*" />
<path value="Organization.endpoint" />
<min value="0" />
<max value="*" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Endpoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
</snapshot>
<element id="Organization.extension:mainLocation">
<path value="Organization.extension" />
<sliceName value="mainLocation" />
<short value="The main location of the organisation." />
<definition value="The main location of the organisation." />
<code value="Extension" />
<profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MainLocation" />
</type>
</element>
<element id="Organization.extension:organizationPeriod">
<path value="Organization.extension" />
<sliceName value="organizationPeriod" />
<short value="The date range that this organization SHOULD be considered available." />
<definition value="The date range that this organization SHOULD be considered available." />
<code value="Extension" />
<profile value="http://hl7.org/fhir/StructureDefinition/organization-period" />
</type>
</element>
<element id="Organization.extension:organizationPeriod.value[x]">
<path value="Organization.extension.value[x]" />
<short value="The date range that this organization SHOULD be considered available." />
<definition value="The date range that this organization SHOULD be considered available." />
</element>
<element id="Organization.identifier">
<path value="Organization.identifier" />
<type value="value" />
<path value="system" />
</discriminator>
<ordered value="false" />
<rules value="open" />
</slicing>
<short value="Identifies this organization across multiple systems." />
<mustSupport value="true" />
</element>
<element id="Organization.identifier:odsOrganisationCode">
<path value="Organization.identifier" />
<sliceName value="odsOrganisationCode" />
<short value="Organisation Data Service code" />
<definition value="Identifier code supplier by the Organisation Data Service." />
<max value="1" />
</element>
<element id="Organization.identifier:odsOrganisationCode.system">
<path value="Organization.identifier.system" />
<min value="1" />
<fixedUri value="https://fhir.nhs.uk/Id/ods-organization-code" />
</element>
<element id="Organization.identifier:odsOrganisationCode.value">
<path value="Organization.identifier.value" />
<min value="1" />
</element>
<element id="Organization.identifier:odsSiteCode">
<path value="Organization.identifier" />
<sliceName value="odsSiteCode" />
<short value="ODS Site code to identify the organisation at site level" />
<definition value="ODS Site code to identify the organisation at site level." />
<max value="1" />
</element>
<element id="Organization.identifier:odsSiteCode.system">
<path value="Organization.identifier.system" />
<min value="1" />
<fixedUri value="https://fhir.nhs.uk/Id/ods-site-code" />
</element>
<element id="Organization.identifier:odsSiteCode.value">
<path value="Organization.identifier.value" />
<min value="1" />
</element>
<element id="Organization.active">
<path value="Organization.active" />
<short value="Identifies this organization across multiple systems." />
<mustSupport value="true" />
</element>
<element id="Organization.type">
<path value="Organization.type" />
<strength value="extensible" />
<description value="A set of concepts indicating the organisation type, derived from the base CodeSystem, and Genomics specific concepts" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-OrganizationType" />
</binding>
</element>
<element id="Organization.name">
<path value="Organization.name" />
<short value="A name associated with the organization." />
<mustSupport value="true" />
</element>
<element id="Organization.telecom">
<path value="Organization.telecom" />
<short value="Contact details for the organization." />
<mustSupport value="true" />
</element>
<element id="Organization.address">
<path value="Organization.address" />
<short value="An address for the organization." />
<mustSupport value="true" />
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "UKCore-Organization",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization",
"version": "2.5.1",
"name": "UKCoreOrganization",
"title": "UK Core Organization",
"status": "active",
"date": "2024-07-23",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [Organization](https://hl7.org/fhir/R4/Organization.html).",
"purpose": "This profile allows exchange of a formally or informally recognised grouping of people or organisations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Organization",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Organization",
"derivation": "constraint",
"element": [
{
"id": "Organization",
"path": "Organization",
"short": "A grouping of people or organizations with a common purpose",
"definition": "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.",
"min": 0,
"max": "*",
"base": {
"path": "Organization",
"min": 0,
"max": "*"
},
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "org-1",
"severity": "error",
"human": "The organization SHALL at least have a name or an identifier, and possibly more than one",
"expression": "(identifier.count() + name.count()) > 0",
"xpath": "count(f:identifier | f:name) > 0"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "v2",
"map": "(also see master files messages)"
},
{
"identity": "rim",
"map": "Organization(classCode=ORG, determinerCode=INST)"
},
{
"identity": "servd",
"map": "Organization"
}
]
},
{
"id": "Organization.id",
"path": "Organization.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Organization.meta",
"path": "Organization.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Organization.implicitRules",
"path": "Organization.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "Organization.language",
"path": "Organization.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "Organization.text",
"path": "Organization.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "Organization.contained",
"path": "Organization.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Organization.extension",
"path": "Organization.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"ordered": false,
"rules": "open"
},
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Organization.extension:mainLocation",
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "normative"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
"valueCode": "4.0.0"
}
],
"path": "Organization.extension",
"sliceName": "mainLocation",
"short": "The main location of the organisation.",
"definition": "The main location of the organisation.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension",
"profile": [
"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MainLocation"
]
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
},
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.extension:organizationPeriod",
"path": "Organization.extension",
"sliceName": "organizationPeriod",
"short": "The date range that this organization SHOULD be considered available.",
"definition": "The date range that this organization SHOULD be considered available.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/StructureDefinition/organization-period"
]
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Organization.extension:organizationPeriod.id",
"path": "Organization.extension.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.extension:organizationPeriod.extension",
"path": "Organization.extension.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 0,
"max": "0",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Organization.extension:organizationPeriod.url",
"path": "Organization.extension.url",
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "http://hl7.org/fhir/StructureDefinition/organization-period",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Organization.extension:organizationPeriod.value[x]",
"path": "Organization.extension.value[x]",
"short": "The date range that this organization SHOULD be considered available.",
"definition": "The date range that this organization SHOULD be considered available.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Organization.modifierExtension",
"path": "Organization.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Organization.identifier",
"path": "Organization.identifier",
"slicing": {
{
"type": "value",
"path": "system"
}
],
"ordered": false,
"rules": "open"
},
"short": "Identifies this organization across multiple systems.",
"definition": "Identifier for the organization that is used to identify the organization across multiple disparate systems.",
"requirements": "Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
"org-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "v2",
"map": "XON.10 / XON.3"
},
{
"identity": "rim",
"map": ".scopes[Role](classCode=IDENT)"
},
{
"identity": "servd",
"map": "./Identifiers"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode",
"path": "Organization.identifier",
"sliceName": "odsOrganisationCode",
"short": "Organisation Data Service code",
"definition": "Identifier code supplier by the Organisation Data Service.",
"requirements": "Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
"org-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "v2",
"map": "XON.10 / XON.3"
},
{
"identity": "rim",
"map": ".scopes[Role](classCode=IDENT)"
},
{
"identity": "servd",
"map": "./Identifiers"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.id",
"path": "Organization.identifier.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.extension",
"path": "Organization.identifier.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.use",
"path": "Organization.identifier.use",
"short": "usual | official | temp | secondary | old (If known)",
"definition": "The purpose of this identifier.",
"comment": "Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
"requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.use",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one.",
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierUse"
}
],
"strength": "required",
"description": "Identifies the purpose for this identifier, if known .",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-use|4.0.1"
},
"mapping": [
{
"identity": "v2",
"map": "N/A"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.type",
"path": "Organization.identifier.type",
"short": "Description of identifier",
"definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
"comment": "This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
"requirements": "Allows users to make use of identifiers when the identifier system is not known.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.type",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierType"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "extensible",
"description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-type"
},
"mapping": [
{
"identity": "v2",
"map": "CX.5"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.system",
"path": "Organization.identifier.system",
"short": "The namespace for the identifier value",
"definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
"comment": "Identifier.system is always case sensitive.",
"requirements": "There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.",
"min": 1,
"max": "1",
"base": {
"path": "Identifier.system",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"fixedUri": "https://fhir.nhs.uk/Id/ods-organization-code",
"example": [
{
"label": "General",
"valueUri": "http://www.acme.com/identifiers/patient"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.4 / EI-2-4"
},
{
"identity": "rim",
"map": "II.root or Role.id.root"
},
{
"identity": "servd",
"map": "./IdentifierType"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.value",
"path": "Organization.identifier.value",
"short": "The value that is unique",
"definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
"comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.",
"min": 1,
"max": "1",
"base": {
"path": "Identifier.value",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "123456"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.1 / EI.1"
},
{
"identity": "rim",
"map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
},
{
"identity": "servd",
"map": "./Value"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.period",
"path": "Organization.identifier.period",
"short": "Time period when id is/was valid for use",
"definition": "Time period during which identifier is/was valid for use.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.7 + CX.8"
},
{
"identity": "rim",
"map": "Role.effectiveTime or implied by context"
},
{
"identity": "servd",
"map": "./StartDate and ./EndDate"
}
]
},
{
"id": "Organization.identifier:odsOrganisationCode.assigner",
"path": "Organization.identifier.assigner",
"short": "Organization that issued id (may be just text)",
"definition": "Organization that issued/manages the identifier.",
"comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.assigner",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.4 / (CX.4,CX.9,CX.10)"
},
{
"identity": "rim",
"map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper"
},
{
"identity": "servd",
"map": "./IdentifierIssuingAuthority"
}
]
},
{
"id": "Organization.identifier:odsSiteCode",
"path": "Organization.identifier",
"sliceName": "odsSiteCode",
"short": "ODS Site code to identify the organisation at site level",
"definition": "ODS Site code to identify the organisation at site level.",
"requirements": "Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
"org-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "v2",
"map": "XON.10 / XON.3"
},
{
"identity": "rim",
"map": ".scopes[Role](classCode=IDENT)"
},
{
"identity": "servd",
"map": "./Identifiers"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.id",
"path": "Organization.identifier.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.extension",
"path": "Organization.identifier.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.use",
"path": "Organization.identifier.use",
"short": "usual | official | temp | secondary | old (If known)",
"definition": "The purpose of this identifier.",
"comment": "Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
"requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.use",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one.",
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierUse"
}
],
"strength": "required",
"description": "Identifies the purpose for this identifier, if known .",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-use|4.0.1"
},
"mapping": [
{
"identity": "v2",
"map": "N/A"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.type",
"path": "Organization.identifier.type",
"short": "Description of identifier",
"definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
"comment": "This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
"requirements": "Allows users to make use of identifiers when the identifier system is not known.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.type",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierType"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "extensible",
"description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-type"
},
"mapping": [
{
"identity": "v2",
"map": "CX.5"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.system",
"path": "Organization.identifier.system",
"short": "The namespace for the identifier value",
"definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
"comment": "Identifier.system is always case sensitive.",
"requirements": "There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.",
"min": 1,
"max": "1",
"base": {
"path": "Identifier.system",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"fixedUri": "https://fhir.nhs.uk/Id/ods-site-code",
"example": [
{
"label": "General",
"valueUri": "http://www.acme.com/identifiers/patient"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.4 / EI-2-4"
},
{
"identity": "rim",
"map": "II.root or Role.id.root"
},
{
"identity": "servd",
"map": "./IdentifierType"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.value",
"path": "Organization.identifier.value",
"short": "The value that is unique",
"definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
"comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.",
"min": 1,
"max": "1",
"base": {
"path": "Identifier.value",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "123456"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.1 / EI.1"
},
{
"identity": "rim",
"map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
},
{
"identity": "servd",
"map": "./Value"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.period",
"path": "Organization.identifier.period",
"short": "Time period when id is/was valid for use",
"definition": "Time period during which identifier is/was valid for use.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.7 + CX.8"
},
{
"identity": "rim",
"map": "Role.effectiveTime or implied by context"
},
{
"identity": "servd",
"map": "./StartDate and ./EndDate"
}
]
},
{
"id": "Organization.identifier:odsSiteCode.assigner",
"path": "Organization.identifier.assigner",
"short": "Organization that issued id (may be just text)",
"definition": "Organization that issued/manages the identifier.",
"comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.assigner",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "CX.4 / (CX.4,CX.9,CX.10)"
},
{
"identity": "rim",
"map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper"
},
{
"identity": "servd",
"map": "./IdentifierIssuingAuthority"
}
]
},
{
"id": "Organization.active",
"path": "Organization.active",
"short": "Identifies this organization across multiple systems.",
"definition": "Whether the organization's record is still in active use.",
"comment": "This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used.\n\nThis element is labeled as a modifier because it may be used to mark that the resource was created in error.",
"requirements": "Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.active",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element",
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": true,
"isModifierReason": "This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid",
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
},
{
"identity": "v2",
"map": "No equivalent in HL7 v2"
},
{
"identity": "rim",
"map": ".status"
},
{
"identity": "servd",
"map": "./Status (however this concept in ServD more covers why the organization is active or not, could be delisted, deregistered, not operational yet) this could alternatively be derived from ./StartDate and ./EndDate and given a context date."
}
]
},
{
"id": "Organization.type",
"path": "Organization.type",
"short": "Kind of organization",
"definition": "The kind(s) of organization that this is.",
"comment": "Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes\n\nWhen considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center.\n\nWe expect that some jurisdictions will profile this optionality to be a single cardinality.",
"requirements": "Need to be able to track the kind of organization that this is - different organization types have different uses.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.type",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "OrganizationType"
}
],
"strength": "extensible",
"description": "A set of concepts indicating the organisation type, derived from the base CodeSystem, and Genomics specific concepts",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-OrganizationType"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
},
{
"identity": "v2",
"map": "No equivalent in v2"
},
{
"identity": "rim",
"map": ".code"
},
{
"identity": "servd",
"map": "n/a"
}
]
},
{
"id": "Organization.name",
"path": "Organization.name",
"short": "A name associated with the organization.",
"definition": "A name associated with the organization.",
"comment": "If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches.",
"requirements": "Need to use the name as the label of the organization.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.name",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"org-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "XON.1"
},
{
"identity": "rim",
"map": ".name"
},
{
"identity": "servd",
"map": ".PreferredName/Name"
}
]
},
{
"id": "Organization.alias",
"path": "Organization.alias",
"short": "A list of alternate names that the organization is known as, or was known as in the past",
"definition": "A list of alternate names that the organization is known as, or was known as in the past.",
"comment": "There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization.",
"requirements": "Over time locations and organizations go through many changes and can be known by different names.\n\nFor searching knowing previous names that the organization was known by can be very useful.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.alias",
"min": 0,
"max": "*"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".name"
}
]
},
{
"id": "Organization.telecom",
"path": "Organization.telecom",
"short": "Contact details for the organization.",
"definition": "A contact detail for the organization.",
"comment": "The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself.",
"requirements": "Human contact for the organization.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
"org-3"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "org-3",
"severity": "error",
"human": "The telecom of an organization can never be of use 'home'",
"expression": "where(use = 'home').empty()",
"xpath": "count(f:use[@value='home']) = 0"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "ORC-22?"
},
{
"identity": "rim",
"map": ".telecom"
},
{
"identity": "servd",
"map": "./ContactPoints"
}
]
},
{
"id": "Organization.address",
"path": "Organization.address",
"short": "An address for the organization.",
"definition": "An address for the organization.",
"comment": "Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used.",
"requirements": "May need to keep track of the organization's addresses for contacting, billing or reporting requirements.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.address",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Address"
}
],
"org-2"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "org-2",
"severity": "error",
"human": "An address of an organization can never be of use 'home'",
"expression": "where(use = 'home').empty()",
"xpath": "count(f:use[@value='home']) = 0"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "ORC-23?"
},
{
"identity": "rim",
"map": ".address"
},
{
"identity": "servd",
"map": "./PrimaryAddress and ./OtherAddresses"
}
]
},
{
"id": "Organization.partOf",
"path": "Organization.partOf",
"short": "The organization of which this organization forms a part",
"definition": "The organization of which this organization forms a part.",
"requirements": "Need to be able to track the hierarchy of organizations within an organization.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.partOf",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy",
"valueBoolean": true
}
],
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "No equivalent in HL7 v2"
},
{
"identity": "rim",
"map": ".playedBy[classCode=Part].scoper"
},
{
"identity": "servd",
"map": "n/a"
}
]
},
{
"id": "Organization.contact",
"path": "Organization.contact",
"short": "Contact for the organization for a certain purpose",
"definition": "Contact for the organization for a certain purpose.",
"comment": "Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.",
"requirements": "Need to keep track of assigned contact points within bigger organization.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.contact",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".contactParty"
}
]
},
{
"id": "Organization.contact.id",
"path": "Organization.contact.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.contact.extension",
"path": "Organization.contact.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Organization.contact.modifierExtension",
"path": "Organization.contact.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Organization.contact.purpose",
"path": "Organization.contact.purpose",
"short": "The type of contact",
"definition": "Indicates a purpose for which the contact can be reached.",
"requirements": "Need to distinguish between multiple contact persons.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.contact.purpose",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "ContactPartyType"
}
],
"strength": "extensible",
"description": "The purpose for which you would contact a contact party.",
"valueSet": "http://hl7.org/fhir/ValueSet/contactentity-type"
},
"mapping": [
{
"identity": "rim",
"map": "./type"
}
]
},
{
"id": "Organization.contact.name",
"path": "Organization.contact.name",
"short": "A name associated with the contact",
"definition": "A name associated with the contact.",
"requirements": "Need to be able to track the person by name.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.contact.name",
"min": 0,
"max": "1"
},
"type": [
{
"code": "HumanName"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "PID-5, PID-9"
},
{
"identity": "rim",
"map": "./name"
}
]
},
{
"id": "Organization.contact.telecom",
"path": "Organization.contact.telecom",
"short": "Contact details (telephone, email, etc.) for a contact",
"definition": "A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.",
"requirements": "People have (primary) ways to contact them in some way such as phone, email.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.contact.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "PID-13, PID-14"
},
{
"identity": "rim",
"map": "./telecom"
}
]
},
{
"id": "Organization.contact.address",
"path": "Organization.contact.address",
"short": "Visiting or postal addresses for the contact",
"definition": "Visiting or postal addresses for the contact.",
"requirements": "May need to keep track of a contact party's address for contacting, billing or reporting requirements.",
"min": 0,
"max": "1",
"base": {
"path": "Organization.contact.address",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Address"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "PID-11"
},
{
"identity": "rim",
"map": "./addr"
}
]
},
{
"id": "Organization.endpoint",
"path": "Organization.endpoint",
"short": "Technical endpoints providing access to services operated for the organization",
"definition": "Technical endpoints providing access to services operated for the organization.",
"requirements": "Organizations have multiple systems that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose.",
"min": 0,
"max": "*",
"base": {
"path": "Organization.endpoint",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Endpoint"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
}
]
},
"element": [
{
"id": "Organization.extension:mainLocation",
"path": "Organization.extension",
"sliceName": "mainLocation",
"short": "The main location of the organisation.",
"definition": "The main location of the organisation.",
"type": [
{
"code": "Extension",
"profile": [
"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MainLocation"
]
}
]
},
{
"id": "Organization.extension:organizationPeriod",
"path": "Organization.extension",
"sliceName": "organizationPeriod",
"short": "The date range that this organization SHOULD be considered available.",
"definition": "The date range that this organization SHOULD be considered available.",
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/StructureDefinition/organization-period"
]
}
]
},
{
"id": "Organization.extension:organizationPeriod.value[x]",
"path": "Organization.extension.value[x]",
"short": "The date range that this organization SHOULD be considered available.",
"definition": "The date range that this organization SHOULD be considered available."
},
{
"id": "Organization.identifier",
"path": "Organization.identifier",
"slicing": {
{
"type": "value",
"path": "system"
}
],
"ordered": false,
"rules": "open"
},
"short": "Identifies this organization across multiple systems.",
"mustSupport": true
},
{
"id": "Organization.identifier:odsOrganisationCode",
"path": "Organization.identifier",
"sliceName": "odsOrganisationCode",
"short": "Organisation Data Service code",
"definition": "Identifier code supplier by the Organisation Data Service.",
"max": "1"
},
{
"id": "Organization.identifier:odsOrganisationCode.system",
"path": "Organization.identifier.system",
"min": 1,
"fixedUri": "https://fhir.nhs.uk/Id/ods-organization-code"
},
{
"id": "Organization.identifier:odsOrganisationCode.value",
"path": "Organization.identifier.value",
"min": 1
},
{
"id": "Organization.identifier:odsSiteCode",
"path": "Organization.identifier",
"sliceName": "odsSiteCode",
"short": "ODS Site code to identify the organisation at site level",
"definition": "ODS Site code to identify the organisation at site level.",
"max": "1"
},
{
"id": "Organization.identifier:odsSiteCode.system",
"path": "Organization.identifier.system",
"min": 1,
"fixedUri": "https://fhir.nhs.uk/Id/ods-site-code"
},
{
"id": "Organization.identifier:odsSiteCode.value",
"path": "Organization.identifier.value",
"min": 1
},
{
"id": "Organization.active",
"path": "Organization.active",
"short": "Identifies this organization across multiple systems.",
"mustSupport": true
},
{
"id": "Organization.type",
"path": "Organization.type",
"binding": {
"strength": "extensible",
"description": "A set of concepts indicating the organisation type, derived from the base CodeSystem, and Genomics specific concepts",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-OrganizationType"
}
},
{
"id": "Organization.name",
"path": "Organization.name",
"short": "A name associated with the organization.",
"mustSupport": true
},
{
"id": "Organization.telecom",
"path": "Organization.telecom",
"short": "Contact details for the organization.",
"mustSupport": true
},
{
"id": "Organization.address",
"path": "Organization.address",
"short": "An address for the organization.",
"mustSupport": true
}
]
}
}

Examples

1. An example to illustrate an organization

Example UKCore-Organization-WhiteRoseMedicalCentre


2. An example to illustrate an NHS Trust organisation

Example UKCore-Organization-LeedsTeachingHospital


StructureDefinition UKCore-OrganizationAffiliation

Command 'tree' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-OrganizationAffiliation'
Command 'dict' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-OrganizationAffiliation'
Command 'table' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-OrganizationAffiliation'
Command 'xml' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-OrganizationAffiliation'
Command 'json' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-OrganizationAffiliation'


StructureDefinition UKCore-Practitioner

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierS Σ0..*Identifier
activeΣ0..1boolean
nameS Σ0..*HumanName
telecomS Σ0..*ContactPoint
addressΣ0..*Address
genderΣ0..1codeBinding
birthDateΣ0..1date
photo0..*Attachment
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifier0..*Identifier
code1..1CodeableConcept
period0..1Period
issuer0..1Reference(Organization)
communication0..*CodeableConceptBinding
Practitioner
ShortA person with a formal responsibility in the provisioning of healthcare or related services
Definition

A person who is directly or indirectly involved in the provisioning of healthcare.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • v2: PRD (as one example)
  • rim: Role
  • servd: Provider
Practitioner.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Practitioner.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Practitioner.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Practitioner.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.identifier
ShortAn identifier that applies to this person in this role.
Definition

An identifier that applies to this person in this role.

Cardinality0..*
TypeIdentifier
Must SupportTrue
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: ./id
  • servd: ./Identifiers
Practitioner.active
ShortWhether this practitioner's record is in active use
Definition

Whether this practitioner's record is in active use.

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

Need to be able to mark a practitioner record as not to be used because it was created in error.

Comments

If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • rim: ./statusCode
Practitioner.name
ShortThe name(s) associated with the practitioner.
Definition

The name(s) associated with the practitioner.

Cardinality0..*
TypeHumanName
Must SupportTrue
SummaryTrue
Requirements

The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display.

Comments

The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.

In general, select the value to be used in the ResourceReference.display based on this:

  1. There is more than 1 name
  2. Use = usual
  3. Period is current to the date of the usage
  4. Use = official
  5. Other order as decided by internal business rules.
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: XCN Components
  • rim: ./name
  • servd: ./PreferredName (GivenNames, FamilyName, TitleCode)
Practitioner.telecom
ShortA contact detail for the practitioner (that apply to all roles).
Definition

A contact detail for the practitioner, e.g. a telephone number or an email address.

Cardinality0..*
TypeContactPoint
Must SupportTrue
SummaryTrue
Requirements

Need to know how to reach a practitioner independent to any roles the practitioner may have.

Comments

Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRT-15, STF-10, ROL-12
  • rim: ./telecom
  • servd: ./ContactPoints
Practitioner.address
ShortAddress(es) of the practitioner that are not role specific (typically home address)
Definition

Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent.

Cardinality0..*
TypeAddress
SummaryTrue
Requirements

The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations.

Comments

The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: ORC-24, STF-11, ROL-11, PRT-14
  • rim: ./addr
  • servd: ./Addresses
Practitioner.gender
Shortmale | female | other | unknown
Definition

Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.

Cardinality0..1
Typecode
Binding

The gender of a person used for administrative purposes.

AdministrativeGender (required)

SummaryTrue
Requirements

Needed to address the person correctly.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: STF-5
  • rim: ./administrativeGender
  • servd: ./GenderCode
Practitioner.birthDate
ShortThe date on which the practitioner was born
Definition

The date of birth for the practitioner.

Cardinality0..1
Typedate
SummaryTrue
Requirements

Needed for identification.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: STF-6
  • rim: ./birthTime
  • servd: (not represented in ServD)
Practitioner.photo
ShortImage of the person
Definition

Image of the person.

Cardinality0..*
TypeAttachment
Requirements

Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: ./subjectOf/ObservationEvent[code="photo"]/value
  • servd: ./ImageURI (only supports the URI reference)
Practitioner.qualification
ShortCertification, licenses, or training pertaining to the provision of care
Definition

The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CER?
  • rim: .playingEntity.playingRole[classCode=QUAL].code
  • servd: ./Qualifications
Practitioner.qualification.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.qualification.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.qualification.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.qualification.identifier
ShortAn identifier for this qualification for the practitioner
Definition

An identifier that applies to this person's qualification in this role.

Cardinality0..*
TypeIdentifier
Requirements

Often, specific identities are assigned for the qualification.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].id
Practitioner.qualification.code
ShortCoded representation of the qualification
Definition

Coded representation of the qualification.

Cardinality1..1
TypeCodeableConcept
Binding

Specific qualification the practitioner has to provide a service.

v2.0360.2.7 (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].code
  • servd: ./Qualifications.Value
Practitioner.qualification.period
ShortPeriod during which the qualification is valid
Definition

Period during which the qualification is valid.

Cardinality0..1
TypePeriod
Requirements

Qualifications are often for a limited period of time, and can be revoked.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].effectiveTime
  • servd: ./Qualifications.StartDate and ./Qualifications.EndDate
Practitioner.qualification.issuer
ShortOrganization that regulates and issues the qualification
Definition

Organization that regulates and issues the qualification.

Cardinality0..1
TypeReference(Organization)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].scoper
Practitioner.communication
ShortA language the practitioner can use in patient communication
Definition

A language the practitioner can use in patient communication.

Cardinality0..*
TypeCodeableConcept
Binding

A ValueSet that identifies the language used by a person.

AllLanguages (required)

Binding extensions
maxValueSetAllLanguages
Requirements

Knowing which language a practitioner speaks can help in facilitating communication with patients.

Comments

The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PID-15, NK1-20, LAN-2
  • rim: ./languageCommunication
  • servd: ./Languages.LanguageSpokenCode
Practitioner0..*
Practitioner.idstring0..1
Practitioner.metaMeta0..1
Practitioner.implicitRulesuri0..1
Practitioner.languagecode0..1
Practitioner.textNarrative0..1
Practitioner.containedResource0..*
Practitioner.extensionExtension0..*
Practitioner.modifierExtensionExtension0..*
Practitioner.identifierIdentifier0..*
Practitioner.activeboolean0..1
Practitioner.nameHumanName0..*
Practitioner.telecomContactPoint0..*
Practitioner.addressAddress0..*
Practitioner.gendercode0..1
Practitioner.birthDatedate0..1
Practitioner.photoAttachment0..*
Practitioner.qualificationBackboneElement0..*
Practitioner.qualification.idstring0..1
Practitioner.qualification.extensionExtension0..*
Practitioner.qualification.modifierExtensionExtension0..*
Practitioner.qualification.identifierIdentifier0..*
Practitioner.qualification.codeCodeableConcept1..1
Practitioner.qualification.periodPeriod0..1
Practitioner.qualification.issuerReference(Organization)0..1
Practitioner.communicationCodeableConcept0..*

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-Practitioner" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner" />
<version value="2.4.0" />
<name value="UKCorePractitioner" />
<title value="UK Core Practitioner" />
<status value="active" />
<date value="2023-12-12" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [Practitioner](https://hl7.org/fhir/R4/Practitioner.html)." />
<purpose value="This profile allows exchange of information about all individuals who are engaged in the healthcare process and healthcare-related services as part of their formal responsibilities, is used for attribution of activities and responsibilities to these individuals." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Practitioner" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
<derivation value="constraint" />
<element id="Practitioner">
<path value="Practitioner" />
<short value="A person with a formal responsibility in the provisioning of healthcare or related services" />
<definition value="A person who is directly or indirectly involved in the provisioning of healthcare." />
<min value="0" />
<max value="*" />
<path value="Practitioner" />
<min value="0" />
<max value="*" />
</base>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="v2" />
<map value="PRD (as one example)" />
</mapping>
<identity value="rim" />
<map value="Role" />
</mapping>
<identity value="servd" />
<map value="Provider" />
</mapping>
</element>
<element id="Practitioner.id">
<path value="Practitioner.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Practitioner.meta">
<path value="Practitioner.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<code value="Meta" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Practitioner.implicitRules">
<path value="Practitioner.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="Practitioner.language">
<path value="Practitioner.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="Practitioner.text">
<path value="Practitioner.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<code value="Narrative" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="Practitioner.contained">
<path value="Practitioner.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.extension">
<path value="Practitioner.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.modifierExtension">
<path value="Practitioner.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.identifier">
<path value="Practitioner.identifier" />
<short value="An identifier that applies to this person in this role." />
<definition value="An identifier that applies to this person in this role." />
<requirements value="Often, specific identities are assigned for the agent." />
<min value="0" />
<max value="*" />
<path value="Practitioner.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="v2" />
<map value="PRD-7 (or XCN.1)" />
</mapping>
<identity value="rim" />
<map value="./id" />
</mapping>
<identity value="servd" />
<map value="./Identifiers" />
</mapping>
</element>
<element id="Practitioner.active">
<path value="Practitioner.active" />
<short value="Whether this practitioner's record is in active use" />
<definition value="Whether this practitioner's record is in active use." />
<comment value="If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role." />
<requirements value="Need to be able to mark a practitioner record as not to be used because it was created in error." />
<min value="0" />
<max value="1" />
<path value="Practitioner.active" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<meaningWhenMissing value="This resource is generally assumed to be active if no value is provided for the active element" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
<identity value="rim" />
<map value="./statusCode" />
</mapping>
</element>
<element id="Practitioner.name">
<path value="Practitioner.name" />
<short value="The name(s) associated with the practitioner." />
<definition value="The name(s) associated with the practitioner." />
<comment value="The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. \n\nIn general, select the value to be used in the ResourceReference.display based on this:\n\n1. There is more than 1 name\n2. Use = usual\n3. Period is current to the date of the usage\n4. Use = official\n5. Other order as decided by internal business rules." />
<requirements value="The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display." />
<min value="0" />
<max value="*" />
<path value="Practitioner.name" />
<min value="0" />
<max value="*" />
</base>
<code value="HumanName" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="XCN Components" />
</mapping>
<identity value="rim" />
<map value="./name" />
</mapping>
<identity value="servd" />
<map value="./PreferredName (GivenNames, FamilyName, TitleCode)" />
</mapping>
</element>
<element id="Practitioner.telecom">
<path value="Practitioner.telecom" />
<short value="A contact detail for the practitioner (that apply to all roles)." />
<definition value="A contact detail for the practitioner, e.g. a telephone number or an email address." />
<comment value="Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific." />
<requirements value="Need to know how to reach a practitioner independent to any roles the practitioner may have." />
<min value="0" />
<max value="*" />
<path value="Practitioner.telecom" />
<min value="0" />
<max value="*" />
</base>
<code value="ContactPoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="PRT-15, STF-10, ROL-12" />
</mapping>
<identity value="rim" />
<map value="./telecom" />
</mapping>
<identity value="servd" />
<map value="./ContactPoints" />
</mapping>
</element>
<element id="Practitioner.address">
<path value="Practitioner.address" />
<short value="Address(es) of the practitioner that are not role specific (typically home address)" />
<definition value="Address(es) of the practitioner that are not role specific (typically home address). \nWork addresses are not typically entered in this property as they are usually role dependent." />
<comment value="The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address)." />
<requirements value="The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations." />
<min value="0" />
<max value="*" />
<path value="Practitioner.address" />
<min value="0" />
<max value="*" />
</base>
<code value="Address" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="ORC-24, STF-11, ROL-11, PRT-14" />
</mapping>
<identity value="rim" />
<map value="./addr" />
</mapping>
<identity value="servd" />
<map value="./Addresses" />
</mapping>
</element>
<element id="Practitioner.gender">
<path value="Practitioner.gender" />
<short value="male | female | other | unknown" />
<definition value="Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes." />
<requirements value="Needed to address the person correctly." />
<min value="0" />
<max value="1" />
<path value="Practitioner.gender" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="AdministrativeGender" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="required" />
<description value="The gender of a person used for administrative purposes." />
<valueSet value="http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" />
</binding>
<identity value="v2" />
<map value="STF-5" />
</mapping>
<identity value="rim" />
<map value="./administrativeGender" />
</mapping>
<identity value="servd" />
<map value="./GenderCode" />
</mapping>
</element>
<element id="Practitioner.birthDate">
<path value="Practitioner.birthDate" />
<short value="The date on which the practitioner was born" />
<definition value="The date of birth for the practitioner." />
<requirements value="Needed for identification." />
<min value="0" />
<max value="1" />
<path value="Practitioner.birthDate" />
<min value="0" />
<max value="1" />
</base>
<code value="date" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="STF-6" />
</mapping>
<identity value="rim" />
<map value="./birthTime" />
</mapping>
<identity value="servd" />
<map value="(not represented in ServD)" />
</mapping>
</element>
<element id="Practitioner.photo">
<path value="Practitioner.photo" />
<short value="Image of the person" />
<definition value="Image of the person." />
<requirements value="Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too." />
<min value="0" />
<max value="*" />
<path value="Practitioner.photo" />
<min value="0" />
<max value="*" />
</base>
<code value="Attachment" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="./subjectOf/ObservationEvent[code="photo"]/value" />
</mapping>
<identity value="servd" />
<map value="./ImageURI (only supports the URI reference)" />
</mapping>
</element>
<element id="Practitioner.qualification">
<path value="Practitioner.qualification" />
<short value="Certification, licenses, or training pertaining to the provision of care" />
<definition value="The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality." />
<min value="0" />
<max value="*" />
<path value="Practitioner.qualification" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="v2" />
<map value="CER?" />
</mapping>
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].code" />
</mapping>
<identity value="servd" />
<map value="./Qualifications" />
</mapping>
</element>
<element id="Practitioner.qualification.id">
<path value="Practitioner.qualification.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Practitioner.qualification.extension">
<path value="Practitioner.qualification.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Practitioner.qualification.modifierExtension">
<path value="Practitioner.qualification.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.qualification.identifier">
<path value="Practitioner.qualification.identifier" />
<short value="An identifier for this qualification for the practitioner" />
<definition value="An identifier that applies to this person's qualification in this role." />
<requirements value="Often, specific identities are assigned for the qualification." />
<min value="0" />
<max value="*" />
<path value="Practitioner.qualification.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].id" />
</mapping>
</element>
<element id="Practitioner.qualification.code">
<path value="Practitioner.qualification.code" />
<short value="Coded representation of the qualification" />
<definition value="Coded representation of the qualification." />
<min value="1" />
<max value="1" />
<path value="Practitioner.qualification.code" />
<min value="1" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Qualification" />
</extension>
<strength value="example" />
<description value="Specific qualification the practitioner has to provide a service." />
<valueSet value="http://terminology.hl7.org/ValueSet/v2-2.7-0360" />
</binding>
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].code" />
</mapping>
<identity value="servd" />
<map value="./Qualifications.Value" />
</mapping>
</element>
<element id="Practitioner.qualification.period">
<path value="Practitioner.qualification.period" />
<short value="Period during which the qualification is valid" />
<definition value="Period during which the qualification is valid." />
<requirements value="Qualifications are often for a limited period of time, and can be revoked." />
<min value="0" />
<max value="1" />
<path value="Practitioner.qualification.period" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].effectiveTime" />
</mapping>
<identity value="servd" />
<map value="./Qualifications.StartDate and ./Qualifications.EndDate" />
</mapping>
</element>
<element id="Practitioner.qualification.issuer">
<path value="Practitioner.qualification.issuer" />
<short value="Organization that regulates and issues the qualification" />
<definition value="Organization that regulates and issues the qualification." />
<min value="0" />
<max value="1" />
<path value="Practitioner.qualification.issuer" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].scoper" />
</mapping>
</element>
<element id="Practitioner.communication">
<path value="Practitioner.communication" />
<short value="A language the practitioner can use in patient communication" />
<definition value="A language the practitioner can use in patient communication." />
<comment value="The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type." />
<requirements value="Knowing which language a practitioner speaks can help in facilitating communication with patients." />
<min value="0" />
<max value="*" />
<path value="Practitioner.communication" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="required" />
<description value="A ValueSet that identifies the language used by a person." />
<valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
</binding>
<identity value="v2" />
<map value="PID-15, NK1-20, LAN-2" />
</mapping>
<identity value="rim" />
<map value="./languageCommunication" />
</mapping>
<identity value="servd" />
<map value="./Languages.LanguageSpokenCode" />
</mapping>
</element>
</snapshot>
<element id="Practitioner.identifier">
<path value="Practitioner.identifier" />
<short value="An identifier that applies to this person in this role." />
<mustSupport value="true" />
</element>
<element id="Practitioner.name">
<path value="Practitioner.name" />
<short value="The name(s) associated with the practitioner." />
<mustSupport value="true" />
</element>
<element id="Practitioner.telecom">
<path value="Practitioner.telecom" />
<short value="A contact detail for the practitioner (that apply to all roles)." />
<mustSupport value="true" />
</element>
<element id="Practitioner.communication">
<path value="Practitioner.communication" />
<strength value="required" />
<description value="A ValueSet that identifies the language used by a person." />
<valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
</binding>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "UKCore-Practitioner",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner",
"version": "2.4.0",
"name": "UKCorePractitioner",
"title": "UK Core Practitioner",
"status": "active",
"date": "2023-12-12",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [Practitioner](https://hl7.org/fhir/R4/Practitioner.html).",
"purpose": "This profile allows exchange of information about all individuals who are engaged in the healthcare process and healthcare-related services as part of their formal responsibilities, is used for attribution of activities and responsibilities to these individuals.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Practitioner",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Practitioner",
"derivation": "constraint",
"element": [
{
"id": "Practitioner",
"path": "Practitioner",
"short": "A person with a formal responsibility in the provisioning of healthcare or related services",
"definition": "A person who is directly or indirectly involved in the provisioning of healthcare.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner",
"min": 0,
"max": "*"
},
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "v2",
"map": "PRD (as one example)"
},
{
"identity": "rim",
"map": "Role"
},
{
"identity": "servd",
"map": "Provider"
}
]
},
{
"id": "Practitioner.id",
"path": "Practitioner.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Practitioner.meta",
"path": "Practitioner.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Practitioner.implicitRules",
"path": "Practitioner.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "Practitioner.language",
"path": "Practitioner.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "Practitioner.text",
"path": "Practitioner.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "Practitioner.contained",
"path": "Practitioner.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.extension",
"path": "Practitioner.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.modifierExtension",
"path": "Practitioner.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.identifier",
"path": "Practitioner.identifier",
"short": "An identifier that applies to this person in this role.",
"definition": "An identifier that applies to this person in this role.",
"requirements": "Often, specific identities are assigned for the agent.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "v2",
"map": "PRD-7 (or XCN.1)"
},
{
"identity": "rim",
"map": "./id"
},
{
"identity": "servd",
"map": "./Identifiers"
}
]
},
{
"id": "Practitioner.active",
"path": "Practitioner.active",
"short": "Whether this practitioner's record is in active use",
"definition": "Whether this practitioner's record is in active use.",
"comment": "If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
"requirements": "Need to be able to mark a practitioner record as not to be used because it was created in error.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.active",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element",
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
},
{
"identity": "rim",
"map": "./statusCode"
}
]
},
{
"id": "Practitioner.name",
"path": "Practitioner.name",
"short": "The name(s) associated with the practitioner.",
"definition": "The name(s) associated with the practitioner.",
"comment": "The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. \n\nIn general, select the value to be used in the ResourceReference.display based on this:\n\n1. There is more than 1 name\n2. Use = usual\n3. Period is current to the date of the usage\n4. Use = official\n5. Other order as decided by internal business rules.",
"requirements": "The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.name",
"min": 0,
"max": "*"
},
"type": [
{
"code": "HumanName"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "XCN Components"
},
{
"identity": "rim",
"map": "./name"
},
{
"identity": "servd",
"map": "./PreferredName (GivenNames, FamilyName, TitleCode)"
}
]
},
{
"id": "Practitioner.telecom",
"path": "Practitioner.telecom",
"short": "A contact detail for the practitioner (that apply to all roles).",
"definition": "A contact detail for the practitioner, e.g. a telephone number or an email address.",
"comment": "Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.",
"requirements": "Need to know how to reach a practitioner independent to any roles the practitioner may have.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "PRT-15, STF-10, ROL-12"
},
{
"identity": "rim",
"map": "./telecom"
},
{
"identity": "servd",
"map": "./ContactPoints"
}
]
},
{
"id": "Practitioner.address",
"path": "Practitioner.address",
"short": "Address(es) of the practitioner that are not role specific (typically home address)",
"definition": "Address(es) of the practitioner that are not role specific (typically home address). \nWork addresses are not typically entered in this property as they are usually role dependent.",
"comment": "The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).",
"requirements": "The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.address",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Address"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "ORC-24, STF-11, ROL-11, PRT-14"
},
{
"identity": "rim",
"map": "./addr"
},
{
"identity": "servd",
"map": "./Addresses"
}
]
},
{
"id": "Practitioner.gender",
"path": "Practitioner.gender",
"short": "male | female | other | unknown",
"definition": "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.",
"requirements": "Needed to address the person correctly.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.gender",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "AdministrativeGender"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "required",
"description": "The gender of a person used for administrative purposes.",
"valueSet": "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1"
},
"mapping": [
{
"identity": "v2",
"map": "STF-5"
},
{
"identity": "rim",
"map": "./administrativeGender"
},
{
"identity": "servd",
"map": "./GenderCode"
}
]
},
{
"id": "Practitioner.birthDate",
"path": "Practitioner.birthDate",
"short": "The date on which the practitioner was born",
"definition": "The date of birth for the practitioner.",
"requirements": "Needed for identification.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.birthDate",
"min": 0,
"max": "1"
},
"type": [
{
"code": "date"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "STF-6"
},
{
"identity": "rim",
"map": "./birthTime"
},
{
"identity": "servd",
"map": "(not represented in ServD)"
}
]
},
{
"id": "Practitioner.photo",
"path": "Practitioner.photo",
"short": "Image of the person",
"definition": "Image of the person.",
"requirements": "Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.photo",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Attachment"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "./subjectOf/ObservationEvent[code=\"photo\"]/value"
},
{
"identity": "servd",
"map": "./ImageURI (only supports the URI reference)"
}
]
},
{
"id": "Practitioner.qualification",
"path": "Practitioner.qualification",
"short": "Certification, licenses, or training pertaining to the provision of care",
"definition": "The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.qualification",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "CER?"
},
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].code"
},
{
"identity": "servd",
"map": "./Qualifications"
}
]
},
{
"id": "Practitioner.qualification.id",
"path": "Practitioner.qualification.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Practitioner.qualification.extension",
"path": "Practitioner.qualification.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Practitioner.qualification.modifierExtension",
"path": "Practitioner.qualification.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.qualification.identifier",
"path": "Practitioner.qualification.identifier",
"short": "An identifier for this qualification for the practitioner",
"definition": "An identifier that applies to this person's qualification in this role.",
"requirements": "Often, specific identities are assigned for the qualification.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.qualification.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].id"
}
]
},
{
"id": "Practitioner.qualification.code",
"path": "Practitioner.qualification.code",
"short": "Coded representation of the qualification",
"definition": "Coded representation of the qualification.",
"min": 1,
"max": "1",
"base": {
"path": "Practitioner.qualification.code",
"min": 1,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Qualification"
}
],
"strength": "example",
"description": "Specific qualification the practitioner has to provide a service.",
"valueSet": "http://terminology.hl7.org/ValueSet/v2-2.7-0360"
},
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].code"
},
{
"identity": "servd",
"map": "./Qualifications.Value"
}
]
},
{
"id": "Practitioner.qualification.period",
"path": "Practitioner.qualification.period",
"short": "Period during which the qualification is valid",
"definition": "Period during which the qualification is valid.",
"requirements": "Qualifications are often for a limited period of time, and can be revoked.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.qualification.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].effectiveTime"
},
{
"identity": "servd",
"map": "./Qualifications.StartDate and ./Qualifications.EndDate"
}
]
},
{
"id": "Practitioner.qualification.issuer",
"path": "Practitioner.qualification.issuer",
"short": "Organization that regulates and issues the qualification",
"definition": "Organization that regulates and issues the qualification.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.qualification.issuer",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].scoper"
}
]
},
{
"id": "Practitioner.communication",
"path": "Practitioner.communication",
"short": "A language the practitioner can use in patient communication",
"definition": "A language the practitioner can use in patient communication.",
"comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
"requirements": "Knowing which language a practitioner speaks can help in facilitating communication with patients.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.communication",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "required",
"description": "A ValueSet that identifies the language used by a person.",
"valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
},
"mapping": [
{
"identity": "v2",
"map": "PID-15, NK1-20, LAN-2"
},
{
"identity": "rim",
"map": "./languageCommunication"
},
{
"identity": "servd",
"map": "./Languages.LanguageSpokenCode"
}
]
}
]
},
"element": [
{
"id": "Practitioner.identifier",
"path": "Practitioner.identifier",
"short": "An identifier that applies to this person in this role.",
"mustSupport": true
},
{
"id": "Practitioner.name",
"path": "Practitioner.name",
"short": "The name(s) associated with the practitioner.",
"mustSupport": true
},
{
"id": "Practitioner.telecom",
"path": "Practitioner.telecom",
"short": "A contact detail for the practitioner (that apply to all roles).",
"mustSupport": true
},
{
"id": "Practitioner.communication",
"path": "Practitioner.communication",
"binding": {
"strength": "required",
"description": "A ValueSet that identifies the language used by a person.",
"valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
}
}
]
}
}

Examples

1. General Practitioner - An example to illustrate a practitioner who is the Patient's GP.

Example UKCore-Practitioner-DoctorPaulRastall


2. Consultant - An example to illustrate a practitioner who is a Consultant.

Example UKCore-Practitioner-ConsultantSandraGose


3. Pharmacist - An example to illustrate a practitioner who is a Pharmacist.

Example UKCore-Practitioner-PharmacistJimmyChuck


StructureDefinition UKCore-PractitionerRole

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierS Σ0..*Identifier
activeΣ0..1boolean
nameS Σ0..*HumanName
telecomS Σ0..*ContactPoint
addressΣ0..*Address
genderΣ0..1codeBinding
birthDateΣ0..1date
photo0..*Attachment
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifier0..*Identifier
code1..1CodeableConcept
period0..1Period
issuer0..1Reference(Organization)
communication0..*CodeableConceptBinding
Practitioner
ShortA person with a formal responsibility in the provisioning of healthcare or related services
Definition

A person who is directly or indirectly involved in the provisioning of healthcare.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • v2: PRD (as one example)
  • rim: Role
  • servd: Provider
Practitioner.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Practitioner.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Practitioner.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Practitioner.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.identifier
ShortAn identifier that applies to this person in this role.
Definition

An identifier that applies to this person in this role.

Cardinality0..*
TypeIdentifier
Must SupportTrue
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: ./id
  • servd: ./Identifiers
Practitioner.active
ShortWhether this practitioner's record is in active use
Definition

Whether this practitioner's record is in active use.

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

Need to be able to mark a practitioner record as not to be used because it was created in error.

Comments

If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • rim: ./statusCode
Practitioner.name
ShortThe name(s) associated with the practitioner.
Definition

The name(s) associated with the practitioner.

Cardinality0..*
TypeHumanName
Must SupportTrue
SummaryTrue
Requirements

The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display.

Comments

The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.

In general, select the value to be used in the ResourceReference.display based on this:

  1. There is more than 1 name
  2. Use = usual
  3. Period is current to the date of the usage
  4. Use = official
  5. Other order as decided by internal business rules.
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: XCN Components
  • rim: ./name
  • servd: ./PreferredName (GivenNames, FamilyName, TitleCode)
Practitioner.telecom
ShortA contact detail for the practitioner (that apply to all roles).
Definition

A contact detail for the practitioner, e.g. a telephone number or an email address.

Cardinality0..*
TypeContactPoint
Must SupportTrue
SummaryTrue
Requirements

Need to know how to reach a practitioner independent to any roles the practitioner may have.

Comments

Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRT-15, STF-10, ROL-12
  • rim: ./telecom
  • servd: ./ContactPoints
Practitioner.address
ShortAddress(es) of the practitioner that are not role specific (typically home address)
Definition

Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent.

Cardinality0..*
TypeAddress
SummaryTrue
Requirements

The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations.

Comments

The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: ORC-24, STF-11, ROL-11, PRT-14
  • rim: ./addr
  • servd: ./Addresses
Practitioner.gender
Shortmale | female | other | unknown
Definition

Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.

Cardinality0..1
Typecode
Binding

The gender of a person used for administrative purposes.

AdministrativeGender (required)

SummaryTrue
Requirements

Needed to address the person correctly.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: STF-5
  • rim: ./administrativeGender
  • servd: ./GenderCode
Practitioner.birthDate
ShortThe date on which the practitioner was born
Definition

The date of birth for the practitioner.

Cardinality0..1
Typedate
SummaryTrue
Requirements

Needed for identification.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: STF-6
  • rim: ./birthTime
  • servd: (not represented in ServD)
Practitioner.photo
ShortImage of the person
Definition

Image of the person.

Cardinality0..*
TypeAttachment
Requirements

Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: ./subjectOf/ObservationEvent[code="photo"]/value
  • servd: ./ImageURI (only supports the URI reference)
Practitioner.qualification
ShortCertification, licenses, or training pertaining to the provision of care
Definition

The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CER?
  • rim: .playingEntity.playingRole[classCode=QUAL].code
  • servd: ./Qualifications
Practitioner.qualification.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.qualification.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.qualification.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.qualification.identifier
ShortAn identifier for this qualification for the practitioner
Definition

An identifier that applies to this person's qualification in this role.

Cardinality0..*
TypeIdentifier
Requirements

Often, specific identities are assigned for the qualification.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].id
Practitioner.qualification.code
ShortCoded representation of the qualification
Definition

Coded representation of the qualification.

Cardinality1..1
TypeCodeableConcept
Binding

Specific qualification the practitioner has to provide a service.

v2.0360.2.7 (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].code
  • servd: ./Qualifications.Value
Practitioner.qualification.period
ShortPeriod during which the qualification is valid
Definition

Period during which the qualification is valid.

Cardinality0..1
TypePeriod
Requirements

Qualifications are often for a limited period of time, and can be revoked.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].effectiveTime
  • servd: ./Qualifications.StartDate and ./Qualifications.EndDate
Practitioner.qualification.issuer
ShortOrganization that regulates and issues the qualification
Definition

Organization that regulates and issues the qualification.

Cardinality0..1
TypeReference(Organization)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].scoper
Practitioner.communication
ShortA language the practitioner can use in patient communication
Definition

A language the practitioner can use in patient communication.

Cardinality0..*
TypeCodeableConcept
Binding

A ValueSet that identifies the language used by a person.

AllLanguages (required)

Binding extensions
maxValueSetAllLanguages
Requirements

Knowing which language a practitioner speaks can help in facilitating communication with patients.

Comments

The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PID-15, NK1-20, LAN-2
  • rim: ./languageCommunication
  • servd: ./Languages.LanguageSpokenCode
Practitioner0..*
Practitioner.idstring0..1
Practitioner.metaMeta0..1
Practitioner.implicitRulesuri0..1
Practitioner.languagecode0..1
Practitioner.textNarrative0..1
Practitioner.containedResource0..*
Practitioner.extensionExtension0..*
Practitioner.modifierExtensionExtension0..*
Practitioner.identifierIdentifier0..*
Practitioner.activeboolean0..1
Practitioner.nameHumanName0..*
Practitioner.telecomContactPoint0..*
Practitioner.addressAddress0..*
Practitioner.gendercode0..1
Practitioner.birthDatedate0..1
Practitioner.photoAttachment0..*
Practitioner.qualificationBackboneElement0..*
Practitioner.qualification.idstring0..1
Practitioner.qualification.extensionExtension0..*
Practitioner.qualification.modifierExtensionExtension0..*
Practitioner.qualification.identifierIdentifier0..*
Practitioner.qualification.codeCodeableConcept1..1
Practitioner.qualification.periodPeriod0..1
Practitioner.qualification.issuerReference(Organization)0..1
Practitioner.communicationCodeableConcept0..*

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-Practitioner" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner" />
<version value="2.4.0" />
<name value="UKCorePractitioner" />
<title value="UK Core Practitioner" />
<status value="active" />
<date value="2023-12-12" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [Practitioner](https://hl7.org/fhir/R4/Practitioner.html)." />
<purpose value="This profile allows exchange of information about all individuals who are engaged in the healthcare process and healthcare-related services as part of their formal responsibilities, is used for attribution of activities and responsibilities to these individuals." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Practitioner" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
<derivation value="constraint" />
<element id="Practitioner">
<path value="Practitioner" />
<short value="A person with a formal responsibility in the provisioning of healthcare or related services" />
<definition value="A person who is directly or indirectly involved in the provisioning of healthcare." />
<min value="0" />
<max value="*" />
<path value="Practitioner" />
<min value="0" />
<max value="*" />
</base>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="v2" />
<map value="PRD (as one example)" />
</mapping>
<identity value="rim" />
<map value="Role" />
</mapping>
<identity value="servd" />
<map value="Provider" />
</mapping>
</element>
<element id="Practitioner.id">
<path value="Practitioner.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Practitioner.meta">
<path value="Practitioner.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<code value="Meta" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Practitioner.implicitRules">
<path value="Practitioner.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="Practitioner.language">
<path value="Practitioner.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="Practitioner.text">
<path value="Practitioner.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<code value="Narrative" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="Practitioner.contained">
<path value="Practitioner.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.extension">
<path value="Practitioner.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.modifierExtension">
<path value="Practitioner.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.identifier">
<path value="Practitioner.identifier" />
<short value="An identifier that applies to this person in this role." />
<definition value="An identifier that applies to this person in this role." />
<requirements value="Often, specific identities are assigned for the agent." />
<min value="0" />
<max value="*" />
<path value="Practitioner.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="v2" />
<map value="PRD-7 (or XCN.1)" />
</mapping>
<identity value="rim" />
<map value="./id" />
</mapping>
<identity value="servd" />
<map value="./Identifiers" />
</mapping>
</element>
<element id="Practitioner.active">
<path value="Practitioner.active" />
<short value="Whether this practitioner's record is in active use" />
<definition value="Whether this practitioner's record is in active use." />
<comment value="If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role." />
<requirements value="Need to be able to mark a practitioner record as not to be used because it was created in error." />
<min value="0" />
<max value="1" />
<path value="Practitioner.active" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<meaningWhenMissing value="This resource is generally assumed to be active if no value is provided for the active element" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
<identity value="rim" />
<map value="./statusCode" />
</mapping>
</element>
<element id="Practitioner.name">
<path value="Practitioner.name" />
<short value="The name(s) associated with the practitioner." />
<definition value="The name(s) associated with the practitioner." />
<comment value="The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. \n\nIn general, select the value to be used in the ResourceReference.display based on this:\n\n1. There is more than 1 name\n2. Use = usual\n3. Period is current to the date of the usage\n4. Use = official\n5. Other order as decided by internal business rules." />
<requirements value="The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display." />
<min value="0" />
<max value="*" />
<path value="Practitioner.name" />
<min value="0" />
<max value="*" />
</base>
<code value="HumanName" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="XCN Components" />
</mapping>
<identity value="rim" />
<map value="./name" />
</mapping>
<identity value="servd" />
<map value="./PreferredName (GivenNames, FamilyName, TitleCode)" />
</mapping>
</element>
<element id="Practitioner.telecom">
<path value="Practitioner.telecom" />
<short value="A contact detail for the practitioner (that apply to all roles)." />
<definition value="A contact detail for the practitioner, e.g. a telephone number or an email address." />
<comment value="Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific." />
<requirements value="Need to know how to reach a practitioner independent to any roles the practitioner may have." />
<min value="0" />
<max value="*" />
<path value="Practitioner.telecom" />
<min value="0" />
<max value="*" />
</base>
<code value="ContactPoint" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="PRT-15, STF-10, ROL-12" />
</mapping>
<identity value="rim" />
<map value="./telecom" />
</mapping>
<identity value="servd" />
<map value="./ContactPoints" />
</mapping>
</element>
<element id="Practitioner.address">
<path value="Practitioner.address" />
<short value="Address(es) of the practitioner that are not role specific (typically home address)" />
<definition value="Address(es) of the practitioner that are not role specific (typically home address). \nWork addresses are not typically entered in this property as they are usually role dependent." />
<comment value="The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address)." />
<requirements value="The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations." />
<min value="0" />
<max value="*" />
<path value="Practitioner.address" />
<min value="0" />
<max value="*" />
</base>
<code value="Address" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="ORC-24, STF-11, ROL-11, PRT-14" />
</mapping>
<identity value="rim" />
<map value="./addr" />
</mapping>
<identity value="servd" />
<map value="./Addresses" />
</mapping>
</element>
<element id="Practitioner.gender">
<path value="Practitioner.gender" />
<short value="male | female | other | unknown" />
<definition value="Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes." />
<requirements value="Needed to address the person correctly." />
<min value="0" />
<max value="1" />
<path value="Practitioner.gender" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="AdministrativeGender" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="required" />
<description value="The gender of a person used for administrative purposes." />
<valueSet value="http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" />
</binding>
<identity value="v2" />
<map value="STF-5" />
</mapping>
<identity value="rim" />
<map value="./administrativeGender" />
</mapping>
<identity value="servd" />
<map value="./GenderCode" />
</mapping>
</element>
<element id="Practitioner.birthDate">
<path value="Practitioner.birthDate" />
<short value="The date on which the practitioner was born" />
<definition value="The date of birth for the practitioner." />
<requirements value="Needed for identification." />
<min value="0" />
<max value="1" />
<path value="Practitioner.birthDate" />
<min value="0" />
<max value="1" />
</base>
<code value="date" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="v2" />
<map value="STF-6" />
</mapping>
<identity value="rim" />
<map value="./birthTime" />
</mapping>
<identity value="servd" />
<map value="(not represented in ServD)" />
</mapping>
</element>
<element id="Practitioner.photo">
<path value="Practitioner.photo" />
<short value="Image of the person" />
<definition value="Image of the person." />
<requirements value="Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too." />
<min value="0" />
<max value="*" />
<path value="Practitioner.photo" />
<min value="0" />
<max value="*" />
</base>
<code value="Attachment" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="./subjectOf/ObservationEvent[code="photo"]/value" />
</mapping>
<identity value="servd" />
<map value="./ImageURI (only supports the URI reference)" />
</mapping>
</element>
<element id="Practitioner.qualification">
<path value="Practitioner.qualification" />
<short value="Certification, licenses, or training pertaining to the provision of care" />
<definition value="The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality." />
<min value="0" />
<max value="*" />
<path value="Practitioner.qualification" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="v2" />
<map value="CER?" />
</mapping>
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].code" />
</mapping>
<identity value="servd" />
<map value="./Qualifications" />
</mapping>
</element>
<element id="Practitioner.qualification.id">
<path value="Practitioner.qualification.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Practitioner.qualification.extension">
<path value="Practitioner.qualification.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Practitioner.qualification.modifierExtension">
<path value="Practitioner.qualification.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.qualification.identifier">
<path value="Practitioner.qualification.identifier" />
<short value="An identifier for this qualification for the practitioner" />
<definition value="An identifier that applies to this person's qualification in this role." />
<requirements value="Often, specific identities are assigned for the qualification." />
<min value="0" />
<max value="*" />
<path value="Practitioner.qualification.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].id" />
</mapping>
</element>
<element id="Practitioner.qualification.code">
<path value="Practitioner.qualification.code" />
<short value="Coded representation of the qualification" />
<definition value="Coded representation of the qualification." />
<min value="1" />
<max value="1" />
<path value="Practitioner.qualification.code" />
<min value="1" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Qualification" />
</extension>
<strength value="example" />
<description value="Specific qualification the practitioner has to provide a service." />
<valueSet value="http://terminology.hl7.org/ValueSet/v2-2.7-0360" />
</binding>
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].code" />
</mapping>
<identity value="servd" />
<map value="./Qualifications.Value" />
</mapping>
</element>
<element id="Practitioner.qualification.period">
<path value="Practitioner.qualification.period" />
<short value="Period during which the qualification is valid" />
<definition value="Period during which the qualification is valid." />
<requirements value="Qualifications are often for a limited period of time, and can be revoked." />
<min value="0" />
<max value="1" />
<path value="Practitioner.qualification.period" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].effectiveTime" />
</mapping>
<identity value="servd" />
<map value="./Qualifications.StartDate and ./Qualifications.EndDate" />
</mapping>
</element>
<element id="Practitioner.qualification.issuer">
<path value="Practitioner.qualification.issuer" />
<short value="Organization that regulates and issues the qualification" />
<definition value="Organization that regulates and issues the qualification." />
<min value="0" />
<max value="1" />
<path value="Practitioner.qualification.issuer" />
<min value="0" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value=".playingEntity.playingRole[classCode=QUAL].scoper" />
</mapping>
</element>
<element id="Practitioner.communication">
<path value="Practitioner.communication" />
<short value="A language the practitioner can use in patient communication" />
<definition value="A language the practitioner can use in patient communication." />
<comment value="The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type." />
<requirements value="Knowing which language a practitioner speaks can help in facilitating communication with patients." />
<min value="0" />
<max value="*" />
<path value="Practitioner.communication" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="required" />
<description value="A ValueSet that identifies the language used by a person." />
<valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
</binding>
<identity value="v2" />
<map value="PID-15, NK1-20, LAN-2" />
</mapping>
<identity value="rim" />
<map value="./languageCommunication" />
</mapping>
<identity value="servd" />
<map value="./Languages.LanguageSpokenCode" />
</mapping>
</element>
</snapshot>
<element id="Practitioner.identifier">
<path value="Practitioner.identifier" />
<short value="An identifier that applies to this person in this role." />
<mustSupport value="true" />
</element>
<element id="Practitioner.name">
<path value="Practitioner.name" />
<short value="The name(s) associated with the practitioner." />
<mustSupport value="true" />
</element>
<element id="Practitioner.telecom">
<path value="Practitioner.telecom" />
<short value="A contact detail for the practitioner (that apply to all roles)." />
<mustSupport value="true" />
</element>
<element id="Practitioner.communication">
<path value="Practitioner.communication" />
<strength value="required" />
<description value="A ValueSet that identifies the language used by a person." />
<valueSet value="http://hl7.org/fhir/ValueSet/all-languages" />
</binding>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "UKCore-Practitioner",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner",
"version": "2.4.0",
"name": "UKCorePractitioner",
"title": "UK Core Practitioner",
"status": "active",
"date": "2023-12-12",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [Practitioner](https://hl7.org/fhir/R4/Practitioner.html).",
"purpose": "This profile allows exchange of information about all individuals who are engaged in the healthcare process and healthcare-related services as part of their formal responsibilities, is used for attribution of activities and responsibilities to these individuals.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Practitioner",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Practitioner",
"derivation": "constraint",
"element": [
{
"id": "Practitioner",
"path": "Practitioner",
"short": "A person with a formal responsibility in the provisioning of healthcare or related services",
"definition": "A person who is directly or indirectly involved in the provisioning of healthcare.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner",
"min": 0,
"max": "*"
},
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "v2",
"map": "PRD (as one example)"
},
{
"identity": "rim",
"map": "Role"
},
{
"identity": "servd",
"map": "Provider"
}
]
},
{
"id": "Practitioner.id",
"path": "Practitioner.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Practitioner.meta",
"path": "Practitioner.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Practitioner.implicitRules",
"path": "Practitioner.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "Practitioner.language",
"path": "Practitioner.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "Practitioner.text",
"path": "Practitioner.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "Practitioner.contained",
"path": "Practitioner.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.extension",
"path": "Practitioner.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.modifierExtension",
"path": "Practitioner.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.identifier",
"path": "Practitioner.identifier",
"short": "An identifier that applies to this person in this role.",
"definition": "An identifier that applies to this person in this role.",
"requirements": "Often, specific identities are assigned for the agent.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "v2",
"map": "PRD-7 (or XCN.1)"
},
{
"identity": "rim",
"map": "./id"
},
{
"identity": "servd",
"map": "./Identifiers"
}
]
},
{
"id": "Practitioner.active",
"path": "Practitioner.active",
"short": "Whether this practitioner's record is in active use",
"definition": "Whether this practitioner's record is in active use.",
"comment": "If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
"requirements": "Need to be able to mark a practitioner record as not to be used because it was created in error.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.active",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element",
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
},
{
"identity": "rim",
"map": "./statusCode"
}
]
},
{
"id": "Practitioner.name",
"path": "Practitioner.name",
"short": "The name(s) associated with the practitioner.",
"definition": "The name(s) associated with the practitioner.",
"comment": "The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. \n\nIn general, select the value to be used in the ResourceReference.display based on this:\n\n1. There is more than 1 name\n2. Use = usual\n3. Period is current to the date of the usage\n4. Use = official\n5. Other order as decided by internal business rules.",
"requirements": "The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.name",
"min": 0,
"max": "*"
},
"type": [
{
"code": "HumanName"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "XCN Components"
},
{
"identity": "rim",
"map": "./name"
},
{
"identity": "servd",
"map": "./PreferredName (GivenNames, FamilyName, TitleCode)"
}
]
},
{
"id": "Practitioner.telecom",
"path": "Practitioner.telecom",
"short": "A contact detail for the practitioner (that apply to all roles).",
"definition": "A contact detail for the practitioner, e.g. a telephone number or an email address.",
"comment": "Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.",
"requirements": "Need to know how to reach a practitioner independent to any roles the practitioner may have.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "PRT-15, STF-10, ROL-12"
},
{
"identity": "rim",
"map": "./telecom"
},
{
"identity": "servd",
"map": "./ContactPoints"
}
]
},
{
"id": "Practitioner.address",
"path": "Practitioner.address",
"short": "Address(es) of the practitioner that are not role specific (typically home address)",
"definition": "Address(es) of the practitioner that are not role specific (typically home address). \nWork addresses are not typically entered in this property as they are usually role dependent.",
"comment": "The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).",
"requirements": "The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.address",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Address"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "ORC-24, STF-11, ROL-11, PRT-14"
},
{
"identity": "rim",
"map": "./addr"
},
{
"identity": "servd",
"map": "./Addresses"
}
]
},
{
"id": "Practitioner.gender",
"path": "Practitioner.gender",
"short": "male | female | other | unknown",
"definition": "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.",
"requirements": "Needed to address the person correctly.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.gender",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "AdministrativeGender"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "required",
"description": "The gender of a person used for administrative purposes.",
"valueSet": "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1"
},
"mapping": [
{
"identity": "v2",
"map": "STF-5"
},
{
"identity": "rim",
"map": "./administrativeGender"
},
{
"identity": "servd",
"map": "./GenderCode"
}
]
},
{
"id": "Practitioner.birthDate",
"path": "Practitioner.birthDate",
"short": "The date on which the practitioner was born",
"definition": "The date of birth for the practitioner.",
"requirements": "Needed for identification.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.birthDate",
"min": 0,
"max": "1"
},
"type": [
{
"code": "date"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "v2",
"map": "STF-6"
},
{
"identity": "rim",
"map": "./birthTime"
},
{
"identity": "servd",
"map": "(not represented in ServD)"
}
]
},
{
"id": "Practitioner.photo",
"path": "Practitioner.photo",
"short": "Image of the person",
"definition": "Image of the person.",
"requirements": "Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.photo",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Attachment"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "./subjectOf/ObservationEvent[code=\"photo\"]/value"
},
{
"identity": "servd",
"map": "./ImageURI (only supports the URI reference)"
}
]
},
{
"id": "Practitioner.qualification",
"path": "Practitioner.qualification",
"short": "Certification, licenses, or training pertaining to the provision of care",
"definition": "The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.qualification",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "CER?"
},
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].code"
},
{
"identity": "servd",
"map": "./Qualifications"
}
]
},
{
"id": "Practitioner.qualification.id",
"path": "Practitioner.qualification.id",
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Practitioner.qualification.extension",
"path": "Practitioner.qualification.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Practitioner.qualification.modifierExtension",
"path": "Practitioner.qualification.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.qualification.identifier",
"path": "Practitioner.qualification.identifier",
"short": "An identifier for this qualification for the practitioner",
"definition": "An identifier that applies to this person's qualification in this role.",
"requirements": "Often, specific identities are assigned for the qualification.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.qualification.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].id"
}
]
},
{
"id": "Practitioner.qualification.code",
"path": "Practitioner.qualification.code",
"short": "Coded representation of the qualification",
"definition": "Coded representation of the qualification.",
"min": 1,
"max": "1",
"base": {
"path": "Practitioner.qualification.code",
"min": 1,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Qualification"
}
],
"strength": "example",
"description": "Specific qualification the practitioner has to provide a service.",
"valueSet": "http://terminology.hl7.org/ValueSet/v2-2.7-0360"
},
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].code"
},
{
"identity": "servd",
"map": "./Qualifications.Value"
}
]
},
{
"id": "Practitioner.qualification.period",
"path": "Practitioner.qualification.period",
"short": "Period during which the qualification is valid",
"definition": "Period during which the qualification is valid.",
"requirements": "Qualifications are often for a limited period of time, and can be revoked.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.qualification.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].effectiveTime"
},
{
"identity": "servd",
"map": "./Qualifications.StartDate and ./Qualifications.EndDate"
}
]
},
{
"id": "Practitioner.qualification.issuer",
"path": "Practitioner.qualification.issuer",
"short": "Organization that regulates and issues the qualification",
"definition": "Organization that regulates and issues the qualification.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.qualification.issuer",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].scoper"
}
]
},
{
"id": "Practitioner.communication",
"path": "Practitioner.communication",
"short": "A language the practitioner can use in patient communication",
"definition": "A language the practitioner can use in patient communication.",
"comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
"requirements": "Knowing which language a practitioner speaks can help in facilitating communication with patients.",
"min": 0,
"max": "*",
"base": {
"path": "Practitioner.communication",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "required",
"description": "A ValueSet that identifies the language used by a person.",
"valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
},
"mapping": [
{
"identity": "v2",
"map": "PID-15, NK1-20, LAN-2"
},
{
"identity": "rim",
"map": "./languageCommunication"
},
{
"identity": "servd",
"map": "./Languages.LanguageSpokenCode"
}
]
}
]
},
"element": [
{
"id": "Practitioner.identifier",
"path": "Practitioner.identifier",
"short": "An identifier that applies to this person in this role.",
"mustSupport": true
},
{
"id": "Practitioner.name",
"path": "Practitioner.name",
"short": "The name(s) associated with the practitioner.",
"mustSupport": true
},
{
"id": "Practitioner.telecom",
"path": "Practitioner.telecom",
"short": "A contact detail for the practitioner (that apply to all roles).",
"mustSupport": true
},
{
"id": "Practitioner.communication",
"path": "Practitioner.communication",
"binding": {
"strength": "required",
"description": "A ValueSet that identifies the language used by a person.",
"valueSet": "http://hl7.org/fhir/ValueSet/all-languages"
}
}
]
}
}

Examples

Patient's GP - An example to illustrate the role of General Practitioner.

Example UKCore-PractitionerRole-GP


StructureDefinition UKCore-Questionnaire

Command 'tree' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-Questionnaire'
Command 'dict' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-Questionnaire'
Command 'table' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-Questionnaire'
Command 'xml' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-Questionnaire'
Command 'json' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-Questionnaire'


StructureDefinition UKCore-QuestionnaireResponse

Command 'tree' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-QuestionnaireResponse'
Command 'dict' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-QuestionnaireResponse'
Command 'table' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-QuestionnaireResponse'
Command 'xml' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-QuestionnaireResponse'
Command 'json' could not render: Resource was not found for 'canonical=https://fhir.hl7.org.uk/StructureDefinition/UKCore-QuestionnaireResponse'


StructureDefinition UKCore-Schedule

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
activeS Σ ?!0..1boolean
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyS Σ0..*CodeableConceptBinding
actorS Σ1..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location)
planningHorizonS Σ0..1Period
comment0..1string
Schedule
ShortA container for slots of time that may be available for booking appointments
Definition

A container for slots of time that may be available for booking appointments.

Cardinality0..*
AliasAvailability
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • rim: n/a
  • ical: BEGIN:VFREEBUSY ??? END:VFREEBUSY (If your fhir server provides this information via calDAV, then you may want to include addressing information in a URL section, and with the search, a DTSTART and DTEND component can be included to indicate the range of time that has been covered in the collection of slots, where these overlap the resources period values. For all slots that reference this resource, include a FREEBUSY row for each slot)
Schedule.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Schedule.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Schedule.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Schedule.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Schedule.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Schedule.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Schedule.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Schedule.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Schedule.identifier
ShortExternal Ids for this item
Definition

External Ids for this item.

Cardinality0..*
TypeIdentifier
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • ical: UID
Schedule.active
ShortWhether this schedule is in active use.
Definition

Whether this schedule record is in active use or should not be used (such as was entered in error).

Cardinality0..1
Typeboolean
Must SupportTrue
ModifierTrue
SummaryTrue
Comments

This element is labeled as a modifier because it may be used to mark that the resource was created in error.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
Schedule.serviceCategory
ShortHigh-level category
Definition

A broad categorization of the service that is to be performed during this appointment.

Cardinality0..*
TypeCodeableConcept
Binding

ServiceCategory (example)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
Schedule.serviceType
ShortSpecific service
Definition

The specific service that is to be performed during this appointment.

Cardinality0..*
TypeCodeableConcept
Binding

ServiceType (example)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
  • ical: n/a
Schedule.specialty
ShortType of specialty needed.
Definition

The specialty of a practitioner that would be required to perform the service requested in this appointment.

Cardinality0..*
TypeCodeableConcept
Binding

Additional details about where the content was created (e.g. clinical specialty).

UKCorePracticeSettingCode (extensible)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
Schedule.actor
ShortResource(s) that availability information is being provided for.
Definition

Slots that reference this schedule resource provide the availability details to these referenced resource(s).

Cardinality1..*
TypeReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location)
Must SupportTrue
SummaryTrue
Comments

The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a practitioner and a room (Location) are always required by a system.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.subject[x]
  • ical: ATTENDEE:MAILTO:john_public@host2.com This can be populated with a value from the referenced resource
  • w5: FiveWs.subject
Schedule.planningHorizon
ShortPeriod of time covered by schedule.
Definition

The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates.

Cardinality0..1
TypePeriod
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.planned
  • ical: DTSTART:20131201T003000Z DTEND:2014030101T003000Z
Schedule.comment
ShortComments on availability
Definition

Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated.

Cardinality0..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • ical: COMMENT:(comment) If there is no comment, then the line can be excluded from the iCalendar entry
Schedule0..*
Schedule.idstring0..1
Schedule.metaMeta0..1
Schedule.implicitRulesuri0..1
Schedule.languagecode0..1
Schedule.textNarrative0..1
Schedule.containedResource0..*
Schedule.extensionExtension0..*
Schedule.modifierExtensionExtension0..*
Schedule.identifierIdentifier0..*
Schedule.activeboolean0..1
Schedule.serviceCategoryCodeableConcept0..*
Schedule.serviceTypeCodeableConcept0..*
Schedule.specialtyCodeableConcept0..*
Schedule.actorReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location)1..*
Schedule.planningHorizonPeriod0..1
Schedule.commentstring0..1

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-Schedule" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Schedule" />
<version value="1.3.0" />
<name value="UKCoreSchedule" />
<title value="UK Core Schedule" />
<status value="active" />
<date value="2023-12-12" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [Schedule](https://hl7.org/fhir/R4/Schedule.html)." />
<purpose value="Schedule resources provide a container for time-slots that can be booked using an appointment. It provides the window of time (period) that slots are defined for and what type of appointments can be booked.\n\nThe schedule does not provide any information about actual appointments. This separation greatly assists where access to the appointments would not be permitted for security or privacy reasons, while still being able to determine if an appointment might be available." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Schedule" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Schedule" />
<derivation value="constraint" />
<element id="Schedule">
<path value="Schedule" />
<short value="A container for slots of time that may be available for booking appointments" />
<definition value="A container for slots of time that may be available for booking appointments." />
<alias value="Availability" />
<min value="0" />
<max value="*" />
<path value="Schedule" />
<min value="0" />
<max value="*" />
</base>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="ical" />
<map value="BEGIN:VFREEBUSY ??? END:VFREEBUSY (If your fhir server provides this information via calDAV, then you may want to include addressing information in a URL section, and with the search, a DTSTART and DTEND component can be included to indicate the range of time that has been covered in the collection of slots, where these overlap the resources period values. For all slots that reference this resource, include a FREEBUSY row for each slot)" />
</mapping>
</element>
<element id="Schedule.id">
<path value="Schedule.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Schedule.meta">
<path value="Schedule.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<code value="Meta" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Schedule.implicitRules">
<path value="Schedule.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="Schedule.language">
<path value="Schedule.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="Schedule.text">
<path value="Schedule.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<code value="Narrative" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="Schedule.contained">
<path value="Schedule.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Schedule.extension">
<path value="Schedule.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Schedule.modifierExtension">
<path value="Schedule.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Schedule.identifier">
<path value="Schedule.identifier" />
<short value="External Ids for this item" />
<definition value="External Ids for this item." />
<min value="0" />
<max value="*" />
<path value="Schedule.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<identity value="ical" />
<map value="UID" />
</mapping>
</element>
<element id="Schedule.active">
<path value="Schedule.active" />
<short value="Whether this schedule is in active use." />
<definition value="Whether this schedule record is in active use or should not be used (such as was entered in error)." />
<comment value="This element is labeled as a modifier because it may be used to mark that the resource was created in error." />
<min value="0" />
<max value="1" />
<path value="Schedule.active" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<meaningWhenMissing value="This resource is generally assumed to be active if no value is provided for the active element" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="true" />
<isModifierReason value="This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
</element>
<element id="Schedule.serviceCategory">
<path value="Schedule.serviceCategory" />
<short value="High-level category" />
<definition value="A broad categorization of the service that is to be performed during this appointment." />
<min value="0" />
<max value="*" />
<path value="Schedule.serviceCategory" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="service-category" />
</extension>
<strength value="example" />
<valueSet value="http://hl7.org/fhir/ValueSet/service-category" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
</element>
<element id="Schedule.serviceType">
<path value="Schedule.serviceType" />
<short value="Specific service" />
<definition value="The specific service that is to be performed during this appointment." />
<min value="0" />
<max value="*" />
<path value="Schedule.serviceType" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="service-type" />
</extension>
<strength value="example" />
<valueSet value="http://hl7.org/fhir/ValueSet/service-type" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
<identity value="ical" />
<map value="n/a" />
</mapping>
</element>
<element id="Schedule.specialty">
<path value="Schedule.specialty" />
<short value="Type of specialty needed." />
<definition value="The specialty of a practitioner that would be required to perform the service requested in this appointment." />
<min value="0" />
<max value="*" />
<path value="Schedule.specialty" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="specialty" />
</extension>
<strength value="extensible" />
<description value="Additional details about where the content was created (e.g. clinical specialty)." />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
</element>
<element id="Schedule.actor">
<path value="Schedule.actor" />
<short value="Resource(s) that availability information is being provided for." />
<definition value="Slots that reference this schedule resource provide the availability details to these referenced resource(s)." />
<comment value="The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a practitioner and a room (Location) are always required by a system." />
<min value="1" />
<max value="*" />
<path value="Schedule.actor" />
<min value="1" />
<max value="*" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/HealthcareService" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.subject[x]" />
</mapping>
<identity value="ical" />
<map value="ATTENDEE:MAILTO:john_public@host2.com This can be populated with a value from the referenced resource" />
</mapping>
<identity value="w5" />
<map value="FiveWs.subject" />
</mapping>
</element>
<element id="Schedule.planningHorizon">
<path value="Schedule.planningHorizon" />
<short value="Period of time covered by schedule." />
<definition value="The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates." />
<min value="0" />
<max value="1" />
<path value="Schedule.planningHorizon" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.planned" />
</mapping>
<identity value="ical" />
<map value="DTSTART:20131201T003000Z DTEND:2014030101T003000Z" />
</mapping>
</element>
<element id="Schedule.comment">
<path value="Schedule.comment" />
<short value="Comments on availability" />
<definition value="Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated." />
<min value="0" />
<max value="1" />
<path value="Schedule.comment" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="ical" />
<map value="COMMENT:(comment) If there is no comment, then the line can be excluded from the iCalendar entry" />
</mapping>
</element>
</snapshot>
<element id="Schedule.active">
<path value="Schedule.active" />
<short value="Whether this schedule is in active use." />
<mustSupport value="true" />
</element>
<element id="Schedule.specialty">
<path value="Schedule.specialty" />
<short value="Type of specialty needed." />
<mustSupport value="true" />
<strength value="extensible" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode" />
</binding>
</element>
<element id="Schedule.actor">
<path value="Schedule.actor" />
<short value="Resource(s) that availability information is being provided for." />
<mustSupport value="true" />
</element>
<element id="Schedule.planningHorizon">
<path value="Schedule.planningHorizon" />
<short value="Period of time covered by schedule." />
<mustSupport value="true" />
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "UKCore-Schedule",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Schedule",
"version": "1.3.0",
"name": "UKCoreSchedule",
"title": "UK Core Schedule",
"status": "active",
"date": "2023-12-12",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [Schedule](https://hl7.org/fhir/R4/Schedule.html).",
"purpose": "Schedule resources provide a container for time-slots that can be booked using an appointment. It provides the window of time (period) that slots are defined for and what type of appointments can be booked.\n\nThe schedule does not provide any information about actual appointments. This separation greatly assists where access to the appointments would not be permitted for security or privacy reasons, while still being able to determine if an appointment might be available.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Schedule",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Schedule",
"derivation": "constraint",
"element": [
{
"id": "Schedule",
"path": "Schedule",
"short": "A container for slots of time that may be available for booking appointments",
"definition": "A container for slots of time that may be available for booking appointments.",
"alias": [
"Availability"
],
"min": 0,
"max": "*",
"base": {
"path": "Schedule",
"min": 0,
"max": "*"
},
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "ical",
"map": "BEGIN:VFREEBUSY ??? END:VFREEBUSY (If your fhir server provides this information via calDAV, then you may want to include addressing information in a URL section, and with the search, a DTSTART and DTEND component can be included to indicate the range of time that has been covered in the collection of slots, where these overlap the resources period values. For all slots that reference this resource, include a FREEBUSY row for each slot)"
}
]
},
{
"id": "Schedule.id",
"path": "Schedule.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Schedule.meta",
"path": "Schedule.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Schedule.implicitRules",
"path": "Schedule.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "Schedule.language",
"path": "Schedule.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "Schedule.text",
"path": "Schedule.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "Schedule.contained",
"path": "Schedule.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Schedule.extension",
"path": "Schedule.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Schedule.modifierExtension",
"path": "Schedule.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Schedule.identifier",
"path": "Schedule.identifier",
"short": "External Ids for this item",
"definition": "External Ids for this item.",
"min": 0,
"max": "*",
"base": {
"path": "Schedule.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "ical",
"map": "UID"
}
]
},
{
"id": "Schedule.active",
"path": "Schedule.active",
"short": "Whether this schedule is in active use.",
"definition": "Whether this schedule record is in active use or should not be used (such as was entered in error).",
"comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
"min": 0,
"max": "1",
"base": {
"path": "Schedule.active",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element",
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": true,
"isModifierReason": "This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid",
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
}
]
},
{
"id": "Schedule.serviceCategory",
"path": "Schedule.serviceCategory",
"short": "High-level category",
"definition": "A broad categorization of the service that is to be performed during this appointment.",
"min": 0,
"max": "*",
"base": {
"path": "Schedule.serviceCategory",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "service-category"
}
],
"strength": "example",
"valueSet": "http://hl7.org/fhir/ValueSet/service-category"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
}
]
},
{
"id": "Schedule.serviceType",
"path": "Schedule.serviceType",
"short": "Specific service",
"definition": "The specific service that is to be performed during this appointment.",
"min": 0,
"max": "*",
"base": {
"path": "Schedule.serviceType",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "service-type"
}
],
"strength": "example",
"valueSet": "http://hl7.org/fhir/ValueSet/service-type"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
},
{
"identity": "ical",
"map": "n/a"
}
]
},
{
"id": "Schedule.specialty",
"path": "Schedule.specialty",
"short": "Type of specialty needed.",
"definition": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
"min": 0,
"max": "*",
"base": {
"path": "Schedule.specialty",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "specialty"
}
],
"strength": "extensible",
"description": "Additional details about where the content was created (e.g. clinical specialty).",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
}
]
},
{
"id": "Schedule.actor",
"path": "Schedule.actor",
"short": "Resource(s) that availability information is being provided for.",
"definition": "Slots that reference this schedule resource provide the availability details to these referenced resource(s).",
"comment": "The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a practitioner and a room (Location) are always required by a system.",
"min": 1,
"max": "*",
"base": {
"path": "Schedule.actor",
"min": 1,
"max": "*"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Patient",
"http://hl7.org/fhir/StructureDefinition/Practitioner",
"http://hl7.org/fhir/StructureDefinition/PractitionerRole",
"http://hl7.org/fhir/StructureDefinition/RelatedPerson",
"http://hl7.org/fhir/StructureDefinition/Device",
"http://hl7.org/fhir/StructureDefinition/HealthcareService",
"http://hl7.org/fhir/StructureDefinition/Location"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.subject[x]"
},
{
"identity": "ical",
"map": "ATTENDEE:MAILTO:john_public@host2.com This can be populated with a value from the referenced resource"
},
{
"identity": "w5",
"map": "FiveWs.subject"
}
]
},
{
"id": "Schedule.planningHorizon",
"path": "Schedule.planningHorizon",
"short": "Period of time covered by schedule.",
"definition": "The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a \"template\" for planning outside these dates.",
"min": 0,
"max": "1",
"base": {
"path": "Schedule.planningHorizon",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.planned"
},
{
"identity": "ical",
"map": "DTSTART:20131201T003000Z DTEND:2014030101T003000Z"
}
]
},
{
"id": "Schedule.comment",
"path": "Schedule.comment",
"short": "Comments on availability",
"definition": "Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated.",
"min": 0,
"max": "1",
"base": {
"path": "Schedule.comment",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "ical",
"map": "COMMENT:(comment) If there is no comment, then the line can be excluded from the iCalendar entry"
}
]
}
]
},
"element": [
{
"id": "Schedule.active",
"path": "Schedule.active",
"short": "Whether this schedule is in active use.",
"mustSupport": true
},
{
"id": "Schedule.specialty",
"path": "Schedule.specialty",
"short": "Type of specialty needed.",
"mustSupport": true,
"binding": {
"strength": "extensible",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode"
}
},
{
"id": "Schedule.actor",
"path": "Schedule.actor",
"short": "Resource(s) that availability information is being provided for.",
"mustSupport": true
},
{
"id": "Schedule.planningHorizon",
"path": "Schedule.planningHorizon",
"short": "Period of time covered by schedule.",
"mustSupport": true
}
]
}
}

Examples

An example to illustrate a schedule for immunization appointments

Example UKCore-Schedule-Immunization


StructureDefinition UKCore-Slot

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
deliveryChannelC0..1Extension(CodeableConcept)
modifierExtension?! C0..*Extension
identifierΣ0..*Identifier
serviceCategoryΣ0..*CodeableConcept
serviceTypeΣ0..*CodeableConcept
specialtyS Σ0..*CodeableConceptBinding
appointmentTypeS Σ0..1CodeableConceptBinding
scheduleS Σ1..1Reference(Schedule)
statusS Σ1..1codeBinding
startS Σ1..1instant
endS Σ1..1instant
overbooked0..1boolean
comment0..1string
Slot
ShortA slot of time on a schedule that may be available for booking appointments
Definition

A slot of time on a schedule that may be available for booking appointments.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • rim: n/a
  • ical: (refer to the Availability resource for the header mapping details)
Slot.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Slot.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Slot.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Slot.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Slot.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Slot.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Slot.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Slot.extension:deliveryChannel
ShortThis describes the delivery channel of a scheduled appointment.
Definition

An extension to record the delivery channel of a scheduled Appointment.

Cardinality0..1
TypeExtension(CodeableConcept)
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
  • rim: n/a
Slot.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Slot.identifier
ShortExternal Ids for this item
Definition

External Ids for this item.

Cardinality0..*
TypeIdentifier
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
Slot.serviceCategory
ShortA broad categorization of the service that is to be performed during this appointment
Definition

A broad categorization of the service that is to be performed during this appointment.

Cardinality0..*
TypeCodeableConcept
Binding

ServiceCategory (example)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
Slot.serviceType
ShortThe type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource
Definition

The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource.

Cardinality0..*
TypeCodeableConcept
Binding

ServiceType (example)

SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
Slot.specialty
ShortThe specialty of a practitioner that would be required to perform the service requested in this appointment.
Definition

The specialty of a practitioner that would be required to perform the service requested in this appointment.

Cardinality0..*
TypeCodeableConcept
Binding

Additional details about where the content was created (e.g. clinical specialty).

UKCorePracticeSettingCode (extensible)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
Slot.appointmentType
ShortThe style of appointment or patient that may be booked in the slot.
Definition

The style of appointment or patient that may be booked in the slot (not service type).

Cardinality0..1
TypeCodeableConcept
Binding

v2.0276 (preferred)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.class
Slot.schedule
ShortA reference to the Schedule that this Slot is an interval of.
Definition

The schedule resource that this slot defines an interval of status information.

Cardinality1..1
TypeReference(Schedule)
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Slot.status
ShortThe status of the slot, e.g free, busy, etc.
Definition

busy | free | busy-unavailable | busy-tentative | entered-in-error.

Cardinality1..1
Typecode
Binding

The free/busy status of the slot.

SlotStatus (required)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • ical: FREEBUSY;FBTYPE=(freeBusyType):19980314T233000Z/19980315T003000Z If the freeBusyType is BUSY, then this value can be excluded
Slot.start
ShortDate/Time that the slot is to begin.
Definition

Date/Time that the slot is to begin.

Cardinality1..1
Typeinstant
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.planned
  • ical: FREEBUSY;FBTYPE=FREE:(start)/19980315T003000Z If the freeBusyType is BUSY, then this value can be excluded
Slot.end
ShortDate/Time that the slot is to conclude.
Definition

Date/Time that the slot is to conclude.

Cardinality1..1
Typeinstant
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.planned
  • ical: FREEBUSY:19980314T233000Z/(end) If the freeBusyType is BUSY, then this value can be excluded (as shown)
Slot.overbooked
ShortThis slot has already been overbooked, appointments are unlikely to be accepted for this time
Definition

This slot has already been overbooked, appointments are unlikely to be accepted for this time.

Cardinality0..1
Typeboolean
Meaning when missing

If overbooked is missing, systems may assume that there are still appointments available

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Slot.comment
ShortComments on the slot to describe any extended information. Such as custom constraints on the slot
Definition

Comments on the slot to describe any extended information. Such as custom constraints on the slot.

Cardinality0..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Slot0..*
Slot.idstring0..1
Slot.metaMeta0..1
Slot.implicitRulesuri0..1
Slot.languagecode0..1
Slot.textNarrative0..1
Slot.containedResource0..*
Slot.extensionExtension0..*
Slot.extension:deliveryChannelExtension0..1
Slot.modifierExtensionExtension0..*
Slot.identifierIdentifier0..*
Slot.serviceCategoryCodeableConcept0..*
Slot.serviceTypeCodeableConcept0..*
Slot.specialtyCodeableConcept0..*
Slot.appointmentTypeCodeableConcept0..1
Slot.scheduleReference(Schedule)1..1
Slot.statuscode1..1
Slot.startinstant1..1
Slot.endinstant1..1
Slot.overbookedboolean0..1
Slot.commentstring0..1

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="UKCore-Slot" />
<url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Slot" />
<version value="1.3.0" />
<name value="UKCoreSlot" />
<title value="UK Core Slot" />
<status value="active" />
<date value="2023-12-12" />
<publisher value="HL7 UK" />
<name value="HL7 UK" />
<system value="email" />
<value value="ukcore@hl7.org.uk" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="This profile defines the UK constraints and extensions on the International FHIR resource [Slot](https://hl7.org/fhir/R4/Slot.html)." />
<purpose value="Slot resources are used to provide time-slots that can be booked using an appointment. They do not provide any information about appointments that are available, just the time, and optionally what the time can be used for. These are effectively spaces of free/busy time.\nSlots can also be marked as busy without having appointments associated." />
<copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Slot" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Slot" />
<derivation value="constraint" />
<element id="Slot">
<path value="Slot" />
<short value="A slot of time on a schedule that may be available for booking appointments" />
<definition value="A slot of time on a schedule that may be available for booking appointments." />
<min value="0" />
<max value="*" />
<path value="Slot" />
<min value="0" />
<max value="*" />
</base>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="ical" />
<map value="(refer to the Availability resource for the header mapping details)" />
</mapping>
</element>
<element id="Slot.id">
<path value="Slot.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Slot.meta">
<path value="Slot.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<code value="Meta" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Slot.implicitRules">
<path value="Slot.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="Slot.language">
<path value="Slot.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="Slot.text">
<path value="Slot.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<code value="Narrative" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="Slot.contained">
<path value="Slot.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Slot.extension">
<path value="Slot.extension" />
<type value="value" />
<path value="url" />
</discriminator>
<ordered value="false" />
<rules value="open" />
</slicing>
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Slot.extension:deliveryChannel">
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
<valueCode value="normative" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
<valueCode value="4.0.0" />
</extension>
<path value="Slot.extension" />
<sliceName value="deliveryChannel" />
<short value="This describes the delivery channel of a scheduled appointment." />
<definition value="An extension to record the delivery channel of a scheduled Appointment." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="1" />
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
<profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel" />
</type>
<condition value="ele-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Slot.modifierExtension">
<path value="Slot.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Slot.identifier">
<path value="Slot.identifier" />
<short value="External Ids for this item" />
<definition value="External Ids for this item." />
<min value="0" />
<max value="*" />
<path value="Slot.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
</element>
<element id="Slot.serviceCategory">
<path value="Slot.serviceCategory" />
<short value="A broad categorization of the service that is to be performed during this appointment" />
<definition value="A broad categorization of the service that is to be performed during this appointment." />
<min value="0" />
<max value="*" />
<path value="Slot.serviceCategory" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="service-category" />
</extension>
<strength value="example" />
<valueSet value="http://hl7.org/fhir/ValueSet/service-category" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
</element>
<element id="Slot.serviceType">
<path value="Slot.serviceType" />
<short value="The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource" />
<definition value="The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource." />
<min value="0" />
<max value="*" />
<path value="Slot.serviceType" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="service-type" />
</extension>
<strength value="example" />
<valueSet value="http://hl7.org/fhir/ValueSet/service-type" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
</element>
<element id="Slot.specialty">
<path value="Slot.specialty" />
<short value="The specialty of a practitioner that would be required to perform the service requested in this appointment." />
<definition value="The specialty of a practitioner that would be required to perform the service requested in this appointment." />
<min value="0" />
<max value="*" />
<path value="Slot.specialty" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="specialty" />
</extension>
<strength value="extensible" />
<description value="Additional details about where the content was created (e.g. clinical specialty)." />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
</element>
<element id="Slot.appointmentType">
<path value="Slot.appointmentType" />
<short value="The style of appointment or patient that may be booked in the slot." />
<definition value="The style of appointment or patient that may be booked in the slot (not service type)." />
<min value="0" />
<max value="1" />
<path value="Slot.appointmentType" />
<min value="0" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="appointment-type" />
</extension>
<strength value="preferred" />
<valueSet value="http://terminology.hl7.org/ValueSet/v2-0276" />
</binding>
<identity value="w5" />
<map value="FiveWs.class" />
</mapping>
</element>
<element id="Slot.schedule">
<path value="Slot.schedule" />
<short value="A reference to the Schedule that this Slot is an interval of." />
<definition value="The schedule resource that this slot defines an interval of status information." />
<min value="1" />
<max value="1" />
<path value="Slot.schedule" />
<min value="1" />
<max value="1" />
</base>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Schedule" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="Slot.status">
<path value="Slot.status" />
<short value="The status of the slot, e.g free, busy, etc." />
<definition value="busy | free | busy-unavailable | busy-tentative | entered-in-error." />
<min value="1" />
<max value="1" />
<path value="Slot.status" />
<min value="1" />
<max value="1" />
</base>
<code value="code" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="SlotStatus" />
</extension>
<strength value="required" />
<description value="The free/busy status of the slot." />
<valueSet value="http://hl7.org/fhir/ValueSet/slotstatus|4.0.1" />
</binding>
<identity value="ical" />
<map value="FREEBUSY;FBTYPE=(freeBusyType):19980314T233000Z/19980315T003000Z If the freeBusyType is BUSY, then this value can be excluded" />
</mapping>
</element>
<element id="Slot.start">
<path value="Slot.start" />
<short value="Date/Time that the slot is to begin." />
<definition value="Date/Time that the slot is to begin." />
<min value="1" />
<max value="1" />
<path value="Slot.start" />
<min value="1" />
<max value="1" />
</base>
<code value="instant" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.planned" />
</mapping>
<identity value="ical" />
<map value="FREEBUSY;FBTYPE=FREE:(start)/19980315T003000Z If the freeBusyType is BUSY, then this value can be excluded" />
</mapping>
</element>
<element id="Slot.end">
<path value="Slot.end" />
<short value="Date/Time that the slot is to conclude." />
<definition value="Date/Time that the slot is to conclude." />
<min value="1" />
<max value="1" />
<path value="Slot.end" />
<min value="1" />
<max value="1" />
</base>
<code value="instant" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<mustSupport value="true" />
<isModifier value="false" />
<isSummary value="true" />
<identity value="w5" />
<map value="FiveWs.planned" />
</mapping>
<identity value="ical" />
<map value="FREEBUSY:19980314T233000Z/(end) If the freeBusyType is BUSY, then this value can be excluded (as shown)" />
</mapping>
</element>
<element id="Slot.overbooked">
<path value="Slot.overbooked" />
<short value="This slot has already been overbooked, appointments are unlikely to be accepted for this time" />
<definition value="This slot has already been overbooked, appointments are unlikely to be accepted for this time." />
<min value="0" />
<max value="1" />
<path value="Slot.overbooked" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<meaningWhenMissing value="If overbooked is missing, systems may assume that there are still appointments available" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
</element>
<element id="Slot.comment">
<path value="Slot.comment" />
<short value="Comments on the slot to describe any extended information. Such as custom constraints on the slot" />
<definition value="Comments on the slot to describe any extended information. Such as custom constraints on the slot." />
<min value="0" />
<max value="1" />
<path value="Slot.comment" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
</element>
</snapshot>
<element id="Slot.extension:deliveryChannel">
<path value="Slot.extension" />
<sliceName value="deliveryChannel" />
<short value="This describes the delivery channel of a scheduled appointment." />
<max value="1" />
<code value="Extension" />
<profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel" />
</type>
<isModifier value="false" />
</element>
<element id="Slot.specialty">
<path value="Slot.specialty" />
<short value="The specialty of a practitioner that would be required to perform the service requested in this appointment." />
<mustSupport value="true" />
<strength value="extensible" />
<valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode" />
</binding>
</element>
<element id="Slot.appointmentType">
<path value="Slot.appointmentType" />
<short value="The style of appointment or patient that may be booked in the slot." />
<mustSupport value="true" />
</element>
<element id="Slot.schedule">
<path value="Slot.schedule" />
<short value="A reference to the Schedule that this Slot is an interval of." />
<mustSupport value="true" />
</element>
<element id="Slot.status">
<path value="Slot.status" />
<short value="The status of the slot, e.g free, busy, etc." />
<mustSupport value="true" />
</element>
<element id="Slot.start">
<path value="Slot.start" />
<short value="Date/Time that the slot is to begin." />
<mustSupport value="true" />
</element>
<element id="Slot.end">
<path value="Slot.end" />
<short value="Date/Time that the slot is to conclude." />
<mustSupport value="true" />
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "UKCore-Slot",
"url": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Slot",
"version": "1.3.0",
"name": "UKCoreSlot",
"title": "UK Core Slot",
"status": "active",
"date": "2023-12-12",
"publisher": "HL7 UK",
"contact": [
{
"name": "HL7 UK",
"telecom": [
{
"system": "email",
"value": "ukcore@hl7.org.uk",
"use": "work",
"rank": 1
}
]
}
],
"description": "This profile defines the UK constraints and extensions on the International FHIR resource [Slot](https://hl7.org/fhir/R4/Slot.html).",
"purpose": "Slot resources are used to provide time-slots that can be booked using an appointment. They do not provide any information about appointments that are available, just the time, and optionally what the time can be used for. These are effectively spaces of free/busy time.\nSlots can also be marked as busy without having appointments associated.",
"copyright": "Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Slot",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Slot",
"derivation": "constraint",
"element": [
{
"id": "Slot",
"path": "Slot",
"short": "A slot of time on a schedule that may be available for booking appointments",
"definition": "A slot of time on a schedule that may be available for booking appointments.",
"min": 0,
"max": "*",
"base": {
"path": "Slot",
"min": 0,
"max": "*"
},
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "ical",
"map": "(refer to the Availability resource for the header mapping details)"
}
]
},
{
"id": "Slot.id",
"path": "Slot.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Slot.meta",
"path": "Slot.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "Slot.implicitRules",
"path": "Slot.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "Slot.language",
"path": "Slot.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "Slot.text",
"path": "Slot.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "Slot.contained",
"path": "Slot.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Slot.extension",
"path": "Slot.extension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"ordered": false,
"rules": "open"
},
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Slot.extension:deliveryChannel",
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "normative"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
"valueCode": "4.0.0"
}
],
"path": "Slot.extension",
"sliceName": "deliveryChannel",
"short": "This describes the delivery channel of a scheduled appointment.",
"definition": "An extension to record the delivery channel of a scheduled Appointment.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension",
"profile": [
"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel"
]
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
},
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Slot.modifierExtension",
"path": "Slot.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Slot.identifier",
"path": "Slot.identifier",
"short": "External Ids for this item",
"definition": "External Ids for this item.",
"min": 0,
"max": "*",
"base": {
"path": "Slot.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
}
]
},
{
"id": "Slot.serviceCategory",
"path": "Slot.serviceCategory",
"short": "A broad categorization of the service that is to be performed during this appointment",
"definition": "A broad categorization of the service that is to be performed during this appointment.",
"min": 0,
"max": "*",
"base": {
"path": "Slot.serviceCategory",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "service-category"
}
],
"strength": "example",
"valueSet": "http://hl7.org/fhir/ValueSet/service-category"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
}
]
},
{
"id": "Slot.serviceType",
"path": "Slot.serviceType",
"short": "The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource",
"definition": "The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource.",
"min": 0,
"max": "*",
"base": {
"path": "Slot.serviceType",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "service-type"
}
],
"strength": "example",
"valueSet": "http://hl7.org/fhir/ValueSet/service-type"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
}
]
},
{
"id": "Slot.specialty",
"path": "Slot.specialty",
"short": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
"definition": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
"min": 0,
"max": "*",
"base": {
"path": "Slot.specialty",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "specialty"
}
],
"strength": "extensible",
"description": "Additional details about where the content was created (e.g. clinical specialty).",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
}
]
},
{
"id": "Slot.appointmentType",
"path": "Slot.appointmentType",
"short": "The style of appointment or patient that may be booked in the slot.",
"definition": "The style of appointment or patient that may be booked in the slot (not service type).",
"min": 0,
"max": "1",
"base": {
"path": "Slot.appointmentType",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "appointment-type"
}
],
"strength": "preferred",
"valueSet": "http://terminology.hl7.org/ValueSet/v2-0276"
},
"mapping": [
{
"identity": "w5",
"map": "FiveWs.class"
}
]
},
{
"id": "Slot.schedule",
"path": "Slot.schedule",
"short": "A reference to the Schedule that this Slot is an interval of.",
"definition": "The schedule resource that this slot defines an interval of status information.",
"min": 1,
"max": "1",
"base": {
"path": "Slot.schedule",
"min": 1,
"max": "1"
},
"type": [
{
"code": "Reference",
"http://hl7.org/fhir/StructureDefinition/Schedule"
]
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true
},
{
"id": "Slot.status",
"path": "Slot.status",
"short": "The status of the slot, e.g free, busy, etc.",
"definition": "busy | free | busy-unavailable | busy-tentative | entered-in-error.",
"min": 1,
"max": "1",
"base": {
"path": "Slot.status",
"min": 1,
"max": "1"
},
"type": [
{
"code": "code"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "SlotStatus"
}
],
"strength": "required",
"description": "The free/busy status of the slot.",
"valueSet": "http://hl7.org/fhir/ValueSet/slotstatus|4.0.1"
},
"mapping": [
{
"identity": "ical",
"map": "FREEBUSY;FBTYPE=(freeBusyType):19980314T233000Z/19980315T003000Z If the freeBusyType is BUSY, then this value can be excluded"
}
]
},
{
"id": "Slot.start",
"path": "Slot.start",
"short": "Date/Time that the slot is to begin.",
"definition": "Date/Time that the slot is to begin.",
"min": 1,
"max": "1",
"base": {
"path": "Slot.start",
"min": 1,
"max": "1"
},
"type": [
{
"code": "instant"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.planned"
},
{
"identity": "ical",
"map": "FREEBUSY;FBTYPE=FREE:(start)/19980315T003000Z If the freeBusyType is BUSY, then this value can be excluded"
}
]
},
{
"id": "Slot.end",
"path": "Slot.end",
"short": "Date/Time that the slot is to conclude.",
"definition": "Date/Time that the slot is to conclude.",
"min": 1,
"max": "1",
"base": {
"path": "Slot.end",
"min": 1,
"max": "1"
},
"type": [
{
"code": "instant"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"mustSupport": true,
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.planned"
},
{
"identity": "ical",
"map": "FREEBUSY:19980314T233000Z/(end) If the freeBusyType is BUSY, then this value can be excluded (as shown)"
}
]
},
{
"id": "Slot.overbooked",
"path": "Slot.overbooked",
"short": "This slot has already been overbooked, appointments are unlikely to be accepted for this time",
"definition": "This slot has already been overbooked, appointments are unlikely to be accepted for this time.",
"min": 0,
"max": "1",
"base": {
"path": "Slot.overbooked",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"meaningWhenMissing": "If overbooked is missing, systems may assume that there are still appointments available",
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Slot.comment",
"path": "Slot.comment",
"short": "Comments on the slot to describe any extended information. Such as custom constraints on the slot",
"definition": "Comments on the slot to describe any extended information. Such as custom constraints on the slot.",
"min": 0,
"max": "1",
"base": {
"path": "Slot.comment",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false
}
]
},
"element": [
{
"id": "Slot.extension:deliveryChannel",
"path": "Slot.extension",
"sliceName": "deliveryChannel",
"short": "This describes the delivery channel of a scheduled appointment.",
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel"
]
}
],
"isModifier": false
},
{
"id": "Slot.specialty",
"path": "Slot.specialty",
"short": "The specialty of a practitioner that would be required to perform the service requested in this appointment.",
"mustSupport": true,
"binding": {
"strength": "extensible",
"valueSet": "https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode"
}
},
{
"id": "Slot.appointmentType",
"path": "Slot.appointmentType",
"short": "The style of appointment or patient that may be booked in the slot.",
"mustSupport": true
},
{
"id": "Slot.schedule",
"path": "Slot.schedule",
"short": "A reference to the Schedule that this Slot is an interval of.",
"mustSupport": true
},
{
"id": "Slot.status",
"path": "Slot.status",
"short": "The status of the slot, e.g free, busy, etc.",
"mustSupport": true
},
{
"id": "Slot.start",
"path": "Slot.start",
"short": "Date/Time that the slot is to begin.",
"mustSupport": true
},
{
"id": "Slot.end",
"path": "Slot.end",
"short": "Date/Time that the slot is to conclude.",
"mustSupport": true
}
]
}
}

Examples

An example to illustrate a free / available slot for a walk in vaccination

Example UKCore-Slot-AvailableWalkInVisit


StructureDefinition England-Practitioner

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionC0..*Extension
id0..1string
extensionC0..*Extension
systemΣ0..1uriFixed Value
versionΣ0..1string
codeΣ0..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
activeΣ0..1boolean
nameS Σ0..*HumanName
telecomS Σ0..*ContactPoint
addressΣ0..*Address
genderΣ0..1codeBinding
birthDateΣ0..1date
photo0..*Attachment
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifier0..*Identifier
code1..1CodeableConcept
period0..1Period
issuer0..1Reference(Organization)
communication0..*CodeableConceptBinding
Practitioner
ShortA person with a formal responsibility in the provisioning of healthcare or related services
Definition

A person who is directly or indirectly involved in the provisioning of healthcare.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • v2: PRD (as one example)
  • rim: Role
  • servd: Provider
Practitioner.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Practitioner.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Practitioner.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
Practitioner.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
Practitioner.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.identifier
ShortAn identifier that applies to this person in this role.
Definition

An identifier that applies to this person in this role.

Cardinality1..*
TypeIdentifier
Must SupportTrue
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

Slicing

Unordered, Closed, by system(Value)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: ./id
  • servd: ./Identifiers
Practitioner.identifier.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
Practitioner.identifier.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
Practitioner.identifier.system
ShortThe namespace for the identifier value
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Practitioner.identifier.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Practitioner.identifier.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Practitioner.identifier.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Practitioner.identifier:gmp-number
ShortAn identifier intended for computation
Definition

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Cardinality0..1
TypeEnglandIdentifierGeneralMedicalPractitionerCode
Must SupportTrue
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: ./id
  • servd: ./Identifiers
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
Practitioner.identifier:gmp-number.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier:gmp-number.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier:gmp-number.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
Practitioner.identifier:gmp-number.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
Practitioner.identifier:gmp-number.type.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier:gmp-number.type.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier:gmp-number.type.coding
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality1..1
TypeCoding
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Practitioner.identifier:gmp-number.type.coding.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier:gmp-number.type.coding.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier:gmp-number.type.coding.system
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality0..1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
http://terminology.hl7.org/CodeSystem/v2-0203
Mappings
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Practitioner.identifier:gmp-number.type.coding.version
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Practitioner.identifier:gmp-number.type.coding.code
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality0..1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
MD
Mappings
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Practitioner.identifier:gmp-number.type.coding.display
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Practitioner.identifier:gmp-number.type.coding.userSelected
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Practitioner.identifier:gmp-number.type.text
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Practitioner.identifier:gmp-number.system
ShortThe namespace for the identifier value
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
https://fhir.hl7.org.uk/Id/gmp-number
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Practitioner.identifier:gmp-number.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Practitioner.identifier:gmp-number.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Practitioner.identifier:gmp-number.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Practitioner.identifier:gmc-number
ShortAn identifier intended for computation
Definition

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Cardinality0..1
TypeEnglandIdentifierGeneralMedicalCouncilReferenceNumber
Must SupportTrue
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: ./id
  • servd: ./Identifiers
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
Practitioner.identifier:gmc-number.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier:gmc-number.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier:gmc-number.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
Practitioner.identifier:gmc-number.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
Practitioner.identifier:gmc-number.type.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier:gmc-number.type.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier:gmc-number.type.coding
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality1..1
TypeCoding
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Practitioner.identifier:gmc-number.type.coding.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier:gmc-number.type.coding.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier:gmc-number.type.coding.system
ShortIdentity of the terminology system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Cardinality0..1
Typeuri
SummaryTrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
http://terminology.hl7.org/CodeSystem/v2-0203
Mappings
  • v2: C*E.3
  • rim: ./codeSystem
  • orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
Practitioner.identifier:gmc-number.type.coding.version
ShortVersion of the system - if relevant
Definition

The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.

Cardinality0..1
Typestring
SummaryTrue
Comments

Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.7
  • rim: ./codeSystemVersion
  • orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
Practitioner.identifier:gmc-number.type.coding.code
ShortSymbol in syntax defined by the system
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

Cardinality0..1
Typecode
SummaryTrue
Requirements

Need to refer to a particular code in the system.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
MD
Mappings
  • v2: C*E.1
  • rim: ./code
  • orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
Practitioner.identifier:gmc-number.type.coding.display
ShortRepresentation defined by the system
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Cardinality0..1
Typestring
SummaryTrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.2 - but note this is not well followed
  • rim: CV.displayName
  • orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
Practitioner.identifier:gmc-number.type.coding.userSelected
ShortIf this coding was chosen directly by the user
Definition

Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.

Comments

Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: Sometimes implied by being first
  • rim: CD.codingRationale
  • orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
Practitioner.identifier:gmc-number.type.text
ShortPlain text representation of the concept
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Cardinality0..1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Practitioner.identifier:gmc-number.system
ShortThe namespace for the identifier value
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
https://fhir.hl7.org.uk/Id/gmc-number
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Practitioner.identifier:gmc-number.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Practitioner.identifier:gmc-number.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Practitioner.identifier:gmc-number.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Practitioner.identifier:sds-user-id
ShortAn identifier intended for computation
Definition

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Cardinality0..1
TypeEnglandIdentifierSDSUserId
Must SupportTrue
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: ./id
  • servd: ./Identifiers
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
Practitioner.identifier:sds-user-id.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.identifier:sds-user-id.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.identifier:sds-user-id.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
Practitioner.identifier:sds-user-id.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
Practitioner.identifier:sds-user-id.system
ShortThe namespace for the identifier value
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Fixed Value
https://fhir.nhs.uk/Id/sds-user-id
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Practitioner.identifier:sds-user-id.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Practitioner.identifier:sds-user-id.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Practitioner.identifier:sds-user-id.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Practitioner.active
ShortWhether this practitioner's record is in active use
Definition

Whether this practitioner's record is in active use.

Cardinality0..1
Typeboolean
SummaryTrue
Requirements

Need to be able to mark a practitioner record as not to be used because it was created in error.

Comments

If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • rim: ./statusCode
Practitioner.name
ShortThe name(s) associated with the practitioner.
Definition

The name(s) associated with the practitioner.

Cardinality0..*
TypeHumanName
Must SupportTrue
SummaryTrue
Requirements

The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display.

Comments

The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.

In general, select the value to be used in the ResourceReference.display based on this:

  1. There is more than 1 name
  2. Use = usual
  3. Period is current to the date of the usage
  4. Use = official
  5. Other order as decided by internal business rules.
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: XCN Components
  • rim: ./name
  • servd: ./PreferredName (GivenNames, FamilyName, TitleCode)
Practitioner.telecom
ShortA contact detail for the practitioner (that apply to all roles).
Definition

A contact detail for the practitioner, e.g. a telephone number or an email address.

Cardinality0..*
TypeContactPoint
Must SupportTrue
SummaryTrue
Requirements

Need to know how to reach a practitioner independent to any roles the practitioner may have.

Comments

Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRT-15, STF-10, ROL-12
  • rim: ./telecom
  • servd: ./ContactPoints
Practitioner.address
ShortAddress(es) of the practitioner that are not role specific (typically home address)
Definition

Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent.

Cardinality0..*
TypeAddress
SummaryTrue
Requirements

The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations.

Comments

The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: ORC-24, STF-11, ROL-11, PRT-14
  • rim: ./addr
  • servd: ./Addresses
Practitioner.gender
Shortmale | female | other | unknown
Definition

Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.

Cardinality0..1
Typecode
Binding

The gender of a person used for administrative purposes.

AdministrativeGender (required)

SummaryTrue
Requirements

Needed to address the person correctly.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: STF-5
  • rim: ./administrativeGender
  • servd: ./GenderCode
Practitioner.birthDate
ShortThe date on which the practitioner was born
Definition

The date of birth for the practitioner.

Cardinality0..1
Typedate
SummaryTrue
Requirements

Needed for identification.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: STF-6
  • rim: ./birthTime
  • servd: (not represented in ServD)
Practitioner.photo
ShortImage of the person
Definition

Image of the person.

Cardinality0..*
TypeAttachment
Requirements

Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: ./subjectOf/ObservationEvent[code="photo"]/value
  • servd: ./ImageURI (only supports the URI reference)
Practitioner.qualification
ShortCertification, licenses, or training pertaining to the provision of care
Definition

The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CER?
  • rim: .playingEntity.playingRole[classCode=QUAL].code
  • servd: ./Qualifications
Practitioner.qualification.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
Practitioner.qualification.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
Practitioner.qualification.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
Practitioner.qualification.identifier
ShortAn identifier for this qualification for the practitioner
Definition

An identifier that applies to this person's qualification in this role.

Cardinality0..*
TypeIdentifier
Requirements

Often, specific identities are assigned for the qualification.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].id
Practitioner.qualification.code
ShortCoded representation of the qualification
Definition

Coded representation of the qualification.

Cardinality1..1
TypeCodeableConcept
Binding

Specific qualification the practitioner has to provide a service.

v2.0360.2.7 (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].code
  • servd: ./Qualifications.Value
Practitioner.qualification.period
ShortPeriod during which the qualification is valid
Definition

Period during which the qualification is valid.

Cardinality0..1
TypePeriod
Requirements

Qualifications are often for a limited period of time, and can be revoked.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].effectiveTime
  • servd: ./Qualifications.StartDate and ./Qualifications.EndDate
Practitioner.qualification.issuer
ShortOrganization that regulates and issues the qualification
Definition

Organization that regulates and issues the qualification.

Cardinality0..1
TypeReference(Organization)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .playingEntity.playingRole[classCode=QUAL].scoper
Practitioner.communication
ShortA language the practitioner can use in patient communication
Definition

A language the practitioner can use in patient communication.

Cardinality0..*
TypeCodeableConcept
Binding

A ValueSet that identifies the language used by a person.

AllLanguages (required)

Binding extensions
maxValueSetAllLanguages
Requirements

Knowing which language a practitioner speaks can help in facilitating communication with patients.

Comments

The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PID-15, NK1-20, LAN-2
  • rim: ./languageCommunication
  • servd: ./Languages.LanguageSpokenCode
Practitioner..
Practitioner.identifier1..
Practitioner.identifier.system1..
Practitioner.identifier.value1..
Practitioner.identifier:gmp-numberEnglandIdentifierGeneralMedicalPractitionerCode0..1
Practitioner.identifier:gmp-number.system..
Practitioner.identifier:gmc-numberEnglandIdentifierGeneralMedicalCouncilReferenceNumber0..1
Practitioner.identifier:gmc-number.system..
Practitioner.identifier:sds-user-idEnglandIdentifierSDSUserId0..1
Practitioner.identifier:sds-user-id.system..

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="England-Practitioner" />
<url value="https://fhir.nhs.uk/England/StructureDefinition/England-Practitioner" />
<version value="0.0.1-current" />
<name value="EnglandPractitioner" />
<title value="England Practitioner" />
<status value="draft" />
<date value="2024-10-25T07:31:19+00:00" />
<publisher value="NHS England" />
<name value="NHS England" />
<system value="email" />
<value value="interoperabilityteam@nhs.net" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="Based on requirments from the previous NHS Digital IG and NHS Data Dictionary" />
<purpose value="Documentation of requirements for NHS England Healthcare Worker API" />
<copyright value="Copyright © 2023+ NHS England Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="Practitioner" />
<baseDefinition value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner" />
<derivation value="constraint" />
<element id="Practitioner.identifier">
<path value="Practitioner.identifier" />
<type value="value" />
<path value="system" />
</discriminator>
<rules value="closed" />
</slicing>
<min value="1" />
</element>
<element id="Practitioner.identifier.system">
<path value="Practitioner.identifier.system" />
<min value="1" />
</element>
<element id="Practitioner.identifier.value">
<path value="Practitioner.identifier.value" />
<min value="1" />
</element>
<element id="Practitioner.identifier:gmp-number">
<path value="Practitioner.identifier" />
<sliceName value="gmp-number" />
<min value="0" />
<max value="1" />
<code value="Identifier" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Practitioner-Code" />
</type>
</element>
<element id="Practitioner.identifier:gmp-number.system">
<path value="Practitioner.identifier.system" />
<fixedUri value="https://fhir.hl7.org.uk/Id/gmp-number" />
</element>
<element id="Practitioner.identifier:gmc-number">
<path value="Practitioner.identifier" />
<sliceName value="gmc-number" />
<min value="0" />
<max value="1" />
<code value="Identifier" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Council-Reference-Number" />
</type>
</element>
<element id="Practitioner.identifier:gmc-number.system">
<path value="Practitioner.identifier.system" />
<fixedUri value="https://fhir.hl7.org.uk/Id/gmc-number" />
</element>
<element id="Practitioner.identifier:sds-user-id">
<path value="Practitioner.identifier" />
<sliceName value="sds-user-id" />
<min value="0" />
<max value="1" />
<code value="Identifier" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-SDS-User-Id" />
</type>
</element>
<element id="Practitioner.identifier:sds-user-id.system">
<path value="Practitioner.identifier.system" />
<fixedUri value="https://fhir.nhs.uk/Id/sds-user-id" />
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "England-Practitioner",
"url": "https://fhir.nhs.uk/England/StructureDefinition/England-Practitioner",
"version": "0.0.1-current",
"name": "EnglandPractitioner",
"title": "England Practitioner",
"status": "draft",
"date": "2024-10-25T07:31:19+00:00",
"publisher": "NHS England",
"contact": [
{
"name": "NHS England",
"telecom": [
{
"system": "email",
"value": "interoperabilityteam@nhs.net",
"use": "work",
"rank": 1
}
]
}
],
"description": "Based on requirments from the previous NHS Digital IG and NHS Data Dictionary",
"purpose": "Documentation of requirements for NHS England Healthcare Worker API",
"copyright": "Copyright © 2023+ NHS England Licensed under the Apache License, Version 2.0 (the \\&quot;License\\&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \\&quot;AS IS\\&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "Practitioner",
"baseDefinition": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner",
"derivation": "constraint",
"element": [
{
"id": "Practitioner.identifier",
"path": "Practitioner.identifier",
"slicing": {
{
"type": "value",
"path": "system"
}
],
"rules": "closed"
},
"min": 1
},
{
"id": "Practitioner.identifier.system",
"path": "Practitioner.identifier.system",
"min": 1
},
{
"id": "Practitioner.identifier.value",
"path": "Practitioner.identifier.value",
"min": 1
},
{
"id": "Practitioner.identifier:gmp-number",
"path": "Practitioner.identifier",
"sliceName": "gmp-number",
"min": 0,
"max": "1",
"type": [
{
"code": "Identifier",
"profile": [
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Practitioner-Code"
]
}
]
},
{
"id": "Practitioner.identifier:gmp-number.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/gmp-number"
},
{
"id": "Practitioner.identifier:gmc-number",
"path": "Practitioner.identifier",
"sliceName": "gmc-number",
"min": 0,
"max": "1",
"type": [
{
"code": "Identifier",
"profile": [
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Council-Reference-Number"
]
}
]
},
{
"id": "Practitioner.identifier:gmc-number.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.hl7.org.uk/Id/gmc-number"
},
{
"id": "Practitioner.identifier:sds-user-id",
"path": "Practitioner.identifier",
"sliceName": "sds-user-id",
"min": 0,
"max": "1",
"type": [
{
"code": "Identifier",
"profile": [
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-SDS-User-Id"
]
}
]
},
{
"id": "Practitioner.identifier:sds-user-id.system",
"path": "Practitioner.identifier.system",
"fixedUri": "https://fhir.nhs.uk/Id/sds-user-id"
}
]
}
}

StructureDefinition England-PractitionerRole-Healthcare-Worker

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
id0..1string
extensionC0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
sds-user-profile-idΣ1..1EnglandIdentifierSDSUserProfileId
activeS Σ0..1boolean
id0..1string
extensionC0..*Extension
startS Σ C0..1dateTime
endS Σ C0..1dateTime
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ0..1EnglandIdentifierGeneralMedicalPractitionerCode, EnglandIdentifierGeneralMedicalCouncilReferenceNumber, EnglandIdentifierSDSUserId
displayΣ0..1string
id0..1string
extensionC0..*Extension
referenceΣ C0..1string
typeΣ0..1uriBinding
identifierΣ1..1EnglandIdentifierOrganisationCode
displayΣ0..1string
codeΣ0..*CodeableConceptBinding
specialtyS Σ0..*CodeableConceptBinding
locationS Σ0..*Reference(Location)
healthcareService0..*Reference(HealthcareService)
telecomS Σ0..*ContactPoint
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
description1..1string
during0..1Period
availabilityExceptions0..1string
endpoint0..*Reference(Endpoint)
PractitionerRole
ShortRoles/organizations the practitioner is associated with
Definition

A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.

Cardinality0..*
Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • v2: PRD (as one example)
  • rim: Role
  • servd: ServiceSiteProvider
PractitionerRole.id
ShortLogical id of this artifact
Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Cardinality0..1
Typestring
SummaryTrue
Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

PractitionerRole.meta
ShortMetadata about the resource
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
PractitionerRole.implicitRules
ShortA set of rules under which this content was created
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Cardinality0..1
Typeuri
ModifierTrue
SummaryTrue
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
PractitionerRole.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
PractitionerRole.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Cardinality0..1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
PractitionerRole.contained
ShortContained, inline Resources
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Cardinality0..*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Mappings
  • rim: N/A
PractitionerRole.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
PractitionerRole.modifierExtension
ShortExtensions that cannot be ignored
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
Aliasextensions, user content
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
PractitionerRole.identifier
ShortBusiness Identifiers that are specific to a role/location
Definition

Business Identifiers that are specific to a role/location.

Cardinality1..*
TypeIdentifier
Must SupportTrue
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

Slicing

Unordered, Closed, by system(Pattern)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: .id
  • servd: ./Identifiers
PractitionerRole.identifier.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
PractitionerRole.identifier.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
PractitionerRole.identifier.use
Shortusual | official | temp | secondary | old (If known)
Definition

The purpose of this identifier.

Cardinality0..1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
PractitionerRole.identifier.type
ShortDescription of identifier
Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Cardinality0..1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
PractitionerRole.identifier.system
ShortThe namespace for the identifier value
Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Cardinality1..1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
http://www.acme.com/identifiers/patient
Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
PractitionerRole.identifier.value
ShortThe value that is unique
Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Cardinality1..1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
ExamplesGeneral
123456
Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
PractitionerRole.identifier.period
ShortTime period when id is/was valid for use
Definition

Time period during which identifier is/was valid for use.

Cardinality0..1
TypePeriod
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
PractitionerRole.identifier.assigner
ShortOrganization that issued id (may be just text)
Definition

Organization that issued/manages the identifier.

Cardinality0..1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
PractitionerRole.identifier:sds-user-profile-id
ShortAn identifier intended for computation
Definition

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Cardinality1..1
TypeEnglandIdentifierSDSUserProfileId
SummaryTrue
Requirements

Often, specific identities are assigned for the agent.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: .id
  • servd: ./Identifiers
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
PractitionerRole.active
ShortWhether this practitioner role record is in active use.
Definition

Whether this practitioner role record is in active use.

Cardinality0..1
Typeboolean
Must SupportTrue
SummaryTrue
Requirements

Need to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use.

Comments

If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • v2: STF-7
  • rim: .statusCode
PractitionerRole.period
ShortThe period during which the practitioner is authorized to perform in these role(s).
Definition

The period during which the person is authorized to act as a practitioner in these role(s) for the organization.

Cardinality0..1
TypePeriod
Must SupportTrue
SummaryTrue
Requirements

Even after the agencies is revoked, the fact that it existed must still be recorded.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.done[x]
  • v2: PRD-8/9 / PRA-5.4
  • rim: .performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
PractitionerRole.period.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
PractitionerRole.period.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
PractitionerRole.period.start
ShortStarting time with inclusive boundary
Definition

The start of the period. The boundary is inclusive.

Cardinality0..1
TypedateTime
Must SupportTrue
SummaryTrue
Comments

If the low element is missing, the meaning is that the low boundary is not known.

ConditionsThe cardinality or value of this element may be affected by these constraints: per-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: DR.1
  • rim: ./low
PractitionerRole.period.end
ShortEnd time with inclusive boundary, if not ongoing
Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Cardinality0..1
TypedateTime
Must SupportTrue
SummaryTrue
Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

ConditionsThe cardinality or value of this element may be affected by these constraints: per-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: DR.2
  • rim: ./high
PractitionerRole.practitioner
ShortPractitioner that is able to provide the defined services for the organization.
Definition

Practitioner that is able to provide the defined services for the organization.

Cardinality0..1
TypeReference(Practitioner)
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .player
PractitionerRole.practitioner.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
PractitionerRole.practitioner.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
PractitionerRole.practitioner.reference
ShortLiteral reference, Relative, internal or absolute URL
Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Cardinality0..1
Typestring
SummaryTrue
Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

ConditionsThe cardinality or value of this element may be affected by these constraints: ref-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
PractitionerRole.practitioner.type
ShortType the reference refers to (e.g. "Patient")
Definition

The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.

The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).

Cardinality0..1
Typeuri
Binding

Aa resource (or, for logical models, the URI of the logical model).

ResourceType (extensible)

SummaryTrue
Comments

This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
PractitionerRole.practitioner.identifier
ShortLogical reference, when literal reference is not known
Definition

An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Cardinality0..1
TypeEnglandIdentifierGeneralMedicalPractitionerCode, EnglandIdentifierGeneralMedicalCouncilReferenceNumber, EnglandIdentifierSDSUserId
SummaryTrue
Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .identifier
PractitionerRole.practitioner.display
ShortText alternative for the resource
Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Cardinality0..1
Typestring
SummaryTrue
Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
PractitionerRole.organization
ShortOrganization where the roles are available.
Definition

The organization where the Practitioner performs the roles associated.

Cardinality0..1
TypeReference(Organization)
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .scoper
PractitionerRole.organization.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
PractitionerRole.organization.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
PractitionerRole.organization.reference
ShortLiteral reference, Relative, internal or absolute URL
Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Cardinality0..1
Typestring
SummaryTrue
Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

ConditionsThe cardinality or value of this element may be affected by these constraints: ref-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
PractitionerRole.organization.type
ShortType the reference refers to (e.g. "Patient")
Definition

The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.

The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).

Cardinality0..1
Typeuri
Binding

Aa resource (or, for logical models, the URI of the logical model).

ResourceType (extensible)

SummaryTrue
Comments

This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
PractitionerRole.organization.identifier
ShortAn identifier intended for computation
Definition

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Cardinality1..1
TypeEnglandIdentifierOrganisationCode
SummaryTrue
Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .identifier
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
PractitionerRole.organization.display
ShortText alternative for the resource
Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Cardinality0..1
Typestring
SummaryTrue
Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
PractitionerRole.code
ShortRoles which this practitioner may perform
Definition

Roles which this practitioner is authorized to perform for the organization.

Cardinality0..*
TypeCodeableConcept
Binding

The role a person plays representing an organization.

EnglandJobRoleCode (required)

SummaryTrue
Requirements

Need to know what authority the practitioner has - what can they do?

Comments

A person may have more than one role.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17
  • rim: .code
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
PractitionerRole.specialty
ShortSpecific specialty of the practitioner.
Definition

Specific specialty of the practitioner.

Cardinality0..*
TypeCodeableConcept
Binding

Specific specialty associated with the agency.

UKCorePracticeSettingCode (extensible)

Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRA-5
  • rim: .player.HealthCareProvider[@classCode = 'PROV'].code
  • servd: ./Specialty
PractitionerRole.location
ShortThe location(s) at which this practitioner provides care.
Definition

The location(s) at which this practitioner provides care.

Cardinality0..*
TypeReference(Location)
Must SupportTrue
SummaryTrue
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.where[x]
  • rim: .performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)
PractitionerRole.healthcareService
ShortThe list of healthcare services that this worker provides for this role's Organization/Location(s)
Definition

The list of healthcare services that this worker provides for this role's Organization/Location(s).

Cardinality0..*
TypeReference(HealthcareService)
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: EDU-2 / AFF-3
  • rim: .player.QualifiedEntity[@classCode = 'QUAL'].code
PractitionerRole.telecom
ShortContact details that are specific to the role/location/service.
Definition

Contact details that are specific to the role/location/service.

Cardinality0..*
TypeContactPoint
Must SupportTrue
SummaryTrue
Requirements

Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .telecom
PractitionerRole.availableTime
ShortTimes the Service Site is available
Definition

A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.

Cardinality0..*
TypeBackboneElement
Comments

More detailed availability information may be provided in associated Schedule/Slot resources.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.availableTime.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
PractitionerRole.availableTime.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
PractitionerRole.availableTime.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
PractitionerRole.availableTime.daysOfWeek
Shortmon | tue | wed | thu | fri | sat | sun
Definition

Indicates which days of the week are available between the start and end Times.

Cardinality0..*
Typecode
Binding

The days of the week.

DaysOfWeek (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.availableTime.allDay
ShortAlways available? e.g. 24 hour service
Definition

Is this always available? (hence times are irrelevant) e.g. 24 hour service.

Cardinality0..1
Typeboolean
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.availableTime.availableStartTime
ShortOpening time of day (ignored if allDay = true)
Definition

The opening time of day. Note: If the AllDay flag is set, then this time is ignored.

Cardinality0..1
Typetime
Comments

The timezone is expected to be for where this HealthcareService is provided at.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.availableTime.availableEndTime
ShortClosing time of day (ignored if allDay = true)
Definition

The closing time of day. Note: If the AllDay flag is set, then this time is ignored.

Cardinality0..1
Typetime
Comments

The timezone is expected to be for where this HealthcareService is provided at.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.notAvailable
ShortNot available during this time due to provided reason
Definition

The practitioner is not available or performing this role during this period of time due to the provided reason.

Cardinality0..*
TypeBackboneElement
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.notAvailable.id
ShortUnique id for inter-element referencing
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Cardinality0..1
Typestring
Mappings
  • rim: n/a
PractitionerRole.notAvailable.extension
ShortAdditional content defined by implementations
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Cardinality0..*
TypeExtension
Aliasextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
PractitionerRole.notAvailable.modifierExtension
ShortExtensions that cannot be ignored even if unrecognized
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
PractitionerRole.notAvailable.description
ShortReason presented to the user explaining why time not available
Definition

The reason that can be presented to the user as to why this time is not available.

Cardinality1..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
PractitionerRole.notAvailable.during
ShortService not available from this date
Definition

Service is not available (seasonally or for a public holiday) from this date.

Cardinality0..1
TypePeriod
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.availabilityExceptions
ShortDescription of availability exceptions
Definition

A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.

Cardinality0..1
Typestring
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
PractitionerRole.endpoint
ShortTechnical endpoints providing access to services operated for the practitioner with this role
Definition

Technical endpoints providing access to services operated for the practitioner with this role.

Cardinality0..*
TypeReference(Endpoint)
Requirements

Organizations have multiple systems that provide various services and ,ay also be different for practitioners too.

So the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose.

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
PractitionerRole..
PractitionerRole.identifier1..
PractitionerRole.identifier.system1..
PractitionerRole.identifier.value1..
PractitionerRole.identifier:sds-user-profile-idEnglandIdentifierSDSUserProfileId1..1
PractitionerRole.period..
PractitionerRole.period.start..
PractitionerRole.period.end..
PractitionerRole.practitioner..
PractitionerRole.practitioner.identifierEnglandIdentifierGeneralMedicalPractitionerCode, EnglandIdentifierGeneralMedicalCouncilReferenceNumber, EnglandIdentifierSDSUserId0..
PractitionerRole.organization..
PractitionerRole.organization.identifierEnglandIdentifierOrganisationCode1..
PractitionerRole.code..

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="England-PractitionerRole-Healthcare-Worker" />
<url value="https://fhir.nhs.uk/England/StructureDefinition/England-PractitionerRole-Healthcare-Worker" />
<version value="0.0.1-current" />
<name value="EnglandPractitionerRoleHealthcareWorker" />
<title value="England Practitioner Role Healthcare Worker" />
<status value="draft" />
<date value="2024-10-25T07:31:19+00:00" />
<publisher value="NHS England" />
<name value="NHS England" />
<system value="email" />
<value value="interoperabilityteam@nhs.net" />
<use value="work" />
<rank value="1" />
</telecom>
</contact>
<description value="Based on requirments from the previous NHS Digital IG and NHS Data Dictionary" />
<purpose value="Documentation of requirements for NHS England Healthcare Worker API" />
<copyright value="Copyright © 2023+ NHS England Licensed under the Apache License, Version 2.0 (the \&quot;License\&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \&quot;AS IS\&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="PractitionerRole" />
<baseDefinition value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole" />
<derivation value="constraint" />
<element id="PractitionerRole">
<path value="PractitionerRole" />
</element>
<element id="PractitionerRole.identifier">
<path value="PractitionerRole.identifier" />
<type value="pattern" />
<path value="system" />
</discriminator>
<rules value="closed" />
</slicing>
<min value="1" />
<mustSupport value="true" />
</element>
<element id="PractitionerRole.identifier.system">
<path value="PractitionerRole.identifier.system" />
<min value="1" />
</element>
<element id="PractitionerRole.identifier.value">
<path value="PractitionerRole.identifier.value" />
<min value="1" />
</element>
<element id="PractitionerRole.identifier:sds-user-profile-id">
<path value="PractitionerRole.identifier" />
<sliceName value="sds-user-profile-id" />
<min value="1" />
<max value="1" />
<code value="Identifier" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-SDS-User-Profile-Id" />
</type>
</element>
<element id="PractitionerRole.period.start">
<path value="PractitionerRole.period.start" />
<mustSupport value="true" />
</element>
<element id="PractitionerRole.period.end">
<path value="PractitionerRole.period.end" />
<mustSupport value="true" />
</element>
<element id="PractitionerRole.practitioner.identifier">
<path value="PractitionerRole.practitioner.identifier" />
<min value="0" />
<code value="Identifier" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Practitioner-Code" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Council-Reference-Number" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-SDS-User-Id" />
</type>
</element>
<element id="PractitionerRole.organization.identifier">
<path value="PractitionerRole.organization.identifier" />
<min value="1" />
<code value="Identifier" />
<profile value="https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-Organisation-Code" />
</type>
</element>
<element id="PractitionerRole.code">
<path value="PractitionerRole.code" />
<strength value="required" />
<valueSet value="https://fhir.nhs.uk/England/ValueSet/England-JobRoleCode" />
</binding>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "England-PractitionerRole-Healthcare-Worker",
"url": "https://fhir.nhs.uk/England/StructureDefinition/England-PractitionerRole-Healthcare-Worker",
"version": "0.0.1-current",
"name": "EnglandPractitionerRoleHealthcareWorker",
"title": "England Practitioner Role Healthcare Worker",
"status": "draft",
"date": "2024-10-25T07:31:19+00:00",
"publisher": "NHS England",
"contact": [
{
"name": "NHS England",
"telecom": [
{
"system": "email",
"value": "interoperabilityteam@nhs.net",
"use": "work",
"rank": 1
}
]
}
],
"description": "Based on requirments from the previous NHS Digital IG and NHS Data Dictionary",
"purpose": "Documentation of requirements for NHS England Healthcare Worker API",
"copyright": "Copyright © 2023+ NHS England Licensed under the Apache License, Version 2.0 (the \\&quot;License\\&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \\&quot;AS IS\\&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "PractitionerRole",
"baseDefinition": "https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole",
"derivation": "constraint",
"element": [
{
"id": "PractitionerRole",
"path": "PractitionerRole"
},
{
"id": "PractitionerRole.identifier",
"path": "PractitionerRole.identifier",
"slicing": {
{
"type": "pattern",
"path": "system"
}
],
"rules": "closed"
},
"min": 1,
"mustSupport": true
},
{
"id": "PractitionerRole.identifier.system",
"path": "PractitionerRole.identifier.system",
"min": 1
},
{
"id": "PractitionerRole.identifier.value",
"path": "PractitionerRole.identifier.value",
"min": 1
},
{
"id": "PractitionerRole.identifier:sds-user-profile-id",
"path": "PractitionerRole.identifier",
"sliceName": "sds-user-profile-id",
"min": 1,
"max": "1",
"type": [
{
"code": "Identifier",
"profile": [
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-SDS-User-Profile-Id"
]
}
]
},
{
"id": "PractitionerRole.period.start",
"path": "PractitionerRole.period.start",
"mustSupport": true
},
{
"id": "PractitionerRole.period.end",
"path": "PractitionerRole.period.end",
"mustSupport": true
},
{
"id": "PractitionerRole.practitioner.identifier",
"path": "PractitionerRole.practitioner.identifier",
"min": 0,
"type": [
{
"code": "Identifier",
"profile": [
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Practitioner-Code",
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-General-Medical-Council-Reference-Number",
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-SDS-User-Id"
]
}
]
},
{
"id": "PractitionerRole.organization.identifier",
"path": "PractitionerRole.organization.identifier",
"min": 1,
"type": [
{
"code": "Identifier",
"profile": [
"https://fhir.nhs.uk/England/StructureDefinition/England-Identifier-Organisation-Code"
]
}
]
},
{
"id": "PractitionerRole.code",
"path": "PractitionerRole.code",
"binding": {
"strength": "required",
"valueSet": "https://fhir.nhs.uk/England/ValueSet/England-JobRoleCode"
}
}
]
}
}