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

ABMAPAS1.m

Go to the documentation of this file.
  1. ABMAPAS1 ; IHS/ASDST/DMJ - PASS INFO TO A/R ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;
  1. ; IHS/SD/SDR - v2.5 p10 - IM20395
  1. ; Split out lines bundled by rev code
  1. ;
  1. ; IHS/SD/SDR - v2.6 CSV
  1. ;
  1. START ;START HERE
  1. Q:X'="A"&(X'="X")&(X'="B")
  1. Q:'$L($T(TPB^BARUP))
  1. K ABMA
  1. S (ABMA("BLDA"),ABMP("BDFN"))=DA
  1. S ABMA("ACTION")=X S:X="X" ABMA("ACTION")="C"
  1. N I F I=1:1 S ABMA("LINE")=$T(TXT+I) Q:ABMA("LINE")["END" D
  1. .S ABMA("DR")=$P(ABMA("LINE"),";;",2)
  1. .S ABMA($P(ABMA("LINE"),";;",3))=$$VALI^XBDIQ1(DIC,DA,ABMA("DR"))
  1. .I ABMA("DR")=.17,ABMA("DTBILL") S ABMA("DTBILL")=$$VALI^XBDIQ1(^DIC(9002274.6,0,"GL"),ABMA("DTBILL"),.01)
  1. I ABMA("ACTION")="B",ABMA("DTBILL")="" S ABMA("DTBILL")=DT
  1. D BLNM
  1. N I,DA,K S K=0 F I=21,23,25,27,33,35,37,39,43 D
  1. .K ABM,ABMRV
  1. .D @(I_"^ABMERGR2")
  1. .Q:'$D(ABMRV)
  1. .D CONV
  1. D ORV^ABMERGRV N I S I=.97 D CONV
  1. N ABME D
  1. .S ABMP("ITYPE")=$P($G(^AUTNINS(+ABMA("INS"),2)),"^",1) D ISET^ABMERUTL,CONV2 K ABMP("SET")
  1. .S ABMP("PDFN")=ABMA("PTNM")
  1. .S ABME("INS")=ABMA("INS") D EN^XBNEW("ISET^ABMERINS","ABME,ABMP,ABMR") S ABMA("POLH")=$G(ABME("PHNM")),ABMA("POLN")=$G(ABMR(30,70))
  1. D PROV
  1. S ABMA("CREDIT")=$$TCR^ABMERUTL(ABMP("BDFN"))
  1. K ABMA("LINE"),ABMA("DR"),ABMA("DA")
  1. I $P($G(^AUTNINS(ABMA("INS"),2)),"^",1)="N" S ABMA("INS")=""
  1. D TPB^BARUP(.ABMA)
  1. K ABMA,ABM,ABMR
  1. Q
  1. BLNM ;BILL NAME
  1. I $P($G(^ABMDPARM(DUZ(2),1,2)),"^",4)]"" S ABMA("BLNM")=ABMA("BLNM")_"-"_$P(^(2),"^",4)
  1. I $P($G(^ABMDPARM(DUZ(2),1,3)),"^",3) D
  1. .S ABM("HRN")=$P($G(^AUPNPAT(ABMA("PTNM"),41,ABMA("VSLC"),0)),"^",2)
  1. .S:ABM("HRN")]"" ABMA("BLNM")=ABMA("BLNM")_"-"_ABM("HRN")
  1. Q
  1. CONV ;CONVERT ABMRV ARRAY TO ABMA ARRAY
  1. N L,J
  1. S L=-1
  1. F S L=$O(ABMRV(L)) Q:L="" D
  1. .S J=-1
  1. .F S J=$O(ABMRV(L,J)) Q:J="" D
  1. ..S M=0
  1. ..F S M=$O(ABMRV(L,J,M)) Q:M="" D
  1. ...S K=K+1
  1. ...S ABMA(K,"DOS")=""
  1. ...S ABMA(K,"BLSRV")=$P(^DD(9002274.4,I,0),U)
  1. ...S ABMA(K,"BLSRV")=$$UPC^ABMERUTL(ABMA(K,"BLSRV"))
  1. ...S ABMA(K,"ITCODE")=L
  1. ...S ABMA(K,"ITQT")=$P(ABMRV(L,J,M),U,5)
  1. ...S ABMA(K,"ITUC")=$P(ABMRV(L,J,M),U,6)
  1. ...I I=23 D
  1. ....S ABMA(K,"OTUC")=ABM(5),ABMA(K,"OTIT")="DISPENSE FEE"
  1. ....S ABMA(K,"ITUC")=ABMA(K,"ITUC")-ABM(5)
  1. ...I I=25 S ABMA(K,"ITNM")=$P($G(^AUTTREVN(L,0)),U,2)
  1. ...I J,I'=33 D
  1. ....S ABMA(K,"ITNM")=$P($$CPT^ABMCVAPI(J,$P(ABMRV(L,J,M),U,10),ABMP("VDT")),U,3) ;CSV-c
  1. ....S ABMA(K,"ITCODE")=J
  1. ...I J,I=33 D
  1. ....S ABMA(K,"ITCODE")=$P(ABMRV(L,J,M),U,2)
  1. ...S:$P(ABMRV(L,J,M),U,9)'="" ABMA(K,"ITNM")=$P(ABMRV(L,J,M),U,9)
  1. ...S:$P(ABMRV(L,J,M),U,10) ABMA(K,"DOS")=$P(ABMRV(L,J,M),U,10)
  1. ...I '$G(ABMA(K,"ITQT")) S ABMA(K,"ITUC")=0 Q
  1. ...S ABMA(K,"ITUC")=$J(ABMA(K,"ITUC")/ABMA(K,"ITQT"),1,3)
  1. Q
  1. CONV2 ;CONVERT INSURER ARRAY
  1. F I=1:1:3 D
  1. .Q:'$D(ABMP("INS",I))
  1. .Q:ABMA("ACTION")="C"
  1. .S:+ABMP("INS",I)=ABMA("INS") ABMA("ACTION")=I
  1. .S:$P($G(^AUTNINS(+ABMP("INS",I),0)),"^",1)="N" ABMP("INS",I)=""
  1. S ABMA("PRIM")=$P($G(ABMP("INS",1)),"^",1)
  1. S ABMA("SEC")=$P($G(ABMP("INS",2)),"^",1)
  1. S ABMA("TERT")=$P($G(ABMP("INS",3)),"^",1)
  1. Q
  1. PROV ;GET ATTENDING PROVIDER
  1. S ABMA("PROV")=""
  1. N I S I=$O(^ABMDBILL(DUZ(2),ABMP("BDFN"),41,"C","A",0))
  1. Q:'I
  1. N J S J=$P(^ABMDBILL(DUZ(2),ABMP("BDFN"),41,I,0),"^",1)
  1. S ABMA("PROV")=J
  1. Q
  1. TXT ;FIELDS
  1. ;;.01;;BLNM
  1. ;;.03;;VSLC
  1. ;;.05;;PTNM
  1. ;;.07;;VSTP
  1. ;;.08;;INS
  1. ;;.1;;CLNC
  1. ;;.15;;DTAP
  1. ;;.17;;DTBILL
  1. ;;.21;;BLAMT
  1. ;;.71;;DOSB
  1. ;;.72;;DOSE
  1. ;;END
  1. EXT ;EP - EXTERNAL CALL (NEEDS DA DEFINED)
  1. S DIC="^ABMDBILL(DUZ(2),"
  1. S X="A"
  1. D START
  1. K ABM,ABMP,ABMA,ABME
  1. Q