IBACCWLBILLVE1 ;EDE/TAZ - ACC (Automated Community Care) Claims - VIEW ENCOUNTER (cont'd); 12-SEP-2023 ; 12-SEP-2023
;;2.0;INTEGRATED BILLING;**770**;21-MAR-94;Build 119
;;Per VA Directive 6402, this routine should not be modified.
Q
;THIS ROUTINE ALLOWS THE USER TO VIEW THE X12 ENCOUNTER IN READABLE FORMAT.
;
CAS ;Claim Level Adjustments
N CODE
S CODE=$P(DATA,D,2) D D SET("Claim Adjustment Group Code",CODE)
. I CODE="CO" S CODE="Contractual Obligations" Q
. I CODE="CR" S CODE="Correction and Reversals" Q
. I CODE="OA" S CODE="Other Adjustments" Q
. I CODE="PI" S CODE="Payor Initiated Adjustments" Q
. I CODE="PR" S CODE="Patient Responsibility" Q
D SET("Adjustment Reason Code",$P(DATA,D,3))
D SET("Adjustment Amount",$$DOL($P(DATA,D,4)))
S CODE=$P(DATA,D,5) I $L(CODE) D SET("Adjustment Quantity",CODE)
S CODE=$P(DATA,D,6) I $L(CODE) D SET("Adjustment Reason Code",CODE)
S CODE=$P(DATA,D,7) I $L(CODE) D SET("Adjustment Amount",$$DOL(CODE))
S CODE=$P(DATA,D,8) I $L(CODE) D SET("Adjustment Quantity",CODE)
S CODE=$P(DATA,D,9) I $L(CODE) D SET("Adjustment Reason Code",CODE)
S CODE=$P(DATA,D,10) I $L(CODE) D SET("Adjustment Amount",$$DOL(CODE))
S CODE=$P(DATA,D,11) I $L(CODE) D SET("Adjustment Quantity",CODE)
S CODE=$P(DATA,D,12) I $L(CODE) D SET("Adjustment Reason Code",CODE)
S CODE=$P(DATA,D,13) I $L(CODE) D SET("Adjustment Amount",$$DOL(CODE))
S CODE=$P(DATA,D,14) I $L(CODE) D SET("Adjustment Quantity",CODE)
S CODE=$P(DATA,D,15) I $L(CODE) D SET("Adjustment Reason Code",CODE)
S CODE=$P(DATA,D,16) I $L(CODE) D SET("Adjustment Amount",$$DOL(CODE))
S CODE=$P(DATA,D,17) I $L(CODE) D SET("Adjustment Quantity",CODE)
S CODE=$P(DATA,D,18) I $L(CODE) D SET("Adjustment Reason Code",CODE)
S CODE=$P(DATA,D,19) I $L(CODE) D SET("Adjustment Amount",$$DOL(CODE))
S CODE=$P(DATA,D,20) I $L(CODE) D SET("Adjustment Quantity",CODE)
Q
;
CLM ;Display Claim Segment
N CODE,CODE1,PCE ;WCJ;V41
S CLM=CLM+1 I CLM=1 D SET("Claim Information",,1,1)
D SET("Patient Control Number",$P(DATA,D,2))
D SET("Total Claim Charge Amount",$$DOL($P(DATA,D,3)))
S CODE=$P(DATA,D,6) I $L(CODE) D
. D SET("Facility Code",$P(CODE,D1,1))
. D SET("Facility Code Qualifier",$P(CODE,D1,2))
. D SET("Claim Frequency",$P(CODE,D1,3))
S CODE=$P(DATA,D,7) I CODE'="" D SET("Provider Signature on File",$$YN(CODE))
S CODE=$P(DATA,D,8),CODE=$S(CODE="A":"Assigned",CODE="B":"Clinical Lab Services Only",1:"Not Assigned") D SET("Provide Accepts Assignment",CODE)
D SET("Benefits Assigned",$$YN($P(DATA,D,9)))
S CODE=$P(DATA,D,10) D SET("Release of Information",$S(CODE="I":"Informed Consent",CODE="Y":"Yes",1:""))
I $P(DATA,D,11)'="" D SET("Signature Source","Signature provided by Provider")
S CODE=$P(DATA,D,12) I CODE'="" D
. F PCE=1:1:3 S CODE1=$P(CODE,D1,PCE) I CODE1'="" D
.. I CODE1="AA" D SET($S(PCE=1:"Related Cause",1:""),"Auto Accident")
.. I CODE1="EM" D SET($S(PCE=1:"Related Cause",1:""),"Employment")
.. I CODE1="OA" D SET($S(PCE=1:"Related Cause",1:""),"Other Accident")
. S CODE1=$P(CODE,D1,4) I CODE1'="" D SET("Auto Accident State or Province Code",CODE1)
. S CODE1=$P(CODE,D1,5) I CODE1'="" D SET("Auto Accident Country Code",CODE1)
S CODE=$P(DATA,D,13) I CODE'="" D D SET("Special Program Code",CODE)
. I CODE="01" S CODE="Early and Periodic Screening, Diagnosis, and Treatment (EPSDT) or Child Health Assessment Program (CHAP)" Q
. I CODE="02" S CODE="Physically Handicapped Children's Program" Q
. I CODE="03" S CODE="Special Federal Funding" Q
. I CODE="05" S CODE="Disability" Q
. I CODE="09" S CODE="Second Opinion or Surgery" Q
S CODE=$P(DATA,D,20) I CODE'="" D D SET("Predetermination of Benefits Code",CODE)
. I CODE="PB" S CODE="Predetermination of Dental Benefits"
S CODE=$P(DATA,D,21) I CODE'="" D D SET("Delay Reason",CODE)
. I CODE=1 S CODE="Proof of Eligibility Unknown or Unavailable" Q
. I CODE=2 S CODE="Litigation" Q
. I CODE=3 S CODE="Authorization Delays" Q
. I CODE=4 S CODE="Delay in Certifying Provider" Q
. I CODE=5 S CODE="Delay in Supplying Billing Forms" Q
. I CODE=6 S CODE="Delay in Delivery of Custom-made Appliances" Q
. I CODE=7 S CODE="Third Party Processing Delay" Q
. I CODE=8 S CODE="Delay in Eligibility Determination" Q
. I CODE=9 S CODE="Oiginal Claim Rejected/Denied Unrelate to Limitation Rules" Q
. I CODE=10 S CODE="Administration Delay in Prior Approval Process" Q
. I CODE=11 S CODE="Other" Q
. I CODE=15 S CODE="Natural Disaster" Q
Q
;
CRC ;Ambulance Certification
N CNT,CODE,TITLE
S CODE=$P(DATA,D,2) D D SET(TITLE,$$YN($P(DATA,D,3)))
. I CODE="07" S TITLE="Ambulance Certification" Q
. I CODE="09" S TITLE="Durable Medical Equipment Certification" Q
. I CODE=70 S TITLE="Hospice" Q
. I CODE="E1" S TITLE="Spectacle Lenses" Q
. I CODE="E2" S TITLE="Contact Lenses" Q
. I CODE="E3" S TITLE="Spectacle Frames" Q
. I CODE="ZZ" S TITLE="Mutually Defined EPSDT Screening Referral Information" Q
. I CODE="75" S TITLE="Functional Limitations" Q
; Note: Code 65 is a placeholder of a required field with no meaning
F CNT=4:1:8 S CODE=$P(DATA,D,CNT) Q:CODE="" I CODE'=65 D D SET(TITLE,CODE)
. S TITLE=$S(CNT=4:"Condition Code",1:"")
. I CODE="01" S CODE="Patient was admitted to a hospital" Q
. I CODE="04" S CODE="Patient was moved by stretcher" Q
. I CODE="05" S CODE="Patient was unconscious or in shock" Q
. I CODE="06" S CODE="Patient was transported in an emergency situation" Q
. I CODE="07" S CODE="Patient had to be physically restrained" Q
. I CODE="08" S CODE="Patient had visible hemorrhaging" Q
. I CODE="09" S CODE="Ambulance Service was medically necessary" Q
. I CODE=12 S CODE="Patient is confined to a bed or chair" Q
. I CODE=38 S CODE="Certification signed by the physician is on file" Q
. I CODE="AV" S CODE="Available - Not Used" Q
. I CODE="IH" S CODE="Independent at Home" Q
. I CODE="L1" S CODE="General Standard of 20 Degree or 0.5 Diopter Sphere or Cylinder Change Met" Q
. I CODE="L2" S CODE="Replacement Due to Loss or Theft" Q
. I CODE="L3" S CODE="Replacement Due to Breakage or Damage" Q
. I CODE="L4" S CODE="Replacement Due to Patient Preference" Q
. I CODE="L5" S CODE="Replacement Due to Medical Reason" Q
. I CODE="NU" S CODE="Not Used" Q
. I CODE="S2" S CODE="Under Treatment" Q
. I CODE="ST" S CODE="New Service Requested" Q
. I CODE="ZV" S CODE="Replacement Item" Q
Q
;
DTP ;
N CODE,DATE,TITLE,TYPE
S CODE=$P(DATA,D,2),TYPE=$P(DATA,D,3),DATE=$$DATE($P(DATA,D,4),TYPE) D D SET(TITLE,DATE)
. I CODE="011" S TITLE="Date Shipped" Q
. I CODE="050" S TITLE="Repricer Received Date" Q
. I CODE="090" S TITLE="Assumed Care Date" Q
. I CODE="091" S TITLE="Relinquished Care Date" Q
. I CODE="096" S TITLE="Discharge " Q
. I CODE=139 S TITLE="Estimated" Q
. I CODE=196 S TITLE="Treatment Start Date" Q
. I CODE=198 S TITLE="Treatment Completion Date" Q
. I CODE=296 S TITLE="Work Return Date" Q
. I CODE=297 S TITLE="Last Worked Date" Q
. I CODE=304 S TITLE="Last Seen" Q
. I CODE=314 S TITLE="Disability" Q
. I CODE=360 S TITLE="Initial Disability Start" Q
. I CODE=361 S TITLE="Initial Disabiliry End" Q
. I CODE=431 S TITLE="Onset of Current Symptoms" Q
. I CODE=434 S TITLE="Statement" Q
. I CODE=435 S TITLE="Admission" Q
. I CODE=439 S TITLE="Accident Date" Q
. I CODE=441 S TITLE="Prior Placement" Q
. I CODE=444 S TITLE="First Visit or Consultation" Q
. I CODE=446 S TITLE="Replacement" Q
. I CODE=452 S TITLE="Appliance Placement" Q
. I CODE=453 S TITLE="Acute Manifestation of Chronic Condition" Q
. I CODE=454 S TITLE="Initial Treatment" Q
. I CODE=455 S TITLE="Last X-Ray Date" Q
. I CODE=461 S TITLE="Last Certification Date" Q
. I CODE=463 S TITLE="Begin Therapy Date" Q
. I CODE=471 S TITLE="Prescription Date" Q
. I CODE=472 S TITLE="Service Date" Q
. I CODE=484 S TITLE="Last Menstual Period Date" Q
. I CODE=573 S TITLE="Date Claim Paid" Q
. I CODE=607 S TITLE="Certification Revision Date" Q
. I CODE=738 S TITLE="Most Recent Hemoglobin or Hematocrit or Both" Q
. I CODE=739 S TITLE="Most Recent Serum Creatine" Q
. I CODE=999 S TITLE="Accepted with Errors" Q ;TPF;IB*2*770v38;EBILL-9999
Q
;
HCP ; Claim pricing/repricing information
N ADD,CODE,TITLE
S CODE=$P(DATA,D,2) D D SET("Pricing Methodology",CODE)
. I CODE="00" S CODE="Zero Pricing (Not Covered Under Contract" Q
. I CODE="01" S CODE="Priced as Billed at 100%" Q
. I CODE="02" S CODE="Priced at the Standard Fee Schedule" Q
. I CODE="03" S CODE="Priced at a Contractual Percentage" Q
. I CODE="04" S CODE="Bundled Pricing" Q
. I CODE="05" S CODE="Peer Review Pricing" Q
. I CODE="06" S CODE="Per Diem Pricing" Q
. I CODE="07" S CODE="Flat Rate Pricing" Q
. I CODE="08" S CODE="Combination Pricing" Q
. I CODE="09" S CODE="Maternity Pricing" Q
. I CODE=10 S CODE="Other Pricing" Q
. I CODE=11 S CODE="Lower of Cost" Q
. I CODE=12 S CODE="Ratio of Cost" Q
. I CODE=13 S CODE="Cost Reimbursed" Q
. I CODE=14 S CODE="Adjustment Pricing" Q
D SET("Repriced Allowed Amount",$$DOL($P(DATA,D,3)))
S CODE=$P(DATA,D,4) I $L(CODE) D SET("Repriced Saving Amount",$$DOL(CODE))
S CODE=$P(DATA,D,5) I $L(CODE) D SET("Repricing Organizational Identifier",CODE)
S CODE=$P(DATA,D,6) I $L(CODE) D SET("Repricing Per Diem or Flat Rate Amount",$$DOL(CODE))
S CODE=$P(DATA,D,7) I $L(CODE) D D SET(TITLE,CODE)
. I IOD="I" S TITLE="Repriced Approved DRG Code" Q
. S TITLE="Repricing Approved Ambulatory Patient Group (APG) Code"
S CODE=$P(DATA,D,8) I $L(CODE) D SET("Repriced Approved Amount",$$DOL(CODE))
S CODE=$P(DATA,D,9) I $L(CODE) D SET("Repriced Approved Revenue Code",CODE)
S CODE=$P(DATA,D,10) I $L(CODE) D D SET("Product or Service ID Qualifier")
. I CODE="AD" S CODE="American Dental Association Codes" Q
. I CODE="ER" S CODE="Jurisdiction Specific Procedure and Supply Code" Q
. I CODE="HC" S CODE="HCPCS Code" Q
. I CODE="HP" S CODE="HIPPS Skilled Nursing Facility Rate Code" Q
. I CODE="IV" S CODE="HIEC Product/Service Code" Q
. I CODE="WK" S CODE="Advanced Billing Concepts Code" Q
S CODE=$P(DATA,D,11) I $L(CODE) D SET("Repriced Approved HCPCS Code",CODE)
S CODE=$P(DATA,D,13) I $L(CODE) D D SET("Repriced Approved Service Unit Count",CODE_ADD)
. S ADD=$P(DATA,D,12)
. I ADD="MJ" S ADD=" Minute"_$S(CODE>1:"s",1:"") Q
. I ADD="UN" S ADD=" Unit"_$S(CODE>1:"s",1:"") Q
. I ADD="DA" S ADD=" Day"_$S(CODE>1:"s",1:"") Q
S CODE=$P(DATA,D,14) I $L(CODE) D D SET("Reject Reason Code","UNKNOWN CODE")
. I CODE="T1" S CODE="Cannot Identify Provider as TPO (Third Party Organization) Participant" Q
. I CODE="T2" S CODE="Cannot Identify Payer as TPO (Third Party Organization) Participant" Q
. I CODE="T3" S CODE="Cannot Identify Insured as TPO (Third Party Organization) Participant" Q
. I CODE="T4" S CODE="Payer Name or Identifier Missing" Q
. I CODE="T5" S CODE="Certification Information Missing" Q
. I CODE="T6" S CODE="Claim does not contain enough information for re-pricing" Q
S CODE=$P(DATA,D,15) I $L(CODE) D D SET("Policy Compliance Code",CODE)
. I CODE=1 S CODE="Procedure Followed (Compliance)" Q
. I CODE=2 S CODE="Not Followed - Call Not Made (Non-Compliance Call Not Made" Q
. I CODE=3 S CODE="Not Medically Necessary (Non-Compliance Non-Medically Necessary" Q
. I CODE=4 S CODE="Not Followed Other (Non_Compliance Other" Q
. I CODE=5 S CODE="Emergency Admit to Non-Network Hospital" Q
S CODE=$P(DATA,D,16) I $L(CODE) D D SET("Exception Code",CODE)
. I CODE=1 S CODE="Non-Network Professional Provider in Network Hospital" Q
. I CODE=2 S CODE="Emergency Care" Q
. I CODE=3 S CODE="Services or Specialist not in Network" Q
. I CODE=4 S CODE="Out of Service Area" Q
. I CODE=5 S CODE="State Mandates" Q
. I CODE=6 S CODE="Other" Q
Q
;
DATE(DATE,TYPE) ;Format Date/Time
N D1
S TYPE=$G(TYPE,"D8")
I TYPE="TM" S D1=DATE G DATEQ
I TYPE="D8"!(TYPE="DT") D G DATEQ
. S D1=$$FMTE^XLFDT($$HL7TFM^XLFDT($E(DATE,1,8)),1)
. I TYPE="DT" S D1=D1_" "_$E(DATE,9,12)
S D1=$$FMTE^XLFDT($$HL7TFM^XLFDT($P(DATE,"-",1),1))_"-"_$$FMTE^XLFDT($$HL7TFM^XLFDT($P(DATE,"-",2),1))
DATEQ ;
Q D1
;
DOL(DATA) ;Format Dollars
S DATA="$"_$FN(DATA,",",2)
Q DATA
;
NAME(DATA) ;Format Person Name
N LAST,FIRST,MI,SUF
S LAST=$P(DATA,D,4),FIRST=$P(DATA,D,5),MI=$P(DATA,D,6),SUF=$P(DATA,D,8)
Q LAST_$S($L(FIRST):", ",1:"")_FIRST_" "_$S($L(MI):MI_" ",1:"")_SUF
;
PHONE(NUM) ;Format phone number
Q "("_$E(NUM,1,3)_") "_$E(NUM,4,6)_"-"_$E(NUM,7,10)
;
YN(YN) ;Translate Yes/No element
Q $S(YN="W":"Not Applicable",YN="U":"Uknown",YN="Y":"Yes",1:"No")
;
ZIP(ZIP) ;Format Zip Code
Q $E(ZIP,1,5)_$S($L(ZIP>5):"-"_$E(ZIP,6,9),1:"")
;
SET(TITLE,VALUE,BLANK,HEADER) ;
D SET^IBACCWLBILLVE($G(TITLE),$G(VALUE),$G(BLANK),$G(HEADER))
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBACCWLBILLVE1 12920 printed May 25, 2026@12:09:53 Page 2
IBACCWLBILLVE1 ;EDE/TAZ - ACC (Automated Community Care) Claims - VIEW ENCOUNTER (cont'd); 12-SEP-2023 ; 12-SEP-2023
+1 ;;2.0;INTEGRATED BILLING;**770**;21-MAR-94;Build 119
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 QUIT
+4 ;THIS ROUTINE ALLOWS THE USER TO VIEW THE X12 ENCOUNTER IN READABLE FORMAT.
+5 ;
CAS ;Claim Level Adjustments
+1 NEW CODE
+2 SET CODE=$PIECE(DATA,D,2)
Begin DoDot:1
+3 IF CODE="CO"
SET CODE="Contractual Obligations"
QUIT
+4 IF CODE="CR"
SET CODE="Correction and Reversals"
QUIT
+5 IF CODE="OA"
SET CODE="Other Adjustments"
QUIT
+6 IF CODE="PI"
SET CODE="Payor Initiated Adjustments"
QUIT
+7 IF CODE="PR"
SET CODE="Patient Responsibility"
QUIT
End DoDot:1
DO SET("Claim Adjustment Group Code",CODE)
+8 DO SET("Adjustment Reason Code",$PIECE(DATA,D,3))
+9 DO SET("Adjustment Amount",$$DOL($PIECE(DATA,D,4)))
+10 SET CODE=$PIECE(DATA,D,5)
IF $LENGTH(CODE)
DO SET("Adjustment Quantity",CODE)
+11 SET CODE=$PIECE(DATA,D,6)
IF $LENGTH(CODE)
DO SET("Adjustment Reason Code",CODE)
+12 SET CODE=$PIECE(DATA,D,7)
IF $LENGTH(CODE)
DO SET("Adjustment Amount",$$DOL(CODE))
+13 SET CODE=$PIECE(DATA,D,8)
IF $LENGTH(CODE)
DO SET("Adjustment Quantity",CODE)
+14 SET CODE=$PIECE(DATA,D,9)
IF $LENGTH(CODE)
DO SET("Adjustment Reason Code",CODE)
+15 SET CODE=$PIECE(DATA,D,10)
IF $LENGTH(CODE)
DO SET("Adjustment Amount",$$DOL(CODE))
+16 SET CODE=$PIECE(DATA,D,11)
IF $LENGTH(CODE)
DO SET("Adjustment Quantity",CODE)
+17 SET CODE=$PIECE(DATA,D,12)
IF $LENGTH(CODE)
DO SET("Adjustment Reason Code",CODE)
+18 SET CODE=$PIECE(DATA,D,13)
IF $LENGTH(CODE)
DO SET("Adjustment Amount",$$DOL(CODE))
+19 SET CODE=$PIECE(DATA,D,14)
IF $LENGTH(CODE)
DO SET("Adjustment Quantity",CODE)
+20 SET CODE=$PIECE(DATA,D,15)
IF $LENGTH(CODE)
DO SET("Adjustment Reason Code",CODE)
+21 SET CODE=$PIECE(DATA,D,16)
IF $LENGTH(CODE)
DO SET("Adjustment Amount",$$DOL(CODE))
+22 SET CODE=$PIECE(DATA,D,17)
IF $LENGTH(CODE)
DO SET("Adjustment Quantity",CODE)
+23 SET CODE=$PIECE(DATA,D,18)
IF $LENGTH(CODE)
DO SET("Adjustment Reason Code",CODE)
+24 SET CODE=$PIECE(DATA,D,19)
IF $LENGTH(CODE)
DO SET("Adjustment Amount",$$DOL(CODE))
+25 SET CODE=$PIECE(DATA,D,20)
IF $LENGTH(CODE)
DO SET("Adjustment Quantity",CODE)
+26 QUIT
+27 ;
CLM ;Display Claim Segment
+1 ;WCJ;V41
NEW CODE,CODE1,PCE
+2 SET CLM=CLM+1
IF CLM=1
DO SET("Claim Information",,1,1)
+3 DO SET("Patient Control Number",$PIECE(DATA,D,2))
+4 DO SET("Total Claim Charge Amount",$$DOL($PIECE(DATA,D,3)))
+5 SET CODE=$PIECE(DATA,D,6)
IF $LENGTH(CODE)
Begin DoDot:1
+6 DO SET("Facility Code",$PIECE(CODE,D1,1))
+7 DO SET("Facility Code Qualifier",$PIECE(CODE,D1,2))
+8 DO SET("Claim Frequency",$PIECE(CODE,D1,3))
End DoDot:1
+9 SET CODE=$PIECE(DATA,D,7)
IF CODE'=""
DO SET("Provider Signature on File",$$YN(CODE))
+10 SET CODE=$PIECE(DATA,D,8)
SET CODE=$SELECT(CODE="A":"Assigned",CODE="B":"Clinical Lab Services Only",1:"Not Assigned")
DO SET("Provide Accepts Assignment",CODE)
+11 DO SET("Benefits Assigned",$$YN($PIECE(DATA,D,9)))
+12 SET CODE=$PIECE(DATA,D,10)
DO SET("Release of Information",$SELECT(CODE="I":"Informed Consent",CODE="Y":"Yes",1:""))
+13 IF $PIECE(DATA,D,11)'=""
DO SET("Signature Source","Signature provided by Provider")
+14 SET CODE=$PIECE(DATA,D,12)
IF CODE'=""
Begin DoDot:1
+15 FOR PCE=1:1:3
SET CODE1=$PIECE(CODE,D1,PCE)
IF CODE1'=""
Begin DoDot:2
+16 IF CODE1="AA"
DO SET($SELECT(PCE=1:"Related Cause",1:""),"Auto Accident")
+17 IF CODE1="EM"
DO SET($SELECT(PCE=1:"Related Cause",1:""),"Employment")
+18 IF CODE1="OA"
DO SET($SELECT(PCE=1:"Related Cause",1:""),"Other Accident")
End DoDot:2
+19 SET CODE1=$PIECE(CODE,D1,4)
IF CODE1'=""
DO SET("Auto Accident State or Province Code",CODE1)
+20 SET CODE1=$PIECE(CODE,D1,5)
IF CODE1'=""
DO SET("Auto Accident Country Code",CODE1)
End DoDot:1
+21 SET CODE=$PIECE(DATA,D,13)
IF CODE'=""
Begin DoDot:1
+22 IF CODE="01"
SET CODE="Early and Periodic Screening, Diagnosis, and Treatment (EPSDT) or Child Health Assessment Program (CHAP)"
QUIT
+23 IF CODE="02"
SET CODE="Physically Handicapped Children's Program"
QUIT
+24 IF CODE="03"
SET CODE="Special Federal Funding"
QUIT
+25 IF CODE="05"
SET CODE="Disability"
QUIT
+26 IF CODE="09"
SET CODE="Second Opinion or Surgery"
QUIT
End DoDot:1
DO SET("Special Program Code",CODE)
+27 SET CODE=$PIECE(DATA,D,20)
IF CODE'=""
Begin DoDot:1
+28 IF CODE="PB"
SET CODE="Predetermination of Dental Benefits"
End DoDot:1
DO SET("Predetermination of Benefits Code",CODE)
+29 SET CODE=$PIECE(DATA,D,21)
IF CODE'=""
Begin DoDot:1
+30 IF CODE=1
SET CODE="Proof of Eligibility Unknown or Unavailable"
QUIT
+31 IF CODE=2
SET CODE="Litigation"
QUIT
+32 IF CODE=3
SET CODE="Authorization Delays"
QUIT
+33 IF CODE=4
SET CODE="Delay in Certifying Provider"
QUIT
+34 IF CODE=5
SET CODE="Delay in Supplying Billing Forms"
QUIT
+35 IF CODE=6
SET CODE="Delay in Delivery of Custom-made Appliances"
QUIT
+36 IF CODE=7
SET CODE="Third Party Processing Delay"
QUIT
+37 IF CODE=8
SET CODE="Delay in Eligibility Determination"
QUIT
+38 IF CODE=9
SET CODE="Oiginal Claim Rejected/Denied Unrelate to Limitation Rules"
QUIT
+39 IF CODE=10
SET CODE="Administration Delay in Prior Approval Process"
QUIT
+40 IF CODE=11
SET CODE="Other"
QUIT
+41 IF CODE=15
SET CODE="Natural Disaster"
QUIT
End DoDot:1
DO SET("Delay Reason",CODE)
+42 QUIT
+43 ;
CRC ;Ambulance Certification
+1 NEW CNT,CODE,TITLE
+2 SET CODE=$PIECE(DATA,D,2)
Begin DoDot:1
+3 IF CODE="07"
SET TITLE="Ambulance Certification"
QUIT
+4 IF CODE="09"
SET TITLE="Durable Medical Equipment Certification"
QUIT
+5 IF CODE=70
SET TITLE="Hospice"
QUIT
+6 IF CODE="E1"
SET TITLE="Spectacle Lenses"
QUIT
+7 IF CODE="E2"
SET TITLE="Contact Lenses"
QUIT
+8 IF CODE="E3"
SET TITLE="Spectacle Frames"
QUIT
+9 IF CODE="ZZ"
SET TITLE="Mutually Defined EPSDT Screening Referral Information"
QUIT
+10 IF CODE="75"
SET TITLE="Functional Limitations"
QUIT
End DoDot:1
DO SET(TITLE,$$YN($PIECE(DATA,D,3)))
+11 ; Note: Code 65 is a placeholder of a required field with no meaning
+12 FOR CNT=4:1:8
SET CODE=$PIECE(DATA,D,CNT)
if CODE=""
QUIT
IF CODE'=65
Begin DoDot:1
+13 SET TITLE=$SELECT(CNT=4:"Condition Code",1:"")
+14 IF CODE="01"
SET CODE="Patient was admitted to a hospital"
QUIT
+15 IF CODE="04"
SET CODE="Patient was moved by stretcher"
QUIT
+16 IF CODE="05"
SET CODE="Patient was unconscious or in shock"
QUIT
+17 IF CODE="06"
SET CODE="Patient was transported in an emergency situation"
QUIT
+18 IF CODE="07"
SET CODE="Patient had to be physically restrained"
QUIT
+19 IF CODE="08"
SET CODE="Patient had visible hemorrhaging"
QUIT
+20 IF CODE="09"
SET CODE="Ambulance Service was medically necessary"
QUIT
+21 IF CODE=12
SET CODE="Patient is confined to a bed or chair"
QUIT
+22 IF CODE=38
SET CODE="Certification signed by the physician is on file"
QUIT
+23 IF CODE="AV"
SET CODE="Available - Not Used"
QUIT
+24 IF CODE="IH"
SET CODE="Independent at Home"
QUIT
+25 IF CODE="L1"
SET CODE="General Standard of 20 Degree or 0.5 Diopter Sphere or Cylinder Change Met"
QUIT
+26 IF CODE="L2"
SET CODE="Replacement Due to Loss or Theft"
QUIT
+27 IF CODE="L3"
SET CODE="Replacement Due to Breakage or Damage"
QUIT
+28 IF CODE="L4"
SET CODE="Replacement Due to Patient Preference"
QUIT
+29 IF CODE="L5"
SET CODE="Replacement Due to Medical Reason"
QUIT
+30 IF CODE="NU"
SET CODE="Not Used"
QUIT
+31 IF CODE="S2"
SET CODE="Under Treatment"
QUIT
+32 IF CODE="ST"
SET CODE="New Service Requested"
QUIT
+33 IF CODE="ZV"
SET CODE="Replacement Item"
QUIT
End DoDot:1
DO SET(TITLE,CODE)
+34 QUIT
+35 ;
DTP ;
+1 NEW CODE,DATE,TITLE,TYPE
+2 SET CODE=$PIECE(DATA,D,2)
SET TYPE=$PIECE(DATA,D,3)
SET DATE=$$DATE($PIECE(DATA,D,4),TYPE)
Begin DoDot:1
+3 IF CODE="011"
SET TITLE="Date Shipped"
QUIT
+4 IF CODE="050"
SET TITLE="Repricer Received Date"
QUIT
+5 IF CODE="090"
SET TITLE="Assumed Care Date"
QUIT
+6 IF CODE="091"
SET TITLE="Relinquished Care Date"
QUIT
+7 IF CODE="096"
SET TITLE="Discharge "
QUIT
+8 IF CODE=139
SET TITLE="Estimated"
QUIT
+9 IF CODE=196
SET TITLE="Treatment Start Date"
QUIT
+10 IF CODE=198
SET TITLE="Treatment Completion Date"
QUIT
+11 IF CODE=296
SET TITLE="Work Return Date"
QUIT
+12 IF CODE=297
SET TITLE="Last Worked Date"
QUIT
+13 IF CODE=304
SET TITLE="Last Seen"
QUIT
+14 IF CODE=314
SET TITLE="Disability"
QUIT
+15 IF CODE=360
SET TITLE="Initial Disability Start"
QUIT
+16 IF CODE=361
SET TITLE="Initial Disabiliry End"
QUIT
+17 IF CODE=431
SET TITLE="Onset of Current Symptoms"
QUIT
+18 IF CODE=434
SET TITLE="Statement"
QUIT
+19 IF CODE=435
SET TITLE="Admission"
QUIT
+20 IF CODE=439
SET TITLE="Accident Date"
QUIT
+21 IF CODE=441
SET TITLE="Prior Placement"
QUIT
+22 IF CODE=444
SET TITLE="First Visit or Consultation"
QUIT
+23 IF CODE=446
SET TITLE="Replacement"
QUIT
+24 IF CODE=452
SET TITLE="Appliance Placement"
QUIT
+25 IF CODE=453
SET TITLE="Acute Manifestation of Chronic Condition"
QUIT
+26 IF CODE=454
SET TITLE="Initial Treatment"
QUIT
+27 IF CODE=455
SET TITLE="Last X-Ray Date"
QUIT
+28 IF CODE=461
SET TITLE="Last Certification Date"
QUIT
+29 IF CODE=463
SET TITLE="Begin Therapy Date"
QUIT
+30 IF CODE=471
SET TITLE="Prescription Date"
QUIT
+31 IF CODE=472
SET TITLE="Service Date"
QUIT
+32 IF CODE=484
SET TITLE="Last Menstual Period Date"
QUIT
+33 IF CODE=573
SET TITLE="Date Claim Paid"
QUIT
+34 IF CODE=607
SET TITLE="Certification Revision Date"
QUIT
+35 IF CODE=738
SET TITLE="Most Recent Hemoglobin or Hematocrit or Both"
QUIT
+36 IF CODE=739
SET TITLE="Most Recent Serum Creatine"
QUIT
+37 ;TPF;IB*2*770v38;EBILL-9999
IF CODE=999
SET TITLE="Accepted with Errors"
QUIT
End DoDot:1
DO SET(TITLE,DATE)
+38 QUIT
+39 ;
HCP ; Claim pricing/repricing information
+1 NEW ADD,CODE,TITLE
+2 SET CODE=$PIECE(DATA,D,2)
Begin DoDot:1
+3 IF CODE="00"
SET CODE="Zero Pricing (Not Covered Under Contract"
QUIT
+4 IF CODE="01"
SET CODE="Priced as Billed at 100%"
QUIT
+5 IF CODE="02"
SET CODE="Priced at the Standard Fee Schedule"
QUIT
+6 IF CODE="03"
SET CODE="Priced at a Contractual Percentage"
QUIT
+7 IF CODE="04"
SET CODE="Bundled Pricing"
QUIT
+8 IF CODE="05"
SET CODE="Peer Review Pricing"
QUIT
+9 IF CODE="06"
SET CODE="Per Diem Pricing"
QUIT
+10 IF CODE="07"
SET CODE="Flat Rate Pricing"
QUIT
+11 IF CODE="08"
SET CODE="Combination Pricing"
QUIT
+12 IF CODE="09"
SET CODE="Maternity Pricing"
QUIT
+13 IF CODE=10
SET CODE="Other Pricing"
QUIT
+14 IF CODE=11
SET CODE="Lower of Cost"
QUIT
+15 IF CODE=12
SET CODE="Ratio of Cost"
QUIT
+16 IF CODE=13
SET CODE="Cost Reimbursed"
QUIT
+17 IF CODE=14
SET CODE="Adjustment Pricing"
QUIT
End DoDot:1
DO SET("Pricing Methodology",CODE)
+18 DO SET("Repriced Allowed Amount",$$DOL($PIECE(DATA,D,3)))
+19 SET CODE=$PIECE(DATA,D,4)
IF $LENGTH(CODE)
DO SET("Repriced Saving Amount",$$DOL(CODE))
+20 SET CODE=$PIECE(DATA,D,5)
IF $LENGTH(CODE)
DO SET("Repricing Organizational Identifier",CODE)
+21 SET CODE=$PIECE(DATA,D,6)
IF $LENGTH(CODE)
DO SET("Repricing Per Diem or Flat Rate Amount",$$DOL(CODE))
+22 SET CODE=$PIECE(DATA,D,7)
IF $LENGTH(CODE)
Begin DoDot:1
+23 IF IOD="I"
SET TITLE="Repriced Approved DRG Code"
QUIT
+24 SET TITLE="Repricing Approved Ambulatory Patient Group (APG) Code"
End DoDot:1
DO SET(TITLE,CODE)
+25 SET CODE=$PIECE(DATA,D,8)
IF $LENGTH(CODE)
DO SET("Repriced Approved Amount",$$DOL(CODE))
+26 SET CODE=$PIECE(DATA,D,9)
IF $LENGTH(CODE)
DO SET("Repriced Approved Revenue Code",CODE)
+27 SET CODE=$PIECE(DATA,D,10)
IF $LENGTH(CODE)
Begin DoDot:1
+28 IF CODE="AD"
SET CODE="American Dental Association Codes"
QUIT
+29 IF CODE="ER"
SET CODE="Jurisdiction Specific Procedure and Supply Code"
QUIT
+30 IF CODE="HC"
SET CODE="HCPCS Code"
QUIT
+31 IF CODE="HP"
SET CODE="HIPPS Skilled Nursing Facility Rate Code"
QUIT
+32 IF CODE="IV"
SET CODE="HIEC Product/Service Code"
QUIT
+33 IF CODE="WK"
SET CODE="Advanced Billing Concepts Code"
QUIT
End DoDot:1
DO SET("Product or Service ID Qualifier")
+34 SET CODE=$PIECE(DATA,D,11)
IF $LENGTH(CODE)
DO SET("Repriced Approved HCPCS Code",CODE)
+35 SET CODE=$PIECE(DATA,D,13)
IF $LENGTH(CODE)
Begin DoDot:1
+36 SET ADD=$PIECE(DATA,D,12)
+37 IF ADD="MJ"
SET ADD=" Minute"_$SELECT(CODE>1:"s",1:"")
QUIT
+38 IF ADD="UN"
SET ADD=" Unit"_$SELECT(CODE>1:"s",1:"")
QUIT
+39 IF ADD="DA"
SET ADD=" Day"_$SELECT(CODE>1:"s",1:"")
QUIT
End DoDot:1
DO SET("Repriced Approved Service Unit Count",CODE_ADD)
+40 SET CODE=$PIECE(DATA,D,14)
IF $LENGTH(CODE)
Begin DoDot:1
+41 IF CODE="T1"
SET CODE="Cannot Identify Provider as TPO (Third Party Organization) Participant"
QUIT
+42 IF CODE="T2"
SET CODE="Cannot Identify Payer as TPO (Third Party Organization) Participant"
QUIT
+43 IF CODE="T3"
SET CODE="Cannot Identify Insured as TPO (Third Party Organization) Participant"
QUIT
+44 IF CODE="T4"
SET CODE="Payer Name or Identifier Missing"
QUIT
+45 IF CODE="T5"
SET CODE="Certification Information Missing"
QUIT
+46 IF CODE="T6"
SET CODE="Claim does not contain enough information for re-pricing"
QUIT
End DoDot:1
DO SET("Reject Reason Code","UNKNOWN CODE")
+47 SET CODE=$PIECE(DATA,D,15)
IF $LENGTH(CODE)
Begin DoDot:1
+48 IF CODE=1
SET CODE="Procedure Followed (Compliance)"
QUIT
+49 IF CODE=2
SET CODE="Not Followed - Call Not Made (Non-Compliance Call Not Made"
QUIT
+50 IF CODE=3
SET CODE="Not Medically Necessary (Non-Compliance Non-Medically Necessary"
QUIT
+51 IF CODE=4
SET CODE="Not Followed Other (Non_Compliance Other"
QUIT
+52 IF CODE=5
SET CODE="Emergency Admit to Non-Network Hospital"
QUIT
End DoDot:1
DO SET("Policy Compliance Code",CODE)
+53 SET CODE=$PIECE(DATA,D,16)
IF $LENGTH(CODE)
Begin DoDot:1
+54 IF CODE=1
SET CODE="Non-Network Professional Provider in Network Hospital"
QUIT
+55 IF CODE=2
SET CODE="Emergency Care"
QUIT
+56 IF CODE=3
SET CODE="Services or Specialist not in Network"
QUIT
+57 IF CODE=4
SET CODE="Out of Service Area"
QUIT
+58 IF CODE=5
SET CODE="State Mandates"
QUIT
+59 IF CODE=6
SET CODE="Other"
QUIT
End DoDot:1
DO SET("Exception Code",CODE)
+60 QUIT
+61 ;
DATE(DATE,TYPE) ;Format Date/Time
+1 NEW D1
+2 SET TYPE=$GET(TYPE,"D8")
+3 IF TYPE="TM"
SET D1=DATE
GOTO DATEQ
+4 IF TYPE="D8"!(TYPE="DT")
Begin DoDot:1
+5 SET D1=$$FMTE^XLFDT($$HL7TFM^XLFDT($EXTRACT(DATE,1,8)),1)
+6 IF TYPE="DT"
SET D1=D1_" "_$EXTRACT(DATE,9,12)
End DoDot:1
GOTO DATEQ
+7 SET D1=$$FMTE^XLFDT($$HL7TFM^XLFDT($PIECE(DATE,"-",1),1))_"-"_$$FMTE^XLFDT($$HL7TFM^XLFDT($PIECE(DATE,"-",2),1))
DATEQ ;
+1 QUIT D1
+2 ;
DOL(DATA) ;Format Dollars
+1 SET DATA="$"_$FNUMBER(DATA,",",2)
+2 QUIT DATA
+3 ;
NAME(DATA) ;Format Person Name
+1 NEW LAST,FIRST,MI,SUF
+2 SET LAST=$PIECE(DATA,D,4)
SET FIRST=$PIECE(DATA,D,5)
SET MI=$PIECE(DATA,D,6)
SET SUF=$PIECE(DATA,D,8)
+3 QUIT LAST_$SELECT($LENGTH(FIRST):", ",1:"")_FIRST_" "_$SELECT($LENGTH(MI):MI_" ",1:"")_SUF
+4 ;
PHONE(NUM) ;Format phone number
+1 QUIT "("_$EXTRACT(NUM,1,3)_") "_$EXTRACT(NUM,4,6)_"-"_$EXTRACT(NUM,7,10)
+2 ;
YN(YN) ;Translate Yes/No element
+1 QUIT $SELECT(YN="W":"Not Applicable",YN="U":"Uknown",YN="Y":"Yes",1:"No")
+2 ;
ZIP(ZIP) ;Format Zip Code
+1 QUIT $EXTRACT(ZIP,1,5)_$SELECT($LENGTH(ZIP>5):"-"_$EXTRACT(ZIP,6,9),1:"")
+2 ;
SET(TITLE,VALUE,BLANK,HEADER) ;
+1 DO SET^IBACCWLBILLVE($GET(TITLE),$GET(VALUE),$GET(BLANK),$GET(HEADER))
+2 QUIT