| [613] | 1 | ORWLR1 ; slc/dcm -  VBEC Blood Bank Report ;01/16/03  15:02
 | 
|---|
 | 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**172**;Dec 17, 1997
 | 
|---|
 | 3 |  ;Re-write of ^LR7OSBR
 | 
|---|
 | 4 | EN(DFN) ;Get Blood Bank Report
 | 
|---|
 | 5 |  Q:'$G(DFN)
 | 
|---|
 | 6 |  N GCNT,CCNT,GIOSL,GIOM,ORABORH,PATID,PATNAM,PATDOB,ORN
 | 
|---|
 | 7 |  S PATID="`"_DFN,PATNAM=$P(^DPT(DFN,0),"^"),PATDOB=$P(^(0),"^",3) ;Why PATNAM and PATDOB???
 | 
|---|
 | 8 |  K ^TMP("ORLRC",$J)
 | 
|---|
 | 9 |  S GCNT=0,CCNT=1,GIOSL=999999,GIOM=80
 | 
|---|
 | 10 |  S ORABORH=$$ABORH^VBECA1(PATID,PATNAM,PATDOB) ;Get ABO/RH
 | 
|---|
 | 11 |  S ORN(2.91)="DIRECT AHG TEST COMMENT",ORN(8)="ANTIBODY SCREEN COMMENT"
 | 
|---|
 | 12 |  S ORN(10.3)="ABO TESTING COMMENT",ORN(11.3)="RH TESTING COMMENT"
 | 
|---|
 | 13 |  D EN^ORWLR2
 | 
|---|
 | 14 |  Q
 | 
|---|
 | 15 |  ;
 | 
|---|
 | 16 | REPORT ;Blood Bank Report for M reports menu
 | 
|---|
 | 17 |  Q:'$G(DFN)
 | 
|---|
 | 18 |  N DIC,ID,ORDFN,ORY,PAGE,XQORNOD
 | 
|---|
 | 19 |  S ORDFN=DFN,ID=2
 | 
|---|
 | 20 |  D BLR^ORWRP1(.ORY,.ORDFN,.ID,.ORALPHA,.OROMEGA,.ORDAYSBK,.REMOTE)
 | 
|---|
 | 21 |  Q:'$L(ORY)
 | 
|---|
 | 22 |  S PAGE=1
 | 
|---|
 | 23 |  D HEAD^ORWRPP1(ORDFN,PAGE,"PATIENT BLOOD BANK REPORT",$G(STATION))
 | 
|---|
 | 24 |  D HURL^ORWRPP1(.ORY,ORDFN,"PATIENT BLOOD BANK REPORT",,,1)
 | 
|---|
 | 25 |  Q
 | 
|---|
 | 26 | TEST ;Test calls
 | 
|---|
 | 27 |  N ORVP,PATID,PATNAM,PATDOB,LRDFN,ERR,ABORH,ID,ID1,ID2,ARR,GMI,DI2,BPN,VBECERR
 | 
|---|
 | 28 |  D EN2^ORUDPA
 | 
|---|
 | 29 |  Q:'ORVP
 | 
|---|
 | 30 |  K ^TMP("BBD",$J),^TMP("TRRX",$J),^TMP("TRAN",$J)
 | 
|---|
 | 31 |  S PATID="`"_+ORVP,PATNAM=ORPNM,PATDOB=$P(^DPT(+ORVP,0),"^",3)
 | 
|---|
 | 32 |  D PAT^VBECA1A W !,LRDFN I $O(VBECERR(0)) S ERR=0 F  S ERR=$O(VBECERR(ERR)) Q:'ERR  W !?5," ERR:"_VBECERR(1)
 | 
|---|
 | 33 |  S ABORH=$$ABORH^VBECA1(PATID,PATNAM,PATDOB) W !,"ABO/RH: "_ABORH
 | 
|---|
 | 34 |  D ABID^VBECA1(PATID,PATNAM,PATDOB,.PARENT,.ARR) I $O(ARR("ABID",0)) D
 | 
|---|
 | 35 |  . W !,"Antibodies Identified: " S ID=0 F  S ID=$O(ARR("ABID",ID)) Q:'ID  W !?2,ARR("ABID",ID)
 | 
|---|
 | 36 |  D TRRX^VBECA1(PATID,PATNAM,PATDOB,.PARENT,.ARR) I $O(ARR("TRRX",0)) D
 | 
|---|
 | 37 |  . W !,"Transfusion reactions: " S ID=0 F  S ID=$O(ARR("TRRX",ID)) Q:'ID  W !?2,ARR("TRRX",ID)
 | 
|---|
 | 38 |  D DFN^VBECA3A(DFN),CPRS^VBECA3B
 | 
|---|
 | 39 |  I $O(^TMP("BBD",$J,"CROSSMATCH",0)) D
 | 
|---|
 | 40 |  . W !,"Crossmatched Units: " S ID=0 F  S ID=$O(^TMP("BBD",$J,"CROSSMATCH",ID)) Q:'ID  W !?2,^(ID)
 | 
|---|
 | 41 |  I $O(^TMP("BBD",$J,"COMPONENT REQUEST",0)) D
 | 
|---|
 | 42 |  . W !,"Component request: " S ID=0 F  S ID=$O(^TMP("BBD",$J,"COMPONENT REQUEST",ID)) Q:'ID  W !?2,^(ID) D
 | 
|---|
 | 43 |  .. S ID1=0 F  S ID1=$O(^TMP("BBD",$J,"COMPONENT REQUEST",ID,ID1)) Q:'ID1  W !,"."_^(ID1)
 | 
|---|
 | 44 |  D TRAN^VBECA4(+ORVP,"TRAN")
 | 
|---|
 | 45 |  I $O(^TMP("TRAN",$J,0)) D
 | 
|---|
 | 46 |  . N ID,GMR,GMA
 | 
|---|
 | 47 |  . W !,"Transfused Units: ",! S ID=0
 | 
|---|
 | 48 |  . F  S ID=$O(^TMP("TRAN",$J,ID)) Q:'ID  S GMR=^(ID) D
 | 
|---|
 | 49 |  .. D PARSE,WRT
 | 
|---|
 | 50 |  . I $O(^TMP("TRAN",$J,"A"))'="" D
 | 
|---|
 | 51 |  .. W !
 | 
|---|
 | 52 |  .. W " Blood Product Key: "
 | 
|---|
 | 53 |  . S GMI="A" F  S GMI=$O(^TMP("TRAN",$J,GMI)) Q:GMI=""  D
 | 
|---|
 | 54 |  .. W ?21,GMI," = ",$G(^TMP("TRAN",$J,GMI)),!
 | 
|---|
 | 55 |  I $O(^TMP("BBD",$J,"SPECIMEN",0)) D
 | 
|---|
 | 56 |  . W !,"Specimen: " S ID=0 F  S ID=$O(^TMP("BBD",$J,"SPECIMEN",ID)) Q:'ID  W !?2,^(ID) D
 | 
|---|
 | 57 |  .. S ID1=0 F  S ID1=$O(^TMP("BBD",$J,"SPECIMEN",ID,ID1)) Q:'ID1  W:$D(^(ID1))#2 !,"."_^(ID1) D
 | 
|---|
 | 58 |  ... S ID2=0 F  S ID2=$O(^TMP("BBD",$J,"SPECIMEN",ID,ID1,ID2)) Q:'ID2  W:$D(^(ID2))#2 !,".."_^(ID2)
 | 
|---|
 | 59 |  K ^TMP("BBD",$J),^TMP("TRRX",$J),^TMP("TRAN",$J)
 | 
|---|
 | 60 |  Q
 | 
|---|
 | 61 | PARSE ;Parse Record
 | 
|---|
 | 62 |   N GMI,X S TD=$$FMTE^XLFDT(+GMR)
 | 
|---|
 | 63 |   S GMA(1)=$P(GMR,U,2),BPN=$L(GMA(1),";")
 | 
|---|
 | 64 |   I $P(GMA(1),";",BPN)="" S BPN=BPN-1
 | 
|---|
 | 65 |   F GMI=2:1:BPN S GMA(GMI)="("_$P($P(GMA(1),";",GMI),"\")_") "_$P($P(GMA(1),";",GMI),"\",2)
 | 
|---|
 | 66 |   S GMA(1)="("_$P($P(GMA(1),";",1),"\")_") "_$P($P(GMA(1),";",1),"\",2)
 | 
|---|
 | 67 |   Q
 | 
|---|
 | 68 | WRT  ; Writes the Transfusion Record for each day
 | 
|---|
 | 69 |   N GML,GMI1,GMI2,GMM,GMJ
 | 
|---|
 | 70 |   S GMM=$S(BPN#4:1,1:0),GML=BPN\4+GMM
 | 
|---|
 | 71 |   W TD
 | 
|---|
 | 72 |   F GMI1=1:1:GML D
 | 
|---|
 | 73 |   . F GMI2=1:1:($S((GMI1=GML)&(BPN#4):BPN#4,1:4)) D
 | 
|---|
 | 74 |   .. S GMJ=((GMI1-1)*4)+GMI2
 | 
|---|
 | 75 |   .. W ?(((GMI2-1)*15)+13),GMA(GMJ)
 | 
|---|
 | 76 |   .. I $S(GMI2#4=0:1,GMI2=BPN:1,GMI2+(4*(GMI1-1))=BPN:1,1:0) W !
 | 
|---|
 | 77 |   Q
 | 
|---|