$customHeader
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 14 Next »

List of content:

Description:

In the current version are mapped fields required by uspUpdateClaimFromPhone database stored procedure (SP) which is used by python claim service to submitting the claim.

Only GET and POST HTTP methods are currently exposed because the current version is focused on the claim submitting. The GET operation can be used to fetch information about all claim (or a specific one) and the POST operation can be used to submit the claim (note: response for the request is the OperationOutcome on failure and ClaimResponse on successful).

Notes / Assumptions:

  • The current version of mapping will be focused on aspects of claiming.
  • To fully mapped the claim probably need to be used two different FHIR resources. Claim - contains base information about the claim (request), ClaimResponse - contains information which is the outcome of processing claim (response).
  • The claim code is used (for Claim and ClaimResponse resource) as the resource primary key because of the uspUpdateClaimFromPhone didn't return the value of id a new claim

FHIR resources:

RequestClaim
ResponseClaimResponse

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

Claim mapping:

OpenIMIS fieldDB typeRequest or responseFHIR fieldDescriptionNoteSTPHMapping status
ClaimIDPKRequestclaim.Identifierthis isn't required, most important is the ClaimCode (see below) but FHIR claim can have multiple identifiersI would include ClaimUUID into the Claim instead of ClaimID.This is the Database ID and should be used only internally
ClaimUUIDuniqueidentifierResponseclaim.Identifier

The unique identifier used as PK for FHIR

Will be added when will be available in the python claim module
mapped
InsureeIDFK(tblInsuree)Requestclaim.patient - Reference(Patient)The subject of the Products and ServicesWe can represent the insuree as the FHIR patient resource but the most important is claim.patient.identifierclaim.patient.identifiermapped
ClaimCodenvarcharRequestclaim.IdentifierClaim number
OKmapped
DateFromsmalldatetimeRequest
claim.billablePeriod

Period for charge submission

OKmapped
DateTosmalldatetimeRequest

Period for charge submission

mapped
ICDIDFK(tblICDCodes)Requestclaim.diagnosisList of DiagnosisIf ICD is some fixed set of coded value then we can use the CodeableCondept to describe this. The sequence field can be used to create an order of diagnosis.OKmapped
ClaimStatustinyintResponseclaimResponse.outcomeDefault value: 2;
1 - rejected
2 - entered
4 - checked
8 - processed
16 - valuated
Used the FHIR codeable concept (code = imis_status, text = displayed status)
Can be also a combination of claimResponse.status and claimResponse.outcome but limited in values. Extension required?
mapped
AdjusterFK(tblUsers)Requestclaim.provider - Reference(Practitioner)Responsible providerI'm not sure if this field is used, all records created by me have null values in that field.Only reference to openIMIS user.
AdjustmentntextResponseclaimResponse.payment.adjustmentReason
Used FHIR adjustmentReason because of the IMIS Adjustment is text.claimResponse.payment.adjustmentmapped
ClaimeddecimalRequestclaim.total

Total claim cost

OKmapped
ApproveddecimalResponseclaimResponse.totalBenefit

OKmapped
ReinsureddecimalResponse

If needed we can create the FHIR extension.

ValuateddecimalResponse

If needed we can create the FHIR extension.

DateClaimeddateRequestclaim.createddefault: getDate()
OKmapped
DateProcessedsmalldatetimeResponseclaimResponse.payment.date
claimResponse.created is used is the request date

If different endpoint to claimResponse, claimResponse.created will be the request date. 

Maybe claimResponse.payment.date

mapped
Feedbackbit

default value: 0
No need. To see if replaced by FeedbackID
FeedbackIDFK(tblFeedback)ResponseclaimResponse.communicationRequestdefault value: 0
claimResponse.communicationRequestmapped
ExplanationntextRequestclaim.information.valueStringAdditional Data or supporting information
OKmapped
FeedbackStatustinyint-
default value: 1
1 - idle
2 - not selected
4 - selected for feedback
8 - delicered
16 - by passed
else select status
This field probably is used only by the OpenIMIS and isn't requirement by external systems.Only used internally
ReviewStatustinyint-
default value: 1
1 - idle
2 - not selected
4 - selected for review
8 - reviewed
16 - by passed
else select status
This field probably is used only by the OpenIMIS and isn't requirement by external systems.
Only used internally
ApprovalStatustinyint-
default value: 1;Probably not used field

RejectionReasontinyintResponseclaimResponse.errordefault value: 0
In Web App we have the rejection reason for each Item and Service in a Claim. We should provide these reasons. mapped
ValidityFromdatetime-
Audit information. More information can be found here (on page 113):
Web application - Functional Design Specification.pdf
This information are valuable for OpenIMIS but probably not required by external systems.


ValidityTodatetime-


LegacyIDint-


AuditUserIDint-


ValidityFromReviewdatetimeResponse

I'm not sure if this information are valuable for external systems. If needed we can try to use the claimResponse.processNote or add the FHIR extensions.
I don't think this information is valuable for external systems. It's only used internally. 


ValidityToReviewdatetimeResponse


AuditUserIDReviewintResponse


RowIDtimestamp-

I'm not sure but this is probably some unique value used to distinguish database rows. Probably not useful for external systems.Not used by external systems. 
HFIDFK(tblHF)Requestclaim.facility - Reference(Location)Servicing Facility

Could also be Claim.organization 



RunIDFK(tblBatchRun)-

This is probably useful only for the internal system not for external systems. If needed add the FHIR extension can be considered.Not used by external systems.
AuditUserIDSubmitintResponse

I'm not sure if this information are valuable for external systems. If needed we can try to use the claimResponse.processNote or add the FHIR extensions.


AuditUserIDProcessintResponse



SubmitStampdatetimeResponse



ProcessStampdatetimeResponse



RemunerateddecimalResponse

If needed we can create the FHIR extension.

GuaranteeIdnvarcharRequestclaim.information.valueStringAdditional Data or supporting informationI couldn't find a better place for information about the guarantee Id. The FHIR claim can consider multiple information elements. We can use the information category to distinguish the type of information.Claim.insurance.preAuthRef
ClaimAdminIdFK(tblClaimAdmin)Requestclaim.enterer - Reference(PractitionerRole)Author
This information is present in the API token?
ICDID1intRequestclaim.diagnosisdiagnosis 1 from List of DiagnosisIf ICD is some fixed set of coded value then we can use the CodeableCondept to describe this. The sequence field can be used to create an order of diagnosis.OK
ICDID2intRequestclaim.diagnosisdiagnosis 2 from List of DiagnosisIf ICD is some fixed set of coded value then we can use the CodeableCondept to describe this. The sequence field can be used to create an order of diagnosis.OK
ICDID3intRequestclaim.diagnosisdiagnosis 3 from List of DiagnosisIf ICD is some fixed set of coded value then we can use the CodeableCondept to describe this. The sequence field can be used to create an order of diagnosis.Ok
ICDID4intRequestclaim.diagnosisdiagnosis 4 from List of DiagnosisIf ICD is some fixed set of coded value then we can use the CodeableCondept to describe this. The sequence field can be used to create an order of diagnosis.OK
VisitTypecharRequestclaim.typeE - emergency
R - referrals
O - other
"" - select type

OK
ClaimCategorychar-

I didn't find the logic related to this field.I don't think is used externally.

Note:

  • The claim items (tblClaimItems) and services (tblClaimServices) are represented as an FHIR "claim.item".
  • Additional in the "insurance" field we can contain information about policies related to insuree (using Reference(Coverage)).

ClaimItem mapping:

see subpage: openIMIS tblClaimItems resource (FHIR Claim / ClaimResponse)

ClaimService mapping:

see subpage: openIMIS tblClaimServices resource (FHIR Claim / ClaimResponse)

Endpoint specification:

Claim endpoint

Example of endpoint URL:

http://127.0.0.1:8000/api_fhir/Claim/

Supported HTTP operation:

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_identifier_type_configconfiguration of system and codes used to represent the specific types of identifiers

"stu3_fhir_identifier_type_config":{
  "system":"https://hl7.org/fhir/valueset-identifier-type.html",
  "fhir_code_for_imis_db_id_type":"ACSN",
  "fhir_code_for_imis_chfid_type":"SB",
  "fhir_code_for_imis_passport_type":"PPN",
  "fhir_code_for_imis_facility_id_type":"FI",
  "fhir_code_for_imis_claim_admin_code_type":"FILL",
  "fhir_code_for_imis_claim_code_type":"MR",

},

stu3_fhir_issue_type_configconfiguration of system and codes used to represent the specific types of operation outcome"stu3_fhir_issue_type_config":{
  "fhir_code_for_exception":"exception",
  "fhir_code_for_not_found":"not-found",
  "fhir_code_for_informational":"informational"
},
stu3_fhir_claim_configconfiguration of system and codes used to represent the specific types of claim codes

"stu3_fhir_claim_config":{
  "fhir_claim_information_guarantee_id_code":"guarantee_id",
  "fhir_claim_information_explanation_code":"explanation",
  "fhir_claim_item_explanation_code":"item_explanation",
  "fhir_claim_item_code":"item",
  "fhir_claim_service_code":"service",
  "fhir_claim_status_rejected_code":"rejected",
  "fhir_claim_status_entered_code":"entered",
  "fhir_claim_status_checked_code":"checked",
  "fhir_claim_status_processed_code":"processed",
  "fhir_claim_status_valuated_code":"valuated",
  "fhir_claim_item_status_code":"claim_item_status",
  "fhir_claim_item_status_passed_code":"passed",
  "fhir_claim_item_status_rejected_code":"rejected",
  "fhir_claim_item_general_adjudication_code":"general",
  "fhir_claim_item_rejected_reason_adjudication_code":"rejected_reason",

},

ClaimResponse endpoint:

Example of endpoint URL:

http://127.0.0.1:8000/api_fhir/ClaimResponse/

Supported HTTP operation:

  • CREATE - the operation not supported

  • 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/ClaimResponse/{claimcode}
    , where "{claimcode}" is the value of the primary key (claim code in case of that resource). Should be used the GET HTTP method.
  • UPDATE - the operation not supported
  • DELETE - the operation not supported

Module configuration used by the endpoint: 

Configuration keyDescriptionDefault value
iso_date_formatiso format used for FHIR date representation "iso_date_format": "%Y-%m-%d", 
iso_datetime_formatiso format used for FHIR datetime representation"iso_datetime_format": "%Y-%m-%dT%H:%M:%S",
stu3_fhir_identifier_type_config


configuration of system and codes used to represent the specific types of identifiers

"stu3_fhir_identifier_type_config":{
  "system":"https://hl7.org/fhir/valueset-identifier-type.html",
  "fhir_code_for_imis_db_id_type":"ACSN",
  "fhir_code_for_imis_chfid_type":"SB",
  "fhir_code_for_imis_passport_type":"PPN",
  "fhir_code_for_imis_facility_id_type":"FI",
  "fhir_code_for_imis_claim_admin_code_type":"FILL",
  "fhir_code_for_imis_claim_code_type":"MR",

},

stu3_fhir_claim_configconfiguration of system and codes used to represent the specific types of claim codes

"stu3_fhir_claim_config":{
  "fhir_claim_information_guarantee_id_code":"guarantee_id",
  "fhir_claim_information_explanation_code":"explanation",
  "fhir_claim_item_explanation_code":"item_explanation",
  "fhir_claim_item_code":"item",
  "fhir_claim_service_code":"service",
  "fhir_claim_status_rejected_code":"rejected",
  "fhir_claim_status_entered_code":"entered",
  "fhir_claim_status_checked_code":"checked",
  "fhir_claim_status_processed_code":"processed",
  "fhir_claim_status_valuated_code":"valuated",
  "fhir_claim_item_status_code":"claim_item_status",
  "fhir_claim_item_status_passed_code":"passed",
  "fhir_claim_item_status_rejected_code":"rejected",
  "fhir_claim_item_general_adjudication_code":"general",
  "fhir_claim_item_rejected_reason_adjudication_code":"rejected_reason",

},

stu3_fhir_communication_request_configconfiguration of system and codes used to represent the specific codes for IMIS feedback attributes

"stu3_fhir_communication_request_config":{
  "fhir_care_rendered_code":"care_rendered",
  "fhir_payment_asked_code":"payment_asked",
  "fhir_drug_prescribed_code":"drug_prescribed",
  "fhir_drug_received_code":"drug_received",
  "fhir_asessment_code":"asessment"
}

Example JSON representation of content:

FHIR Claim (http://127.0.0.1:8000/api_fhir/Claim/clCode1):

{
   "resourceType":"Claim",
   "billablePeriod":{
      "end":"2019-06-12T00:00:00",
      "start":"2019-06-01T00:00:00"
   },
   "created":"2019-06-12T00:00:00",
   "diagnosis":[
      {
         "diagnosisCodeableConcept":{
            "coding":[
               {
                  "code":"ICD_CD"
               }
            ]
         },
         "sequence":1,
         "type":[
            {
               "text":"icd_0"
            }
         ]
      }
   ],
   "enterer":{
      "reference":"Practitioner/1234abcd"
   },
   "facility":{
      "reference":"Location/12345678"
   },
   "id":"code",
   "identifier":[
      {
         "type":{
            "coding":[
               {
                  "code":"ACSN",
                  "system":"https://hl7.org/fhir/valueset-identifier-type.html"
               }
            ]
         },
         "use":"usual",
         "value":"E9B13CFA-62D0-4B2C-B08B-477265B1587D"
      },
      {
         "type":{
            "coding":[
               {
                  "code":"MR",
                  "system":"https://hl7.org/fhir/valueset-identifier-type.html"
               }
            ]
         },
         "use":"usual",
         "value":"code"
      }
   ],
   "information":[
      {
         "category":{
            "text":"guarantee_id"
         },
         "sequence":1,
         "valueString":"guarantee_id"
      },
      {
         "category":{
            "text":"explanation"
         },
         "sequence":2,
         "valueString":"explanation"
      },
      {
         "category":{
            "text":"item_explanation"
         },
         "sequence":3,
         "valueString":"item_explanation"
      },
      {
         "category":{
            "text":"item_explanation"
         },
         "sequence":4,
         "valueString":"service_explanation"
      }
   ],
   "item":[
      {
         "category":{
            "text":"item"
         },
         "informationLinkId":[
            3
         ],
         "quantity":{
            "value":4
         },
         "sequence":1,
         "service":{
            "text":"iCode"
         },
         "unitPrice":{
            "value":21.1
         }
      },
      {
         "category":{
            "text":"service"
         },
         "informationLinkId":[
            4
         ],
         "quantity":{
            "value":3
         },
         "sequence":2,
         "service":{
            "text":"sCode"
         },
         "unitPrice":{
            "value":16.1
         }
      }
   ],
   "patient":{
      "reference":"Patient/TEST_CHF_ID"
   },
   "total":{
      "value":42
   },
   "type":{
      "text":"E"
   }
}

FHIR ClaimResponse (http://127.0.0.1:8000/api_fhir/ClaimResponse/clCode1/):

{
  "resourceType": "ClaimResponse",
  "communicationRequest": [
    {
      "reference": "CommunicationRequest/F719B223-83A7-44A1-8F21-7B80E5B9FDD0"
    }
  ],
  "error": [
    {
      "code": {
        "coding": [
          {
            "code": "1"
          }
        ]
      }
    }
  ],
  "id": "code",
  "identifier": [
    {
      "type": {
        "coding": [
          {
            "code": "ACSN",
            "system": "https://hl7.org/fhir/valueset-identifier-type.html"
          }
        ]
      },
      "use": "usual",
      "value": "E9B13CFA-62D0-4B2C-B08B-477265B1587D"
    },
    {
      "type": {
        "coding": [
          {
            "code": "MR",
            "system": "https://hl7.org/fhir/valueset-identifier-type.html"
          }
        ]
      },
      "use": "usual",
      "value": "code"
    }
  ],
  "item": [
    {
      "adjudication": [
        {
          "amount": {
            "value": 2
          },
          "category": {
            "text": "general"
          },
          "reason": {
            "coding": [
              {
                "code": "1",
                "system": "passed"
              }
            ]
          },
          "value": 4
        },
        {
          "category": {
            "text": "rejected_reason"
          },
          "reason": {
            "coding": [
              {
                "code": "1"
              }
            ]
          }
        }
      ],
      "noteNumber": [
        1
      ],
      "sequenceLinkId": 1
    },
    {
      "adjudication": [
        {
          "amount": {
            "value": 4
          },
          "category": {
            "text": "general"
          },
          "reason": {
            "coding": [
              {
                "code": "2",
                "system": "rejected"
              }
            ]
          },
          "value": 3
        },
        {
          "category": {
            "text": "rejected_reason"
          },
          "reason": {
            "coding": [
              {
                "code": "3"
              }
            ]
          }
        }
      ],
      "noteNumber": [
        2
      ],
      "sequenceLinkId": 2
    }
  ],
  "outcome": {
    "coding": [
      {
        "code": "1"
      }
    ],
    "text": "rejected"
  },
  "payment": {
    "adjustmentReason": {
      "text": "adjustment"
    },
    "date": "2010-11-16T00:00:00"
  },
  "processNote": [
    {
      "number": 1,
      "text": "item justification"
    },
    {
      "number": 2,
      "text": "service justification"
    }
  ],
  "totalBenefit": {
    "value": 214.25
  }
  "request": {
    "reference": "Claim/clCode1"
  }
}

FHIR OperationOutcome - failure:

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "code": "exception",
            "details": {
                "text": "Duplicate Claim Code"
            },
            "severity": "error"
        }
    ]
}
  • No labels