What is HIPAA Electronic Visit Verification EVV for 837P
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.
EDI Tools for .NET provides an EDI template for 837P which is already compliant with the EVV changes and can be used to parse or create an 837P transaction containing the extra EVV segments right away.
EVV implementation guidelines for 837P
The EVV required changes are:
837P EVV Implementation
-
Prerequisites: Create the 837P POCO and EDI 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();
-
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";
-
EVV- The Type of Service Performed, Service Line Procedure Code SV101-1
-
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";
-
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";
-
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);
-
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";
Comments
0 comments
Please sign in to leave a comment.