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

ABMRVTPB.m

Go to the documentation of this file.
  1. ABMRVTPB ; IHS/SD/SDR - VISIT W/THIRD PARTY BILLED REPORT ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**6**;NOV 12, 2009
  1. ;
  1. K ABM,ABMY
  1. ;
  1. SEL S ABM("STA","NM")="PCC Status Report"
  1. S ABM("TXT")=""
  1. S ABM("NODX")=""
  1. S ABMY("DT")="V"
  1. START W !!," ============ Entry of VISIT Range =============",!
  1. S DIR("A")="Enter STARTING Visit for the Report"
  1. S DIR(0)="DO^::EP"
  1. D ^DIR
  1. ;G START:$D(DIRUT) ;abm*2.6*6 NOHEAT
  1. Q:$D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ;abm*2.6*6 NOHEAT
  1. S ABMY("DT",1)=Y
  1. W !
  1. END S DIR("A")="Enter ENDING DATE for the Report"
  1. D ^DIR
  1. K DIR
  1. G START:$D(DIRUT)
  1. S ABMY("DT",2)=Y
  1. I ABMY("DT",1)>ABMY("DT",2) W !!,*7,"INPUT ERROR: Start Date is Greater than than the End Date, TRY AGAIN!",!! G START
  1. Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. S ABM("HD",0)=ABM("STA","NM")
  1. D ^ABMDRHD
  1. S ABMQ("RC")="COMPUTE^ABMRVTPB"
  1. S ABMQ("RX")="POUT^ABMDRUTL"
  1. S ABMQ("NS")="ABM"
  1. S ABMQ("RP")="PRINT^ABMRVTPB"
  1. D ^ABMDRDBQ
  1. Q
  1. ;
  1. COMPUTE ;EP - Entry Point for Setting up Data
  1. S ABM("SUBR")="ABM-VTPB" K ^TMP("ABM-VTPB",$J) Q:'$D(ABM("STA")) S ABM("PG")=0
  1. ALL ;ALL STATUS
  1. SLOOP S ABMV=ABMY("DT",1)-.5
  1. F S ABMV=$O(^AUPNVSIT("B",ABMV)) Q:'ABMV!(ABMV>ABMY("DT",2)) D
  1. .S ABMVIEN=0
  1. .F S ABMVIEN=$O(^AUPNVSIT("B",ABMV,ABMVIEN)) Q:'ABMVIEN D DATA
  1. Q
  1. ;
  1. DATA ;
  1. S ABMP("TPB")=$$GET1^DIQ(9000010,ABMVIEN_",",.04,"E")
  1. S ABMP("VLOC")=$$GET1^DIQ(9000010,ABMVIEN_",",.06,"E")
  1. S ABMP("SCAT")=$$GET1^DIQ(9000010,ABMVIEN_",",.07,"E")
  1. S ABMP("CLIN")=$$GET1^DIQ(9000010,ABMVIEN_",",.08,"E")
  1. S ABMP("PDFN")=$$GET1^DIQ(9000010,ABMVIEN_",",.05,"I")
  1. S ^TMP("ABM-VTPB",$J,ABMP("VLOC")_U_ABMP("TPB")_U_ABMP("SCAT")_U_ABMVIEN_U_ABMP("PDFN")_U_ABMP("CLIN"))=""
  1. Q
  1. PRINT ;EP for printing data
  1. S ABM("PG")=0 D HDB
  1. S (ABM("CNT1"),ABM("CNT2"),ABM("CNT"),ABM("TOT1"),ABM("TOT2"),ABM("TOT"))=0
  1. S ABM("VLOC")=""
  1. S ABM("Z")="TMP(""ABM-VTPB"","_$J,ABM="^"_ABM("Z")_")" I '$D(@ABM) Q
  1. F S ABM=$Q(@ABM) Q:ABM'[ABM("Z") D G:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) XIT
  1. .I $Y>(IOSL-5) D HD Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) W " (cont)"
  1. .S ABM("T")=$P(ABM,"ABM-VTPB",2),ABM("TXT")=$P($P(ABM("T"),",",3,99),"""",2),ABM("TXT")=+$P(ABM("T"),",",3)_U_ABM("TXT")
  1. .I ABM("VLOC")'=$P(ABM("TXT"),U,2) D SUB:ABM("VLOC")]"" W:(ABM("VLOC")'="") ! W !?3,"Visit Location: ",$P(ABM("TXT"),U,2)
  1. .S ABM("VLOC")=$P(ABM("TXT"),U,2)
  1. .S ABM("TPB")=$P(ABM("TXT"),U,3)
  1. .S ABM("SCAT")=$P(ABM("TXT"),U,4)
  1. .S ABM("VDFN")=$P(ABM("TXT"),U,5)
  1. .S ABM("PDFN")=$P(ABM("TXT"),U,6)
  1. .S ABM("CLIN")=$P(ABM("TXT"),U,7)
  1. .W !
  1. .W $E($P(^DPT($P(ABM("PDFN"),U),0),U),1,16) ;pat name
  1. .S ABM("HRN")=$P($G(^AUPNPAT($P(ABM("PDFN"),U),41,ABM("VLOC"),0)),U,2) ;HRN
  1. .S:ABM("HRN")="" ABM("HRN")=$P($G(^AUPNPAT($P(ABM("PDFN"),U),41,DUZ(2),0)),U,2) ;HRN
  1. .W ?18,ABM("HRN")
  1. .W ?25,$E(ABM("CLIN"),1,10) ;clinic
  1. .W ?37,$$GET1^DIQ(9000010,ABM("VDFN")_",",.01,"E") ;visit date/time
  1. .W ?57,$E(ABM("TPB"),1,22) ;third party billed
  1. .S ABM("CNT1")=ABM("CNT1")+1,ABM("CNT2")=ABM("CNT2")+1,ABM("CNT")=ABM("CNT")+1,ABM("TOT")=ABM("TOT")+ABM("T")
  1. .S ABM("TOT1")=ABM("TOT1")+ABM("T"),ABM("TOT2")=ABM("TOT2")+ABM("T")
  1. D SUB
  1. Q
  1. ;
  1. HD D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. HDB S ABM("PG")=ABM("PG")+1,ABM("I")="" D WHD^ABMDRHD
  1. W !?2,"Patient",?18,"HRN",?25,"Clinic",?37,"Visit Date/Time",?57,"Third Party Billed"
  1. W !,"-------------------------------------------------------------------------------"
  1. Q
  1. ;
  1. SUB Q:'ABM("CNT1")
  1. W !?27,"------"
  1. W !?19,"Count:",?27,ABM("CNT1")
  1. S ABM("CNT1")=0,ABM("TOT1")=0,ABM("CNT2")=0,ABM("TOT2")=0,ABM("I")=""
  1. Q
  1. XIT ;EXIT POINT
  1. Q