Practitioner Profile

This Practitioner profile is part of the set of resource profiles supported by the API Server used with the athenaPractice 12.3 and athenaFlow 9.12 products. It further describes read and search capabilities of these products. Note: The create and update operations are NOT supported for this resource.

Overview

This resource records the person who is directly or indirectly involved in the provisioning of healthcare. For ambulatory clinics, this is typically the physician or nurse attending to a patient.

Scope and Usage

This profile is used to define the content that will be returned by the API Server in response to requests to access Practitioner resources. All elements listed in the differential profile view are Supported, which means that the API Server is capable of supplying these fields from the product database when they have been populated via the product or its APIs.

Source

The Practitioner resource describes healthcare providers who use or indirectly interact (e.g., through referrals) with the athenaPractice or athenaFlow products. It is derived from the DoctorFacility and SERVPROV tables in athenaFlow and the USR, SERVPROV and PERSON tables in athenaFlow. Specific detail can be found in the Mappings section below.

Supported Operations

The operations supported by this resource are listed below.

Read Operation

Read operations are executed as specified in the HL7 FHIR RESTful API implementation definition. To read a Practitioner, an application shall perform an HTTP GET, specifying the identifier of the resources being retrieved.

GET [base]/fhir/Practitioner/[id]{?_format=[json|xml]&_summary=[true|data]}

Read Operation Parameters

ParameterDescription
[base]Specifies the base URL of the FHIR Server, e.g., https://cpsapisandbox.virenceaz.com:9443/demoAPIServer
[id]Specifies the identifier of the Practitioner resource to retrieve
[_format]Specifies the format of the output and may be xml or json. When present, the _format value overrides the value of the Accept header in the request.
[_summary]Filters the output to include only summary elements (_summary=true) or to omit the generated narrative (_summary=data). Note: If the generated html narrative for the resource is not going to be used by the call, using _summary=data provides slightly improved API response times.

Read Operation HTTP Response Codes

Response CodeDescription
200 OKThe requested resource was found and is contained within the body of the HTTP response.
401 UnauthorizedAuthorization is required for this request, and either the Authorization header is missing or the supplied user credentials in the Authorization header are not valid or have expired. The body of the HTTP response will contain an OperationOutcome resource that indicates that Authorization is required.
404 Not FoundThe requested resource does not exist. The body of the HTTP response will contain an OperationOutcome resource that indicates that the resource could not be found.
500 Server ErrorThe server may return other error codes to indicate other error conditions. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.

Search Operation

Search operations are executed as specified in the HL7 FHIR RESTful API implementation definition. To search for Practitioner resources, an application shall perform an HTTP GET, specifying the query parameters associated with the resource.

GET [base]/fhir/Practitioner?{search-parameters}{&_count=[max-results]&_format=[json|xml]&_summary=[true|text|data]}

Search Operation Parameters

ParameterDescription
[base]Specifies the base URL of the FHIR Server, e.g., https://cpsapisandbox.virenceaz.com:9443/demoAPIServer
[_count]Specifies the maximum number of search results to return in a single query. Note: The count of results does not limit the number of additional resources returned via the _include parameter. No more than max-results Practitioner resources which match the search criteria will be returned. The API Server has default and maximum limits for the value that can be specified for this parameter. These limits may vary depending upon the client application vendors participation level in the AthenaHealth Partner program. Note: The API Server support the HL7 FHIR Paging capability.
[_format]Specifies the format of the output and may be xml or json. When present, the _format value overrides the value of the Accept header in the request.
[_summary]Filters the output to include only narrative elements (_summary=text), summary elements (_summary=true) or to omit the generated narrative (_summary=data). Note: If the generated html narrative for the resource is not going to be used by the call, using _summary=data provides improved API response times, especially when returning larger result sets.
_id (token )The ID of the resource
address-city (string )A city specified in an address
address-country (string )A country specified in an address
address-postalcode (string )A postalCode specified in an address
address-state (string )A state specified in an address
family (string )A portion of the family name
given (string )A portion of the given name
identifier (token )A practitioner's Identifier
location (reference )One of the locations at which this practitioner provides care
organization (reference )The identity of the organization the practitioner represents / acts on behalf of
phone (token )A value in a phone contact
role (token )The practitioner can perform this role at for the organization
specialty (token )The practitioner has this specialty at an organization
telecom (token )The value in any kind of contact

Search Operation HTTP Response Codes

Response CodeDescription
200 OKThe query was performed and any results found are contained within the body of the HTTP response. Note: The search API will return 200 OK when the query itself is successful, regardless of whether or not any matching results were found.
401 UnauthorizedAuthorization is required for this request, and either the Authorization header is missing or the supplied user credentials in the Authorization header are not valid or have expired. The body of the HTTP response will contain an OperationOutcome resource that indicates that Authorization is required.
500 Server ErrorThe server may return other error codes to indicate other error conditions. The body of the HTTP response will contain an OperationOutcome resource that indicates the nature of the error.

Profile Content

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/practitioner-profile

Information about an individual or animal receiving health care services

Name Flags Card. Type Description & Constraints
.. Practitioner0..*Practitioner Information about an individual or animal receiving health care services
... meta0..1Meta Metadata about the resource
... implicitRules?! 0..1uri A set of rules under which this content was created
... language0..1code Language of the resource content

Binding: IETF BCP-47 (required )
... textI0..1Narrative Text summary of the resource, for human interpretation
... contained0..*Resource Contained, inline Resources
... extension0..*Extension Additional Content defined by implementations
... modifierExtension?!0..*Extension Extensions that cannot be ignored
... identifierIdentifier A identifier for the person as this agent

Slice: Unordered, Closed, by type
... identifierS 1..*Identifier A identifier for the person as this agent
... identifier0..1Identifier A identifier for the person as this agent
.... extension0..*Extension Additional Content defined by implementations
.... use?! 1..1code usual | official | temp | secondary (If known)

Binding: IdentifierUse (required )
.... typeS 0..1CodeableConcept Description of identifier

Binding: Identifier Type Codes (extensible )
..... extension0..*Extension Additional Content defined by implementations
..... coding1..1Coding Code defined by a terminology system
...... extension0..*Extension Additional Content defined by implementations
...... system1..1uri Identity of the terminology system

Fixed Value: http://hl7.org/fhir/v2/0203
...... version0..1string Version of the system - if relevant
...... code1..1code Symbol in syntax defined by the system

Fixed Value: PN
...... display0..1string Representation defined by the system
...... userSelected0..1boolean If this coding was chosen directly by the user
..... text0..1string Plain text representation of the concept
.... systemS 1..1uri The namespace for the identifier

Example: http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
.... valueS 1..1string The value that is unique

Example: 123456
.... period0..1Period Time period when id is/was valid for use
.... assigner0..1Reference (Organization )Organization that issued id (may be just text)
... identifier0..1Identifier A identifier for the person as this agent
.... extension0..*Extension Additional Content defined by implementations
.... use?! 1..1code usual | official | temp | secondary (If known)

Binding: IdentifierUse (required )
.... typeS 0..1CodeableConcept Description of identifier

Binding: Identifier Type Codes (extensible )
..... extension0..*Extension Additional Content defined by implementations
..... coding1..1Coding Code defined by a terminology system
...... extension0..*Extension Additional Content defined by implementations
...... system1..1uri Identity of the terminology system

Fixed Value: http://hl7.org/fhir/v2/0203
...... version0..1string Version of the system - if relevant
...... code1..1code Symbol in syntax defined by the system

Fixed Value: NPI
...... display0..1string Representation defined by the system
...... userSelected0..1boolean If this coding was chosen directly by the user
..... text0..1string Plain text representation of the concept
.... systemS 1..1uri The namespace for the identifier

Fixed Value: http://hl7.org/fhir/sid/us-npi
.... valueS 1..1string The value that is unique

Example: 123456
.... period0..1Period Time period when id is/was valid for use
.... assigner0..1Reference (Organization )Organization that issued id (may be just text)
... identifier0..1Identifier A identifier for the person as this agent
.... extension0..*Extension Additional Content defined by implementations
.... use?! 1..1code usual | official | temp | secondary (If known)

Binding: IdentifierUse (required )
.... typeS 0..1CodeableConcept Description of identifier

Binding: Identifier Type Codes (extensible )
..... extension0..*Extension Additional Content defined by implementations
..... coding1..1Coding Code defined by a terminology system
...... extension0..*Extension Additional Content defined by implementations
...... system1..1uri Identity of the terminology system

Fixed Value: http://hl7.org/fhir/v2/0203
...... version0..1string Version of the system - if relevant
...... code1..1code Symbol in syntax defined by the system

Fixed Value: TIN
...... display0..1string Representation defined by the system
...... userSelected0..1boolean If this coding was chosen directly by the user
..... text0..1string Plain text representation of the concept
.... systemS 1..1uri The namespace for the identifier

Fixed Value: http://hl7.org/fhir/sid/us-tin
.... valueS 1..1string The value that is unique

Example: 123456
.... period0..1Period Time period when id is/was valid for use
.... assigner0..1Reference (Organization )Organization that issued id (may be just text)
... activeS 0..1boolean Whether this practitioner's record is in active use
... nameS 0..1HumanName A name associated with the person
.... extension0..*Extension Additional Content defined by implementations
.... use?! 0..1code usual | official | temp | nickname | anonymous | old | maiden

Binding: NameUse (required )
.... text0..1string Text representation of the full name
.... family0..1string Family name (often called 'Surname')
.... givenstring Given names (not always 'first'). Includes middle names

Slice: Ordered, Closed, by given
.... given0..2string Given names (not always 'first'). Includes middle names
.... given0..1string Given names (not always 'first'). Includes middle names
.... given0..1string Given names (not always 'first'). Includes middle names
.... prefix0..*string Parts that come before the name
.... suffix0..*string Parts that come after the name
.... period0..1Period Time period when name was/is in use
... telecomContactPoint A contact detail for the practitioner

Slice: Unordered, Closed, by type use
... telecomS 0..2ContactPoint A contact detail for the practitioner
... telecom0..1ContactPoint A contact detail for the practitioner
.... extension0..*Extension Additional Content defined by implementations
.... systemS I1..1code phone | fax | email | pager | other

Binding: ContactPointSystem (required )

Fixed Value: phone
.... valueS 1..1string The actual contact point details
.... use?! S0..1code home | work | temp | old | mobile - purpose of this contact point

Binding: ContactPointUse (required )

Fixed Value: work
.... rank0..1positiveInt Specify preferred order of use (1 = highest)
.... period0..1Period Time period when the contact point was/is in use
... telecom0..1ContactPoint A contact detail for the practitioner
.... extension0..*Extension Additional Content defined by implementations
.... systemS I1..1code phone | fax | email | pager | other

Binding: ContactPointSystem (required )

Fixed Value: phone
.... valueS 1..1string The actual contact point details
.... use?! S0..1code home | work | temp | old | mobile - purpose of this contact point

Binding: ContactPointUse (required )

Fixed Value: mobile
.... rank0..1positiveInt Specify preferred order of use (1 = highest)
.... period0..1Period Time period when the contact point was/is in use
... addressS 0..1Address Addresses for the individual
.... extension0..*Extension Additional Content defined by implementations
.... use?! 0..1code home | work | temp | old - purpose of this address

Binding: AddressUse (required )

Example: home
.... type0..1code postal | physical | both

Binding: AddressType (required )

Example: both
.... text0..1string Text representation of the address

Example: 137 Nowhere Street, Erewhon 9132
.... linestring Street name, number, direction & P.O. Box etc.

Slice: Ordered, Closed, by line

Example: 137 Nowhere Street
.... line0..2string Street name, number, direction & P.O. Box etc.

Example: 137 Nowhere Street
.... line0..1string Street name, number, direction & P.O. Box etc.

Example: 137 Nowhere Street
.... line0..1string Street name, number, direction & P.O. Box etc.

Example: 137 Nowhere Street
.... city0..1string Name of city, town etc.

Example: Erewhon
.... district0..1string District name (aka county)

Example: Madison
.... state0..1string Sub-unit of country (abbreviations ok)
.... postalCode0..1string Postal code for area

Example: 9132
.... country0..1string Country (can be ISO 3166 3 letter code)
.... period0..1Period Time period when address was/is in use

Example: {"start":"2010-03-23","end":"2010-07-01"}
... genderS 0..1code male | female | other | unknown

Binding: AdministrativeGender (required )
... birthDateS 0..1date The date on which the practitioner was born
... photo0..*Attachment Image of the person
... practitionerRole0..*BackboneElement Roles/organizations the practitioner is associated with
.... extension0..*Extension Additional Content defined by implementations
.... modifierExtension?!0..*Extension Extensions that cannot be ignored
.... managingOrganization0..1Reference (Organization )Organization where the roles are performed
.... role0..1CodeableConcept Roles which this practitioner may perform

Binding: PractitionerRole (example )
.... specialty0..*CodeableConcept Specific specialty of the practitioner

Binding: PractitionerSpecialty (example )
.... period0..1Period The period during which the practitioner is authorized to perform in these role(s)
.... location0..1Reference (Location )The location(s) at which this practitioner provides care
.... healthcareService0..*Reference (HealthcareService )The list of healthcare services that this worker provides for this role's Organization/Location(s)
... qualification0..*BackboneElement Qualifications obtained by training and certification
.... extension0..*Extension Additional Content defined by implementations
.... modifierExtension?!0..*Extension Extensions that cannot be ignored
.... identifier0..*Identifier An identifier for this qualification for the practitioner
.... code1..1CodeableConcept Coded representation of the qualification

Binding: ANZSCO -- Australian and New Zealand Standard Classification of Occupations, 2013, Version 1.2 (example )
.... period0..1Period Period during which the qualification is valid
.... issuer0..1Reference (Organization )Organization that regulates and issues the qualification
... communication0..*CodeableConcept A language the practitioner is able to use in patient communication

Binding: IETF BCP-47 (required )


 

athenaPractice Mapping

The mappings in this section represent the how data stored within athenaPractice is served through the product's APIs. athenaPractice and athenaFlow share a common schema for patient clinical data and only one is shown when these are the same. Use of this information is subject to the API Server Terms and Conditions .

Practitioner Profile
PractitionerPractitioner-ProfileFHIR_PRACTITIONERVIEW
 ├ idIDMakeId(%ID%)
 ├ identifierPractitioner Identifiers
 ├ identifierPVID
  │ ├ systemgetSiteIdSystem("DOCTORFACILITYID")
  │ └ value%DOCTORFACILITYID%
 ├ identifierNPI
  │ └ value%NPI%
 ├ identifierTIN
  │ └ value%TIN%
 ├ activeSTATUS%STATUS%
  │ ├ familyLASTNAME%LASTNAME%
  │ ├ givenGiven Names
  │ ├ givenFIRSTNAME%FIRSTNAME%
  │ └ givenMIDDLENAME%MIDDLENAME%
 ├ telecomPhone Numbers
 ├ telecomWORKPHONE
  │ └ value%WORKPHONE%
 ├ telecomFAXPHONE
  │ ├ value%FAXPHONE%
  │ ├ lineAddress Lines
  │ ├ lineADDRESS1%ADDRESS1%
  │ ├ lineADDRESS2%ADDRESS2%
  │ ├ cityCITY%CITY%
  │ ├ stateSTATE%STATE%
  │ ├ postalCodeZIP%ZIP%
  │ └ countryCOUNTRY%COUNTRY%
 ├ genderSEX
 └ birthDateDATEOFBIRTH
   ├ managingOrganizationMANAGINGORGANIZATIONMakeReference("ORGANIZATION",%ORGANIZATIONID%,"Organization")
   ├ roleROLEMakePractitionerRoleConcept(%ROLELIST%)
   ├ specialtySPECALITYMapConcept(%SPECIALTYCODE%,"SPECIALTYCPS")
   └ locationLOCATIONMakeReference("LOCREG",%LOCATIONID%,"Location")

athenaFlow Mapping

The mappings in this section represent the how data stored within athenaFlow is served through the product's APIs. Use of this information is subject to the API Server Terms and Conditions .

Practitioner Profile
PractitionerPractitioner-ProfileFHIR_PRACTITIONERVIEW
 ├ idIDMakeId(%ID%)
 ├ identifierPractitioner Identifiers
 ├ identifierPVID
  │ ├ systemgetSiteIdSystem("DOCTORFACILITYID")
  │ └ value%ID%
 ├ identifierNPI
  │ └ value%NPI%
 ├ identifierTIN
 ├ activeSTATUS%STATUS%
  │ ├ familyLASTNAME%LASTNAME%
  │ ├ givenGiven Names
  │ ├ givenFIRSTNAME%FIRSTNAME%
  │ └ givenMIDDLENAME%MIDDLENAME%
 ├ telecomPhone Numbers
 ├ telecomWORKPHONE
  │ └ value%WORKPHONE%
 ├ telecomFAXPHONE
  │ ├ value%FAXPHONE%
  │ ├ lineAddress Lines
  │ ├ lineADDRESS1%ADDRESS1%
  │ ├ lineADDRESS2%ADDRESS2%
  │ ├ cityCITY%CITY%
  │ ├ stateSTATE%STATE%
  │ ├ postalCodeZIP%ZIP%
  │ └ countryCOUNTRY%COUNTRY%
 ├ genderSEX
 └ birthDateDATEOFBIRTH
   ├ managingOrganizationMANAGINGORGANIZATIONMakeReference("ORGANIZATION",%ORGANIZATIONID%,"Organization")
   ├ roleROLEMakePractitionerRoleConcept(%ROLELIST%)
   ├ specialtySPECALITYMapConcept(%SPECCODE%,"SPECIALTYEMR")
   └ locationLOCATIONMakeReference("LOCREG",%LOCATIONID%,"Location")