Build a Provider List

The Practitioner resource is populated with individual and organizational providers from multiple HIEBus sources, including medical claims, electronic medical records, clinical documents, ADT messages, and pharmacy fills. A Provider List can be built by compiling the Practitioner resources included with other resources, in particular Encounters, ExplanationOfBenefits, Labs, (MedicationRequest, MedicationDispense), and Orders/Referrals.

Querying for Provider List by Includes

It is not possible to query the Practitioner resource with a Patient filter. Therefore to build a list of providers for a patient/member, query multiple relevant resources with the appropriate _include parameters:

  • Encounter?_include=Encounter:practitioner
  • ExplanationOfBenefits?_include=ExplanationOfBenefit:provider
  • DiagnosticReport?_include=DiagnosticReport:basedon
    • which gives a Reference(ServiceRequest)
  • Observation?_include=Observation:basedon
    • which gives a Reference(ServiceRequest)
  • ServiceRequest?_include=ServiceRequest:requester
  • MedicationDispense?_include=MedicationDispense:authorizingPrescription
    • which gives a Reference(MedicationRequest)
  • MedicationAdministration?_include=MedicationAdministration:request
    • which gives a Reference(MedicationRequest)
  • MedicationRequest?_include=MedicationRequest:requester

Rolling Up Individual Providers Across Resources

Use the providerID since NPI is not always present or reliable. This ID can be found in the Practitioner resource with
?identifierTypeSystem=http://careevolution.com/fhir/IdentifierType&identifierTypeCode=providerid

Real-World Data Considerations

  • NPI - Practitioner.identifier will contain NPI if provided from the source (with system= http://hl7.org/fhir/sid/us-npi)
  • Individual vs. Organizational Providers - The FHIR payload does not distinguish between individual providers and organizations/facilities; HIEBus does not differentiate between type 1 or type 2 NPIs (though all NPIs are unique and so can be queried against NPPES by Consumer system).
  • Name - Practitioner.name will contain either individual or organization/facility (with an organization/facility name usually in the family name field).
  • Specialty - Practitioner.extension('http://careevolution.com/fhirextensions#practitioner-role') will contain provider specialty when available from source data.
  • Primary Provider/Precedence - To identify a ‘primary’ provider you may want to use the most recent attending provider, followed by admitting or consulting providers, depending on the use case. Encounter.participant.type and ExplanationOfBenefit.careteam.role will indicate one of these roles when available from source data.