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:
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 |
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 |
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:
http://127.0.0.1:8000/api_fhir/Practitioner/
CREATE - used to create new ClaimAdmin. A list of supported fields can be found in the table which shows the mapping between OpenIMIS and FHIR. Should be used the POST HTTP method and the body as JSON representation (example can be found below).
Note:
the `validity_from` attribute is set as the current value of date when the object is created
the `audit_user_id` - the user which interact with the FHIR API is the `TechnicalUser` (Backend security - Models and Concepts) which hasn't representation in tblUsers. That's why the value of the `audit_user_id` attribute is set based on the following algorithm:
1) Try to get that value from the 'auditUserId' query parameter
2) If missing get that value then use the value from the module configuration (by default 1)
http://127.0.0.1:8000/api_fhir/PractitionerRole/
CREATE - used to create a relation between OpenIMIS ClaimAdmin and HealthFacility. The request should contain a reference to FHIR Location (HealthFacility) and FHIR Practitioner (ClaimAdmin). Should be used the POST HTTP method and the body as JSON representation (example can be found below).
Note:
null
as value of health_facility
model attribute). Should be used the DELETE HTTP method. The requested URL needs to point to a specific object to do that you should add the primary key to URL for instance: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":{ }, |
{ "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" } ] } |
{ "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" } } |