FHIR R4 Resource - Location
openIMIS tables - tblHF, tblLocations
Mapping Overview Table
FHIR R4 field | openIMIS field | Notes | mapping status |
---|---|---|---|
tblLocations.LocationId / tblLocations.LocationCode / tblLocations.LocationUUID | Reference to FHIR Location from other resources is done through UUID field |
mapped |
tblLocatons.LocationName |
HFName mapped
LocationName mapped
tblHF.HFLevel
type.coding contains one of ['H', ‘C', 'D']
mapped | |
tblLocations.LocationType |
type.coding contains one of ['R', ‘D', ‘W’, ‘V’ |
] |
type.text is one of ['region', ‘district’, ‘ward’, ‘village’ |
] |
mapped without 'H'
only for HF
mapped | ||
tblLocations.ParentLocationId → tblLocations.LocationUUID | Reference to the parent location. Regions don’t have a parent. |
Composite structure: Region → District → Ward → Village |
mapped |
tblHF.Phone / tblHF.Fax / tblHF.eMail
telecom field contains values that are being mapped for Phone, Fax and Email fields
mapped
Search capabilities
Search by Location/HF Code
You can search a Location or HF based on code by using the identifier
query parameter:
Code Block |
---|
http://localhost:8000/api_fhir_R4r4/Location?identifier=[LocationCode|HFCode] |
Search by Location Level
You can search all the locations or HFs based Locations on level by using the physicaltype
query parameter:
Code Block |
---|
http://localhost:8000/api_fhir_R4r4/Location?physicaltype=[R|D|W|V|H] |
Search all the children of a Location
You can search all the locations or HFs Locations based on the parent location by using the partof
query parameter:
Code Block |
---|
http://localhost:8000/api_fhir_R4r4/Location?partof=[LocationUUID] |
...
http://localhost:8000/api_fhir_R4r4/Location/
Supported HTTP operation:
CREATE - used to create new FHIR Location (HF). 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 `offline` model attribute isn't currently covered by the current API. By the default value is False (can be modified by the module configuration).
the `care_type` model attribute isn't currently covered by the current API. By the default value is "B" - both (can be modified by the module configuration).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 parameter2) If missing get that value then use the value from the module configuration (by default 1)
READ - by default return list of all available resources. To fetch information about a specific object you should add the primary key to URL for instance:
Code Block http://localhost:8000/api_fhir_R4r4/Location/[UUID]
, where "UUID" is the value of the Location /HF UUID field. Should be used the GET HTTP method.
UPDATE - update the value of the specific object. List of supported fields can be found in the table which shows the mapping between openIMIS and FHIR. Should be used the PUT HTTP method and the body as JSON representation (example can be found below). The requested URL needs to point to a specific object to do that you should add the primary key to URL for instance:
Code Block http://localhost:8000/api_fhir_R4r4/Location/[UUID]
where "UUID" is the value of the Location /HF UUID field.
Note:the `offline` model attribute isn't updated
the `care_type` model attribute isn't updated
the UPDATE operation will update the specific row of the database and doesn't create the history of changes (like in the legacy openIMIS)
DELETE - the operation can be used to remove the specific object from the database. 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:
Code Block http://localhost:8000/api_fhir_R4r4/Location/[UUID]
where "UUID" is the value of the Location /HF UUID field.
Note:
- the DELETE operation will permanently remove the row from the database
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, |
R4_fhir_identifier_type_config | configuration of system and codes used to represent the specific types of identifiers | "R4_fhir_identifier_type_config":{ |
R4_fhir_location_role_type | configuration of system and codes used to represent the specific types of location role | "R4_fhir_location_role_type":{ |
R4_fhir_location_physical_type | configurations of system and codes used to represent the specific types of location physical types | "R4_fhir_location_physical_type":{ |
default_value_of_location_offline_attribute | default value for 'offline' attribute used for creating new HF object | "default_value_of_location_offline_attribute": False, |
default_value_of_location_care_type | default value for 'care_type' attribute used for creating new HF object | "default_value_of_location_care_type": "B" |
Example JSON representation of content:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|