Patient Cost Transparency Implementation Guide
2.0.1 - STU 2

Patient Cost Transparency Implementation Guide, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-pct/ and changes regularly. See the Directory of published versions

## Resource Profile: PCT Practitioner

Official URL: http://hl7.org/fhir/us/davinci-pct/StructureDefinition/davinci-pct-practitioner | Version: 2.0.1
Standards status: Trial-use | Maturity Level: 2 | Computable Name: PCTPractitioner
Other Identifiers: OID:2.16.840.1.113883.4.642.40.4.42.20

The PCT Practitioner profile builds upon the US Core Practitioner profile. It is used to convey information about the practitioner who will be providing services to the patient as described on the GFE.

Usages:

- Use this Profile: PCT AEOB Packet, PCT GFE Bundle, PCT GFE Information Bundle, PCT GFE Missing Bundle and PCT GFE Packet
- Refer to this Profile: PCT AEOB Composition, PCT AEOB Packet Document Reference, PCT Advanced EOB, PCT GFE Composition... Show 6 more, PCT GFE Contributor Task, PCT GFE Coordination Task, PCT GFE Packet Document Reference, PCT Good Faith Estimate Institutional, PCT Good Faith Estimate Professional and PCT Good Faith Estimate Summary
- Examples for this Profile: Practitioner/Submitter-Practitioner-1, Practitioner/prac001 and Practitioner/prac002
- CapabilityStatements using this Profile: Patient Cost Transparency Implementation Guide Coordination Platform Capability Statement, Patient Cost Transparency Implementation Guide Coordination Requester Capability Statement and Patient Cost Transparency Implementation Guide Payer Capability Statement

You can also check for usages in the FHIR IG Statistics

Changes since version 1.1.0:

- New Content

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | USCorePractitionerProfile(7.0.0) | A person with a formal responsibility in the provisioning of healthcare or related services
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S Σ | 1..* | Identifier | An identifier for the person as this agent Slice: Unordered, Open by pattern:$this
identifier:NPI | S Σ C | 0..1 | Identifier | The National Provider Identifier assigned to the provider. Constraints: us-core-16, us-core-17 Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://hl7.org/fhir/sid/us-npi
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:ETIN | S Σ | 0..1 | Identifier | The submitter's Electronic Transmitter Identification Number. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ETIN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:tin | S Σ | 0..1 | Identifier | Tax ID Number Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: TAX
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
name | S Σ | 1..* | HumanName | The name(s) associated with the practitioner
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
family | S Σ | 1..1 | string | Family name (often called 'Surname')
given | Σ | 1..1 | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
telecom | S Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles)
system | S Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | S Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
address | S Σ | 0..* | Address | Address(es) of the practitioner
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
line | S Σ | 0..4 | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST
city | S Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN
state | S Σ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: UspsTwoLetterAlphabeticCodes (7.0.0) (extensible): Two letter USPS alphabetic codes. Example General: OK
postalCode | S Σ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047
country | S Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​state | Base | extensible | USPS Two Letter Alphabetic Codes | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-16 | error | Practitioner.identifier:NPI | NPI must be 10 digits | `value.matches('^[0-9]{10}$')`
us-core-17 | error | Practitioner.identifier:NPI | NPI check digit must be valid (Luhn algorithm check) | `(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger()) + 24)mod 10=0)`

This structure is derived from USCorePractitionerProfile

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  |  | USCorePractitionerProfile(7.0.0) |
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:NPI |  | 0..1 | Identifier | The National Provider Identifier assigned to the provider.
identifier:ETIN | S | 0..1 | Identifier | The submitter's Electronic Transmitter Identification Number. Required Pattern: At least the following
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ETIN
identifier:tin | S | 0..1 | Identifier | Tax ID Number Required Pattern: At least the following
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: TAX
name |  |  |  |
given |  | 1..1 | string | Given names (not always 'first'). Includes middle names
qualification |  |  |  |
code |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: NUCCProviderCodes (3.0.0) (required)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Practitioner.qualification.​code | Base | required | NUCCProviderCodes | 📍3.0.0 | THO v6.5

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | USCorePractitionerProfile(7.0.0) | A person with a formal responsibility in the provisioning of healthcare or related services
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S Σ | 1..* | Identifier | An identifier for the person as this agent Slice: Unordered, Open by pattern:$this
identifier:NPI | S Σ C | 0..1 | Identifier | The National Provider Identifier assigned to the provider. Constraints: us-core-16, us-core-17 Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://hl7.org/fhir/sid/us-npi
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:ETIN | S Σ | 0..1 | Identifier | The submitter's Electronic Transmitter Identification Number. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ETIN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:tin | S Σ | 0..1 | Identifier | Tax ID Number Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: TAX
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use
name | S Σ | 1..* | HumanName | The name(s) associated with the practitioner
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
text | Σ | 0..1 | string | Text representation of the full name
family | S Σ | 1..1 | string | Family name (often called 'Surname')
given | Σ | 1..1 | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
telecom | S Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | S Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
address | S Σ | 0..* | Address | Address(es) of the practitioner
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | S Σ | 0..4 | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST
city | S Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | S Σ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: UspsTwoLetterAlphabeticCodes (7.0.0) (extensible): Two letter USPS alphabetic codes. Example General: OK
postalCode | S Σ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047
country | S Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
birthDate | Σ | 0..1 | date | The date on which the practitioner was born
photo |  | 0..* | Attachment | Image of the person
qualification |  | 0..* | BackboneElement | Certification, licenses, or training pertaining to the provision of care
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
identifier |  | 0..* | Identifier | An identifier for this qualification for the practitioner
code |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: NUCCProviderCodes (3.0.0) (required)
period |  | 0..1 | Period | Period during which the qualification is valid
issuer |  | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
communication |  | 0..* | CodeableConcept | A language the practitioner can use in patient communication Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Practitioner.address.​state | Base | extensible | USPS Two Letter Alphabetic Codes | 📍7.0.0 | US Core v7.0
Practitioner.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Practitioner.qualification.​code | Base | required | NUCCProviderCodes | 📍3.0.0 | THO v6.5
Practitioner.communication | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-16 | error | Practitioner.identifier:NPI | NPI must be 10 digits | `value.matches('^[0-9]{10}$')`
us-core-17 | error | Practitioner.identifier:NPI | NPI check digit must be valid (Luhn algorithm check) | `(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger()) + 24)mod 10=0)`

This structure is derived from USCorePractitionerProfile

Summary

Mandatory: 1 element
Must-Support: 2 elements

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | USCorePractitionerProfile(7.0.0) | A person with a formal responsibility in the provisioning of healthcare or related services
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S Σ | 1..* | Identifier | An identifier for the person as this agent Slice: Unordered, Open by pattern:$this
identifier:NPI | S Σ C | 0..1 | Identifier | The National Provider Identifier assigned to the provider. Constraints: us-core-16, us-core-17 Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://hl7.org/fhir/sid/us-npi
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:ETIN | S Σ | 0..1 | Identifier | The submitter's Electronic Transmitter Identification Number. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ETIN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:tin | S Σ | 0..1 | Identifier | Tax ID Number Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: TAX
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
name | S Σ | 1..* | HumanName | The name(s) associated with the practitioner
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
family | S Σ | 1..1 | string | Family name (often called 'Surname')
given | Σ | 1..1 | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
telecom | S Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles)
system | S Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | S Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
address | S Σ | 0..* | Address | Address(es) of the practitioner
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
line | S Σ | 0..4 | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST
city | S Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN
state | S Σ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: UspsTwoLetterAlphabeticCodes (7.0.0) (extensible): Two letter USPS alphabetic codes. Example General: OK
postalCode | S Σ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047
country | S Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​state | Base | extensible | USPS Two Letter Alphabetic Codes | 📍7.0.0 | US Core v7.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-16 | error | Practitioner.identifier:NPI | NPI must be 10 digits | `value.matches('^[0-9]{10}$')`
us-core-17 | error | Practitioner.identifier:NPI | NPI check digit must be valid (Luhn algorithm check) | `(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger()) + 24)mod 10=0)`

Differential View

This structure is derived from USCorePractitionerProfile

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  |  | USCorePractitionerProfile(7.0.0) |
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:NPI |  | 0..1 | Identifier | The National Provider Identifier assigned to the provider.
identifier:ETIN | S | 0..1 | Identifier | The submitter's Electronic Transmitter Identification Number. Required Pattern: At least the following
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ETIN
identifier:tin | S | 0..1 | Identifier | Tax ID Number Required Pattern: At least the following
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: TAX
name |  |  |  |
given |  | 1..1 | string | Given names (not always 'first'). Includes middle names
qualification |  |  |  |
code |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: NUCCProviderCodes (3.0.0) (required)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Practitioner.qualification.​code | Base | required | NUCCProviderCodes | 📍3.0.0 | THO v6.5

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | USCorePractitionerProfile(7.0.0) | A person with a formal responsibility in the provisioning of healthcare or related services
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | S Σ | 1..* | Identifier | An identifier for the person as this agent Slice: Unordered, Open by pattern:$this
identifier:NPI | S Σ C | 0..1 | Identifier | The National Provider Identifier assigned to the provider. Constraints: us-core-16, us-core-17 Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://hl7.org/fhir/sid/us-npi
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:ETIN | S Σ | 0..1 | Identifier | The submitter's Electronic Transmitter Identification Number. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: ETIN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier:tin | S Σ | 0..1 | Identifier | Tax ID Number Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 1..1 | CodeableConcept | Description of identifier Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: TAX
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
system |  | 0..1 | uri | The namespace for the identifier value
value |  | 0..1 | string | The value that is unique
period |  | 0..1 | Period | Time period when id is/was valid for use
assigner |  | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use
name | S Σ | 1..* | HumanName | The name(s) associated with the practitioner
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
text | Σ | 0..1 | string | Text representation of the full name
family | S Σ | 1..1 | string | Family name (often called 'Surname')
given | Σ | 1..1 | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
telecom | S Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | S Σ C | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | S Σ | 0..1 | string | The actual contact point details
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point.
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
address | S Σ | 0..* | Address | Address(es) of the practitioner
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | S Σ | 0..4 | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST
city | S Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | S Σ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: UspsTwoLetterAlphabeticCodes (7.0.0) (extensible): Two letter USPS alphabetic codes. Example General: OK
postalCode | S Σ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047
country | S Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
birthDate | Σ | 0..1 | date | The date on which the practitioner was born
photo |  | 0..* | Attachment | Image of the person
qualification |  | 0..* | BackboneElement | Certification, licenses, or training pertaining to the provision of care
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
identifier |  | 0..* | Identifier | An identifier for this qualification for the practitioner
code |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: NUCCProviderCodes (3.0.0) (required)
period |  | 0..1 | Period | Period during which the qualification is valid
issuer |  | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
communication |  | 0..* | CodeableConcept | A language the practitioner can use in patient communication Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Practitioner.address.​type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Practitioner.address.​state | Base | extensible | USPS Two Letter Alphabetic Codes | 📍7.0.0 | US Core v7.0
Practitioner.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Practitioner.qualification.​code | Base | required | NUCCProviderCodes | 📍3.0.0 | THO v6.5
Practitioner.communication | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-16 | error | Practitioner.identifier:NPI | NPI must be 10 digits | `value.matches('^[0-9]{10}$')`
us-core-17 | error | Practitioner.identifier:NPI | NPI check digit must be valid (Luhn algorithm check) | `(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger()) + 24)mod 10=0)`

This structure is derived from USCorePractitionerProfile

Summary

Mandatory: 1 element
Must-Support: 2 elements

Maturity: 2

Other representations of profile: CSV, Excel, Schematron