List of content:

Description:

The EligibilityRequest can be used via a provider to checks for valid insurance coverage (to fetch information about the Patient (IMIS Insuree) eligibility). More info: http://hl7.org/fhir/STU3/financial-module.html#order

In the current version are mapped fields required by uspServiceItemEnquiry database stored procedure (SP) which is used by python EligibilityService (link).

Only the HTTP POST the method is currently exposed because of EligibilityRequest haven't database model representation and it is impossible to fetch information about specific EligibilityRequest.

The endpoint expects the FHIR EligibilityRequest representation as a body of the POST request and will return the EligibilityResponse as an outcome.

FHIR resource:

EligibilityRequest

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

EligibilityRequest mapping:

The FHIR EligibilityRequest mapping covers all field required by the OpenIMIS EligibilityRequest (link)

OpenIMIS field

FHIR field

Note

STPH

Mapping status

CHFID

patient

A reference which helps determine the specific insuree (perhaps we can base only on patient chfid).


mapped

ServiceCode

benefitCategory

The concept used t represent the service code


mapped

ItemCode

benefitSubCategory

The concept used t represent the item code

ItemCode should be on the same level as ServiceCode

In FHIR v4, the EligibilityRequest has been change to CoverageEligibilityRequest and has multiple items with same level. 

mapped

EligibilityRequest strategy change is mapped depending on the configuration set in openimis-be-api_fhir_py/api_fhir/apps.py file

:

"stu3_fhir_eligibility_config": {
        "fhir_serializer": "EligibilityRequestSerializer",
        "fhir_item_code": "item",
        "fhir_service_code": "service",
        "fhir_total_admissions_code": "total_admissions",
        "fhir_total_visits_code": "total_visits",
        "fhir_total_consultations_code": "total_consultations",
        "fhir_total_surgeries_code": "total_surgeries",
        "fhir_total_deliveries_code": "total_deliveries",
        "fhir_total_antenatal_code": "total_antenatal",
        "fhir_consultation_amount_code": "consultation_amount",
        "fhir_surgery_amount_code": "surgery_amount",
        "fhir_delivery_amount_code": "delivery_amount",
        "fhir_hospitalization_amount_code": "hospitalization_amount",
        "fhir_antenatal_amount_code": "antenatal_amount",
        "fhir_service_left_code": "service_left",
        "fhir_item_left_code": "item_left",
        "fhir_is_item_ok_code": "is_item_ok",
        "fhir_is_service_ok_code": "is_service_ok",
        "fhir_balance_code": "balance",
        "fhir_balance_default_category": "medical",
        "fhir_active_policy_status": ("A",)
    },


In "stu3_fhir_eligibility_config" field, fhir_serializer need to be set that determines the ElibilityRequest strategy.

"EligibilityRequestSerializer" is a default fhir_serializer.

EligibilityResponse mapping:

see subpage: EligibilityResponse

Endpoint specification:

Example of endpoint URL:

http://127.0.0.1:8000/api_fhir/EligibilityRequest/

Supported HTTP operation:

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,

stu3_fhir_eligibility_config

configuration of system and codes used to represent the specific codes used by eligibility endpoint

"stu3_fhir_eligibility_config":{
  "fhir_item_code":"item",
  "fhir_service_code":"service",
  "fhir_total_admissions_code":"total_admissions",
  "fhir_total_visits_code":"total_visits",
  "fhir_total_consultations_code":"total_consultations",
  "fhir_total_surgeries_code":"total_surgeries",
  "fhir_total_deliveries_code":"total_deliveries",
  "fhir_total_antenatal_code":"total_antenatal",
  "fhir_consultation_amount_code":"consultation_amount",
  "fhir_surgery_amount_code":"surgery_amount",
  "fhir_delivery_amount_code":"delivery_amount",
  "fhir_hospitalization_amount_code":"hospitalization_amount",
  "fhir_antenatal_amount_code":"antenatal_amount",
  "fhir_service_left_code":"service_left",
  "fhir_item_left_code":"item_left",
  "fhir_is_item_ok_code":"is_item_ok",
  "fhir_is_service_ok_code":"is_service_ok"
}

Example JSON representation of content:

EligibilityRequest:

{
    "resourceType": "EligibilityRequest",
    "patient": {
        "reference": "Patient/chfid"
    },
    "benefitCategory": {
    	"coding": [
                    {
                        "code": "service"
                    }
                ],
        "text": "service_code"
    },
    "benefitSubCategory": {
    	"coding": [
                    {
                        "code": "item"
                    }
                ],
        "text": "item_code"
    }
}

EligibilityResponse:

{
  "resourceType": "EligibilityResponse",
  "insurance": [
    {
      "benefitBalance": [
        {
          "category": {
            "text": "total_admissions"
          },
          "financial": [
            {
              "allowedUnsignedInt": 1
            }
          ]
        },
        {
          "category": {
            "text": "total_visits"
          },
          "financial": [
            {
              "allowedUnsignedInt": 3
            }
          ]
        },
        {
          "category": {
            "text": "total_consultations"
          },
          "financial": [
            {
              "allowedUnsignedInt": 23
            }
          ]
        },
        {
          "category": {
            "text": "total_surgeries"
          },
          "financial": [
            {
              "allowedUnsignedInt": 5
            }
          ]
        },
        {
          "category": {
            "text": "total_deliveries"
          },
          "financial": [
            {
              "allowedUnsignedInt": 2
            }
          ]
        },
        {
          "category": {
            "text": "total_antenatal"
          },
          "financial": [
            {
              "allowedUnsignedInt": 11
            }
          ]
        },
        {
          "category": {
            "text": "consultation_amount"
          },
          "financial": [
            {
              "allowedMoney": {
                "value": 123.21
              }
            }
          ]
        },
        {
          "category": {
            "text": "surgery_amount"
          },
          "financial": [
            {
              "allowedMoney": {
                "value": 12.11
              }
            }
          ]
        },
        {
          "category": {
            "text": "delivery_amount"
          },
          "financial": [
            {
              "allowedMoney": {
                "value": 26.0
              }
            }
          ]
        },
        {
          "category": {
            "text": "hospitalization_amount"
          },
          "financial": [
            {
              "allowedMoney": {
                "value": 42.0
              }
            }
          ]
        },
        {
          "category": {
            "text": "antenatal_amount"
          },
          "financial": [
            {
              "allowedMoney": {
                "value": 59.14
              }
            }
          ]
        },
        {
          "category": {
            "text": "service_left"
          },
          "financial": [
            {
              "allowedUnsignedInt": 12
            }
          ]
        },
        {
          "category": {
            "text": "item_left"
          },
          "financial": [
            {
              "allowedUnsignedInt": 1
            }
          ]
        },
        {
          "category": {
            "text": "is_service_ok"
          },
          "excluded": false
        },
        {
          "category": {
            "text": "is_item_ok"
          },
          "excluded": true
        }
      ]
    }
  ]
}