List of content:
...
- 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)
...
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 |
...