HL7 FHIR® US Core Implementation Guide STU3 Release 3.1.0

This page is part of the US Core (v3.1.0: STU3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

StructureDefinition-us-core-practitioner

This profile sets minimum expectations for the Practitioner resource to record, search, and fetch basic demographics and other administrative information about an individual practitioner. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the US Core-Practitioner profile:

  • Query for an practitioner by name or NPI
  • Reference from other Resources

Mandatory and Must Support Data Elements

The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Practitioner must have:

  1. An identifier which must support an NPI if available.
  2. A name

Profile specific implementation guidance:

Examples

Practitioner-1

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner

Published on Mon Sep 02 00:00:00 AEST 2019 as active by the HL7 US Realm Steering Committee.

This profile builds on Practitioner


Practitioner

Summary of the Mandatory Requirements

  1. One or more Identifiers in Practitioner.identifier
    • which must have an uri value in Practitioner.identifier.system
    • which must have a string value in Practitioner.identifier.value
  2. One or more HumanNames in Practitioner.name
    • which must have a string value in Practitioner.name.family

Summary of the Must Support Requirements

  1. A Identifier in Practitioner.identifier
    • which must have a fixed Practitioner.identifier.system = http://hl7.org/fhir/sid/us-npi
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*
... identifier S1..*(Slice Definition)Slice: Unordered, Open by pattern:$this
.... identifier:All Slices Content/Rules for all slices
..... system S1..1uri
..... value S1..1string
.... identifier:NPI S0..1IdentifierRequired Pattern: At least the following
..... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
... name S1..*HumanName
.... family S1..1string

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner I0..*A person with a formal responsibility in the provisioning of healthcare or related services
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI1..*(Slice Definition)An identifier for the person as this agent
Slice: Unordered, Open by pattern:$this
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
..... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
..... system SΣI1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣI1..1stringThe value that is unique
Example General: 123456
..... period ΣI0..1PeriodTime period when id is/was valid for use
..... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:NPI SΣI0..1IdentifierAn identifier for the person as this agent

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type0..1CodeableConceptDescription of identifier
..... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
... active ΣI0..1booleanWhether this practitioner's record is in active use
... name SΣI1..*HumanNameThe name(s) associated with the practitioner
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text ΣI0..1stringText representation of the full name
.... family SΣI1..1stringFamily name (often called 'Surname')
.... given ΣI0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix ΣI0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix ΣI0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period ΣI0..1PeriodTime period when name was/is in use
... telecom ΣI0..*ContactPointA contact detail for the practitioner (that apply to all roles)
... address ΣI0..*AddressAddress(es) of the practitioner that are not role specific (typically home address)
... gender ΣI0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate ΣI0..1dateThe date on which the practitioner was born
... photo I0..*AttachmentImage of the person
... qualification I0..*BackboneElementCertification, licenses, or training pertaining to the provision of care
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier I0..*IdentifierAn identifier for this qualification for the practitioner
.... code I1..1CodeableConceptCoded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example)
.... period I0..1PeriodPeriod during which the qualification is valid
.... issuer I0..1Reference(Organization)Organization that regulates and issues the qualification
... communication I0..*CodeableConceptA language the practitioner can use in patient communication
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages

doco Documentation for this format

Practitioner

Summary of the Mandatory Requirements

  1. One or more Identifiers in Practitioner.identifier
    • which must have an uri value in Practitioner.identifier.system
    • which must have a string value in Practitioner.identifier.value
  2. One or more HumanNames in Practitioner.name
    • which must have a string value in Practitioner.name.family

Summary of the Must Support Requirements

  1. A Identifier in Practitioner.identifier
    • which must have a fixed Practitioner.identifier.system = http://hl7.org/fhir/sid/us-npi

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*
... identifier S1..*(Slice Definition)Slice: Unordered, Open by pattern:$this
.... identifier:All Slices Content/Rules for all slices
..... system S1..1uri
..... value S1..1string
.... identifier:NPI S0..1IdentifierRequired Pattern: At least the following
..... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
... name S1..*HumanName
.... family S1..1string

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner I0..*A person with a formal responsibility in the provisioning of healthcare or related services
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI1..*(Slice Definition)An identifier for the person as this agent
Slice: Unordered, Open by pattern:$this
.... identifier:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
..... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
..... system SΣI1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
..... value SΣI1..1stringThe value that is unique
Example General: 123456
..... period ΣI0..1PeriodTime period when id is/was valid for use
..... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:NPI SΣI0..1IdentifierAn identifier for the person as this agent

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... use0..1codeusual | official | temp | secondary | old (If known)
..... type0..1CodeableConceptDescription of identifier
..... system1..1uriThe namespace for the identifier value
Fixed Value: http://hl7.org/fhir/sid/us-npi
..... value0..1stringThe value that is unique
..... period0..1PeriodTime period when id is/was valid for use
..... assigner0..1Reference(Organization)Organization that issued id (may be just text)
... active ΣI0..1booleanWhether this practitioner's record is in active use
... name SΣI1..*HumanNameThe name(s) associated with the practitioner
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text ΣI0..1stringText representation of the full name
.... family SΣI1..1stringFamily name (often called 'Surname')
.... given ΣI0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix ΣI0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix ΣI0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period ΣI0..1PeriodTime period when name was/is in use
... telecom ΣI0..*ContactPointA contact detail for the practitioner (that apply to all roles)
... address ΣI0..*AddressAddress(es) of the practitioner that are not role specific (typically home address)
... gender ΣI0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate ΣI0..1dateThe date on which the practitioner was born
... photo I0..*AttachmentImage of the person
... qualification I0..*BackboneElementCertification, licenses, or training pertaining to the provision of care
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier I0..*IdentifierAn identifier for this qualification for the practitioner
.... code I1..1CodeableConceptCoded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example)
.... period I0..1PeriodPeriod during which the qualification is valid
.... issuer I0..1Reference(Organization)Organization that regulates and issues the qualification
... communication I0..*CodeableConceptA language the practitioner can use in patient communication
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron


Quick Start

Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.

  • See the General Guidance section for additional rules and expectations when a server requires status parameters.
  • See the General Guidance section for additional guidance on searching for multiple patients.

Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported.:

  1. SHALL support searching for a practitioner by a string match of any part of name using the name search parameter:

    GET [base]/Practitioner?name=[string]

    Example:

    1. GET [base]/Practitioner?name=Smith

    Implementation Notes: Fetches a bundle of all Practitioner resources matching the name (how to search by string)

  2. SHALL support searching a practitioner by an identifier such as an NPI using the identifier search parameter:

    GET [base]/Practitioner?identifier={[system]}|[code]

    Example:

    1. GET [base]/Practitioner?identifier=http://hl7.org/fhir/sid/us-npi|97860456

    Implementation Notes: Fetches a bundle containing any Practitioner resources matching the identifier (how to search by token)