- ALPBFRMU ;OIFO-DALLAS MW,SED,KC-PRINT FORMATTING UTILITIES;01/01/03
- ;;3.0;BAR CODE MED ADMIN;**8,1018**;Mar 2004;Build 27
- ;
- FTEXT(COL,TEXT,RESULTS) ; format TEXT array...
- ; COL = number of columns (line length)
- ; TEXT = array to be reformatted. the array should be in
- ; standard FM format: TEXT(1,0)=text
- ; TEXT(2,0)=text
- ; TEXT(n,0)=text
- ; RESULT = array passed by reference into which reformatted text
- ; will be returned: RESULTS(1,0)=formatted text to COL length
- ; RESULTS(2,0)=formatted text to COL length
- I +$G(COL)=0!('$D(TEXT)) Q
- N ALPBTEMP,I,J,L,M,FSTRING,XSTRING
- S (I,J)=0
- S XSTRING=""
- F S I=$O(TEXT(I)) Q:'I D
- .S DATA=$G(TEXT(I,0))
- .I DATA="" D Q
- ..S J=J+1
- ..S ALPBTEMP(J,0)=""
- .F L=1:1:$L(DATA) D
- ..S XSTRING=XSTRING_$E(DATA,L)
- ..I $L(XSTRING)=COL D
- ...S FSTRING=XSTRING
- ...F M=$L(XSTRING):-1:1 Q:$A($E(XSTRING,M))'>32
- ...S FSTRING=$E(XSTRING,1,M-1)
- ...S XSTRING=$E(XSTRING,M+1,$L(XSTRING))
- ...S J=J+1
- ...S ALPBTEMP(J,0)=FSTRING
- ...S FSTRING=""
- ...I $L(XSTRING)=COL S XSTRING=""
- I $L(XSTRING)>0 D
- .S J=J+1
- .S ALPBTEMP(J,0)=XSTRING
- M RESULTS=ALPBTEMP
- Q
- ;
- HDR(DATA,PG,RESULTS) ; print page header...
- ; DATA = an array passed by reference containing the nodes in
- ; a patient's record in ^ALPB(53.7,...)
- ; PG = page number to use
- ; RESULTS = an array passed by reference that will be used to return
- ; the formated data
- ; returns data in formated 132-column output
- N ALPBALG,ALPBALGL,ALPBALGX,ALPBX,LINE
- I $G(PG)="" S PG=0
- S RESULTS(1)="MAR Ran: "_$$FMTE^XLFDT($$NOW^XLFDT())
- S RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),32)_"Inpatient Pharmacy Orders (Backup)"
- S RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),122)_"Page: "_$J(PG,3)
- S RESULTS(2)=$P($G(DATA(0)),"^")
- S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),33)_"HRN: "_$P($G(DATA(0)),"^",2)
- S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),50)_"DOB: "_$S($P($G(DATA(0)),"^",3)'="":$$FMTE^XLFDT($P(DATA(0),"^",3)),1:"not on file")
- S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),70)_"Sex: "_$P($G(DATA(0)),"^",4)
- S RESULTS(3)="Ward: "_$P($G(DATA(0)),"^",5)
- S RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),32)_"Room: "_$P($G(DATA(0)),"^",6)
- S RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),50)_"Bed: "_$P($G(DATA(0)),"^",7)
- S RESULTS(4)=""
- S RESULTS(4)=$$PAD^ALPBUTL(RESULTS(4),12)_"This record last updated: "
- S RESULTS(4)=RESULTS(4)_$S($P(DATA(0),"^",8)'="":$$FMTE^XLFDT($P(DATA(0),"^",8)),1:"<date not on file>")
- S LINE=4
- ; report allergies...
- I '$D(DATA(1,0)) D
- .;no allergies reported
- .S LINE=LINE+1,RESULTS(LINE)=""
- .S RESULTS(LINE)="No allergies reported to the Contingency"
- I +$O(DATA(1,0)) D
- .S LINE=LINE+1
- .S RESULTS(LINE)=""
- .S ALPBALGX="Allergies: "
- .S ALPBALGL=$L(ALPBALGX)-1
- .S (ALPBCNT,ALPBX)=0
- .F S ALPBX=$O(DATA(1,ALPBX)) Q:'ALPBX D
- ..S ALPBALG=$P($G(DATA(1,ALPBX,0)),"^",2)
- ..I ALPBALG="" K ALPBALG Q
- ..I $L(ALPBALGX_ALPBALG_"; ")>90 D
- ...S LINE=LINE+1
- ...S RESULTS(LINE)=""
- ...S ALPBALGX=""
- ...S ALPBALGX=$$PAD^ALPBUTL(ALPBALGX,ALPBALGL)
- ..S ALPBALGX=ALPBALGX_ALPBALG_$S(+$O(DATA(1,ALPBX)):"; ",1:"")
- ..S RESULTS(LINE)=ALPBALGX
- S RESULTS(0)=LINE
- Q
- ;
- ; code adapted from original routine ^ALPFOOT by FD@NJHCS, May 2002
- W !,"|"
- W ?13,"SIGNATURE/TITLE"
- W ?40,"| INIT"
- W ?48,"|"
- W ?50,"INJECTION SITES (Right or Left)"
- W ?88,"VA FORM 10-2970"
- W !,"|"
- W $$REPEAT^XLFSTR("_",38)
- W ?40,"|_______| 1. DELTOID"
- W ?71,"4. MED (ANTERIOR) THIGH"
- W ?96,"7. ABDOMEN"
- W !,"|"
- W $$REPEAT^XLFSTR("_",38)
- W ?40,"|_______| 2. VENTRAL GLUTEAL"
- W ?71,"5. VASTUS LATERALIS"
- W ?96,"8. THIGH"
- W !,"|"
- W $$REPEAT^XLFSTR("_",38)
- W ?40,"|_______| 3. GLUTEUS MEDIUS"
- W ?71,"6. UPPER ARM"
- W ?96,"9. BUTTOCK"
- W !,"|"
- W $$REPEAT^XLFSTR("_",38)
- W ?40,"|_______|10. UPPER BACK PRN: E=Effective N=Not Effective"
- Q
- ALPBFRMU ;OIFO-DALLAS MW,SED,KC-PRINT FORMATTING UTILITIES;01/01/03
- +1 ;;3.0;BAR CODE MED ADMIN;**8,1018**;Mar 2004;Build 27
- +2 ;
- FTEXT(COL,TEXT,RESULTS) ; format TEXT array...
- +1 ; COL = number of columns (line length)
- +2 ; TEXT = array to be reformatted. the array should be in
- +3 ; standard FM format: TEXT(1,0)=text
- +4 ; TEXT(2,0)=text
- +5 ; TEXT(n,0)=text
- +6 ; RESULT = array passed by reference into which reformatted text
- +7 ; will be returned: RESULTS(1,0)=formatted text to COL length
- +8 ; RESULTS(2,0)=formatted text to COL length
- +9 IF +$GET(COL)=0!('$DATA(TEXT))
- QUIT
- +10 NEW ALPBTEMP,I,J,L,M,FSTRING,XSTRING
- +11 SET (I,J)=0
- +12 SET XSTRING=""
- +13 FOR
- SET I=$ORDER(TEXT(I))
- IF 'I
- QUIT
- Begin DoDot:1
- +14 SET DATA=$GET(TEXT(I,0))
- +15 IF DATA=""
- Begin DoDot:2
- +16 SET J=J+1
- +17 SET ALPBTEMP(J,0)=""
- End DoDot:2
- QUIT
- +18 FOR L=1:1:$LENGTH(DATA)
- Begin DoDot:2
- +19 SET XSTRING=XSTRING_$EXTRACT(DATA,L)
- +20 IF $LENGTH(XSTRING)=COL
- Begin DoDot:3
- +21 SET FSTRING=XSTRING
- +22 FOR M=$LENGTH(XSTRING):-1:1
- IF $ASCII($EXTRACT(XSTRING,M))'>32
- QUIT
- +23 SET FSTRING=$EXTRACT(XSTRING,1,M-1)
- +24 SET XSTRING=$EXTRACT(XSTRING,M+1,$LENGTH(XSTRING))
- +25 SET J=J+1
- +26 SET ALPBTEMP(J,0)=FSTRING
- +27 SET FSTRING=""
- +28 IF $LENGTH(XSTRING)=COL
- SET XSTRING=""
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +29 IF $LENGTH(XSTRING)>0
- Begin DoDot:1
- +30 SET J=J+1
- +31 SET ALPBTEMP(J,0)=XSTRING
- End DoDot:1
- +32 MERGE RESULTS=ALPBTEMP
- +33 QUIT
- +34 ;
- HDR(DATA,PG,RESULTS) ; print page header...
- +1 ; DATA = an array passed by reference containing the nodes in
- +2 ; a patient's record in ^ALPB(53.7,...)
- +3 ; PG = page number to use
- +4 ; RESULTS = an array passed by reference that will be used to return
- +5 ; the formated data
- +6 ; returns data in formated 132-column output
- +7 NEW ALPBALG,ALPBALGL,ALPBALGX,ALPBX,LINE
- +8 IF $GET(PG)=""
- SET PG=0
- +9 SET RESULTS(1)="MAR Ran: "_$$FMTE^XLFDT($$NOW^XLFDT())
- +10 SET RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),32)_"Inpatient Pharmacy Orders (Backup)"
- +11 SET RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),122)_"Page: "_$JUSTIFY(PG,3)
- +12 SET RESULTS(2)=$PIECE($GET(DATA(0)),"^")
- +13 SET RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),33)_"HRN: "_$PIECE($GET(DATA(0)),"^",2)
- +14 SET RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),50)_"DOB: "_$SELECT($PIECE($GET(DATA(0)),"^",3)'="":$$FMTE^XLFDT($PIECE(DATA(0),"^",3)),1:"not on file")
- +15 SET RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),70)_"Sex: "_$PIECE($GET(DATA(0)),"^",4)
- +16 SET RESULTS(3)="Ward: "_$PIECE($GET(DATA(0)),"^",5)
- +17 SET RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),32)_"Room: "_$PIECE($GET(DATA(0)),"^",6)
- +18 SET RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),50)_"Bed: "_$PIECE($GET(DATA(0)),"^",7)
- +19 SET RESULTS(4)=""
- +20 SET RESULTS(4)=$$PAD^ALPBUTL(RESULTS(4),12)_"This record last updated: "
- +21 SET RESULTS(4)=RESULTS(4)_$SELECT($PIECE(DATA(0),"^",8)'="":$$FMTE^XLFDT($PIECE(DATA(0),"^",8)),1:"<date not on file>")
- +22 SET LINE=4
- +23 ; report allergies...
- +24 IF '$DATA(DATA(1,0))
- Begin DoDot:1
- +25 ;no allergies reported
- +26 SET LINE=LINE+1
- SET RESULTS(LINE)=""
- +27 SET RESULTS(LINE)="No allergies reported to the Contingency"
- End DoDot:1
- +28 IF +$ORDER(DATA(1,0))
- Begin DoDot:1
- +29 SET LINE=LINE+1
- +30 SET RESULTS(LINE)=""
- +31 SET ALPBALGX="Allergies: "
- +32 SET ALPBALGL=$LENGTH(ALPBALGX)-1
- +33 SET (ALPBCNT,ALPBX)=0
- +34 FOR
- SET ALPBX=$ORDER(DATA(1,ALPBX))
- IF 'ALPBX
- QUIT
- Begin DoDot:2
- +35 SET ALPBALG=$PIECE($GET(DATA(1,ALPBX,0)),"^",2)
- +36 IF ALPBALG=""
- KILL ALPBALG
- QUIT
- +37 IF $LENGTH(ALPBALGX_ALPBALG_"; ")>90
- Begin DoDot:3
- +38 SET LINE=LINE+1
- +39 SET RESULTS(LINE)=""
- +40 SET ALPBALGX=""
- +41 SET ALPBALGX=$$PAD^ALPBUTL(ALPBALGX,ALPBALGL)
- End DoDot:3
- +42 SET ALPBALGX=ALPBALGX_ALPBALG_$SELECT(+$ORDER(DATA(1,ALPBX)):"; ",1:"")
- +43 SET RESULTS(LINE)=ALPBALGX
- End DoDot:2
- End DoDot:1
- +44 SET RESULTS(0)=LINE
- +45 QUIT
- +46 ;
- +1 ; code adapted from original routine ^ALPFOOT by FD@NJHCS, May 2002
- +2 WRITE !,"|"
- +3 WRITE ?13,"SIGNATURE/TITLE"
- +4 WRITE ?40,"| INIT"
- +5 WRITE ?48,"|"
- +6 WRITE ?50,"INJECTION SITES (Right or Left)"
- +7 WRITE ?88,"VA FORM 10-2970"
- +8 WRITE !,"|"
- +9 WRITE $$REPEAT^XLFSTR("_",38)
- +10 WRITE ?40,"|_______| 1. DELTOID"
- +11 WRITE ?71,"4. MED (ANTERIOR) THIGH"
- +12 WRITE ?96,"7. ABDOMEN"
- +13 WRITE !,"|"
- +14 WRITE $$REPEAT^XLFSTR("_",38)
- +15 WRITE ?40,"|_______| 2. VENTRAL GLUTEAL"
- +16 WRITE ?71,"5. VASTUS LATERALIS"
- +17 WRITE ?96,"8. THIGH"
- +18 WRITE !,"|"
- +19 WRITE $$REPEAT^XLFSTR("_",38)
- +20 WRITE ?40,"|_______| 3. GLUTEUS MEDIUS"
- +21 WRITE ?71,"6. UPPER ARM"
- +22 WRITE ?96,"9. BUTTOCK"
- +23 WRITE !,"|"
- +24 WRITE $$REPEAT^XLFSTR("_",38)
- +25 WRITE ?40,"|_______|10. UPPER BACK PRN: E=Effective N=Not Effective"
- +26 QUIT