Argonaut Provider Directory CI Build

This page is part of the Argonaut Provider Directory Guide (v0.1.0: Release 1 Draft) based on FHIR v1.9.0. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition-argo-practitioner

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.

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 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 (NPI preferred)
  2. A name
  3. An associated role and organization
  4. A list of qualifications

Profile specific implementation guidance:

  • none

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-practitioner

This profile builds on Practitioner.

This profile was published on Wed Nov 09 00:00:00 AEDT 2016 as a draft by Argonaut Project.

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

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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*Argonaut Provider Directory Practitioner
... identifier S1..*Identifier
.... system S1..1uriNPI could be used as the identifier system in the US.
Example' General': NPI preferred, Tax id is allowed, Local id is allowed in addition to 'authoritative' identifier
.... value S1..1string
... name S1..1HumanName
.... family S1..1string

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner I0..*Argonaut Provider Directory 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' General': http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
Example' General': NPI preferred, Tax id is allowed, Local id is allowed in addition to 'authoritative' identifier
.... value S1..1stringThe value that is unique
Example' General': 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..1stringFamily 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 I0..*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 0..1Reference(Organization)Organization where the roles are performed
.... code ∑0..1CodeableConceptRoles which this practitioner may perform
Binding: PractitionerRole (example)
.... specialty ∑0..*CodeableConceptSpecific specialty of the practitioner
Binding: PractitionerSpecialty (example)
.... identifier ∑0..*IdentifierBusiness Identifiers that are specific to a role/location
.... telecom ∑0..*ContactPointContact details that are specific to the role/location/service
.... period ∑0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
.... location 0..*Reference(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 0..*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

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

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*Argonaut Provider Directory Practitioner
... identifier S1..*Identifier
.... system S1..1uriNPI could be used as the identifier system in the US.
Example' General': NPI preferred, Tax id is allowed, Local id is allowed in addition to 'authoritative' identifier
.... value S1..1string
... name S1..1HumanName
.... family S1..1string

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner I0..*Argonaut Provider Directory 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' General': http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
Example' General': NPI preferred, Tax id is allowed, Local id is allowed in addition to 'authoritative' identifier
.... value S1..1stringThe value that is unique
Example' General': 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..1stringFamily 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 I0..*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 0..1Reference(Organization)Organization where the roles are performed
.... code ∑0..1CodeableConceptRoles which this practitioner may perform
Binding: PractitionerRole (example)
.... specialty ∑0..*CodeableConceptSpecific specialty of the practitioner
Binding: PractitionerSpecialty (example)
.... identifier ∑0..*IdentifierBusiness Identifiers that are specific to a role/location
.... telecom ∑0..*ContactPointContact details that are specific to the role/location/service
.... period ∑0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
.... location 0..*Reference(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 0..*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

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

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations.

Summary of Argonaut Search Criteria for StructureDefinition-argo-practitioner


Clients

  • A client has connected to a server and fetched a practitioner by identifier using GET [base]/Practitioner?identifier=[system]|[code]
  • A client has connected to a server and fetched a practitioner by name using GET [base]/Practitioner?family=[string]&given=[string]

Servers

  • A server is capable of returning a practitioner by identifier using GET [base]/Practitioner?identifier=[system]|[code]
  • A server is capable of returning a practitioner by name using GET [base]/Practitioner?family=[string]&given=[string]

  • A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here}
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.

**GET [base]/Practitioner?identifier=[system] [code]**

Support: Mandatory

Implementation Notes: Search based on practitioner identifier (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Practitioner?identifier=http://build.fhir.org/sid/us-npi%7C1497860456


GET [base]/Practitioner?family=[string]&given=[string]

Support: Mandatory

Implementation Notes: Search based on text name (how to search by string).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Practitioner?family=Smith&given=John