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:

ColorDescription

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 fieldDB typeFHIR fieldDescriptionNoteSTPHMapping status
ClaimAdminIdPKpractitioner.identifier


This is the Database ID and should be used only internally
ClaimAdminUUIDuniqueidentifierpractitioner.identifierThe unique identifier used as PK for FHIR

mapped
ClaimAdminCodenvarchar(8)practitioner.identifier


mapped
LastNamenvarchar(100)practitioner.name


mapped
OtherNamesnvarchar(100)practitioner.name


mapped
DOBdatepractitioner.birthDate


mapped
Phonevarchar(50)practitioner.telecom


mapped
HFIdFK(tblHF)



see PractitionerRole mapping below
ValidityFromdatetime
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.


ValidityTodatetime


LegacyIdint


AuditUserIdint


RowIdtimestamp

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

EmailIdnvarchar(200)practitioner.telecom


mapped

PractitionerRole mapping:

OpenIMIS dataFHIR fieldDescriptionNoteSTPHMapping status
Rest field of Claim Adminpractitioner - Reference(Practitioner)

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

"Practitioner/{ClaimAdminCode}"


see Practitioner mapping above
HFIdlocation - 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 keyDescriptionDefault value
default_audit_user_iddefault value which will be used for 'audit_user_id' field"default_audit_user_id": 1,
stu3_fhir_identifier_type_configconfiguration 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"
    }
}