Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ABME8SV1

ABME8SV1.m

Go to the documentation of this file.
  1. ABME8SV1 ; IHS/ASDST/DMJ - 837 SV1 Segment
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;Transaction Set Header
  1. ;
  1. ; IHS/SD/SDR - V2.5 P5 - Fix to put only 4 cooresponding Dxs on claim
  1. ;
  1. ; IHS/SD/SDR - v2.5 p5 - Modified to put POS and TOS by line item
  1. ;
  1. ; IHS/SD/SDR - v2.5 p6 - IM14042 - Correction so POS would look up correctly
  1. ;
  1. ; IHS/SD/SDR - v2.5 p6 - 7/13/04 - Fixed so FL override works correctly
  1. ;
  1. ; IHS/SD/SDR - v2.5 p6 - IM14079 - 7/19/04 - Removed code for SV106
  1. ;
  1. ; IHS/SD/SDR - v2.5 p8 - IM13693/IM17856
  1. ; Remove leading zeros
  1. ;
  1. ; IHS/SD/SDR - v2.5 p9 - IM17729
  1. ; Anesthesia minutes
  1. ;
  1. ; IHS/SD/SDR - v2.5 p10 - IM20395
  1. ; Split out lines bundled by rev code
  1. ;
  1. ; IHS/SD/SDR - v2.5 p11 - IM21946
  1. ; Made change for CLIA number
  1. ;
  1. EP ;EP
  1. K ABMREC("SV1"),ABMR("SV1")
  1. S ABME("RTYPE")="SV1"
  1. D LOOP
  1. K ABME
  1. Q
  1. LOOP ;LOOP HERE
  1. F I=10:10:220 D
  1. .D @I
  1. .I $D(^ABMEXLM("AA",+$G(ABMP("INS")),+$G(ABMP("EXP")),ABME("RTYPE"),I)) D @(^(I))
  1. .I $G(ABMREC("SV1"))'="" S ABMREC("SV1")=ABMREC("SV1")_"*"
  1. .S ABMREC("SV1")=$G(ABMREC("SV1"))_ABMR("SV1",I)
  1. Q
  1. 10 ;segment
  1. S ABMR("SV1",10)="SV1"
  1. Q
  1. 20 ;SV101 - Composite Medical Procedure Identifier
  1. ;SV102-1 Product Service ID Qualifier
  1. ;SV102-2 Product Service ID (Procedure Code)
  1. I $P(ABMRV(ABMI,ABMJ,ABMK),U,2)'="" D
  1. .S ABMR("SV1",20)="HC"
  1. .S $P(ABMR("SV1",20),":",2)=$P(ABMRV(ABMI,ABMJ,ABMK),U,2)
  1. I $P(ABMRV(ABMI,ABMJ,ABMK),U,2)="" D
  1. .S ABMR("SV1",20)=""
  1. .Q:$P(ABMRV(ABMI,ABMJ,ABMK),U,15)=""
  1. .S ABM("NDC")=$P(ABMRV(ABMI,ABMJ,ABMK),U,15)
  1. .I ABM("NDC")?4N1"-"4N1"-"2N S ABMR("SV1",20)="N1"
  1. .I ABM("NDC")?5N1"-"3N1"-"2N S ABMR("SV1",20)="N2"
  1. .I ABM("NDC")?5N1"-"4N1"-"1N S ABMR("SV1",20)="N3"
  1. .I ABM("NDC")?5N1"-"4N1"-"2N S ABMR("SV1",20)="N4"
  1. .S $P(ABMR("SV1",20),":",2)=ABM("NDC")
  1. N I
  1. F I=3,4,12,22 D
  1. .Q:$P(ABMRV(ABMI,ABMJ,ABMK),U,I)=""
  1. .S ABMR("SV1",20)=ABMR("SV1",20)_":"_$P(ABMRV(ABMI,ABMJ,ABMK),U,I)
  1. .I $P(ABMRV(ABMI,ABMJ,ABMK),U,I)=90 S ABMOUTLB=1
  1. Q
  1. 30 ;SV102 - Monetary Amount (Charges)
  1. S ABMR("SV1",30)=$P(ABMRV(ABMI,ABMJ,ABMK),U,6)
  1. S ABMR("SV1",30)=$$TRIM^ABMUTLP($J(ABMR("SV1",30),0,2),"L","0")
  1. Q
  1. 40 ;SV103 - Unit or Basis for Measurement Code
  1. I ABMI=39 S ABMR("SV1",40)="MJ"
  1. E S ABMR("SV1",40)="UN"
  1. Q
  1. 50 ;SV104 - Quantity
  1. S ABMR("SV1",50)=$S(ABMR("SV1",40)="UN":$P(ABMRV(ABMI,ABMJ,ABMK),U,5),1:$P(ABMRV(ABMI,ABMJ,ABMK),U,16))
  1. Q
  1. 60 ;SV105 - Facility Code Value (place of service)
  1. S ABMR("SV1",60)=""
  1. I $P($G(ABMRV(ABMI,ABMJ,ABMK)),U,25)'="" D
  1. .S ABMR("SV1",60)=$P($G(ABMRV(ABMI,ABMJ,ABMK)),U,25)
  1. .I ABMR("SV1",60)'="" S ABMR("SV1",60)=$P($G(^ABMDCODE(ABMR("SV1",60),0)),"^")
  1. E S ABMR("SV1",60)=$$POS^ABMERUTL(ABMI)
  1. S ABMVALUE=$$OVER^ABMUTL8(37,3) ;Fl override
  1. I ABMVALUE'="" S ABMR("SV1",60)=ABMVALUE
  1. Q
  1. 70 ;SV106 - service type code
  1. S ABMR("SV1",70)=""
  1. Q
  1. 80 ;SV107 - Composite DX code pointer
  1. S ABMR("SV1",80)=$P(ABMRV(ABMI,ABMJ,ABMK),U,11)
  1. S ABMR("SV1",80)=$TR(ABMR("SV1",80),",",":")
  1. S ABMR("SV1",80)=$P(ABMR("SV1",80),":",1,4)
  1. Q
  1. 90 ;SV108 - Monetary Amount
  1. S ABMR("SV1",90)=""
  1. Q
  1. 100 ;SV109 - emergency indicator
  1. S ABMR("SV1",100)=$P(ABMB8,"^",5)
  1. Q
  1. 110 ;SV110 - Multiple Procedure Code
  1. S ABMR("SV1",110)=""
  1. Q
  1. 120 ;SV111 - epsdt
  1. S ABMR("SV1",120)=""
  1. Q
  1. 130 ;SV112 - Family Planning Indicator
  1. S ABMR("SV1",130)=""
  1. Q
  1. 140 ;SV113 - Review Code
  1. S ABMR("SV1",140)=""
  1. Q
  1. 150 ;SV114 - National or Local Assigned Review Value
  1. S ABMR("SV1",150)=""
  1. Q
  1. 160 ;SV115 - copay status code
  1. S ABMR("SV1",160)=""
  1. 170 ;SV116 - health care professional shortage area code
  1. S ABMR("SV1",170)=""
  1. 180 ;SV117 - reference identification
  1. S ABMR("SV1",180)=""
  1. Q
  1. 190 ;SV118 - postal code
  1. S ABMR("SV1",190)=""
  1. Q
  1. 200 ;SV119 - monetary amount
  1. S ABMR("SV1",200)=""
  1. Q
  1. 210 ;SV120 - level of care code
  1. S ABMR("SV1",210)=""
  1. Q
  1. 220 ;SV121 - provider agreement code
  1. S ABMR("SV1",220)=""
  1. Q