openIMIS tblClaimAdmin resource (FHIR Practitioner / PractitionerRole)
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:
Create base ClaimAdmin using FHIR Practitioner resource
Use FHIR PractitionerRole resource to create a relation
Notes / Assumptions:
The endpoint uses the UUID as a primary key
The current version of mapping will be focused on aspects of claiming.
In the current version of the openimis-be-claim_py (0.0.7) missing services layer which can be used to perform operations (CRUD - Create, Read, Update, Delete) on ClaimAdmin entities. That's why the current version of API use directly database layer manager for managing the ClaimAdmin objects. This leads to differences between operation between legacy and new OpenIMIS, for instance, the update operation doesn't create the database row with a history of the object and the delete operation permanently remove the object from the database.
Practitioner resource needs to be created before PractitionerRole can be created because of the PractitionerRole resource has reference to the Practitioner resource
The DELETE operation on PractitionerRole removing only the relation between ClaimAdmin and HealthFacility
FHIR resource:
Practitioner- used to represent base fields of Claim Administrator (without relation with health facility- FHIR Location)
PractitionerRole- used to represent a relation between base ClaimAdmin (FHIR Practitioner) and Health facility (FHIR Location)
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): | 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 |