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

ALPBFRMU.m

Go to the documentation of this file.
  1. ALPBFRMU ;OIFO-DALLAS MW,SED,KC-PRINT FORMATTING UTILITIES;03/06/16 3:06pm
  1. ;;3.0;BAR CODE MED ADMIN;**8,87**;Mar 2004;Build 22
  1. ;
  1. ;*87 - Stop printing the FOOT or legend.
  1. ;
  1. FTEXT(COL,TEXT,RESULTS) ; format TEXT array...
  1. ; COL = number of columns (line length)
  1. ; TEXT = array to be reformatted. the array should be in
  1. ; standard FM format: TEXT(1,0)=text
  1. ; TEXT(2,0)=text
  1. ; TEXT(n,0)=text
  1. ; RESULT = array passed by reference into which reformatted text
  1. ; will be returned: RESULTS(1,0)=formatted text to COL length
  1. ; RESULTS(2,0)=formatted text to COL length
  1. I +$G(COL)=0!('$D(TEXT)) Q
  1. N ALPBTEMP,I,J,L,M,FSTRING,XSTRING
  1. S (I,J)=0
  1. S XSTRING=""
  1. F S I=$O(TEXT(I)) Q:'I D
  1. .S DATA=$G(TEXT(I,0))
  1. .I DATA="" D Q
  1. ..S J=J+1
  1. ..S ALPBTEMP(J,0)=""
  1. .F L=1:1:$L(DATA) D
  1. ..S XSTRING=XSTRING_$E(DATA,L)
  1. ..I $L(XSTRING)=COL D
  1. ...S FSTRING=XSTRING
  1. ...F M=$L(XSTRING):-1:1 Q:$A($E(XSTRING,M))'>32
  1. ...S FSTRING=$E(XSTRING,1,M-1)
  1. ...S XSTRING=$E(XSTRING,M+1,$L(XSTRING))
  1. ...S J=J+1
  1. ...S ALPBTEMP(J,0)=FSTRING
  1. ...S FSTRING=""
  1. ...I $L(XSTRING)=COL S XSTRING=""
  1. I $L(XSTRING)>0 D
  1. .S J=J+1
  1. .S ALPBTEMP(J,0)=XSTRING
  1. M RESULTS=ALPBTEMP
  1. Q
  1. ;
  1. HDR(DATA,PG,RESULTS) ; print page header...
  1. ; DATA = an array passed by reference containing the nodes in
  1. ; a patient's record in ^ALPB(53.7,...)
  1. ; PG = page number to use
  1. ; RESULTS = an array passed by reference that will be used to return
  1. ; the formated data
  1. ; returns data in formated 132-column output
  1. N ALPBALG,ALPBALGL,ALPBALGX,ALPBX,LINE
  1. I $G(PG)="" S PG=0
  1. S RESULTS(1)="MAR Ran: "_$$FMTE^XLFDT($$NOW^XLFDT())
  1. S RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),32)_"Inpatient Pharmacy Orders (Backup)"
  1. S RESULTS(1)=$$PAD^ALPBUTL(RESULTS(1),122)_"Page: "_$J(PG,3)
  1. S RESULTS(2)=$P($G(DATA(0)),"^")
  1. S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),33)_"SSN: "_$P($G(DATA(0)),"^",2)
  1. 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")
  1. S RESULTS(2)=$$PAD^ALPBUTL(RESULTS(2),70)_"Sex: "_$P($G(DATA(0)),"^",4)
  1. S RESULTS(3)="Ward: "_$P($G(DATA(0)),"^",5)
  1. S RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),32)_"Room: "_$P($G(DATA(0)),"^",6)
  1. S RESULTS(3)=$$PAD^ALPBUTL(RESULTS(3),50)_"Bed: "_$P($G(DATA(0)),"^",7)
  1. S RESULTS(4)=""
  1. S RESULTS(4)=$$PAD^ALPBUTL(RESULTS(4),12)_"This record last updated: "
  1. S RESULTS(4)=RESULTS(4)_$S($P(DATA(0),"^",8)'="":$$FMTE^XLFDT($P(DATA(0),"^",8)),1:"<date not on file>")
  1. S LINE=4
  1. ; report allergies...
  1. I '$D(DATA(1,0)) D
  1. .;no allergies reported
  1. .S LINE=LINE+1,RESULTS(LINE)=""
  1. .S RESULTS(LINE)="No allergies reported to the Contingency"
  1. I +$O(DATA(1,0)) D
  1. .S LINE=LINE+1
  1. .S RESULTS(LINE)=""
  1. .S ALPBALGX="Allergies: "
  1. .S ALPBALGL=$L(ALPBALGX)-1
  1. .S (ALPBCNT,ALPBX)=0
  1. .F S ALPBX=$O(DATA(1,ALPBX)) Q:'ALPBX D
  1. ..S ALPBALG=$P($G(DATA(1,ALPBX,0)),"^",2)
  1. ..I ALPBALG="" K ALPBALG Q
  1. ..I $L(ALPBALGX_ALPBALG_"; ")>90 D
  1. ...S LINE=LINE+1
  1. ...S RESULTS(LINE)=""
  1. ...S ALPBALGX=""
  1. ...S ALPBALGX=$$PAD^ALPBUTL(ALPBALGX,ALPBALGL)
  1. ..S ALPBALGX=ALPBALGX_ALPBALG_$S(+$O(DATA(1,ALPBX)):"; ",1:"")
  1. ..S RESULTS(LINE)=ALPBALGX
  1. S RESULTS(0)=LINE
  1. Q
  1. ;
  1. ; code adapted from original routine ^ALPFOOT by FD@NJHCS, May 2002
  1. W !,"|"
  1. W ?13,"SIGNATURE/TITLE"
  1. W ?40,"| INIT"
  1. W ?48,"|"
  1. W !,"|"
  1. W $$REPEAT^XLFSTR("_",38)
  1. W ?40,"|_______|"
  1. W !,"|"
  1. W $$REPEAT^XLFSTR("_",38)
  1. W ?40,"|_______|"
  1. W !,"|"
  1. W $$REPEAT^XLFSTR("_",38)
  1. W ?40,"|_______|"
  1. W !,"|"
  1. W $$REPEAT^XLFSTR("_",38)
  1. W ?40,"|_______|"
  1. Q ;*87 REMOVE INJECTION SITE INFORMATION ONLY LEAVE SIG LINES