GMTSLRB ; SLC/JER,KER - Blood Availability Component ; 11/26/2002
 ;;2.7;Health Summary;**17,47,59**;Oct 20, 1995
 ;                                      
 ; External References
 ;   DBIA   525  ^LR( all fields
 ;   DBIA  2056  $$GET1^DIQ (file 2)
 ;   DBIA  3177  AVUNIT^VBECA4()  Blood Bank Pkg
 ;                         
MAIN ; Blood Availability 
 N GMI,MAX,LRDFN,IX,X,LOC
 S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:999),LOC="LRB"
 S LRDFN=$$GET1^DIQ(2,+($G(DFN)),63,"I") Q:+LRDFN=0!('$D(^LR(+LRDFN)))
 ;                 
 ; Get Available Units
 ;   Blood Bank Package  AVUNIT^VBECA4
 ;   Lab Package         ^GMTSLRBE    
 ;                 
 D:+($$ROK^GMTSU("VBECA4"))>0 AVUNIT^VBECA4(DFN,LOC,GMTS1,GMTS2,MAX)
 D:+($$ROK^GMTSU("VBECA4"))'>0 ^GMTSLRBE
 Q:'$D(^TMP("LRB",$J))
 D WRTBTYP
 S IX=0 F  S IX=$O(^TMP("LRB",$J,IX)) Q:IX=""  D
 . S X=^TMP("LRB",$J,IX) D WRT
 K ^TMP("LRB",$J)
 Q
WRTBTYP ; Writes Blood Type (Added 03/31/1994)
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W ?1,"Patient Blood Type:",?22,$P(^TMP("LRB",$J,0),U,1)
 W ?25,$P(^TMP("LRB",$J,0),U,2),!!
 Q
WRT ; Writes Blood Availability Record
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W $P(X,U),?2,$P(X,U,2),?11,$P(X,U,3),?22,$P(X,U,4)
 W ?62,$J($P(X,U,6),2),?65,$P(X,U,7),?69,$P(X,U,8),!
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W ?6,"Unit Location:"
 W ?22,$S($L($P(X,U,10)):$P(X,U,10),1:"Blood Bank"),!
 D CKP^GMTSUP Q:$D(GMTSQIT)
 W ?6,"Unit Division:",?22,$P(X,U,9),!
 I $L($P(X,U,8)) D CKP^GMTSUP Q:$D(GMTSQIT)  D
 . W ?6,"Donation Type:",?22,$P(X,U,8),!
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMTSLRB   1541     printed  Sep 23, 2025@19:33:45                                                                                                                                                                                                     Page 2
GMTSLRB   ; SLC/JER,KER - Blood Availability Component ; 11/26/2002
 +1       ;;2.7;Health Summary;**17,47,59**;Oct 20, 1995
 +2       ;                                      
 +3       ; External References
 +4       ;   DBIA   525  ^LR( all fields
 +5       ;   DBIA  2056  $$GET1^DIQ (file 2)
 +6       ;   DBIA  3177  AVUNIT^VBECA4()  Blood Bank Pkg
 +7       ;                         
MAIN      ; Blood Availability 
 +1        NEW GMI,MAX,LRDFN,IX,X,LOC
 +2        SET MAX=$SELECT(+($GET(GMTSNDM))>0:+($GET(GMTSNDM)),1:999)
           SET LOC="LRB"
 +3        SET LRDFN=$$GET1^DIQ(2,+($GET(DFN)),63,"I")
           if +LRDFN=0!('$DATA(^LR(+LRDFN)))
               QUIT 
 +4       ;                 
 +5       ; Get Available Units
 +6       ;   Blood Bank Package  AVUNIT^VBECA4
 +7       ;   Lab Package         ^GMTSLRBE    
 +8       ;                 
 +9        if +($$ROK^GMTSU("VBECA4"))>0
               DO AVUNIT^VBECA4(DFN,LOC,GMTS1,GMTS2,MAX)
 +10       if +($$ROK^GMTSU("VBECA4"))'>0
               DO ^GMTSLRBE
 +11       if '$DATA(^TMP("LRB",$JOB))
               QUIT 
 +12       DO WRTBTYP
 +13       SET IX=0
           FOR 
               SET IX=$ORDER(^TMP("LRB",$JOB,IX))
               if IX=""
                   QUIT 
               Begin DoDot:1
 +14               SET X=^TMP("LRB",$JOB,IX)
                   DO WRT
               End DoDot:1
 +15       KILL ^TMP("LRB",$JOB)
 +16       QUIT 
WRTBTYP   ; Writes Blood Type (Added 03/31/1994)
 +1        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +2        WRITE ?1,"Patient Blood Type:",?22,$PIECE(^TMP("LRB",$JOB,0),U,1)
 +3        WRITE ?25,$PIECE(^TMP("LRB",$JOB,0),U,2),!!
 +4        QUIT 
WRT       ; Writes Blood Availability Record
 +1        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +2        WRITE $PIECE(X,U),?2,$PIECE(X,U,2),?11,$PIECE(X,U,3),?22,$PIECE(X,U,4)
 +3        WRITE ?62,$JUSTIFY($PIECE(X,U,6),2),?65,$PIECE(X,U,7),?69,$PIECE(X,U,8),!
 +4        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +5        WRITE ?6,"Unit Location:"
 +6        WRITE ?22,$SELECT($LENGTH($PIECE(X,U,10)):$PIECE(X,U,10),1:"Blood Bank"),!
 +7        DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
 +8        WRITE ?6,"Unit Division:",?22,$PIECE(X,U,9),!
 +9        IF $LENGTH($PIECE(X,U,8))
               DO CKP^GMTSUP
               if $DATA(GMTSQIT)
                   QUIT 
               Begin DoDot:1
 +10               WRITE ?6,"Donation Type:",?22,$PIECE(X,U,8),!
               End DoDot:1
 +11       QUIT