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

ABMEE61.m

Go to the documentation of this file.
  1. ABMEE61 ; IHS/ASDST/DMJ - UB92 V5 EMC RECORD 61 (Outpatient Services) ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;Original;DMJ;08/18/95 10:06 AM
  1. ;
  1. ; IHS/ASDS/DMJ - 04/04/01 - V2.4 P5 - NOIS HQW-0401-100014
  1. ; New routine to address Envoy record 61 format
  1. ;
  1. ; IHS/SD/SDR - v2.5 p10 - IM20395
  1. ; Split out lines bundled by rev code
  1. ;
  1. START ;START HERE
  1. K ABMR(61),ABMREC(61)
  1. S ABME("RTYPE")=61,ABME("S#")=0
  1. S ABME("SPACE2")="0000 000000000000000000000000000000000 "
  1. S ABME("SPACE1")=ABME("SPACE2")_ABME("SPACE2")
  1. D SET^ABMERUTL
  1. K ABMP("FLAT") D FRATE^ABMDF11
  1. D ^ABMERGRV
  1. D LOOP
  1. S L=0 F S L=$O(ABMREC(61,L)) Q:'L D S90^ABMERUTL
  1. K ABM,ABME,ABMRV
  1. Q
  1. LOOP ;LOOP HERE
  1. S L=0
  1. S J=0 F S J=$O(ABMRV(J)) Q:'J D
  1. .S K=-1 F S K=$O(ABMRV(J,K)) Q:K="" D
  1. ..S M=0
  1. ..F S M=$O(ABMRV(J,K,M)) Q:M="" D
  1. ...S L=L+1 I L#3=1 D
  1. ....S ABME("S#")=ABME("S#")+1
  1. ....F I=10:10:30 D @(I_"^ABMEE61"),ADD
  1. ...F I=40:10:130 D @(I_"^ABMEE61"),ADD
  1. ...Q:J=9999
  1. ...S ABM("ACTOT")=+$P(ABMRV(J,K),"^",6)
  1. ...S ABM("NCTOT")=+$P(ABMRV(J,K),"^",7)
  1. ...D ADTT^ABMER60
  1. I '$G(ABMP("NOFMT")) S ABMREC(61,ABME("S#"))=ABMREC(61,ABME("S#"))_$S(L#3=1:ABME("SPACE1"),L#3=2:ABME("SPACE2"),1:"")
  1. Q
  1. ADD ;ADD TO RECORD
  1. I '$G(ABMP("NOFMT")) S ABMREC(61,ABME("S#"))=$G(ABMREC(61,ABME("S#")))_ABMR(61,I)
  1. Q
  1. 10 ;Record type 1-2
  1. S ABMR(61,10)=61
  1. Q
  1. 20 ;Sequence 3-4
  1. S ABMR(61,20)=ABME("S#")
  1. S ABMR(61,20)=$$FMT^ABMERUTL(ABMR(61,20),"2NR")
  1. Q
  1. 30 ;Patient Control Number 5-24 (SOURCE: FILE=9000001.41,FIELD=.02)
  1. S ABMR(61,30)=$$EX^ABMER20(30,ABMP("BDFN"))
  1. S ABMR(61,30)=$$FMT^ABMERUTL(ABMR(61,30),20)
  1. Q
  1. 40 ;Revenue Code 1, 25-28 (SOURCE: FILE=, FIELD=)
  1. S ABMR(61,40)=$P(ABMRV(J,K,M),U)
  1. S ABMR(61,40)=$$FMT^ABMERUTL(ABMR(61,40),"4NR")
  1. Q
  1. 50 ;HCPCS Procedure Code 1, 29-33
  1. S ABMR(61,50)=$P(ABMRV(J,K,M),U,2)
  1. S ABMR(61,50)=$$FMT^ABMERUTL(ABMR(61,50),5)
  1. Q
  1. 60 ;Modifier 1 (CPT-4 and HCPCS) 1, 34-35 (SOURCE: FILE=, FIELD=)
  1. S ABMR(61,60)=$P(ABMRV(J,K,M),U,3)
  1. S ABMR(61,60)=$$FMT^ABMERUTL(ABMR(61,60),2)
  1. Q
  1. 70 ;Modifier 2 (CPT-4 and HCPCS) 1, 36-37 (SOURCE: FILE=, FIELD=)
  1. S ABMR(61,70)=$P(ABMRV(J,K,M),U,4)
  1. S ABMR(61,70)=$$FMT^ABMERUTL(ABMR(61,70),2)
  1. Q
  1. 80 ;Units of Service 1, 38-44 (SOURCE: FILE= FIELD=)
  1. S ABMR(61,80)=$P(ABMRV(J,K,M),U,5)
  1. S ABMR(61,80)=$$FMT^ABMERUTL(ABMR(61,80),"7NR")
  1. Q
  1. 90 ;Form Locator 49, 45-50
  1. S ABMR(61,90)=""
  1. S ABMR(61,90)=$$FMT^ABMERUTL(ABMR(61,90),6)
  1. Q
  1. 100 ;Charges Total 1, 51-60 (SOURCE: FILE= FIELD=)
  1. S ABMR(61,100)=$P(ABMRV(J,K,M),U,6)
  1. S ABMR(61,100)=$$FMT^ABMERUTL(ABMR(61,100),"10NRJ2")
  1. Q
  1. 110 ;Charges Non-Covered 1, 61-70
  1. S ABMR(61,110)=""
  1. S ABMR(61,110)=$$FMT^ABMERUTL(ABMR(61,110),"10NRJ2")
  1. Q
  1. 120 ;Date of Service, 71-78 (SOURCE: FILE= FIELD=)
  1. S ABMR(61,120)=$$Y2KD2^ABMDUTL(ABMP("VDT"))
  1. S ABMR(61,120)=$$FMT^ABMERUTL(ABMR(61,120),8)
  1. Q
  1. 130 ;Filler (National Use), 79-80
  1. S ABMR(61,130)=""
  1. S ABMR(61,130)=$$FMT^ABMERUTL(ABMR(61,130),2)
  1. Q
  1. EX(ABMX,ABMY,ABMZ) ;EXTRINSIC FUNCTION HERE
  1. ;X=data element, Y=bill internal entry number
  1. S ABMP("BDFN")=ABMY D SET^ABMERUTL
  1. I '$G(ABMP("NOFMT")) S ABMP("FMT")=0
  1. D @ABMX
  1. S Y=ABMR(61,ABMX)
  1. I $D(ABMP("FMT")) S ABMP("FMT")=1
  1. K ABMR(61,ABMX),ABME,ABMX,ABMY,ABMZ,ABM
  1. Q Y