F
US-Core CI Build

D.4.1 StructureDefinition: DAF-core-pract

This profile sets minimum expectations for the Practitioner resource to record [content] associated with a patient. 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 DAF-Practitioner profile:

  • Query for an practitioner by name or specialty
  • Query for a practitioner within a city or state
  • Query for a practitiioner by orgnaizational relationships
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and an example are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Practitioner must have:

  1. An identifier (NPI preferred)
  2. A name
  3. An associated role and organization
  4. A list of qualifications

Note to Balloters:

  1. Is Practioner.role sufficient or is the new resource PractitionerRole required?
  2. Should all Practitioners require an endpoint reference?

Profile specific implementation guidance:

  • none
Example: Practitioner Example: example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/daf-core-pract

This profile builds on Practitioner.

This profile was published on Mon Aug 01 00:00:00 UTC 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

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

This structure is derived from Practitioner

Complete Summary of the Mandatory Requirements

  1. At least one (non-local) identifier in Practitioner.identifier
    • NPI preferred
    • Tax id is allowed
    • Local id is allowed in addition to ‘authoritative’ identifier
  2. One name in Practitioner.name
  3. At least one practitioner role in Practitioner.role which must include a

This structure is derived from Practitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner I0..*DAF Practitioner
... id 0..1idLogical id of this artifact
... meta 0..1MetaMetadata about the resource
... implicitRules ?!0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..*IdentifierA identifier for the person as this agent
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type 0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system S1..1uriNPI could be used as the identifier system in the US.
Example: NPI preferred, Tax id is allowed, Local id is allowed in addition to 'authoritative' identifier
.... value S1..1stringThe value that is unique
Example: 123456
.... period 0..1PeriodTime period when id is/was valid for use
.... assigner 0..1Reference(Organization)Organization that issued id (may be just text)
... active 0..1booleanWhether this practitioner's record is in active use
... name S1..1HumanNameThe name(s) associated with the practitioner
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text 0..1stringText representation of the full name
.... family S1..*stringFamily name (often called 'Surname')
.... given 0..*stringGiven names (not always 'first'). Includes middle names
.... prefix 0..*stringParts that come before the name
.... suffix 0..*stringParts that come after the name
.... period 0..1PeriodTime period when name was/is in use
... telecom 0..*ContactPointA contact detail for the practitioner (that apply to all roles)
... address 0..*AddressAddress(es) of the practitioner that are not role specific (typically home address)
... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate 0..1dateThe date on which the practitioner was born
... photo 0..*AttachmentImage of the person
... role SI1..*BackboneElementRoles/organizations the practitioner is associated with
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... organization S0..1Reference(Profile daf-core-organization)Organization where the roles are performed
.... code S1..1CodeableConceptRoles which this practitioner may perform
Binding: DAF Provider Role (NUCC) (required)
.... specialty S0..*CodeableConceptSpecific specialty of the practitioner
Binding: DAF Provider Speciality (NUCC) (required)
.... identifier 0..*IdentifierBusiness Identifiers that are specific to a role/location
.... telecom S1..*ContactPointContact details that are specific to the role/location/service
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system SI1..1codephone | fax | email | pager | other
Binding: ContactPointSystem (required)
..... value S1..1stringThe actual contact point details
..... use ?!0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
..... rank 0..1positiveIntSpecify preferred order of use (1 = highest)
..... period 0..1PeriodTime period when the contact point was/is in use
.... period 0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
.... location S0..*Reference(Profile daf-core-location)The location(s) at which this practitioner provides care
.... healthcareService 0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
.... endpoint S0..*Reference(Endpoint)Technical endpoints providing access to services operated for the PractitonerRole
... qualification I0..*BackboneElementQualifications obtained by training and certification
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... identifier 0..*IdentifierAn identifier for this qualification for the practitioner
.... code 1..1CodeableConceptCoded representation of the qualification
Binding: ANZSCO -- Australian and New Zealand Standard Classification of Occupations, 2013, Version 1.2 (example)
.... period 0..1PeriodPeriod during which the qualification is valid
.... issuer 0..1Reference(Organization)Organization that regulates and issues the qualification
... communication 0..*CodeableConceptA language the practitioner is able to use in patient communication
Binding: Common Languages (extensible)

doco Documentation for this format

yet to be done: Xml template

yet to be done: Json template

This structure is derived from Practitioner

Summary

Mandatory: 10 elements
Must-Support: 14 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Practitioner

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner I0..*DAF Practitioner
... id 0..1idLogical id of this artifact
... meta 0..1MetaMetadata about the resource
... implicitRules ?!0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..*IdentifierA identifier for the person as this agent
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type 0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system S1..1uriNPI could be used as the identifier system in the US.
Example: NPI preferred, Tax id is allowed, Local id is allowed in addition to 'authoritative' identifier
.... value S1..1stringThe value that is unique
Example: 123456
.... period 0..1PeriodTime period when id is/was valid for use
.... assigner 0..1Reference(Organization)Organization that issued id (may be just text)
... active 0..1booleanWhether this practitioner's record is in active use
... name S1..1HumanNameThe name(s) associated with the practitioner
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text 0..1stringText representation of the full name
.... family S1..*stringFamily name (often called 'Surname')
.... given 0..*stringGiven names (not always 'first'). Includes middle names
.... prefix 0..*stringParts that come before the name
.... suffix 0..*stringParts that come after the name
.... period 0..1PeriodTime period when name was/is in use
... telecom 0..*ContactPointA contact detail for the practitioner (that apply to all roles)
... address 0..*AddressAddress(es) of the practitioner that are not role specific (typically home address)
... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate 0..1dateThe date on which the practitioner was born
... photo 0..*AttachmentImage of the person
... role SI1..*BackboneElementRoles/organizations the practitioner is associated with
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... organization S0..1Reference(Profile daf-core-organization)Organization where the roles are performed
.... code S1..1CodeableConceptRoles which this practitioner may perform
Binding: DAF Provider Role (NUCC) (required)
.... specialty S0..*CodeableConceptSpecific specialty of the practitioner
Binding: DAF Provider Speciality (NUCC) (required)
.... identifier 0..*IdentifierBusiness Identifiers that are specific to a role/location
.... telecom S1..*ContactPointContact details that are specific to the role/location/service
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... system SI1..1codephone | fax | email | pager | other
Binding: ContactPointSystem (required)
..... value S1..1stringThe actual contact point details
..... use ?!0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
..... rank 0..1positiveIntSpecify preferred order of use (1 = highest)
..... period 0..1PeriodTime period when the contact point was/is in use
.... period 0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
.... location S0..*Reference(Profile daf-core-location)The location(s) at which this practitioner provides care
.... healthcareService 0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
.... endpoint S0..*Reference(Endpoint)Technical endpoints providing access to services operated for the PractitonerRole
... qualification I0..*BackboneElementQualifications obtained by training and certification
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... identifier 0..*IdentifierAn identifier for this qualification for the practitioner
.... code 1..1CodeableConceptCoded representation of the qualification
Binding: ANZSCO -- Australian and New Zealand Standard Classification of Occupations, 2013, Version 1.2 (example)
.... period 0..1PeriodPeriod during which the qualification is valid
.... issuer 0..1Reference(Organization)Organization that regulates and issues the qualification
... communication 0..*CodeableConceptA language the practitioner is able to use in patient communication
Binding: Common Languages (extensible)

doco Documentation for this format

XML Template

yet to be done: Xml template

JSON Template

yet to be done: Json template

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

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Practitioner.languageCommon LanguagesextensibleCommon Languages
Practitioner.identifier.useIdentifierUserequiredIdentifierUse
Practitioner.identifier.typeIdentifier Type CodesextensibleIdentifier Type Codes
Practitioner.name.useNameUserequiredNameUse
Practitioner.genderAdministrativeGenderrequiredAdministrativeGender
Practitioner.role.codeDAF Provider Role (NUCC)requiredDAF Provider Role (NUCC)
Practitioner.role.specialtyDAF Provider Speciality (NUCC)requiredDAF Provider Speciality (NUCC)
Practitioner.role.telecom.systemContactPointSystemrequiredContactPointSystem
Practitioner.role.telecom.useContactPointUserequiredContactPointUse
Practitioner.qualification.codeANZSCO -- Australian and New Zealand Standard Classification of Occupations, 2013, Version 1.2exampleANZSCO -- Australian and New Zealand Standard Classification of Occupations, 2013, Version 1.2
Practitioner.communicationCommon LanguagesextensibleCommon Languages

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2PractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1PractitionerIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4PractitionerIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3PractitionerIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
ele-1Practitioner.roleAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ele-1Practitioner.qualificationAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
.