List of content:

Description:

The OpenIMIS ClaimAdmin object (from the openimis-be-claim_py module was mapped into two separated FHIR resources. Most of the fields are covered by FHIR Partitioner but the relation between openIMIS ClaimAdmin and HealthFacility (FHIR Location) is covered by separate PartitionerRole resource


In order to create the ClaimAdmin object with relation to HealthFacility you need to do the following:

  1. Create base ClaimAdmin using FHIR Practitioner resource

  2. Use FHIR PractitionerRole resource to create a relation

Notes / Assumptions:

FHIR resource:

Fields mapping:

Table legend:

Color

Description


Mapped - the final choice, the most suitable choice


Need to be found the best place for the field (not mapped currently)


Currently not important - not mapped

Practitioner mapping:

The OpenIMIS ClaimAdmin is mapped to FHIR Practitioner without information about the health facility. If you want to create the relation between ClaimAdmin and HealthFacility then you need to first create ClaimAdmin using FHIR Practitioner and next use FHIR PractitionerRole to create the relation.

OpenIMIS field

DB type

FHIR field

Description

Note

STPH

Mapping status

ClaimAdminId

PK

practitioner.identifier




This is the Database ID and should be used only internally

ClaimAdminUUID

uniqueidentifier

practitioner.identifier

The unique identifier used as PK for FHIR



mapped

ClaimAdminCode

nvarchar(8)

practitioner.identifier




mapped

LastName

nvarchar(100)

practitioner.name




mapped

OtherNames

nvarchar(100)

practitioner.name




mapped

DOB

date

practitioner.birthDate




mapped

Phone

varchar(50)

practitioner.telecom




mapped

HFId

FK(tblHF)





see PractitionerRole mapping below

ValidityFrom

datetime


Audit information. More information can be found here (on page 113):
https://github.com/openimis/openimis_docs/blob/master/specs/Web%20application%20-%20Functional%20Design%20Specification.pdf

This information is valuable for OpenIMIS but I probably not required by external systems.



ValidityTo

datetime




LegacyId

int




AuditUserId

int




RowId

timestamp



I'm not sure but this is probably some unique value used to distinguish database rows. Probably not useful for external systems.



EmailId

nvarchar(200)

practitioner.telecom




mapped

PractitionerRole mapping:

OpenIMIS data

FHIR field

Description

Note

STPH

Mapping status

Rest field of Claim Admin

practitioner - Reference(Practitioner)


example of reference (where "{ClaimAdminCode}" is the Claim Admin code):

"Practitioner/{ClaimAdminCode}"


see Practitioner mapping above

HFId

location - Reference(Location)


example of reference (where "{HFCode}" is the health facility code):

"Location/{HFCode}"


mapped

Note:

Endpoint specification:

Practitioner:

Example of endpoint URL:

http://127.0.0.1:8000/api_fhir/Practitioner/

Supported HTTP operation:

PractitionerRole:

Example of endpoint URL:

http://127.0.0.1:8000/api_fhir/PractitionerRole/

Module configuration used by the endpoint:

Configuration key

Description

Default value

default_audit_user_id

default value which will be used for 'audit_user_id' field

"default_audit_user_id": 1,

stu3_fhir_identifier_type_config

configuration of system and codes used to represent the specific types of identifiers

"stu3_fhir_identifier_type_config":{
  "system":"https://hl7.org/fhir/valueset-identifier-type.html",
  "fhir_code_for_imis_db_id_type":"ACSN",
  "fhir_code_for_imis_chfid_type":"SB",
  "fhir_code_for_imis_passport_type":"PPN",
  "fhir_code_for_imis_facility_id_type":"FI",
  "fhir_code_for_imis_claim_admin_code_type":"FILL",
  "fhir_code_for_imis_claim_code_type":"MR",

},

Example JSON representation of content:

Practitioner:

{
    "resourceType": "Practitioner",
    "birthDate": "1992-02-20",
    "id": "433019A5-CE35-4B74-872E-5D7C7990BEF7",
    "identifier": [
        {
            "type": {
                "coding": [
                    {
                        "code": "ACSN",
                        "system": "https://hl7.org/fhir/valueset-identifier-type.html"
                    }
                ]
            },
            "use": "usual",
            "value": "433019A5-CE35-4B74-872E-5D7C7990BEF7"
        },
        {
            "type": {
                "coding": [
                    {
                        "code": "FILL",
                        "system": "https://hl7.org/fhir/valueset-identifier-type.html"
                    }
                ]
            },
            "use": "usual",
            "value": "code4"
        }
    ],
    "name": [
        {
            "family": "lastName",
            "given": [
                "OtherNames"
            ],
            "use": "usual"
        }
    ],
    "telecom": [
        {
            "system": "phone",
            "use": "home",
            "value": "PhoneNumber"
        },
        {
            "system": "email",
            "use": "home",
            "value": "email@email.com"
        }
    ]
}

PractitionerRole:

{
    "resourceType": "PractitionerRole",
    "id": "433019A5-CE35-4B74-872E-5D7C7990BEF7",
    "identifier": [
        {
            "type": {
                "coding": [
                    {
                        "code": "ACSN",
                        "system": "https://hl7.org/fhir/valueset-identifier-type.html"
                    }
                ]
            },
            "use": "usual",
            "value": "433019A5-CE35-4B74-872E-5D7C7990BEF7"
        }
    ],
    "location": [
        {
            "reference": "Location/hfcode"
        }
    ],
    "practitioner": {
        "reference": "Practitioner/code4"
    }
}