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

PRCPCRPL.m

Go to the documentation of this file.
PRCPCRPL ;WISC/RFJ/DWA-cc and ik preparation list ; 06/23/2009  2:15 PM
 ;;5.1;IFCAP;**27,49,136**;Oct 20, 2000;Build 6
 ;Per VHA Directive 2004-038, this routine should not be modified.
 Q
 ;
 ;
DQ ;  called from prcpopt to print preparation list on picking ticket
 ;  print cc from ^tmp($j,"prcpcrpl-cc",itemda)
 ;  print ik from ^tmp($j,"prcpcrpl-ik",itemda)
 N %,CCIKITEM,COMMENTS,DESCR,DFN,ITEMDATA,LOCATION,OPCODE,OPDATE,OPDATEI,ORROOM,PATNAME,PATSSN,PRCPDATA,PRCPSDAT,PRCPFILE,PRCPINPT,PRCPPAT,PRCPSURG,SEQ,SURGEON,VADM,VAERR,X,Y
 D PAT
 D SURG
 D CART
 D IK
 D Q
 Q
 ;
Q ; clean up ^TMP
 K ^TMP("PRCPCRPL-CC"),^TMP("PRCPCRPL-IK"),^TMP("PRCPCRPL-KIT"),^TMP("PRCPCRPLSEQ"),^TMP("PRCPCRPLSEQ2")
 Q
 ;
PAT ; get patient data
 S PRCPPAT=+$P($G(^PRCP(445.3,ORDERDA,2)),"^"),PRCPSURG=+$P($G(^(2)),"^",2)
 S DFN=PRCPPAT I $$VERSION^XPDUTL("DG") D DEM^VADPT
 S PATNAME=$G(VADM(1)),PATSSN=$P($G(VADM(2)),"^")
 Q
 ;
SURG ;  get surgery data
 D SURGDATA(PRCPSURG,".02;.09;.14;.28;27")
 S ORROOM=$G(PRCPSDAT(130,PRCPSURG,.02,"E")),OPDATE=$G(PRCPSDAT(130,PRCPSURG,.09,"E")),SURGEON=$G(PRCPSDAT(130,PRCPSURG,.14,"E")),OPCODE=$G(PRCPSDAT(130,PRCPSURG,27,"I"))
 S OPDATEI=$G(PRCPSDAT(130,PRCPSURG,.09,"I")),OPCODE=$TR($$ICPT^PRCPCUT1(+OPCODE,OPDATEI),"^"," ")
 ;
 Q
 ;
CART ;  process case carts
 I $D(^TMP($J,"PRCPCRPL-CC")) D
 . S CCIKITEM=0,PRCPFILE=445.7
 . K ^TMP($J,"PRCPCRPL-KIT")
 . F  S CCIKITEM=$O(^TMP($J,"PRCPCRPL-CC",CCIKITEM)) Q:'CCIKITEM!($G(PRCPFLAG))  D
 . . D H
 . . S PRCPFILE=445.7
 . . D CCIKNAME Q:$G(PRCPFLAG)
 . . D CART2,CART3 Q:$G(PRCPFLAG)
 . . D COMMENTS Q:$G(PRCPFLAG)
 . . K ^TMP($J,"PRCPCRPLSEQ")
 . . D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG)
 . . I $D(^TMP($J,"PRCPCRPL-KIT")) D KIT K ^TMP($J,"PRCPCRPL-KIT")
 I $G(PRCPFLAG) Q
 Q
CART2 ;  set up ^TMP($J,"PRCPCRPLSEQ", for print of carts
 Q:$G(PRCPFLAG)
 S ITEMDA=0
 F  S ITEMDA=$O(^PRCP(445.7,CCIKITEM,1,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG))  D
 . S SEQ=$$STORAGE^PRCPESTO(PRCPINPT,ITEMDA)
 . I SEQ="" S SEQ="?"
 . S ^TMP($J,"PRCPCRPLSEQ",SEQ,CCIKITEM,ITEMDA)=""
 . I $D(^PRCP(445.8,ITEMDA)) S ^TMP($J,"PRCPCRPL-KIT",CCIKITEM,ITEMDA)=""
 Q
 ;
CART3 ;  print out carts
 Q:$G(PRCPFLAG)
 S SEQ=""
 F  S SEQ=$O(^TMP($J,"PRCPCRPLSEQ",SEQ)) Q:SEQ=""!($G(PRCPFLAG))  D
 . S ITEMDA=""
 . F  S ITEMDA=$O(^TMP($J,"PRCPCRPLSEQ",SEQ,CCIKITEM,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG))  D
 . . S ITEMDATA=$G(^PRCP(445.7,CCIKITEM,1,ITEMDA,0))
 . . D WRITE
 . . Q:$G(PRCPFLAG)
 Q
 ;
IK ;  process freestanding instrument kits
 Q:$G(PRCPFLAG)
 I $D(^TMP($J,"PRCPCRPL-IK")) D
 . S CCIKITEM=0,PRCPFILE=445.8
 . F  S CCIKITEM=$O(^TMP($J,"PRCPCRPL-IK",CCIKITEM)) Q:'CCIKITEM!($G(PRCPFLAG))  D
 . . D H
 . . D CCIKNAME Q:$G(PRCPFLAG)
 . . D IK2,IK3 Q:$G(PRCPFLAG)
 . . D COMMENTS Q:$G(PRCPFLAG)
 . . K ^TMP($J,"PRCPCRPLSEQ")
 . . D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG)
 I $G(PRCPFLAG) Q
 Q
IK2 ;  set up ^TMP($J,"PRCPCRPLSEQ", for print of kits
 Q:$G(PRCPFLAG)
 K ^TMP($J,"PRCPCRPLSEQ")
 S ITEMDA=0
 F  S ITEMDA=$O(^PRCP(445.8,CCIKITEM,1,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG))  D
 . S SEQ=$P(^PRCP(445.8,CCIKITEM,1,ITEMDA,0),"^",3)
 . I SEQ="" S SEQ=99.99
 . S ^TMP($J,"PRCPCRPLSEQ",SEQ,CCIKITEM,ITEMDA)=""
 Q
 ;
IK3 ;  print out kits
 Q:$G(PRCPFLAG)
 S SEQ=0
 F  S SEQ=$O(^TMP($J,"PRCPCRPLSEQ",SEQ)) Q:'SEQ!($G(PRCPFLAG))  D
 . S ITEMDA=0
 . F  S ITEMDA=$O(^TMP($J,"PRCPCRPLSEQ",SEQ,CCIKITEM,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG))  D
 . . S ITEMDATA=$G(^PRCP(445.8,CCIKITEM,1,ITEMDA,0))
 . . D WRITE
 . . Q:$G(PRCPFLAG)
 Q
 ;
KIT ;  process kits associated with cart
 Q:$G(PRCPFLAG)
 N CCITEM,CCIKITEM
 S PRCPFILE=445.8
 S CCITEM=0
 F  S CCITEM=$O(^TMP($J,"PRCPCRPL-KIT",CCITEM)) Q:'CCITEM!($G(PRCPFLAG))  D
 . S CCIKITEM=0
 . F  S CCIKITEM=$O(^TMP($J,"PRCPCRPL-KIT",CCITEM,CCIKITEM)) Q:'CCIKITEM!($G(PRCPFLAG))  D
 . . D H,CCIKNAME
 . . Q:$G(PRCPFLAG)
 . . D KIT2,KIT3 Q:$G(PRCPFLAG)
 . . D COMMENTS Q:$G(PRCPFLAG)
 . . K ^TMP($J,"PRCPCRPLSEQ2")
 . D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG)
 Q
KIT2 ; set up ^TMP($J,"PRCPCRPLSEQ2", for print of kits
 Q:$G(PRCPFLAG)
 K ^TMP($J,"PRCPCRPLSEQ2")
 S ITEMDA=0
 F  S ITEMDA=$O(^PRCP(PRCPFILE,CCIKITEM,1,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG))  D
 . S ITEMDATA=$G(^PRCP(PRCPFILE,CCIKITEM,1,ITEMDA,0))
 . S SEQ=$P(ITEMDATA,"^",3)
 . I SEQ="" S SEQ=99.99
 . S ^TMP($J,"PRCPCRPLSEQ2",SEQ,CCIKITEM,ITEMDA)=""
 Q
KIT3 ; print out kits
 Q:$G(PRCPFLAG)
 S SEQ=0
 F  S SEQ=$O(^TMP($J,"PRCPCRPLSEQ2",SEQ)) Q:'SEQ!($G(PRCPFLAG))  D
 . S ITEMDA=0
 . F  S ITEMDA=$O(^TMP($J,"PRCPCRPLSEQ2",SEQ,CCIKITEM,ITEMDA)) Q:'ITEMDA!($G(PRCPFLAG))  D
 . . S ITEMDATA=$G(^PRCP(PRCPFILE,CCIKITEM,1,ITEMDA,0))
 . . D WRITE
 . . Q:$G(PRCPFLAG)
 Q
 ;
WRITE ;  write data
 I $Y>(IOSL-4) D:SCREEN P^PRCPUREP Q:$G(PRCPFLAG)  D H
 S LOCATION=$$STORAGE^PRCPESTO(PRCPINPT,ITEMDA)
 S DESCR=$E($$DESCR^PRCPUX1(PRCPINPT,ITEMDA),1,33)_" (#"_ITEMDA_")"
 W !?2,DESCR,?45,$J(+$P(ITEMDATA,"^",2),5),$J($P($$UNIT^PRCPUX1(PRCPINPT,ITEMDA,"^"),"^",2),4),"  ",$E(LOCATION,1,15),?72,"__ __ __"
 Q
 ;
 ;
CCIKNAME ;  write cc or ik name
 I $Y>(IOSL-8) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG)  D H
 S PRCPDATA=$G(^PRCP(PRCPFILE,CCIKITEM,0))
 S PRCPINPT=$P(PRCPDATA,"^",2)
 S LOCATION=$$STORAGE^PRCPESTO(PRCPINPT,CCIKITEM)
 S DESCR=$E($$DESCR^PRCPUX1(PRCPINPT,CCIKITEM),1,40)_" (#"_CCIKITEM_") .............................................................."
 W !!?22,"* * * * *  ",$S(PRCPFILE=445.7:"  CASE CART   ",1:"INSTRUMENT KIT"),"  * * * * *"
 W !,$E(DESCR,1,55),?56,$E(LOCATION,1,15),?72,"__ __ __"
 W !?10,"from: ",$$INVNAME^PRCPUX1(PRCPINPT)
 Q
 ;
 ;
COMMENTS ;  print comments
 I $Y>(IOSL-7) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG)  D H
 I PRCPFILE=445.8 D
 .   W !,"METHOD OF STERILIZATION     : ",$$STERILE^PRCPCRDK(CCIKITEM)
 .   W !,"METHOD OF WRAPPING/PACKAGING: ",$$WRAPPING^PRCPCRDK(CCIKITEM)
 W !,$S(PRCPFILE=445.7:"CASE CART",1:"INSTRUMENT KIT")," SPECIAL INSTRUCTIONS/REMARKS:"
 S X=0 F  S X=$O(^PRCP(PRCPFILE,CCIKITEM,2,X)) Q:'X!($G(PRCPFLAG))  S DATA=$G(^(X,0)) D
 .   I $Y>(IOSL-4) D:SCREEN P^PRCPUREP Q:$D(PRCPFLAG)  D H
 .   W !,DATA
 Q
 ;
 ;
H S %=NOW_"  PAGE "_PAGE,PAGE=PAGE+1 I PAGE'=2!(SCREEN) W @IOF
 W $C(13),"CASE CART OR INSTRUMENT KIT PREPARATION LIST  ",?(80-$L(%)),%
 S %="",$P(%,"-",81)=""
 W !?1,"PATIENT: ",$E(PATNAME,1,28),?40,"SSN: ",PATSSN,?63,"RETURNED BY ____."
 W !?1,"DATE OF OPERATION: ",OPDATE,?32,"OR ROOM: ",$E(ORROOM,1,18),?60,"RECEIVED BY ____.  |"
 W !?1,"PRINCIPAL OPERATION CODE: ",OPCODE,?59,"PICKED BY ____.  |  |"
 W !?1,"SURGEON: ",SURGEON,?73,"|  |  |"
 W !?73,"V  V  V"
 W !,"DESCRIPTION (#MI)",?45,$J("QTY",5),$J("UI",4),?56,"LOCATION",?72,"CK CK CK",!,%
 W !?1,"COMMENTS:"
 S %=0 F  S %=$O(COMMENTS(%)) Q:'%  W !,COMMENTS(%)
 W !
 Q
 ;
 ;
SURGDATA(DA,DR)       ;  get surgery data
 N D0,DIC,DIQ,QPQPQ
 K PRCPSDAT
 S QPQPQ=1 ;  to prevent executing field 27 opcode transform
 S DIC="^SRF(",DIQ="PRCPSDAT",DIQ(0)="IEN" D EN^DIQ1
 Q