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 | 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 | 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 1 - Idle 2 - active 4 - suspended 8 - Expired | There are some differences between the Policy and FHIR statuses. List of FHIR coverage statuses: 1) active 2) cancelled 3) draft 4) entered-in-error | 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. | |||
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 N - New Policy R - Renewed Policy | 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): https://github.com/openimis/openimis_docs/blob/master/specs/Web%20application%20-%20Functional%20Design%20Specification.pdf | This information are valuable for OpenIMIS but I probably not required by external systems. | Internal field | ||
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