National Directory of Healthcare Providers & Services (NDH) Implementation Guide
1.0.0 - STU1 United States of America flag

National Directory of Healthcare Providers & Services (NDH) Implementation Guide, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-us-ndh/ and changes regularly. See the Directory of published versions

Resource Profile: NDH Base Practitioner Profile

Official URL: http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Practitioner Version: 1.0.0
Standards status: Trial-use Computable Name: NdhPractitioner

Copyright/Legal: HL7 International

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

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* USCorePractitionerProfile(6.1.0) A person with a formal responsibility in the provisioning of healthcare or related services
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:us-core-race 0..1 (Complex) US Core Race Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:us-core-ethnicity 0..1 (Complex) US Core ethnicity Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:usage-restriction 0..* Reference(NDH Base Restriction) {c} Usage Restriction
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-usage-restriction
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:endpoint 0..* Reference(NDH Base Endpoint Profile) Endpoint Reference
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-endpoint-reference
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:accessibility 0..* CodeableConcept Accessibility
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-accessibility
Binding: Accessibility Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:digitalcertificate 0..* (Complex) Digital Certificate
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-digitalcertificate
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:rating 0..* (Complex) Rating
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... extension:verification-status 0..1 CodeableConcept NDH Verification Status
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status
Binding: NDH Verification Status Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... identifier:All Slices Content/Rules for all slices
..... Slices for extension Content/Rules for all slices
...... extension:identifier-status 0..1 code NDH Identifier Status
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status
Binding: Identifier Status Value Set (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
..... system SΣ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
..... value SΣ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
..... assigner Σ 0..1 Reference(NDH Base Organization Profile) Organization that issued id (may be just text)
ele-1: All FHIR elements must have a @value or children
.... identifier:NPI SΣC 0..* Identifier An identifier for the person as this agent
ele-1: All FHIR elements must have a @value or children
us-core-16: NPI must be 10 digits
us-core-17: NPI check digit must be valid (Luhn algorithm check)

Required Pattern: At least the following
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
... active Σ 1..1 boolean Whether this practitioner's record is in active use
ele-1: All FHIR elements must have a @value or children
Required Pattern: true
... name SΣ 1..* HumanName The name(s) associated with the practitioner
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


ele-1: All FHIR elements must have a @value or children
.... text SΣ 0..1 string Text representation of the full name
ele-1: All FHIR elements must have a @value or children
.... family SΣ 1..1 string Family name (often called 'Surname')
ele-1: All FHIR elements must have a @value or children
... telecom SΣ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... extension:contactpoint-availabletime 0..* (Complex) NDH Contactpoint Availabletime
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:via-intermediary 0..1 Reference(NDH Base PractitionerRole | NDH Base OrganizationAffiliation Profile | NDH Base Location Profile | NDH Base Organization Profile) Via Intermediary
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... system SΣC 0..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


ele-1: All FHIR elements must have a @value or children
.... value SΣ 0..1 string The actual contact point details
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


ele-1: All FHIR elements must have a @value or children
... address SΣ 0..* Address Address(es) of the practitioner
ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... extension:geolocation S 0..1 (Complex) The absolute geographic location
URL: http://hl7.org/fhir/StructureDefinition/geolocation
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


ele-1: All FHIR elements must have a @value or children
Example General: home
.... line SΣ 0..4 string Street name, number, direction & P.O. Box etc.
ele-1: All FHIR elements must have a @value or children
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city SΣ 0..1 string Name of city, town etc.
ele-1: All FHIR elements must have a @value or children
Example General: Erewhon
.... state SΣ 0..1 string Sub-unit of country (abbreviations ok)
Binding: USPS Two Letter Alphabetic Codes (extensible): Two letter USPS alphabetic codes.


ele-1: All FHIR elements must have a @value or children
.... postalCode SΣ 0..1 string US Zip Codes
ele-1: All FHIR elements must have a @value or children
Example General: 9132
.... country SΣ 0..1 string Country (e.g. can be ISO 3166 2 or 3 letter code)
ele-1: All FHIR elements must have a @value or children
... qualification S 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... extension:practitioner-qualification 0..1 (Complex) NDH Practitioner Qualification
URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-practitioner-qualification
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: Individual Specialties, Degrees, Licenses, and Certificates Value Set (extensible)
ele-1: All FHIR elements must have a @value or children
.... issuer S 0..1 Reference(NDH Base Organization Profile) Organization that regulates and issues the qualification
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Practitioner.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Practitioner.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Practitioner.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Practitioner.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Practitioner.address.stateextensibleUspsTwoLetterAlphabeticCodes (a valid code from https://www.usps.com/)
http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state
Practitioner.qualification.codeextensibleIndividualSpecialtyAndDegreeLicenseCertificateVS
http://hl7.org/fhir/us/ndh/ValueSet/IndividualSpecialtyAndDegreeLicenseCertificateVS
from this IG

Constraints

IdGradePath(s)DetailsRequirements
us-core-16errorPractitioner.identifier:NPINPI must be 10 digits
: value.matches('^[0-9]{10}$')
us-core-17errorPractitioner.identifier:NPINPI 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)

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Search Parameters

Search Parameter defined by the NDH IG

SearchParameter Name Type Example
qualification-issuer reference GET [base]/Practitioner?qualification-issuer.name=Florida License Board
qualification-code token GET [base]/Practitioner?qualification-code=MD
endpoint reference GET [base]/Practitioner?endpoint.identifier={system}|{value}
verification-status token GET [base]/Practitioner?verification-status=complete

Search Parameter defined by FHIR Search Parameter Registry and used by the NDH IG

SearchParameter Name Type Example
active token GET [base]/Practitioner?active=true
name string GET [base]/Practitioner?name=Joe Smith
gender token GET [base]/Practitioner?gender=male
identifier token GET [base]/Practitioner?identifier=12345678

_include Search Parameter

_include Example
Practitioner:endpoint GET [base]/Practitioner?_include= Practitioner:endpoint
Practitioner:qualification-issuer GET [base]/Practitioner?_include=Practitioner:qualification-issuer

_revinclude Search Parameter

_revinclude
PractitionerRole:practitioner