Electronic Visit Verification EVV for 837 P

The federal 21st Century CURES Act of 2016 requires states to implement Electronic Visit Verification (EVV).

Subsequent legislation extended the deadline for states to comply with the EVV requirement for Medicaid personal care services to January 1, 2020. There was no change in the date for home health services of January 1, 2023.

Our EDI Template for 837 P is already compliant with the EVV changes and you can translate or create an 837P transaction containing the extra EVV segments right away.

EVV implementation guidelines for 837 P

The following sample file depicts the required changes:

mceclip0.png

Link to the original

837P EVV Implementation

Prerequisites: Create the 837 P POCO and loops

//    837 P
var result = new TS837P();

//    Loop 2000A
result.Loop2000A = new List<Loop_2000A_837P>();
var loop2000A = new Loop_2000A_837P();

//    Loop 2000B
loop2000A.Loop2000B = new List<Loop_2000B_837P>();
var loop2000B = new Loop_2000B_837P();

1. EVV- The Individual Receiving the Service(s), Medicaid ID

loop2000B.AllNM1 = new All_NM1_837P_2();
loop2000B.AllNM1.Loop2010BA = new Loop_2010BA_837P();
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName = new NM1_InsuredName();
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName.EntityIdentifierCode_01 = "IL";
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName.EntityTypeQualifier_02 = "1";
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName.ResponseContactLastorOrganizationName_03 = "SOLO";
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName.ResponseContactFirstName_04 = "HANS";
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName.ResponseContactMiddleName_05 = "RYAN";
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName.IdentificationCodeQualifier_08 = "MI";
loop2000B.AllNM1.Loop2010BA.NM1_SubscriberName.ResponseContactIdentifier_09 = "123456789012";

2. EVV- The Type of Service Performed, Service Line Procedure Code SV101-1

3. EVV - The Time the Services Begins and Ends, Service Line Description SV101-7

loop2000B.Loop2000C = new List<Loop_2000C_837P>();
var loop2000C = new Loop_2000C_837P();
loop2000C.Loop2300 = new List<Loop_2300_837P>();
var loop2300 = new Loop_2300_837P();
loop2300.Loop2400 = new List<Loop_2400_837P>();
var loop24001 = new Loop_2400_837P();
loop24001.LX_ServiceLineNumber = new LX_HeaderNumber();
loop24001.LX_ServiceLineNumber.AssignedNumber_01 = "1";
loop24001.SV1_ProfessionalService = new SV1_ProfessionalService();
loop24001.SV1_ProfessionalService.CompositeMedicalProcedureIdentifier_01 = new C003_CompositeMedicalProcedureIdentifier();
loop24001.SV1_ProfessionalService.CompositeMedicalProcedureIdentifier_01.ProductorServiceIDQualifier_01 = "HC";
loop24001.SV1_ProfessionalService.CompositeMedicalProcedureIdentifier_01.ProcedureCode_02 = "S5135";
loop24001.SV1_ProfessionalService.CompositeMedicalProcedureIdentifier_01.Description_07 = "1230-1630";
loop24001.SV1_ProfessionalService.LineItemChargeAmount_02 = "50";
loop24001.SV1_ProfessionalService.UnitorBasisforMeasurementCode_03 = "UN";
loop24001.SV1_ProfessionalService.ServiceUnitCount_04 = "2";
loop24001.SV1_ProfessionalService.PlaceofServiceCode_05 = "11";
loop24001.SV1_ProfessionalService.CompositeDiagnosisCodePointer_07 = new C004_CompositeDiagnosisCodePointer();
loop24001.SV1_ProfessionalService.CompositeDiagnosisCodePointer_07.DiagnosisCodePointer_01 = "1";

4. EVV- The Date(s) of Service Performed, Service Line Dates of Service

loop24001.AllDTP = new All_DTP_837P();
loop24001.AllDTP.DTP_Date_ServiceDate = new DTP_ClaimLevelServiceDate();
loop24001.AllDTP.DTP_Date_ServiceDate.DateTimeQualifier_01 = "472";
loop24001.AllDTP.DTP_Date_ServiceDate.DateTimePeriodFormatQualifier_02 = "RD8";
loop24001.AllDTP.DTP_Date_ServiceDate.AccidentDate_03 = "20160302-20160302";

5. EVV- The Individual Providing the Services (2 Segments)

loop24001.AllNM1 = new All_NM1_837P_5();
loop24001.AllNM1.Loop2420D = new Loop_2420D_837P();

//  Attendant's Name
loop24001.AllNM1.Loop2420D.NM1_SupervisingProviderName = new NM1_OtherPayerSupervisingProvider();
loop24001.AllNM1.Loop2420D.NM1_SupervisingProviderName.EntityIdentifierCode_01 = "DQ";
loop24001.AllNM1.Loop2420D.NM1_SupervisingProviderName.EntityTypeQualifier_02 = "1";
loop24001.AllNM1.Loop2420D.NM1_SupervisingProviderName.ResponseContactLastorOrganizationName_03 = "JONES";
loop24001.AllNM1.Loop2420D.NM1_SupervisingProviderName.ResponseContactFirstName_04 = "DEVIL";

loop24001.AllNM1.Loop2420D.REF_SupervisingProviderSecondaryIdentification = new List<REF_AssistantSurgeonSecondaryIdentification>();

//  Attendant's ID 
var refAssistantSurgeonSecondaryIdentification = new REF_AssistantSurgeonSecondaryIdentification();
refAssistantSurgeonSecondaryIdentification.ReferenceIdentificationQualifier_01 = "LU";
refAssistantSurgeonSecondaryIdentification.MemberGrouporPolicyNumber_02 = "1234567890";
loop24001.AllNM1.Loop2420D.REF_SupervisingProviderSecondaryIdentification.Add(refAssistantSurgeonSecondaryIdentification);

6. EVV- The Beginning/Ending Location of the Service Delivery (3 Address Segments each)

//  Beginning Location of Service
loop24001.AllNM1.Loop2420G = new Loop_2420G_837P();

loop24001.AllNM1.Loop2420G.NM1_AmbulancePick_Location = new NM1_AmbulancePick();
loop24001.AllNM1.Loop2420G.NM1_AmbulancePick_Location.EntityIdentifierCode_01 = "PW";
loop24001.AllNM1.Loop2420G.NM1_AmbulancePick_Location.EntityTypeQualifier_02 = "2";

loop24001.AllNM1.Loop2420G.N3_AmbulancePick_LocationAddress = new N3_AdditionalPatientInformationContactAddress();
loop24001.AllNM1.Loop2420G.N3_AmbulancePick_LocationAddress.ResponseContactAddressLine_01 = "2777 HOOCH LANE";
loop24001.AllNM1.Loop2420G.N3_AmbulancePick_LocationAddress.ResponseContactAddressLine_02 = "APT 2005";

loop24001.AllNM1.Loop2420G.N4_AmbulancePick_LocationCity_State_ZipCode = new N4_AdditionalPatientInformationContactCity();
loop24001.AllNM1.Loop2420G.N4_AmbulancePick_LocationCity_State_ZipCode.AdditionalPatientInformationContactCityName_01 = "CLARICE";
loop24001.AllNM1.Loop2420G.N4_AmbulancePick_LocationCity_State_ZipCode.AdditionalPatientInformationContactStateCode_02 = "VA";
loop24001.AllNM1.Loop2420G.N4_AmbulancePick_LocationCity_State_ZipCode.AdditionalPatientInformationContactPostalZoneorZIPCode_03 = "22554";

//  Ending Location of Service (may be same or different from Beginning Location of Service) 
loop24001.AllNM1.Loop2420H = new Loop_2420H_837P();

loop24001.AllNM1.Loop2420H.NM1_AmbulanceDrop_Location = new NM1_AmbulanceDrop();
loop24001.AllNM1.Loop2420H.NM1_AmbulanceDrop_Location.EntityIdentifierCode_01 = "45";
loop24001.AllNM1.Loop2420H.NM1_AmbulanceDrop_Location.EntityTypeQualifier_02 = "2";

loop24001.AllNM1.Loop2420H.N3_AmbulanceDrop_LocationAddress = new N3_AdditionalPatientInformationContactAddress();
loop24001.AllNM1.Loop2420H.N3_AmbulanceDrop_LocationAddress.ResponseContactAddressLine_01 = "4545 RETURN ST";

loop24001.AllNM1.Loop2420H.N4_AmbulanceDrop_LocationCity_State_ZipCode = new N4_AdditionalPatientInformationContactCity();
loop24001.AllNM1.Loop2420H.N4_AmbulanceDrop_LocationCity_State_ZipCode.AdditionalPatientInformationContactCityName_01 = "NUCHOL";
loop24001.AllNM1.Loop2420H.N4_AmbulanceDrop_LocationCity_State_ZipCode.AdditionalPatientInformationContactStateCode_02 = "VA";
loop24001.AllNM1.Loop2420H.N4_AmbulanceDrop_LocationCity_State_ZipCode.AdditionalPatientInformationContactPostalZoneorZIPCode_03 = "22554";

Download Full 837P EVV Example

Was this article helpful?
0 out of 0 found this helpful