openIMIS tblPolicy resource (FHIR Coverage)
List of content:
Description:
The OpenIMIS Policy object (from the openimis-be-policy_py module) was mapped to the FHIR Coverage resource.
Notes / Assumptions:
The endpoint uses the UUID as a primary key
FHIR resources:
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 |
Mapping:
OpenIMIS field | DB type | FHIR field | Description | Note | STPH | Mapping status |
PolicyID | PK | Identifier | Use only PolicyUUID | This is the Database ID and should be used only internally | ||
PolicyUUID | UniqueIdentifier | Identifier | The unique identifier used as PK for FHIR | Added | mapped | |
FamilyID | FK(tblFamilies) | policyHolder | We use the policyHolder to represent the reference to the Patient (head of the family). The insurance code is used to point the appropriate Patient. | (was updated by SD) OK | mapped | |
EnrollDate | date | Extension | The FHIR representation doesn't contain this type of value. If needed we can consider adding the FHIR extension. | Extension | ||
StartDate | date | period | OK | mapped | ||
EffectiveDate | date | Extension | The FHIR representation doesn't contain this type of value. If needed we can consider adding the FHIR extension. | Extension | ||
ExpiryDate | date | period | OK | mapped | ||
PolicyStatus | tinyint | status | Default: 1 | There are some differences between the Policy and FHIR statuses. List of FHIR coverage statuses: | ok | mapped |
PolicyValue | decimal | contract.valuedItem.net | The FHIR representation doesn't contain this type of value. If needed we can consider adding the FHIR extension. | contract.valuedItem.net | ||
ProdID | FK(tblProduct) | grouping | The FHIR representation doesn't contain exactly the same type of value. The coverage classifications can be contained in the "grouping" field and we can join it with a product using grouping.plan. See example: https://hl7.org/fhir/STU3/coverage-example.json.html | I would suggest to check Contract entity => Coverage.contract | ||
OfficerID | FK(tblOfficer) | contract.agent.actor | The FHIR representation doesn't contain this type of value. If needed we can consider adding the FHIR extension. | subscriber | ||
PolicyStage | char(1) | Default: N | The FHIR representation doesn't contain this type of value. If needed we can consider adding the FHIR extension. | Will be added after when the final approach will be established | ||
ValidityFrom | datetime | Audit information. More information can be found here (on page 113): | This information are 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. | Internal field | |||
isOffline | int | I'm not sure but this is probably used to determine the source of row (offline/online app). Probably information isn't valuable for external systems. | Internal field |
Note:
The contract field could be use to map the Insurance Products to the Policies
Endpoint specification:
Coverage endpoint
Example of endpoint URL:
http://localhost:8000/api_fhir/Coverage/
Supported HTTP operation:
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:
http://127.0.0.1:8000/api_fhir/Claim/{PolicyCode}
, where "{PolicyCode}" is the value of the policy primary key. Should be used the GET HTTP method.CREATE - the operation currently not supported
UPDATE - the operation currently not supported
DELETE - the operation currently not supported
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":{ }, |
stu3_fhir_issue_type_config | configuration of system and codes used to represent the specific types of operation outcome | "stu3_fhir_issue_type_config":{ |
stu3_fhir_claim_config | configuration of system and codes used to represent the specific types of claim codes | "stu3_fhir_coverage_config": { |
Example JSON representation of content:
FHIR Coverage (http://127.0.0.1:8000/api_fhir/Coverage/covCode1):
Example JOSN
{
"resourceType": "Coverage",
"contract": [
{
"resourceType": "Contract",
"agent": [
{
"actor": {
"reference": "Practitioner/officerCode"
},
"role": [
{
"text": "Practitioner"
}
]
}
],
"valuedItem": [
{
"net": {
"value": policyValue
}
}
]
}
],
"extension": [
{
"url": "EffectiveDate"
},
{
"url": "EnrollDate",
"valueDate": "2019-08-06"
}
],
"grouping": {
"group": "Product/productUuid",
"groupDisplay": "productCode",
"plan": "Product Name",
"planDisplay": "{
'item': ['itemCode1', 'itemCode2', 'itemCode3'],
'service': ['serviceCode1', 'serviceCode2']
}"
},
"identifier": [
{
"type": {
"coding": [
{
"code": "ACSN",
"system": "https://hl7.org/fhir/valueset-identifier-type.html"
}
]
},
"use": "usual",
"value": "covCode1"
}
],
"period": {
"end": "2020-08-05",
"start": "2019-08-06"
},
"policyHolder": {
"reference": "FamilyReference/familyCode0"
},
"status": "Idle"
}
Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/