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 8 Next »

List of content:

Description:

Currently, the OpenIMIS Claim is mapped only partially because the current version is focused on claim submission. 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 of 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 (response for the request is the OperationOutcome which notice about success or failure).

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 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.Identifier
this 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.mapped
ClaimUUIDUKResponseclaim.Identifier



InsureeIDFK(tblInsuree)Requestclaim.patient - Reference(Patient)
We can represent the insuree as the FHIR patient resource but the most important is claim.patient.identifierclaim.patient.identifiermapped
ClaimCodenvarcharRequestclaim.Identifier

OKmapped
DateFromsmalldatetimeRequest
claim.billablePeriod


OKmapped
DateTosmalldatetimeRequest

mapped
ICDIDFK(tblICDCodes)Requestclaim.diagnosis
If 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.processNoteDefault value: 2;
1 - rejected
2 - entered
4 - checked
8 - processed
16 - valuated
We can try to use the process note or create the FHIR extension (if needed) because the FHIR ClaimResponse STU3 haven't the type field.

Alternatively we can use the claimResponse.status but then only 4 of 5 statuses can be mapped.
Can be also a combination of claimResponse.status and claimResponse.outcome but limited in values. Extension required?

AdjusterFK(tblUsers)Requestclaim.provider - Reference(Practitioner)
I'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.disposition

claimResponse.payment.adjustment
ClaimeddecimalRequestclaim.total

OKmapped
ApproveddecimalResponseclaimResponse.totalBenefit

OK
ReinsureddecimalResponse

If needed we can create the FHIR extension.

ValuateddecimalResponse

If needed we can create the FHIR extension.

DateClaimeddateRequestclaim.createddefault: getDate()
OKmapped
DateProcessedsmalldatetimeResponseclaimResponse.created

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

Maybe claimResponse.payment.date


Feedbackbit

default value: 0
This is probably used only by OpenIMIS and I don't know if this is valuable for external systems.
External system might want to know if claim is pending for feedback. 
No need. To see if replaced by FeedbackID
FeedbackIDFK(tblFeedback)

default value: 0claimResponse.communicationRequest
ExplanationntextRequestclaim.information.valueString
I couldn't find a better place for information about the explanation. The FHIR claim can consider multiple information elements. We can use the information category to distinguish the type of 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: 0I'm not sure if that field is used.In Web App we have the rejection reason for each Item and Service in a Claim. We should provide these reasons. 
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)

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.valueString
I 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)

This information is present in the API token?
ICDID1intRequestclaim.diagnosis
If 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.diagnosis
If 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.diagnosis
If 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.diagnosis
If 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:

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,
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_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_code":"item",
  "fhir_claim_service_code":"service"
}

Example JSON representation of content:

FHIR Claim:

{
    "resourceType": "Claim",
    "billablePeriod": {
        "start": "2019-02-19"
    },
    "created": "2019-06-27",
    "diagnosis": [
        {
            "diagnosisCodeableConcept": {
                "coding": [
                    {
                        "code": "icdcod"
                    }
                ]
            },
            "sequence": 1,
            "type": [
                {
                    "text": "icd_0"
                }
            ]
        }
    ],
    "enterer": {
        "reference": "Practitioner/code"
    },
    "facility": {
        "reference": "Location/hfcode"
    },
    "identifier": [
        {
            "type": {
                "coding": [
                    {
                        "code": "ACSN",
                        "system": "https://hl7.org/fhir/valueset-identifier-type.html"
                    }
                ]
            },
            "use": "usual",
            "value": "8"
        },
        {
            "type": {
                "coding": [
                    {
                        "code": "MR",
                        "system": "https://hl7.org/fhir/valueset-identifier-type.html"
                    }
                ]
            },
            "use": "usual",
            "value": "clCode"
        }
    ],
    "item": [
        {
            "category": {
                "text": "item"
            },
            "quantity": {
                "value": 1
            },
            "sequence": 1,
            "service": {
                "text": "ICode"
            },
            "unitPrice": {
                "value": 20
            }
        },
        {
            "category": {
                "text": "service"
            },
            "quantity": {
                "value": 1
            },
            "sequence": 2,
            "service": {
                "text": "SCode"
            },
            "unitPrice": {
                "value": 20
            }
        }
    ],
    "patient": {
        "reference": "Patient/chfid"
    },
    "total": {
        "value": 0
    }
}

FHIR OperationOutcome - sucess:

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "code": "informational",
            "details": {
                "text": "Claim submit created"
            },
            "severity": "information"
        }
    ]
}

FHIR OperationOutcome - failure:

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