Practitioner provider documented primary

Individual healthcare provider. One FHIR Practitioner maps to one OMOP provider row. The provider table stores identity (name, NPI, gender, year_of_birth) from Practitioner; specialty and care_site are enriched by PractitionerRole. Clinical event tables carry provider_id FK back to this row.

Conversion profile omop-practitioner-provider
A FHIR instance converts to provider iff it validates against this profile.
Path Card Type Binding / Fixed Comment
Practitioner.identifier 1..*MS At least one identifier required. NPI (system http://hl7.org/fhir/sid/us-npi) is preferred for provider.npi.
Practitioner.name 1..*MS At least one name. First entry becomes provider.provider_name.
Practitioner.gender MS fhir/administrative-genderrequired
Practitioner.birthDate MS Year portion becomes provider.year_of_birth.
ViewDefinition (Stage 1 flattener) omop-practitioner-provider
10 columns · resource Practitioner
column name FHIRPath type
id Practitioner.id id
provider_name Practitioner.name[0] HumanName
npi Practitioner.identifier.where(system='http://hl7.org/fhir/sid/us-npi').value string
specialty Practitioner.qualification[0].code CodeableConcept
managing_organization_id Practitioner.address[0] Address
year_of_birth Practitioner.birthDate date
gender Practitioner.gender code
gender_code Practitioner.gender code
specialty_text Practitioner.qualification[0].code.coding[0].code string
performer_identifier Practitioner.identifier (best: NPI > first) string

Fields (13)

Vocabularies

gender

Source Display Concept ID Concept Name
male Male 8507 MALE
female Female 8532 FEMALE
other Other 8521 OTHER
unknown Unknown 8551 UNKNOWN
(absent) Absent 0 No matching concept

Edge Cases

Missing name
provider_name = null. OMOP allows null. Use provider_source_value (identifier) for downstream traceability.
No NPI identifier
npi = null. Non-US providers or systems without NPI. Use first available identifier for provider_source_value.
Multiple identifiers
Pick NPI first (system = http://hl7.org/fhir/sid/us-npi), then first identifier. omoponfhir uses identifierFirstRep (line 388).
No PractitionerRole for Practitioner
specialty_concept_id = 0, care_site_id = null. Provider row is valid but sparse. fhir-x-omop falls back to Practitioner.qualification[0].code for specialty (line 31).
Practitioner.gender absent
gender_concept_id = 0, gender_source_value = null. Per OMOP Themis convention, absent gender should be 0, not 8551.
Practitioner referenced but not in bundle
Deferred resolution. Create stub provider with provider_source_value = reference string, populate later. NACHC defaults provider_id to 1.
Duplicate Practitioner (same identifier, different resources)
Deduplicate by identifier value. omoponfhir searches providerSourceValue column to find existing provider (lines 153-168).
Name formatting inconsistency
Different implementations use different formats: omoponfhir = "family, given", fhir-x-omop = "given family". Pick one and document.
DEA number needed
No standard FHIR element. Check Practitioner.identifier for a DEA system URI or qualification entries.

Reference Implementations