...
...
List of content:
Table of Contents |
---|
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 can also consider using the subscriberId and put there code of the family head.
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