Professional Claims
The RCM service supports validating and submitting professional claims to payers. You can also use the test mode to test your claim submission process without your claim being sent to payers.
Validating Claims
An important step in most workflows is to validate a claim before submitting it to a payer. This can help catch errors before they are sent to the payer, which can save time and money. Here is how you can validate a claim using the RCM service:
Perform a claim validation with the v3 SDK:
import Oystehr from '@oystehr/sdk';
const oystehr = new Oystehr({
accessToken: "<your_access_token>",
});
const validationResult = await oystehr.rcm.validateProfessionalClaim({
cms1500: {
_1_insuranceProgram: 'MEDICARE',
_1a_insuredIdNumber: '0000000005',
_2_patientName: {
firstName: 'johnone',
lastName: 'doeone',
},
_3_patientBirthDate: {
day: '01',
month: '01',
year: '2000',
},
_3_patientSex: 'M',
_4_insuredName: {
firstName: 'johnone',
lastName: 'doeone',
},
_5_patientAddress: {
line: '123 address1',
city: 'city2',
state: 'tn',
zipCode: '372030000',
},
_6_patientRelationshipToInsured: 'Self',
_11d_anotherHealthBenefitPlan: false,
_17_referringProvider: {
qualifier: 'DN',
name: {
firstName: 'janeone',
lastName: 'doetwo',
},
_b_npiId: '1760854442',
},
_21_diagnosis: {
icdIndicator: '0',
codes: ['O139', 'J0190'],
},
_24_services: [
{
_a_datesOfService: {
from: {
day: '14',
month: '07',
year: '2023',
},
},
_b_placeOfService: '12',
_d_procedures: {
cptOrHcpcs: '99241',
},
_e_diagnosisPointer: 'AB',
_f_charges: 100,
_g_daysOrUnits: 1,
_j_renderingProviderId: {
npiId: '1942788757',
},
},
],
_25_federalTaxIdNumber: {
type: 'SSN',
value: '000000000',
},
_26_patientAccountNumber: '00001',
_28_totalCharge: 100,
_31_physicianSignedDate: {
day: '13',
month: '07',
year: '2023',
},
_32_serviceFacilityLocationInfo: {
name: 'happy doctors group',
address: {
line: '000 address1',
city: 'city2',
state: 'wa',
zipCode: '981010000',
},
},
_33_billingProviderInfoAndPhone: {
name: 'happy doctors group',
address: {
line: '123 address1',
city: 'city1',
state: 'wa',
zipCode: '981010000',
telephone: '0000000000',
},
_a_npiId: '1760854442',
},
},
submitterOrganizationName: 'happy doctors group',
payerId: '4444',
});
cms1500
— The CMS 1500 form datasubmitterOrganizationName
— The name of the organization submitting the claimpayerId
— The ID of the payer to submit the claim to
Validation Response
{
{
"editStatus": "string",
"errors": [
{
"code": "string",
"description": "string",
"field": "string",
"followupAction": "string",
"location": "string",
"value": "string"
}
],
"meta": {
"applicationMode": "string",
"billerId": "string",
"senderId": "string",
"submitterId": "string",
"traceId": "string"
}
}
}
editStatus
— The status of the claim validationerrors
— A list of errors that were found in the claimmeta
— Additional metadata about the claim validation
Validation AuditEvent
When a claim is validated, an AuditEvent (opens in a new tab) resource is created to record the validation event. This resource can be accessed through the FHIR API.
Submitting Claims
Submitting claims to payers is a critical part of the revenue cycle management process. Here is how you can submit a claim using the RCM service:
Perform a claim submission with the v3 SDK:
import Oystehr from '@oystehr/sdk';
const oystehr = new Oystehr({
accessToken: "<your_access_token>",
});
await oystehr.rcm.submitProfessionalClaim({
testMode: true,
cms1500: {
_1_insuranceProgram: 'MEDICARE',
_1a_insuredIdNumber: '0000000005',
_2_patientName: {
firstName: 'johnone',
lastName: 'doeone',
},
_3_patientBirthDate: {
day: '01',
month: '01',
year: '2000',
},
_3_patientSex: 'M',
_4_insuredName: {
firstName: 'johnone',
lastName: 'doeone',
},
_5_patientAddress: {
line: '123 address1',
city: 'city2',
state: 'tn',
zipCode: '372030000',
},
_6_patientRelationshipToInsured: 'Self',
_11d_anotherHealthBenefitPlan: false,
_17_referringProvider: {
qualifier: 'DN',
name: {
firstName: 'janeone',
lastName: 'doetwo',
},
_b_npiId: '1760854442',
},
_21_diagnosis: {
icdIndicator: '0',
codes: ['O139', 'J0190'],
},
_24_services: [
{
_a_datesOfService: {
from: {
day: '14',
month: '07',
year: '2023',
},
},
_b_placeOfService: '12',
_d_procedures: {
cptOrHcpcs: '99241',
},
_e_diagnosisPointer: 'AB',
_f_charges: 100,
_g_daysOrUnits: 1,
_j_renderingProviderId: {
npiId: '1942788757',
},
},
],
_25_federalTaxIdNumber: {
type: 'SSN',
value: '000000000',
},
_26_patientAccountNumber: '00001',
_28_totalCharge: 100,
_31_physicianSignedDate: {
day: '13',
month: '07',
year: '2023',
},
_32_serviceFacilityLocationInfo: {
name: 'happy doctors group',
address: {
line: '000 address1',
city: 'city2',
state: 'wa',
zipCode: '981010000',
},
},
_33_billingProviderInfoAndPhone: {
name: 'happy doctors group',
address: {
line: '123 address1',
city: 'city1',
state: 'wa',
zipCode: '981010000',
telephone: '0000000000',
},
_a_npiId: '1760854442',
},
},
submitterOrganizationName: 'happy doctors group',
payerId: '4444',
});
testMode
— Whether to submit the claim in test modecms1500
— The CMS 1500 form datasubmitterOrganizationName
— The name of the organization submitting the claimpayerId
— The ID of the payer to submit the claim to
Submission Response
The response from the claim submission will be a FHIR Claim (opens in a new tab) object.
- Success — HTTP status code of 200 and the
status
field will beactive
- Validation error — HTTP status code of 4XX and the
status
field will beentered-in-error
- Unknown error — HTTP status code of 500
Claim submissions will undergo validation before being sent to payers. If the claim fails validation, it will not be sent to the payer and a 4XX error will be returned. The response shape in this case will match the validation response.
Submission Error AuditEvent
When a claim submission fails, an AuditEvent (opens in a new tab) resource is created to record the submission error event. This resource can be accessed through the FHIR API.
Test Mode
The RCM service supports a test mode that allows you to use the claim submission endpoint without your claim being sent to payers. This can be useful for testing and development purposes. To use test mode, set the testMode
parameter to true
when submitting a claim.