description: The US Core Practitioner Profile inherits from the FHIR [Practitioner](https://hl7.org/fhir/R4/practitioner.html) resource; refer to it for scope and usage definitions. This profile sets minimum expectations for the Practitioner resource to record, search, and fetch basic demographics and administrative information about an individual practitioner. It specifies which core elements, extensions, vocabularies, and value sets **SHALL** be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption. package_name: hl7.fhir.us.core derivation: constraint name: USCorePractitionerProfile type: Practitioner elements: identifier: mustSupport: true index: 0 elements: system: {type: uri, mustSupport: true, index: 1} value: {type: string, mustSupport: true, index: 2} required: [value, system] slicing: rules: open discriminator: - {path: $this, type: value} min: 1 slices: NPI: match: {system: 'http://hl7.org/fhir/sid/us-npi'} schema: constraint: us-core-16: {human: NPI must be 10 digits, severity: error, expression: 'value.matches(''^[0-9]{10}$'')'} us-core-17: {human: NPI check digit must be valid (Luhn algorithm check), severity: error, expression: '(((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)'} mustSupport: true pattern: type: Identifier value: {system: 'http://hl7.org/fhir/sid/us-npi'} index: 3 name: mustSupport: true index: 4 elements: family: {type: string, mustSupport: true, index: 5} required: [family] telecom: mustSupport: true index: 6 elements: system: {mustSupport: true, index: 7} value: {mustSupport: true, index: 8} address: short: Address(es) of the practitioner mustSupport: true index: 9 elements: line: {type: string, mustSupport: true, array: true, max: 4, index: 10} city: {type: string, mustSupport: true, index: 11} state: type: string binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state'} mustSupport: true index: 12 postalCode: {type: string, short: US Zip Codes, mustSupport: true, index: 13} country: {type: string, mustSupport: true, index: 14} package_version: 8.0.0-ballot class: profile kind: resource url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner base: http://hl7.org/fhir/StructureDefinition/Practitioner version: 8.0.0-ballot required: [name, identifier]