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

PXBMCPT.m

Go to the documentation of this file.
  1. PXBMCPT ;ISL/JVS,ESW - MAIN ROUTINE CPT CODES ; 12/5/02 11:36am
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**11,108**;Aug 12, 1996
  1. ;
  1. W !,"This is not the entry into this routine" Q
  1. ;
  1. ; VARABLE LIST
  1. ;
  1. ;
  1. CPT(PXBVST) ;---Real entry point
  1. Q:'$D(^AUPNVSIT(PXBVST))
  1. D CPT^PXBMCPT2(PXBVST) Q
  1. S TEST=1
  1. ; PXBVST = Appointment-Encounter Visit IEN
  1. ; PXBDPRV = Default Provider for clinic appointment IEN
  1. ;--Set up
  1. N PXBCNT,I,J,IDATE,PRIP,PRIPOV,PRISEC,QUA,VISIT,PRI,POV,PRV,PXBENT,SAVE,PXBSKY,PXBKY,PXBSAM,PXBCNT,PRVDR
  1. N PXBUT,FPRI,ENTRY,PXBSAVE,NAME,VAR,DOUBLEQQ,CPTQUA,PXBPRV,ERROR
  1. N REQI,REQE,DATA,PROMPT,FIRSTCPT,KFIRST,FROM,IDATE,%,CYCL
  1. N PXBNCPT,PXBNPRV,PXBNPOV,FIRST,PXBWIN,CLINIC,PXBPMT,LEAVE,PATIENT
  1. N FROM,NOREV
  1. S (REQE,REQI)=""
  1. S CLINIC=$P(^AUPNVSIT(PXBVST,0),"^",22),PROMPT="CPT"
  1. ;--KILL OF THE TMP GLOGALS IN ALL PROMPTS
  1. S ^TMP("PXBDCPT",$J,"START")=0,FIRST=1,FIRSTCPT=1,PXBEXIT=1
  1. ;
  1. P ;--Obtain the correct provider
  1. I $G(DOUBLEQQ) S FIRST=1
  1. D TERM^PXBCC
  1. D HDR^PXBUTL(PXBVST,1),REQ^PXBDREQ(4)
  1. D PRV^PXBGPRV(PXBVST,.PXBSKY,.PXBKY,.PXBSAM,.PXBCNT,.PRVDR,.FPRI)
  1. I $G(TEST)=1 S FROM="CPT" D EN0^PXBDPRV K FROM
  1. I $G(TEST)=2 D CPT^PXBGCPT(PXBVST)
  1. I $G(TEST)=2 D EN0^PXBDCPT
  1. R D WIN17^PXBCC(PXBCNT),LOC^PXBCC(15,1)
  1. K ERROR S FROM="CPT" D PRV^PXBPPRV W:$D(CYCL) IOSC K FROM G:$G(PXBEXIT)<1 CPTXIT G:$G(ERROR) R K CYCL
  1. W IOEDEOP
  1. I $G(DOUBLEQQ)=1,'$P(REQI,"^",1) G P
  1. I DATA["^P" D RSET^PXBDREQ("PRV") G P
  1. I $G(PXBUT)=1,'$D(FIRST) G CPTXIT
  1. I $G(PXBUT)=1,$D(LEAVE) G CPTXIT
  1. K FIRST
  1. ;
  1. ;--Prompt for Primary or Secondary Provider
  1. S PROMPT="CPT^PRV" D PRI^PXBPPRV1 S PROMPT="CPT"
  1. I $D(DIRUT) G P
  1. ;
  1. ;--Display the Requested Provider
  1. D PRINT^PXBDREQ(1)
  1. D EN0^PXBSTOR(PXBVST,PATIENT,REQI)
  1. ;
  1. ;--File the Provider data into the V files
  1. D EN1^PXKMAIN
  1. ;
  1. C ;--Display the CPT codes
  1. D LOC^PXBCC(3,1) W IOEDEOP
  1. D CPT^PXBGCPT(PXBVST)
  1. D EN0^PXBDCPT
  1. R2 D WIN17^PXBCC(PXBCNT),LOC^PXBCC(15,1)
  1. K ERROR D CPT^PXBPCPT G:$G(PXBEXIT)<1 CPTXIT G:$G(ERROR) R2 W IOEDEOP
  1. I DATA=""!(DATA["^P") D RSET^PXBDREQ("CPT"),RSET^PXBDREQ("PRV") K DIRUT,PXBUT G P
  1. I DATA["^C" D RSET^PXBDREQ("CPT") G C
  1. I DATA=""!(DATA["^") D RSET^PXBDREQ("CPT"),RSET^PXBDREQ("PRV") K DIRUT,PXBUT G P
  1. ;
  1. ;--Display the requested CPT code
  1. D PRINT^PXBDREQ(2)
  1. ;
  1. Q ;--Prompt of the QUANTITY of the CPT code
  1. D WIN17^PXBCC(PXBCNT)
  1. S PROMPT="CPT^QUA" D QUA^PXBPQUA S PROMPT="CPT"
  1. I EDATA["^C" D RSET^PXBDREQ("CPT") G C
  1. I EDATA["^P" D RSET^PXBDREQ("CPT"),RSET^PXBDREQ("PRV") K DIRUT,PXBUT G P
  1. ;
  1. ;--Create The ^TMP("PXK", ARRAY
  1. D EN0^PXBSTOR(PXBVST,PATIENT,REQI)
  1. ;--File the data into the V files
  1. D EN1^PXKMAIN
  1. D RSET^PXBDREQ("CPT")
  1. G C
  1. ;
  1. CPTXIT ;----EXIT AND CLEAN UP
  1. D KILL^PXBUTL3
  1. D PRIM^PXBUTL
  1. D FULL0^PXBCC
  1. D CLEAR1^PXBCC
  1. K PXBKY,PXBSAM,PXBSKY,PXBVST
  1. ;
  1. ;----Do the EVENT to the Protocol
  1. K ^TMP("PXBDCPT",$J),^TMP("PXBSTOR",$J),^TMP("PXK",$J)
  1. K ^TMP("PXBTOTAL",$J),^TMP("PXBTANA",$J)
  1. Q
  1. ;
  1. TEST3 ;---THIRD SERERIO FOR PROMPTING FOR CPT'S
  1. I $G(DOUBLEQQ) S FIRST=1
  1. D TERM^PXBCC
  1. D HDR^PXBUTL(PXBVST,1),REQ^PXBDREQ(4)
  1. D TEST3C
  1. D TEST3Q
  1. TEST3C ;--Display the CPT codes
  1. D LOC^PXBCC(3,1) W IOEDEOP
  1. D CPT^PXBGCPT(PXBVST)
  1. D EN0^PXBDCPT
  1. R23 D WIN17^PXBCC(PXBCNT),LOC^PXBCC(15,1)
  1. K ERROR D CPT^PXBPCPT G:$G(PXBEXIT)<1 CPTXIT G:$G(ERROR) R2 W IOEDEOP
  1. I DATA=""!(DATA["^P") D RSET^PXBDREQ("CPT"),RSET^PXBDREQ("PRV") K DIRUT,PXBUT G P
  1. I DATA["^C" D RSET^PXBDREQ("CPT") G C
  1. I DATA=""!(DATA["^") D RSET^PXBDREQ("CPT"),RSET^PXBDREQ("PRV") K DIRUT,PXBUT G P
  1. ;
  1. ;--Display the requested CPT code
  1. D PRINT^PXBDREQ(2)
  1. Q
  1. TEST3Q ;--Prompt of the QUANTITY of the CPT code
  1. D WIN17^PXBCC(PXBCNT)
  1. S PROMPT="CPT^QUA" D QUA^PXBPQUA S PROMPT="CPT"
  1. I EDATA["^C" D RSET^PXBDREQ("CPT") G C
  1. I EDATA["^P" D RSET^PXBDREQ("CPT"),RSET^PXBDREQ("PRV") K DIRUT,PXBUT G P
  1. ;
  1. ;--Create The ^TMP("PXK", ARRAY
  1. D EN0^PXBSTOR(PXBVST,PATIENT,REQI)
  1. ;--File the data into the V files
  1. D EN1^PXKMAIN
  1. D RSET^PXBDREQ("CPT")
  1. G C
  1. Q