Practitioner

Practitioner resource contains details of a person who is directly or indirectly involved in the provisioning of healthcare.

Currently this profile is for just an empty resource Practitioner resource which will only contain the FHIR ID (no other details)

Overview

The below overview shows the elements of the resource, data type and the cardinality of each. Further details like "Binding"/"Fixed values"/"contraints" etc can be found on clicking on each element.

Canonical URL - http://roche.com/fhir/rdc/StructureDefinition/practitioner

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
contained0..*Resource
extensionC0..*Extension
modifierExtension?! C0..*Extension
identifierΣ0..0Identifier
activeΣ0..0boolean
nameΣ0..0HumanName
telecomΣ C0..0ContactPoint
genderΣ0..0codeBinding
birthDateΣ0..0date
photoC0..0Attachment

Details

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..*
Comments

Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?

Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
    contained.text.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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
    contained.where(('#'+id in %resource.descendants().reference).not()).empty()
Mappings
  • rim: Entity. Role, or Act
  • v2: PRD (as one example)
  • rim: Role
  • servd: Provider
  • w5: administrative.individual
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
Typeid
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.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
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 may not always be associated with version changes to the resource.

Cardinality0..1
TypeMeta
SummaryTrue
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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
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.

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.

This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
Practitioner.language
ShortLanguage of the resource content
Definition

The base language in which the resource is written.

Cardinality0..1
Typecode
Binding

A human language.

Common Languages (extensible)

Binding extensions
maxValueSetAll Languages
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).

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() | (children().count() > id.count())
Mappings
  • rim: n/a
Practitioner.text
ShortText summary of the resource, for human interpretation
Definition

A human-readable narrative that contains a summary of the resource, and may 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 in formation is added later.

ConditionsThe cardinality or value of this element may be affected by these constraints: ele-1, dom-1
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() | (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • 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.

Mappings
  • rim: Entity. Role, or Act
  • 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. In order 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.

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

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() | (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
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. Usually modifier elements provide negation or qualification. In order 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.

Cardinality0..*
TypeExtension
ModifierTrue
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

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() | (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
Practitioner.identifier
ShortA identifier for the person as this agent
Definition

An identifier that applies to this person in this role.

Cardinality0..0
TypeIdentifier
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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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
  • v2: PRD-7 (or XCN.1)
  • rim: ./id
  • servd: ./Identifiers
  • w5: id
Practitioner.active
ShortWhether this practitioner's record is in active use
Definition

Whether this practitioner's record is in active use.

Cardinality0..0
Typeboolean
SummaryTrue
Requirements

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

Comments

Default is true.

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.

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() | (children().count() > id.count())
Default value
true
Mappings
  • rim: n/a
  • rim: ./statusCode
  • w5: status
Practitioner.name
ShortThe name(s) associated with the practitioner
Definition

The name(s) associated with the practitioner.

Cardinality0..0
TypeHumanName
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.
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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: XPN
  • rim: EN (actually, PN)
  • servd: ProviderName
  • 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..0
TypeContactPoint
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 also to help with identification

These typically will have home numbers, or mobile numbers that are not role specific.

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() | (children().count() > id.count())
  • cpt-2: A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim: n/a
  • v2: XTN
  • rim: TEL
  • servd: ContactPoint
  • 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..0
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).

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: XAD
  • rim: AD
  • servd: Address
  • v2: ORC-24, STF-11, ROL-11, PRT-14
  • rim: ./addr
  • servd: ./Addresses
Practitioner.address.id
Shortxml:id (or equivalent in JSON)
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
Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
Mappings
  • rim: n/a
Practitioner.address.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. In order 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.

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

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() | (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
Practitioner.address.use
Shorthome | work | temp | old - purpose of this address
Definition

The purpose of this address.

Cardinality0..1
Typecode
Binding

The use of an address

AddressUse (required)

ModifierTrue
SummaryTrue
Requirements

Allows an appropriate address to be chosen from a list of many.

Comments

This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.

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() | (children().count() > id.count())
Fixed Value
home
ExamplesGeneral
home
Mappings
  • rim: n/a
  • v2: XAD.7
  • rim: unique(./use)
  • servd: ./AddressPurpose
Practitioner.address.type
Shortpostal | physical | both
Definition

Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.

Cardinality0..0
Typecode
Binding

The type of an address (physical / postal)

AddressType (required)

SummaryTrue
Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
ExamplesGeneral
both
Mappings
  • rim: n/a
  • v2: XAD.18
  • rim: unique(./use)
  • vcard: address type parameter
Practitioner.address.text
ShortText representation of the address
Definition

A full text representation of the address.

Cardinality0..0
Typestring
SummaryTrue
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and parts.

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() | (children().count() > id.count())
ExamplesGeneral
137 Nowhere Street, Erewhon 9132
Mappings
  • rim: n/a
  • v2: XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6
  • rim: ./formatted
  • vcard: address label parameter
Practitioner.address.line
ShortStreet name, number, direction & P.O. Box etc.
Definition

This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.

Cardinality0..*
Typestring
SummaryTrue
Requirements

home | work | temp | old - purpose of this address.

Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
ExamplesGeneral
137 Nowhere Street
Mappings
  • rim: n/a
  • v2: XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)
  • rim: AD.part[parttype = AL]
  • vcard: street
  • servd: ./StreetAddress (newline delimitted)
Practitioner.address.city
ShortName of city, town etc.
Definition

The name of the city, town, village or other community or delivery center.

Cardinality0..1
Typestring
SummaryTrue
AliasMunicpality
Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
ExamplesGeneral
Erewhon
Mappings
  • rim: n/a
  • v2: XAD.3
  • rim: AD.part[parttype = CTY]
  • vcard: locality
  • servd: ./Jurisdiction
Practitioner.address.district
ShortDistrict name (aka county)
Definition

The name of the administrative area (county).

Cardinality0..1
Typestring
SummaryTrue
AliasCounty
Comments

District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

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() | (children().count() > id.count())
ExamplesGeneral
Madison
Mappings
  • rim: n/a
  • v2: XAD.9
  • rim: AD.part[parttype = CNT | CPA]
Practitioner.address.state
ShortSub-unit of country (abbreviations ok)
Definition

Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).

Cardinality0..1
Typestring
SummaryTrue
AliasProvince, Territory
Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: XAD.4
  • rim: AD.part[parttype = STA]
  • vcard: region
  • servd: ./Region
Practitioner.address.postalCode
ShortPostal code for area
Definition

A postal code designating a region defined by the postal service.

Cardinality0..1
Typestring
SummaryTrue
AliasZip
Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
ExamplesGeneral
9132
Mappings
  • rim: n/a
  • v2: XAD.5
  • rim: AD.part[parttype = ZIP]
  • vcard: code
  • servd: ./PostalIdentificationCode
Practitioner.address.country
ShortCountry (e.g. can be ISO 3166-1 Alpha2 letter code)
Definition

Country - a nation as commonly understood or generally accepted.

Cardinality1..1
Typestring
SummaryTrue
Comments

ISO 3166 2 letter codes can be used in place of a full country name.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: XAD.6
  • rim: AD.part[parttype = CNT]
  • vcard: country
  • servd: ./Country
  • Gigya: data.homeCountryCode
Practitioner.address.period
ShortTime period when address was/is in use
Definition

Time period when address was/is in use.

Cardinality0..0
TypePeriod
SummaryTrue
Requirements

Allows addresses to be placed in historical context.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

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() | (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
ExamplesGeneral
{
  "start": "2010-03-23",
  "end": "2010-07-01"
}
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: XAD.12 / XAD.13 + XAD.14
  • rim: ./usablePeriod[type="IVL<TS>"]
  • servd: ./StartDate and ./EndDate
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..0
Typecode
Binding

The gender of a person used for administrative purposes.

AdministrativeGender (required)

SummaryTrue
Requirements

Needed to address the person correctly.

Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: STF-5
  • rim: ./administrativeGender
  • servd: ./GenderCode
  • Gigya: profile.gender
Practitioner.birthDate
ShortThe date on which the practitioner was born
Definition

The date of birth for the practitioner.

Cardinality0..0
Typedate
SummaryTrue
Requirements

Needed for identification.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: STF-6
  • rim: ./birthTime
  • servd: (not represented in ServD)
  • Gigya: profile.birthYear + profile.birthMonth + profile.birthDay
Practitioner.photo
ShortImage of the person
Definition

Image of the person.

Cardinality0..0
TypeAttachment
Requirements

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

Comments

When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Attachment".

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() | (children().count() > id.count())
  • att-1: It the Attachment has data, it SHALL have a contentType
    data.empty() or contentType.exists()
Mappings
  • rim: n/a
  • v2: ED/RP
  • rim: ED
  • rim: ./subjectOf/ObservationEvent[code="photo"]/value
  • servd: ./ImageURI (only supports the URI reference)
Practitioner.qualification
ShortQualifications obtained by training and certification
Definition

Qualifications obtained by training and certification.

Cardinality0..0
TypeBackboneElement
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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CER?
  • rim: .playingEntity.playingRole[classCode=QUAL].code
  • servd: ./Qualifications
Practitioner.qualification.id
Shortxml:id (or equivalent in JSON)
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
Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
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. In order 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.

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

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() | (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
Practitioner.qualification.modifierExtension
ShortExtensions that cannot be ignored
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 that contains it. Usually modifier elements provide negation or qualification. In order 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.

Cardinality0..*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
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() | (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
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.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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
  • 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 table 0360, Version 2.7 (example)

Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • 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.

Comments

This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.

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() | (children().count() > id.count())
  • per-1: If present, start SHALL have a lower value than end
    start.empty() or end.empty() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • 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)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

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() | (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .playingEntity.playingRole[classCode=QUAL].scoper
Practitioner.communication
ShortA language the practitioner is able to use in patient communication
Definition

A language the practitioner is able to use in patient communication.

Cardinality0..0
TypeCodeableConcept
Binding

A human language.

Common Languages (extensible)

Binding extensions
maxValueSetAll Languages
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 actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PID-15, NK1-20, LAN-2
  • rim: ./languageCommunication
  • servd: ./Languages.LanguageSpokenCode
Practitioner.communication.id
Shortxml:id (or equivalent in JSON)
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
Comments

Note that FHIR strings may not exceed 1MB in size

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() | (children().count() > id.count())
Mappings
  • rim: n/a
Practitioner.communication.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. In order 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.

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

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() | (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
Practitioner.communication.coding
ShortCode defined by a terminology system
Definition

A reference to a code defined by a terminology system.

Cardinality0..*
TypeCoding
Binding

Common Languages (extensible)

SummaryTrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

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.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Practitioner.communication.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.

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() | (children().count() > id.count())
Mappings
  • rim: n/a
  • 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

Table

Practitioner0..*
Practitioner.idid0..1
Practitioner.metaMeta0..1
Practitioner.implicitRulesuri0..1
Practitioner.languagecode0..1
Practitioner.textNarrative0..1
Practitioner.containedResource0..*
Practitioner.extensionExtension0..*
Practitioner.modifierExtensionExtension0..*
Practitioner.identifierIdentifier0..0
Practitioner.activeboolean0..0
Practitioner.nameHumanName0..0
Practitioner.telecomContactPoint0..0
Practitioner.addressAddress0..0
Practitioner.address.idstring0..1
Practitioner.address.extensionExtension0..*
Practitioner.address.usecode0..1
Practitioner.address.typecode0..0
Practitioner.address.textstring0..0
Practitioner.address.linestring0..*
Practitioner.address.citystring0..1
Practitioner.address.districtstring0..1
Practitioner.address.statestring0..1
Practitioner.address.postalCodestring0..1
Practitioner.address.countrystring1..1
Practitioner.address.periodPeriod0..0
Practitioner.gendercode0..0
Practitioner.birthDatedate0..0
Practitioner.photoAttachment0..0
Practitioner.qualificationBackboneElement0..0
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..0
Practitioner.communication.idstring0..1
Practitioner.communication.extensionExtension0..*
Practitioner.communication.codingCoding0..*
Practitioner.communication.textstring0..1

XML

<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="858611fd-b78e-4588-a707-4908e3403c09" />
<versionId value="4" />
<lastUpdated value="2018-08-20T11:52:09.567+00:00" />
</meta>
<url value="http://roche.com/fhir/rdc/StructureDefinition/practitioner" />
<version value="1" />
<name value="practitioner" />
<status value="active" />
<date value="2018-08-20T11:52:08.925+00:00" />
<description value="This is an empty resource which will only contain the FHIR ID (no other details)" />
<fhirVersion value="3.0.2" />
<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." />
<comment value="Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?" />
<min value="0" />
<max value="*" />
<path value="Resource" />
<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)" />
</constraint>
<key value="dom-1" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain any narrative" />
<expression value="contained.text.empty()" />
<xpath value="not(parent::f:contained and f:text)" />
</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))" />
</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" />
<expression value="contained.where(('#'+id in %resource.descendants().reference).not()).empty()" />
<xpath value="not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))" />
</constraint>
<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>
<identity value="w5" />
<map value="administrative.individual" />
</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>
<code value="id" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</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 may 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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</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." />
<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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation." />
<min value="0" />
<max value="1" />
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<code value="uri" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isModifier value="true" />
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
</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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<reference value="http://hl7.org/fhir/ValueSet/all-languages" />
</valueReference>
</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="extensible" />
<description value="A human language." />
<reference value="http://hl7.org/fhir/ValueSet/languages" />
</valueSetReference>
</binding>
<identity value="rim" />
<map value="n/a" />
</mapping>
</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 may 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 in formation 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>
<condition value="ele-1" />
<condition value="dom-1" />
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
<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." />
<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>
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.extension">
<path value="Practitioner.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 resource. In order 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." />
<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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</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')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.modifierExtension">
<path value="Practitioner.modifierExtension" />
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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. Usually modifier elements provide negation or qualification. In order 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." />
<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.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</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')])" />
</constraint>
<isModifier value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.identifier">
<path value="Practitioner.identifier" />
<short value="A identifier for the person as this agent" />
<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="0" />
<path value="Practitioner.identifier" />
<min value="0" />
<max value="*" />
</base>
<code value="Identifier" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
</mapping>
<identity value="rim" />
<map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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]" />
</mapping>
<identity value="servd" />
<map value="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>
<identity value="w5" />
<map value="id" />
</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="Default is true. \n\nIf 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="0" />
<path value="Practitioner.active" />
<min value="0" />
<max value="1" />
</base>
<code value="boolean" />
</type>
<defaultValueBoolean value="true" />
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="./statusCode" />
</mapping>
<identity value="w5" />
<map value="status" />
</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="0" />
<path value="Practitioner.name" />
<min value="0" />
<max value="*" />
</base>
<code value="HumanName" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XPN" />
</mapping>
<identity value="rim" />
<map value="EN (actually, PN)" />
</mapping>
<identity value="servd" />
<map value="ProviderName" />
</mapping>
<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 also to help with identification\n\nThese 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="0" />
<path value="Practitioner.telecom" />
<min value="0" />
<max value="*" />
</base>
<code value="ContactPoint" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="cpt-2" />
<severity value="error" />
<human value="A system is required if a value is provided." />
<expression value="value.empty() or system.exists()" />
<xpath value="not(exists(f:value)) or exists(f:system)" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XTN" />
</mapping>
<identity value="rim" />
<map value="TEL" />
</mapping>
<identity value="servd" />
<map value="ContactPoint" />
</mapping>
<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="0" />
<path value="Practitioner.address" />
<min value="0" />
<max value="*" />
</base>
<code value="Address" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD" />
</mapping>
<identity value="rim" />
<map value="AD" />
</mapping>
<identity value="servd" />
<map value="Address" />
</mapping>
<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.address.id">
<path value="Practitioner.address.id" />
<representation value="xmlAttr" />
<short value="xml:id (or equivalent in JSON)" />
<definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Practitioner.address.extension">
<path value="Practitioner.address.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. In order 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." />
<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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</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')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.address.use">
<path value="Practitioner.address.use" />
<short value="home | work | temp | old - purpose of this address" />
<definition value="The purpose of this address." />
<comment value="This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old." />
<requirements value="Allows an appropriate address to be chosen from a list of many." />
<min value="0" />
<max value="1" />
<path value="Address.use" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<fixedCode value="home" />
<label value="General" />
<valueCode value="home" />
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isModifier value="true" />
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="AddressUse" />
</extension>
<strength value="required" />
<description value="The use of an address" />
<reference value="http://hl7.org/fhir/ValueSet/address-use" />
</valueSetReference>
</binding>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.7" />
</mapping>
<identity value="rim" />
<map value="unique(./use)" />
</mapping>
<identity value="servd" />
<map value="./AddressPurpose" />
</mapping>
</element>
<element id="Practitioner.address.type">
<path value="Practitioner.address.type" />
<short value="postal | physical | both" />
<definition value="Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<min value="0" />
<max value="0" />
<path value="Address.type" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</type>
<label value="General" />
<valueCode value="both" />
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="AddressType" />
</extension>
<strength value="required" />
<description value="The type of an address (physical / postal)" />
<reference value="http://hl7.org/fhir/ValueSet/address-type" />
</valueSetReference>
</binding>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.18" />
</mapping>
<identity value="rim" />
<map value="unique(./use)" />
</mapping>
<identity value="vcard" />
<map value="address type parameter" />
</mapping>
</element>
<element id="Practitioner.address.text">
<path value="Practitioner.address.text" />
<short value="Text representation of the address" />
<definition value="A full text representation of the address." />
<comment value="Can provide both a text representation and parts." />
<requirements value="A renderable, unencoded form." />
<min value="0" />
<max value="0" />
<path value="Address.text" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<label value="General" />
<valueString value="137 Nowhere Street, Erewhon 9132" />
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6" />
</mapping>
<identity value="rim" />
<map value="./formatted" />
</mapping>
<identity value="vcard" />
<map value="address label parameter" />
</mapping>
</element>
<element id="Practitioner.address.line">
<path value="Practitioner.address.line" />
<short value="Street name, number, direction & P.O. Box etc." />
<definition value="This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<requirements value="home | work | temp | old - purpose of this address." />
<min value="0" />
<max value="*" />
<path value="Address.line" />
<min value="0" />
<max value="*" />
</base>
<code value="string" />
</type>
<orderMeaning value="The order in which lines should appear in an address label" />
<label value="General" />
<valueString value="137 Nowhere Street" />
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)" />
</mapping>
<identity value="rim" />
<map value="AD.part[parttype = AL]" />
</mapping>
<identity value="vcard" />
<map value="street" />
</mapping>
<identity value="servd" />
<map value="./StreetAddress (newline delimitted)" />
</mapping>
</element>
<element id="Practitioner.address.city">
<path value="Practitioner.address.city" />
<short value="Name of city, town etc." />
<definition value="The name of the city, town, village or other community or delivery center." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<alias value="Municpality" />
<min value="0" />
<max value="1" />
<path value="Address.city" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<label value="General" />
<valueString value="Erewhon" />
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.3" />
</mapping>
<identity value="rim" />
<map value="AD.part[parttype = CTY]" />
</mapping>
<identity value="vcard" />
<map value="locality" />
</mapping>
<identity value="servd" />
<map value="./Jurisdiction" />
</mapping>
</element>
<element id="Practitioner.address.district">
<path value="Practitioner.address.district" />
<short value="District name (aka county)" />
<definition value="The name of the administrative area (county)." />
<comment value="District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead." />
<alias value="County" />
<min value="0" />
<max value="1" />
<path value="Address.district" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<label value="General" />
<valueString value="Madison" />
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.9" />
</mapping>
<identity value="rim" />
<map value="AD.part[parttype = CNT | CPA]" />
</mapping>
</element>
<element id="Practitioner.address.state">
<path value="Practitioner.address.state" />
<short value="Sub-unit of country (abbreviations ok)" />
<definition value="Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes)." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<alias value="Province" />
<alias value="Territory" />
<min value="0" />
<max value="1" />
<path value="Address.state" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.4" />
</mapping>
<identity value="rim" />
<map value="AD.part[parttype = STA]" />
</mapping>
<identity value="vcard" />
<map value="region" />
</mapping>
<identity value="servd" />
<map value="./Region" />
</mapping>
</element>
<element id="Practitioner.address.postalCode">
<path value="Practitioner.address.postalCode" />
<short value="Postal code for area" />
<definition value="A postal code designating a region defined by the postal service." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<alias value="Zip" />
<min value="0" />
<max value="1" />
<path value="Address.postalCode" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</type>
<label value="General" />
<valueString value="9132" />
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.5" />
</mapping>
<identity value="rim" />
<map value="AD.part[parttype = ZIP]" />
</mapping>
<identity value="vcard" />
<map value="code" />
</mapping>
<identity value="servd" />
<map value="./PostalIdentificationCode" />
</mapping>
</element>
<element id="Practitioner.address.country">
<path value="Practitioner.address.country" />
<short value="Country (e.g. can be ISO 3166-1 Alpha2 letter code)" />
<definition value="Country - a nation as commonly understood or generally accepted." />
<comment value="ISO 3166 2 letter codes can be used in place of a full country name." />
<min value="1" />
<max value="1" />
<path value="Address.country" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="XAD.6" />
</mapping>
<identity value="rim" />
<map value="AD.part[parttype = CNT]" />
</mapping>
<identity value="vcard" />
<map value="country" />
</mapping>
<identity value="servd" />
<map value="./Country" />
</mapping>
<identity value="Gigya" />
<map value="data.homeCountryCode" />
</mapping>
</element>
<element id="Practitioner.address.period">
<path value="Practitioner.address.period" />
<short value="Time period when address was/is in use" />
<definition value="Time period when address was/is in use." />
<comment value="This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration." />
<requirements value="Allows addresses to be placed in historical context." />
<min value="0" />
<max value="0" />
<path value="Address.period" />
<min value="0" />
<max value="1" />
</base>
<code value="Period" />
</type>
<label value="General" />
<start value="2010-03-23" />
<end value="2010-07-01" />
</valuePeriod>
</example>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="per-1" />
<severity value="error" />
<human value="If present, start SHALL have a lower value than end" />
<expression value="start.empty() or end.empty() or (start <= end)" />
<xpath value="not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="DR" />
</mapping>
<identity value="rim" />
<map value="IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]" />
</mapping>
<identity value="v2" />
<map value="XAD.12 / XAD.13 + XAD.14" />
</mapping>
<identity value="rim" />
<map value="./usablePeriod[type="IVL<TS>"]" />
</mapping>
<identity value="servd" />
<map value="./StartDate and ./EndDate" />
</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." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<requirements value="Needed to address the person correctly." />
<min value="0" />
<max value="0" />
<path value="Practitioner.gender" />
<min value="0" />
<max value="1" />
</base>
<code value="code" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<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." />
<reference value="http://hl7.org/fhir/ValueSet/administrative-gender" />
</valueSetReference>
</binding>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="STF-5" />
</mapping>
<identity value="rim" />
<map value="./administrativeGender" />
</mapping>
<identity value="servd" />
<map value="./GenderCode" />
</mapping>
<identity value="Gigya" />
<map value="profile.gender" />
</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="0" />
<path value="Practitioner.birthDate" />
<min value="0" />
<max value="1" />
</base>
<code value="date" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<identity value="Gigya" />
<map value="profile.birthYear + profile.birthMonth + profile.birthDay" />
<comment value="Format: YYYY-MM-DD" />
</mapping>
</element>
<element id="Practitioner.photo">
<path value="Practitioner.photo" />
<short value="Image of the person" />
<definition value="Image of the person." />
<comment value="When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Attachment"." />
<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="0" />
<path value="Practitioner.photo" />
<min value="0" />
<max value="*" />
</base>
<code value="Attachment" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="att-1" />
<severity value="error" />
<human value="It the Attachment has data, it SHALL have a contentType" />
<expression value="data.empty() or contentType.exists()" />
<xpath value="not(exists(f:data)) or exists(f:contentType)" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="ED/RP" />
</mapping>
<identity value="rim" />
<map value="ED" />
</mapping>
<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="Qualifications obtained by training and certification" />
<definition value="Qualifications obtained by training and certification." />
<min value="0" />
<max value="0" />
<path value="Practitioner.qualification" />
<min value="0" />
<max value="*" />
</base>
<code value="BackboneElement" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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="xml:id (or equivalent in JSON)" />
<definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Practitioner.qualification.extension">
<path value="Practitioner.qualification.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. In order 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." />
<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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</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')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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" />
<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 that contains it. Usually modifier elements provide negation or qualification. In order 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." />
<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" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<code value="Extension" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</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')])" />
</constraint>
<isModifier value="true" />
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
</mapping>
<identity value="rim" />
<map value="II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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]" />
</mapping>
<identity value="servd" />
<map value="Identifier" />
</mapping>
<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." />
<comment value="Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination." />
<min value="1" />
<max value="1" />
<path value="Practitioner.qualification.code" />
<min value="1" />
<max value="1" />
</base>
<code value="CodeableConcept" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<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" />
<reference value="http://hl7.org/fhir/ValueSet/v2-2.7-0360" />
</valueSetReference>
</binding>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="CE/CNE/CWE" />
</mapping>
<identity value="rim" />
<map value="CD" />
</mapping>
<identity value="orim" />
<map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
</mapping>
<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." />
<comment value="This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration." />
<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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="per-1" />
<severity value="error" />
<human value="If present, start SHALL have a lower value than end" />
<expression value="start.empty() or end.empty() or (start <= end)" />
<xpath value="not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="DR" />
</mapping>
<identity value="rim" />
<map value="IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]" />
</mapping>
<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." />
<comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
<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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<key value="ref-1" />
<severity value="error" />
<human value="SHALL have a contained resource if a local reference is provided" />
<expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))" />
<xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
</mapping>
<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 is able to use in patient communication" />
<definition value="A language the practitioner is able to 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 actually 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="0" />
<path value="Practitioner.communication" />
<min value="0" />
<max value="*" />
</base>
<code value="CodeableConcept" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<reference value="http://hl7.org/fhir/ValueSet/all-languages" />
</valueReference>
</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="extensible" />
<description value="A human language." />
<reference value="http://hl7.org/fhir/ValueSet/languages" />
</valueSetReference>
</binding>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="CE/CNE/CWE" />
</mapping>
<identity value="rim" />
<map value="CD" />
</mapping>
<identity value="orim" />
<map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
</mapping>
<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>
<element id="Practitioner.communication.id">
<path value="Practitioner.communication.id" />
<representation value="xmlAttr" />
<short value="xml:id (or equivalent in JSON)" />
<definition value="unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<comment value="Note that FHIR strings may not exceed 1MB in size" />
<min value="0" />
<max value="1" />
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="Practitioner.communication.extension">
<path value="Practitioner.communication.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. In order 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." />
<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>
<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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</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')])" />
</constraint>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="Practitioner.communication.coding">
<path value="Practitioner.communication.coding" />
<short value="Code defined by a terminology system" />
<definition value="A reference to a code defined by a terminology system." />
<comment value="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." />
<requirements value="Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings." />
<min value="0" />
<max value="*" />
<path value="CodeableConcept.coding" />
<min value="0" />
<max value="*" />
</base>
<code value="Coding" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<strength value="extensible" />
<valueSetUri value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="CE/CNE/CWE subset one of the sets of component 1-3 or 4-6" />
</mapping>
<identity value="rim" />
<map value="CV" />
</mapping>
<identity value="orim" />
<map value="fhir:Coding rdfs:subClassOf dt:CDCoding" />
</mapping>
<identity value="v2" />
<map value="C*E.1-8, C*E.10-22" />
</mapping>
<identity value="rim" />
<map value="union(., ./translation)" />
</mapping>
<identity value="orim" />
<map value="fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" />
</mapping>
</element>
<element id="Practitioner.communication.text">
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
<valueBoolean value="true" />
</extension>
<path value="Practitioner.communication.text" />
<short value="Plain text representation of the concept" />
<definition value="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." />
<comment value="Very often the text is the same as a displayName of one of the codings." />
<requirements value="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." />
<min value="0" />
<max value="1" />
<path value="CodeableConcept.text" />
<min value="0" />
<max value="1" />
</base>
<code value="string" />
</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() | (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
</constraint>
<isSummary value="true" />
<identity value="rim" />
<map value="n/a" />
</mapping>
<identity value="v2" />
<map value="C*E.9. But note many systems use C*E.2 for this" />
</mapping>
<identity value="rim" />
<map value="./originalText[mediaType/code="text/plain"]/data" />
</mapping>
<identity value="orim" />
<map value="fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" />
</mapping>
</element>
</snapshot>
<element id="Practitioner.identifier">
<path value="Practitioner.identifier" />
<max value="0" />
</element>
<element id="Practitioner.active">
<path value="Practitioner.active" />
<max value="0" />
</element>
<element id="Practitioner.name">
<path value="Practitioner.name" />
<max value="0" />
</element>
<element id="Practitioner.telecom">
<path value="Practitioner.telecom" />
<max value="0" />
</element>
<element id="Practitioner.address">
<path value="Practitioner.address" />
<max value="0" />
</element>
<element id="Practitioner.address.use">
<path value="Practitioner.address.use" />
<fixedCode value="home" />
</element>
<element id="Practitioner.address.type">
<path value="Practitioner.address.type" />
<max value="0" />
</element>
<element id="Practitioner.address.text">
<path value="Practitioner.address.text" />
<max value="0" />
</element>
<element id="Practitioner.address.country">
<path value="Practitioner.address.country" />
<short value="Country (e.g. can be ISO 3166-1 Alpha2 letter code)" />
<comment value="ISO 3166 2 letter codes can be used in place of a full country name." />
<min value="1" />
<identity value="Gigya" />
<map value="data.homeCountryCode" />
</mapping>
</element>
<element id="Practitioner.address.period">
<path value="Practitioner.address.period" />
<max value="0" />
</element>
<element id="Practitioner.gender">
<path value="Practitioner.gender" />
<max value="0" />
<identity value="Gigya" />
<map value="profile.gender" />
</mapping>
</element>
<element id="Practitioner.birthDate">
<path value="Practitioner.birthDate" />
<max value="0" />
<identity value="Gigya" />
<map value="profile.birthYear + profile.birthMonth + profile.birthDay" />
<comment value="Format: YYYY-MM-DD" />
</mapping>
</element>
<element id="Practitioner.photo">
<path value="Practitioner.photo" />
<max value="0" />
</element>
<element id="Practitioner.qualification">
<path value="Practitioner.qualification" />
<max value="0" />
</element>
<element id="Practitioner.communication">
<path value="Practitioner.communication" />
<max value="0" />
</element>
<element id="Practitioner.communication.coding">
<path value="Practitioner.communication.coding" />
<strength value="extensible" />
<valueSetUri value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
</differential>
</StructureDefinition>

JSON

{
"resourceType": "StructureDefinition",
"id": "858611fd-b78e-4588-a707-4908e3403c09",
"meta": {
"versionId": "4",
"lastUpdated": "2018-08-20T11:52:09.567+00:00"
},
"url": "http://roche.com/fhir/rdc/StructureDefinition/practitioner",
"version": "1",
"name": "practitioner",
"status": "active",
"date": "2018-08-20T11:52:08.925+00:00",
"description": "This is an empty resource which will only contain the FHIR ID (no other details)",
"fhirVersion": "3.0.2",
"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.",
"comment": "Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?",
"min": 0,
"max": "*",
"base": {
"path": "Resource",
"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)"
},
{
"key": "dom-1",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
"expression": "contained.text.empty()",
"xpath": "not(parent::f:contained and f:text)"
},
{
"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))"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
"expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
"xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))"
}
],
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "v2",
"map": "PRD (as one example)"
},
{
"identity": "rim",
"map": "Role"
},
{
"identity": "servd",
"map": "Provider"
},
{
"identity": "w5",
"map": "administrative.individual"
}
]
},
{
"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": [
{
"code": "id"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"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 may 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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"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.",
"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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isModifier": true,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"reference": "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": "extensible",
"description": "A human language.",
"reference": "http://hl7.org/fhir/ValueSet/languages"
}
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"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 may 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 in formation is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
"ele-1",
"dom-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
},
{
"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.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.extension",
"path": "Practitioner.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 resource. In order 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.",
"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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"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')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.modifierExtension",
"path": "Practitioner.modifierExtension",
"slicing": {
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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. Usually modifier elements provide negation or qualification. In order 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.",
"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.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"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')])"
}
],
"isModifier": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.identifier",
"path": "Practitioner.identifier",
"short": "A identifier for the person as this agent",
"definition": "An identifier that applies to this person in this role.",
"requirements": "Often, specific identities are assigned for the agent.",
"min": 0,
"max": "0",
"base": {
"path": "Practitioner.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
},
{
"identity": "rim",
"map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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]"
},
{
"identity": "servd",
"map": "Identifier"
},
{
"identity": "v2",
"map": "PRD-7 (or XCN.1)"
},
{
"identity": "rim",
"map": "./id"
},
{
"identity": "servd",
"map": "./Identifiers"
},
{
"identity": "w5",
"map": "id"
}
]
},
{
"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": "Default is true. \n\nIf 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": "0",
"base": {
"path": "Practitioner.active",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "./statusCode"
},
{
"identity": "w5",
"map": "status"
}
]
},
{
"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": "0",
"base": {
"path": "Practitioner.name",
"min": 0,
"max": "*"
},
"type": [
{
"code": "HumanName"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XPN"
},
{
"identity": "rim",
"map": "EN (actually, PN)"
},
{
"identity": "servd",
"map": "ProviderName"
},
{
"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 also to help with identification\n\nThese 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": "0",
"base": {
"path": "Practitioner.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "cpt-2",
"severity": "error",
"human": "A system is required if a value is provided.",
"expression": "value.empty() or system.exists()",
"xpath": "not(exists(f:value)) or exists(f:system)"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XTN"
},
{
"identity": "rim",
"map": "TEL"
},
{
"identity": "servd",
"map": "ContactPoint"
},
{
"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": "0",
"base": {
"path": "Practitioner.address",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Address"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD"
},
{
"identity": "rim",
"map": "AD"
},
{
"identity": "servd",
"map": "Address"
},
{
"identity": "v2",
"map": "ORC-24, STF-11, ROL-11, PRT-14"
},
{
"identity": "rim",
"map": "./addr"
},
{
"identity": "servd",
"map": "./Addresses"
}
]
},
{
"id": "Practitioner.address.id",
"path": "Practitioner.address.id",
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Practitioner.address.extension",
"path": "Practitioner.address.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. In order 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.",
"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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"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')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.address.use",
"path": "Practitioner.address.use",
"short": "home | work | temp | old - purpose of this address",
"definition": "The purpose of this address.",
"comment": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.",
"requirements": "Allows an appropriate address to be chosen from a list of many.",
"min": 0,
"max": "1",
"base": {
"path": "Address.use",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"fixedCode": "home",
"example": [
{
"label": "General",
"valueCode": "home"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isModifier": true,
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "AddressUse"
}
],
"strength": "required",
"description": "The use of an address",
"reference": "http://hl7.org/fhir/ValueSet/address-use"
}
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.7"
},
{
"identity": "rim",
"map": "unique(./use)"
},
{
"identity": "servd",
"map": "./AddressPurpose"
}
]
},
{
"id": "Practitioner.address.type",
"path": "Practitioner.address.type",
"short": "postal | physical | both",
"definition": "Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"min": 0,
"max": "0",
"base": {
"path": "Address.type",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"example": [
{
"label": "General",
"valueCode": "both"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "AddressType"
}
],
"strength": "required",
"description": "The type of an address (physical / postal)",
"reference": "http://hl7.org/fhir/ValueSet/address-type"
}
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.18"
},
{
"identity": "rim",
"map": "unique(./use)"
},
{
"identity": "vcard",
"map": "address type parameter"
}
]
},
{
"id": "Practitioner.address.text",
"path": "Practitioner.address.text",
"short": "Text representation of the address",
"definition": "A full text representation of the address.",
"comment": "Can provide both a text representation and parts.",
"requirements": "A renderable, unencoded form.",
"min": 0,
"max": "0",
"base": {
"path": "Address.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "137 Nowhere Street, Erewhon 9132"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6"
},
{
"identity": "rim",
"map": "./formatted"
},
{
"identity": "vcard",
"map": "address label parameter"
}
]
},
{
"id": "Practitioner.address.line",
"path": "Practitioner.address.line",
"short": "Street name, number, direction & P.O. Box etc.",
"definition": "This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"requirements": "home | work | temp | old - purpose of this address.",
"min": 0,
"max": "*",
"base": {
"path": "Address.line",
"min": 0,
"max": "*"
},
"type": [
{
"code": "string"
}
],
"orderMeaning": "The order in which lines should appear in an address label",
"example": [
{
"label": "General",
"valueString": "137 Nowhere Street"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)"
},
{
"identity": "rim",
"map": "AD.part[parttype = AL]"
},
{
"identity": "vcard",
"map": "street"
},
{
"identity": "servd",
"map": "./StreetAddress (newline delimitted)"
}
]
},
{
"id": "Practitioner.address.city",
"path": "Practitioner.address.city",
"short": "Name of city, town etc.",
"definition": "The name of the city, town, village or other community or delivery center.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"alias": [
"Municpality"
],
"min": 0,
"max": "1",
"base": {
"path": "Address.city",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "Erewhon"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.3"
},
{
"identity": "rim",
"map": "AD.part[parttype = CTY]"
},
{
"identity": "vcard",
"map": "locality"
},
{
"identity": "servd",
"map": "./Jurisdiction"
}
]
},
{
"id": "Practitioner.address.district",
"path": "Practitioner.address.district",
"short": "District name (aka county)",
"definition": "The name of the administrative area (county).",
"comment": "District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.",
"alias": [
"County"
],
"min": 0,
"max": "1",
"base": {
"path": "Address.district",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "Madison"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.9"
},
{
"identity": "rim",
"map": "AD.part[parttype = CNT | CPA]"
}
]
},
{
"id": "Practitioner.address.state",
"path": "Practitioner.address.state",
"short": "Sub-unit of country (abbreviations ok)",
"definition": "Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"alias": [
"Province",
"Territory"
],
"min": 0,
"max": "1",
"base": {
"path": "Address.state",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.4"
},
{
"identity": "rim",
"map": "AD.part[parttype = STA]"
},
{
"identity": "vcard",
"map": "region"
},
{
"identity": "servd",
"map": "./Region"
}
]
},
{
"id": "Practitioner.address.postalCode",
"path": "Practitioner.address.postalCode",
"short": "Postal code for area",
"definition": "A postal code designating a region defined by the postal service.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"alias": [
"Zip"
],
"min": 0,
"max": "1",
"base": {
"path": "Address.postalCode",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "9132"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.5"
},
{
"identity": "rim",
"map": "AD.part[parttype = ZIP]"
},
{
"identity": "vcard",
"map": "code"
},
{
"identity": "servd",
"map": "./PostalIdentificationCode"
}
]
},
{
"id": "Practitioner.address.country",
"path": "Practitioner.address.country",
"short": "Country (e.g. can be ISO 3166-1 Alpha2 letter code)",
"definition": "Country - a nation as commonly understood or generally accepted.",
"comment": "ISO 3166 2 letter codes can be used in place of a full country name.",
"min": 1,
"max": "1",
"base": {
"path": "Address.country",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XAD.6"
},
{
"identity": "rim",
"map": "AD.part[parttype = CNT]"
},
{
"identity": "vcard",
"map": "country"
},
{
"identity": "servd",
"map": "./Country"
},
{
"identity": "Gigya",
"map": "data.homeCountryCode"
}
]
},
{
"id": "Practitioner.address.period",
"path": "Practitioner.address.period",
"short": "Time period when address was/is in use",
"definition": "Time period when address was/is in use.",
"comment": "This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\"). If duration is required, specify the type as Interval|Duration.",
"requirements": "Allows addresses to be placed in historical context.",
"min": 0,
"max": "0",
"base": {
"path": "Address.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
"example": [
{
"label": "General",
"start": "2010-03-23",
"end": "2010-07-01"
}
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "per-1",
"severity": "error",
"human": "If present, start SHALL have a lower value than end",
"expression": "start.empty() or end.empty() or (start <= end)",
"xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR"
},
{
"identity": "rim",
"map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
},
{
"identity": "v2",
"map": "XAD.12 / XAD.13 + XAD.14"
},
{
"identity": "rim",
"map": "./usablePeriod[type=\"IVL<TS>\"]"
},
{
"identity": "servd",
"map": "./StartDate and ./EndDate"
}
]
},
{
"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.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"requirements": "Needed to address the person correctly.",
"min": 0,
"max": "0",
"base": {
"path": "Practitioner.gender",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"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.",
"reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
}
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "STF-5"
},
{
"identity": "rim",
"map": "./administrativeGender"
},
{
"identity": "servd",
"map": "./GenderCode"
},
{
"identity": "Gigya",
"map": "profile.gender"
}
]
},
{
"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": "0",
"base": {
"path": "Practitioner.birthDate",
"min": 0,
"max": "1"
},
"type": [
{
"code": "date"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "STF-6"
},
{
"identity": "rim",
"map": "./birthTime"
},
{
"identity": "servd",
"map": "(not represented in ServD)"
},
{
"identity": "Gigya",
"map": "profile.birthYear + profile.birthMonth + profile.birthDay",
"comment": "Format: YYYY-MM-DD"
}
]
},
{
"id": "Practitioner.photo",
"path": "Practitioner.photo",
"short": "Image of the person",
"definition": "Image of the person.",
"comment": "When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as \"Attachment\".",
"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": "0",
"base": {
"path": "Practitioner.photo",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Attachment"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "att-1",
"severity": "error",
"human": "It the Attachment has data, it SHALL have a contentType",
"expression": "data.empty() or contentType.exists()",
"xpath": "not(exists(f:data)) or exists(f:contentType)"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "ED/RP"
},
{
"identity": "rim",
"map": "ED"
},
{
"identity": "rim",
"map": "./subjectOf/ObservationEvent[code=\"photo\"]/value"
},
{
"identity": "servd",
"map": "./ImageURI (only supports the URI reference)"
}
]
},
{
"id": "Practitioner.qualification",
"path": "Practitioner.qualification",
"short": "Qualifications obtained by training and certification",
"definition": "Qualifications obtained by training and certification.",
"min": 0,
"max": "0",
"base": {
"path": "Practitioner.qualification",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Practitioner.qualification.extension",
"path": "Practitioner.qualification.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. In order 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.",
"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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"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')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.qualification.modifierExtension",
"path": "Practitioner.qualification.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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.",
"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",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"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')])"
}
],
"isModifier": true,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
},
{
"identity": "rim",
"map": "II - see see identifier pattern at http://wiki.hl7.org/index.php?title=Common_Design_Patterns#Identifier_Pattern for relevant discussion. 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]"
},
{
"identity": "servd",
"map": "Identifier"
},
{
"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.",
"comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
"min": 1,
"max": "1",
"base": {
"path": "Practitioner.qualification.code",
"min": 1,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Qualification"
}
],
"strength": "example",
"description": "Specific qualification the practitioner has to provide a service",
"reference": "http://hl7.org/fhir/ValueSet/v2-2.7-0360"
}
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CE/CNE/CWE"
},
{
"identity": "rim",
"map": "CD"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
},
{
"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.",
"comment": "This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\"). If duration is required, specify the type as Interval|Duration.",
"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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "per-1",
"severity": "error",
"human": "If present, start SHALL have a lower value than end",
"expression": "start.empty() or end.empty() or (start <= end)",
"xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR"
},
{
"identity": "rim",
"map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
},
{
"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.",
"comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
"min": 0,
"max": "1",
"base": {
"path": "Practitioner.qualification.issuer",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"key": "ref-1",
"severity": "error",
"human": "SHALL have a contained resource if a local reference is provided",
"expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))",
"xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
},
{
"identity": "rim",
"map": ".playingEntity.playingRole[classCode=QUAL].scoper"
}
]
},
{
"id": "Practitioner.communication",
"path": "Practitioner.communication",
"short": "A language the practitioner is able to use in patient communication",
"definition": "A language the practitioner is able to 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 actually 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": "0",
"base": {
"path": "Practitioner.communication",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"binding": {
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"reference": "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": "extensible",
"description": "A human language.",
"reference": "http://hl7.org/fhir/ValueSet/languages"
}
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CE/CNE/CWE"
},
{
"identity": "rim",
"map": "CD"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
},
{
"identity": "v2",
"map": "PID-15, NK1-20, LAN-2"
},
{
"identity": "rim",
"map": "./languageCommunication"
},
{
"identity": "servd",
"map": "./Languages.LanguageSpokenCode"
}
]
},
{
"id": "Practitioner.communication.id",
"path": "Practitioner.communication.id",
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment": "Note that FHIR strings may not exceed 1MB in size",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Practitioner.communication.extension",
"path": "Practitioner.communication.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. In order 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.",
"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"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
},
{
"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')])"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Practitioner.communication.coding",
"path": "Practitioner.communication.coding",
"short": "Code defined by a terminology system",
"definition": "A reference to a code defined by a terminology system.",
"comment": "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.",
"requirements": "Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.",
"min": 0,
"max": "*",
"base": {
"path": "CodeableConcept.coding",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Coding"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"binding": {
"strength": "extensible",
"valueSetUri": "http://hl7.org/fhir/ValueSet/languages"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
},
{
"identity": "rim",
"map": "CV"
},
{
"identity": "orim",
"map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
},
{
"identity": "v2",
"map": "C*E.1-8, C*E.10-22"
},
{
"identity": "rim",
"map": "union(., ./translation)"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
}
]
},
{
"id": "Practitioner.communication.text",
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
"valueBoolean": true
}
],
"path": "Practitioner.communication.text",
"short": "Plain 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.",
"comment": "Very often the text is the same as a displayName of one of the codings.",
"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.",
"min": 0,
"max": "1",
"base": {
"path": "CodeableConcept.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"ele-1"
],
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() | (children().count() > id.count())",
"xpath": "@value|f:*|h:div"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "C*E.9. But note many systems use C*E.2 for this"
},
{
"identity": "rim",
"map": "./originalText[mediaType/code=\"text/plain\"]/data"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
}
]
}
]
},
"element": [
{
"id": "Practitioner.identifier",
"path": "Practitioner.identifier",
"max": "0"
},
{
"id": "Practitioner.active",
"path": "Practitioner.active",
"max": "0"
},
{
"id": "Practitioner.name",
"path": "Practitioner.name",
"max": "0"
},
{
"id": "Practitioner.telecom",
"path": "Practitioner.telecom",
"max": "0"
},
{
"id": "Practitioner.address",
"path": "Practitioner.address",
"max": "0"
},
{
"id": "Practitioner.address.use",
"path": "Practitioner.address.use",
"fixedCode": "home"
},
{
"id": "Practitioner.address.type",
"path": "Practitioner.address.type",
"max": "0"
},
{
"id": "Practitioner.address.text",
"path": "Practitioner.address.text",
"max": "0"
},
{
"id": "Practitioner.address.country",
"path": "Practitioner.address.country",
"short": "Country (e.g. can be ISO 3166-1 Alpha2 letter code)",
"comment": "ISO 3166 2 letter codes can be used in place of a full country name.",
"min": 1,
"mapping": [
{
"identity": "Gigya",
"map": "data.homeCountryCode"
}
]
},
{
"id": "Practitioner.address.period",
"path": "Practitioner.address.period",
"max": "0"
},
{
"id": "Practitioner.gender",
"path": "Practitioner.gender",
"max": "0",
"mapping": [
{
"identity": "Gigya",
"map": "profile.gender"
}
]
},
{
"id": "Practitioner.birthDate",
"path": "Practitioner.birthDate",
"max": "0",
"mapping": [
{
"identity": "Gigya",
"map": "profile.birthYear + profile.birthMonth + profile.birthDay",
"comment": "Format: YYYY-MM-DD"
}
]
},
{
"id": "Practitioner.photo",
"path": "Practitioner.photo",
"max": "0"
},
{
"id": "Practitioner.qualification",
"path": "Practitioner.qualification",
"max": "0"
},
{
"id": "Practitioner.communication",
"path": "Practitioner.communication",
"max": "0"
},
{
"id": "Practitioner.communication.coding",
"path": "Practitioner.communication.coding",
"binding": {
"strength": "extensible",
"valueSetUri": "http://hl7.org/fhir/ValueSet/languages"
}
}
]
}
}

Example

Command 'json' could not render: File not found for 'subject=example-therapies-practitioner'