Implementation Guide
23.1.0 - R4 APIs

Publish Box goes here

Resource Profile: AthenaPractitionerRole - Mappings

Active as of 2022-03-01

Mappings for the athena-practitionerrole-profile resource profile.

Mappings for athenaFlow (http://unknown.org/athenaFlow)

AthenaPractitionerRole
PractitionerRoleFHIRR4_PRACTITIONERROLEVIEW
   idMakeId(%ID%)
   identifier
   identifier (PRACTITIONERID)
      systemgetSiteIdSystem("DOCTORFACILITYID")
      value%PRACTITIONERID%
   identifier (NPI)
      value%NPI%
   activeEquals("TRUE",%ACTIVE%)
   practitionerMakeReference("PRACTITIONER",%PRACTITIONERID%,"Practitioner")
   organizationMakeReference("ORGANIZATION",%ORGANIZATIONID%,"Organization",true)
   codeMakePractitionerRoleConcept(%ROLELIST%)
   specialtyMapConcept(%SPECCODE%,"SPECIALTYEMR")
   locationMakeReference("LOCREG",%LOCATIONID%,"Location")
   endpointMakeReference("USR",%ENDPOINT%,"Endpoint")

Mappings for athenaPractice (http://unknown.org/athenaPractice)

AthenaPractitionerRole
PractitionerRoleFHIRR4_PRACTITIONERROLEVIEW
   idMakeId(%ID%)
   identifier
   identifier (PRACTITIONERID)
      systemgetSiteIdSystem("DOCTORFACILITYID")
      value%DOCTORFACILITYID%
   identifier (NPI)
      value%NPI%
   identifier (TAX)
      value%TAX%
   activeEquals("true",%ACTIVE%)
   practitionerMakeReference("PRACTITIONER",%PRACTITIONERID%,"Practitioner")
   organizationMakeReference("ORGANIZATION",%ORGANIZATIONID%,"Organization",true)
   codeMakePractitionerRoleConcept(%ROLELIST%)
   specialtyMapConcept(%SPECIALTYCODE%,"SPECIALTYCPS")
   locationMakeReference("LOCREG",%LOCATIONID%,"Location")
   endpointMakeReference("USR",%ENDPOINT%,"Endpoint")

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

AthenaPractitionerRole
PractitionerRolePRD (as one example)
   identifierPRD-7 (or XCN.1)
   identifier (PRACTITIONERID)PRD-7 (or XCN.1)
      useN/A
      typeCX.5
         codingC*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   identifier (NPI)PRD-7 (or XCN.1)
      useN/A
      typeCX.5
         codingC*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   identifier (TAX)PRD-7 (or XCN.1)
      useN/A
      typeCX.5
         codingC*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   activeSTF-7
   periodPRD-8/9 / PRA-5.4
   codePRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17
   specialtyPRA-5
   healthcareServiceEDU-2 / AFF-3

Mappings for RIM Mapping (http://hl7.org/v3)

AthenaPractitionerRole
PractitionerRoleEntity. Role, or Act, Role
   meta
      idn/a
      extensionn/a
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   identifier (PRACTITIONERID).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   identifier (NPI).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   identifier (TAX).id
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   active.statusCode
   period.performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime
   practitioner.player
   organization.scoper
   code.code
   specialty.player.HealthCareProvider[@classCode = 'PROV'].code
   location.performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']
   healthcareService.player.QualifiedEntity[@classCode = 'QUAL'].code
   telecom.telecom
   availableTime.effectiveTime
      idn/a
      extensionn/a
      modifierExtensionN/A
      daysOfWeek.effectiveTime
      allDay.effectiveTime
      availableStartTime.effectiveTime
      availableEndTime.effectiveTime
   notAvailable.effectiveTime
      idn/a
      extensionn/a
      modifierExtensionN/A
      descriptionn/a
      during.effectiveTime
   availabilityExceptions.effectiveTime
   endpointn/a

Mappings for ServD (http://www.omg.org/spec/ServD/1.0/)

AthenaPractitionerRole
PractitionerRoleServiceSiteProvider
   identifier./Identifiers
   identifier (PRACTITIONERID)./Identifiers
      system./IdentifierType
      value./Value
      period./StartDate and ./EndDate
      assigner./IdentifierIssuingAuthority
   identifier (NPI)./Identifiers
      system./IdentifierType
      value./Value
      period./StartDate and ./EndDate
      assigner./IdentifierIssuingAuthority
   identifier (TAX)./Identifiers
      system./IdentifierType
      value./Value
      period./StartDate and ./EndDate
      assigner./IdentifierIssuingAuthority
   period(ServD maps Practitioners and Organizations via another entity, so this concept is not available)
   code(ServD maps Practitioners and Organizations via another entity, so this concept is not available)
   specialty./Specialty
   location(ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

AthenaPractitionerRole
PractitionerRole
   identifierFiveWs.identifier
   identifier (PRACTITIONERID)FiveWs.identifier
   identifier (NPI)FiveWs.identifier
   identifier (TAX)FiveWs.identifier
   activeFiveWs.status
   periodFiveWs.done[x]
   locationFiveWs.where[x]