Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Current »

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:

ColorDescription

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 fieldFHIR fieldNoteSTPHMapping status
CHFIDpatient
A reference which helps determine the specific insuree (perhaps we can base only on patient chfid).

mapped
ServiceCodebenefitCategoryThe concept used t represent the service code
mapped
ItemCodebenefitSubCategoryThe 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:

  • CREATE - used to request EligibilityService. The FHIR representation is converted to OpenIMIS python EligibilityRequest (link) which is used by the EligibilityService (link). 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 EligibilityService is used to process the request (link).

    • The FHIR EligibilityResponse will be returned as the outcome.. Example of the outcome can be found below.
  • READ - the operation currently not supported
  • UPDATE - the operation currently not supported
  • DELETE - the operation currently not supported

Module configuration used by the endpoint: 

Configuration keyDescriptionDefault value
default_audit_user_iddefault value which will be used for 'audit_user_id' field"default_audit_user_id": 1,
stu3_fhir_eligibility_configconfiguration 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
        }
      ]
    }
  ]
}
  • No labels