- GMRCP5A ;SLC/DCM,RJS,MA - Print Consult form 513 (Gather Data - TIU Results) ;4/18/01 10:29
- ;;3.0;CONSULT/REQUEST TRACKING;**4,13,12,15,21,22,53**;Dec 27, 1997;Build 3
- ; Patch #21 added PRNTAUDT to this routine.
- ;
- PRNT(GMRCIFN,TIUFLG,GMRCQUED,GMRCCPY,GMRCGUI,GMRCAUDT) ;
- ;
- ; Input Arguments:
- ;
- ; GMRCIFN: IEN of the Consult/Request in file 123
- ; TIUFLG: Called from TIU ? 1=yes 0=no
- ; GMRCQUED: Queued job ? 1=yes 0=no
- ; GMRCCPY: Chart Copy ? C=Chart Copy W=Working Copy null=Not Applicable
- ; GMRCGUI: Called from the GUI. (Only produce output in a formatted global.)
- ; GMRCAUDT: Set to 1 in GMRCUTL1 if NW or DC consult.
- ; ZTIO: Output device when job is tasked
- ;
- N GMRCSIG,GMRCSDT,GMRCCSIG,GMRCSIGT,GMRCADDS
- I '+$G(IOM) S IOM=80
- ;
- I GMRCGUI D Q
- . D FORMAT(80)
- . D ASSMBL^GMRCP5C(GMRCGUI,80)
- . F GMRCX="GMRCTIU","RES","MCAR" K ^TMP("GMRCR",$J,GMRCX)
- . K ^TMP("GMRC",$J,"OUTPUT")
- . Q
- ;
- I 'TIUFLG,'GMRCQUED W @IOF I '$$CRT^GMRCP5C,$L($G(IO(0))),'(IO=IO(0)) U IO(0) W !,"PRINTING... "
- ;
- D FORMAT(IOM),ASSMBL^GMRCP5C(IOSL,IOM)
- U IO
- D PRINT^GMRCP5C(IOSL,IOM)
- ;
- I 'TIUFLG,'$$CRT^GMRCP5C U IO(0) D ^%ZISC
- ;
- I $G(GMRCQUED),$G(ZTSK) D KILL^%ZTLOAD
- ;
- F GMRCX="OUTPUT","SF513" K ^TMP("GMRC",$J,GMRCX)
- F GMRCX="GMRCTIU","RES","MCAR" K ^TMP("GMRCR",$J,GMRCX)
- ; If print device (ZTIO) do PRNTAUDT unless there is no GMRCAUDT
- ; GMRCAUDT=1 means print for NW or DC consult
- I $D(ZTIO),$D(GMRCAUDT) D PRNTAUDT(GMRCIFN,ZTIO,GMRCAUDT)
- Q
- ;
- PRNTAUDT(GMRCIFN,ZTIO,GMRCAUDT) ; Update the last activity field in 123 and
- ; Processing Activity multiple
- ; Update the activity log to reflect "Printed To:" and the printer
- ; GMRCAUDT=1 indicates the consult is NW or Discontinued
- ; and it should update the audit trail.
- I $G(GMRCAUDT)'=1 K GMRCAUDT Q
- N GMRCOM,GMRCORNP,GMRCFF,GMRCPA,GMRCAD,GMRCA,DA,DIE
- S GMRCA=22
- S GMRCO=GMRCIFN,GMRCDEV=ZTIO
- S DIE="^GMR(123,",DA=+GMRCO,DR="9////^S X=GMRCA"
- L +^GMR(123,GMRCO):5
- D ^DIE
- L -^GMR(123,GMRCO)
- ;Update activity other than HL7 original msg received
- D AUDIT^GMRCP
- KILL GMRCO,GMRCA,GMRCDEV
- Q
- ;
- FORMAT(PAGEWID) ;
- ;
- N %I,CMT,COUNT,D0,DFN,DIC,DIQ2,DR,GLOBAL,GMRC400,GMRCADD,GMRCADDT,GMRCAGE,GMRCCSDT
- N GMRCCTIT,GMRCDFN,GMRCDOB,GMRCDVL,GMRCELIG,GMRCEQL,GMRCERR,GMRCFAC,GMRCFP
- N GMRCFTR,GMRCIPH,GMRCINO,GMRCIRL,GMRCLAST,GMRCMODE,GMRCND,GMRCNDX,GMRCNT,GMRCPG,GMRCPGR,GMRCPNM,GMRCPRNM
- N GMRCPTR,GMRCQSTR,GMRCQSTT,GMRCR0,GMRCR1,GMRCR2,GMRCRB,GMRCRD,GMRCRPT,GMRCSG,GMRCSGAD,GMRCSIGM
- N GMRCSN,GMRCSR,GMRCSVC,GMRCTO,GMRCUL,GMRCWARD,GMRCWLI,GMRCX,LN,MCFILE,MCPROC
- N ND,ND1,ND2,NDS,ORACTION,SEX,TAB,X,Y
- ;
- S GMRCFTR=13,GMRCFP=0,GMRCPG=0
- S GMRCRD=$G(^GMR(123,GMRCIFN,0)),(DFN,GMRCDFN)=$P(GMRCRD,U,2)
- Q:'(DFN)
- D ELIG^VADPT S GMRCELIG=$P(VAEL(6),U,2) K VAEL
- S GMRCDVL="",$P(GMRCDVL,"-",PAGEWID+1)=""
- S GMRCEQL="",$P(GMRCEQL,"=",PAGEWID+1)=""
- S GMRCUL="",$P(GMRCUL,"_",40)=""
- S DFN=GMRCDFN D DEM^GMRCU
- ;
- S GMRCFAC=+$P(GMRCRD,U,21)
- I 'GMRCFAC S GMRCFAC=+$G(DUZ(2))
- I 'GMRCFAC S GMRCFAC=+$$SITE^VASITE()
- I +GMRCFAC S GMRCFAC=$$GET1^DIQ(4,+GMRCFAC,.01)
- E S GMRCFAC="" Q
- ;
- ; get inter-facility consult info
- I $P(GMRCRD,U,23) D
- .S GMRCINO=$P(GMRCRD,U,22)
- .S GMRCRD(12)=$G(^GMR(123,GMRCIFN,12))
- .S GMRCRD(13)=$G(^GMR(123,GMRCIFN,13))
- .S GMRCIRL=$S($P(GMRCRD(12),U,5)="P":"Requesting facility",$P(GMRCRD(12),U,5)="F":"Consulting facility",1:"")
- ;Commented out following line to allow TIU doc to print based on ASU
- ;rules.
- ;I $P(GMRCRD,U,12)=2!(TIUFLG) D
- D PRINT^GMRCTIUP(GMRCIFN,0,0) ;Removed dot structure
- ;
- K GMRCSG I $D(^TMP("GMRCR",$J,"RES")) D
- .;
- .S GMRCR0=0 F Q:$D(GMRCSG) S GMRCR0=$O(^TMP("GMRCR",$J,"RES",GMRCR0)) Q:'GMRCR0 D
- ..F GMRCV="GMRCSDT","GMRCSIG","GMRCSIGM","GMRCSIGT" S @GMRCV=$G(^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT",GMRCV))
- ..Q:'$L($G(GMRCSIG))
- ..F GMRCV="GMRCSDT","GMRCSIG","GMRCSIGM","GMRCSIGT" S GMRCSG(GMRCV)=@GMRCV
- ;
- D INIT^GMRCP5B(.GMRCSG) ; Build Header, Footer, Request, and Primary Diagnosis Segments
- ;
- I $L($G(GMRCCPY)) D
- .D BLD("RES",1,1,0,$$CENTER($S(GMRCCPY="C":"C H A R T C O P Y",1:"W O R K I N G C O P Y")))
- I ($P(GMRCRD,U,19)="Y") D
- .D BLD("RES",1,1,0,$$CENTER("******* Significant Findings *******"))
- I ($P(GMRCRD,U,19)="N") D
- .D BLD("RES",1,1,0,$$CENTER("******* No Significant Findings *******"))
- I ($P(GMRCRD,U,19)="U") D
- .D BLD("RES",1,1,0,$$CENTER("******* Unknown Significant Findings *******"))
- ;
- I $P(GMRCRD,U,12)=1 D
- . D BLD("RES",1,2,0,$$CENTER("**** REQUEST CANCELLED REQUEST CANCELLED ****"))
- I '$D(^TMP("GMRCR",$J,"RES")),'$D(^("MCAR")) D
- .I $L($G(GMRCRPT)) D BLD("RES",1,2,0,$$CENTER(" No Consultation Results for "_GMRCRPT_" available."))
- .I '$L($G(GMRCRPT)) D BLD("RES",1,2,0,$$CENTER(" No Consultation Results available."))
- ;
- I $D(^TMP("GMRCR",$J,"RES")) D
- .;
- .S (GMRCNT,GMRCR0)=0 F S GMRCR0=$O(^TMP("GMRCR",$J,"RES",GMRCR0)) Q:'GMRCR0 D
- ..N GMRCCSDT,GMRCCSGM,GMRCCSIG,GMRCCTIT,GMRCRPT,GMRCSDT
- ..N GMRCSIG,GMRCSIGM,GMRCSIGT,GMRCV,GMRCENT,GMRCVIS,GMRCVLOC,GMRCNODT
- ..;
- ..F GMRCV="GMRCCSDT","GMRCCSGM","GMRCCSIG","GMRCCTIT","GMRCRPT","GMRCSDT","GMRCSIG","GMRCSIGM","GMRCSIGT","GMRCVIS","GMRCENT","GMRCVLOC","GMRCNODT" D
- ...S @GMRCV=$G(^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT",GMRCV))
- ..;
- ..S GMRCNDX=$O(^TMP("GMRC",$J,"OUTPUT","RES"," "),-1)+1
- ..I $L($G(GMRCRPT)) D SUB("H","RES",GMRCNDX,"Consultation Results "_$S(GMRCR0=.5:"",1:"#"_GMRCR0_" ")_"for "_GMRCRPT_" continued.")
- ..I '$L($G(GMRCRPT)) D SUB("H","RES",GMRCNDX,"Consultation Results "_$S(GMRCR0=.5:"",1:"#"_GMRCR0_" ")_"continued.")
- ..D SUB("H","RES",GMRCNDX," ")
- ..I $L($G(GMRCSIG)) D
- ...D SUB("F","RES",GMRCNDX," ")
- ...I (GMRCSIGM="electronic") S GMRCX=" Results Signature: "_GMRCSIG_" /es/ "_$$EXDT($G(GMRCSDT))
- ...I '(GMRCSIGM="electronic") S GMRCX=" Results Signature: "_GMRCSIG_" /chart/ " S:$L($G(GMRCSDT)) GMRCX=GMRCX_$$EXDT(GMRCSDT)
- ...D SUB("F","RES",GMRCNDX,GMRCX)
- ...D:$L($G(GMRCSIGT)) SUB("F","RES",GMRCNDX," "_GMRCSIGT)
- ..I $L($G(GMRCCSIG)) D
- ...D SUB("F","RES",GMRCNDX," ")
- ...I (GMRCCSGM="electronic") S GMRCX=" Results CoSignature: "_GMRCCSIG_" /es/ "_$$EXDT($G(GMRCCSDT))
- ...I '(GMRCCSGM="electronic") S GMRCX=" Results CoSignature: "_GMRCCSIG_" /chart/ " S:$L($G(GMRCCSDT)) GMRCX=GMRCX_$$EXDT(GMRCCSDT)
- ...D SUB("F","RES",GMRCNDX,GMRCX)
- ...D:$L($G(GMRCCTIT)) SUB("F","RES",GMRCNDX," "_GMRCCTIT)
- ..;extra signers
- .. I $D(^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT","GMRCXTRA")) D
- ... D SUB("F","RES",GMRCNDX," ")
- ... D SUB("F","RES",GMRCNDX," Receipt acknowledged by: ")
- ... N XTRA S XTRA=0 F S XTRA=$O(^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT","GMRCXTRA",XTRA)) Q:'XTRA D
- .... D SUB("F","RES",GMRCNDX,^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT","GMRCXTRA",XTRA,0))
- .... D SUB("F","RES",GMRCNDX,^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT","GMRCXTRA",XTRA,1))
- ..;
- ..D BLD("RES",GMRCNDX,1,0," ")
- ..I $L($G(GMRCRPT)) D BLD("RES",GMRCNDX,1,0,$$CENTER("CONSULTATION NOTE "_$S(GMRCR0=.5:"",1:"#"_GMRCR0_" ")_"FOR "_GMRCRPT))
- ..I '$L($G(GMRCRPT)) D BLD("RES",GMRCNDX,1,0,$$CENTER("CONSULTATION NOTE "_$S(GMRCR0=.5:"",1:"#"_GMRCR0)))
- ..D BLD("RES",GMRCNDX,1,0," ")
- ..I $L($G(GMRCENT)) D
- ...S GMRCX=" Entry Date: "_$$EXDT($G(GMRCENT))
- ...D BLD("RES",GMRCNDX,1,0,GMRCX)
- ..I $L($G(GMRCNODT)) D
- ...Q:$$EXDT($G(GMRCNODT))=$$EXDT($G(GMRCENT))
- ...S GMRCX="Date/Time of result: "_$$EXDT($G(GMRCNODT))
- ...D BLD("RES",GMRCNDX,1,0,GMRCX)
- ..I $L($G(GMRCVIS)) D
- ...S GMRCX=" Visit: "_$$EXDT($G(GMRCVIS))
- ...I $L($G(GMRCVLOC)) S GMRCX=GMRCX_" "_GMRCVLOC
- ...D BLD("RES",GMRCNDX,1,0,GMRCX)
- ..I $L($G(GMRCVLOC)) S GMRCX=GMRCVLOC
- ..D BLD("RES",GMRCNDX,1,0," ")
- ..I $D(^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT",0,0)) D I 1
- ...D BLD("RES",GMRCNDX,1,0,^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT",0,0))
- ..E I '$O(^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT","")) D
- ...D BLD("RES",1,1,0,$$CENTER("CONSULTATION NOTE TEXT NOT AVAILABLE"))
- ..S GMRCR1=0 F S GMRCR1=$O(^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT",GMRCR1)) Q:'GMRCR1 D
- ...D BLD("RES",GMRCNDX,1,0,^TMP("GMRCR",$J,"RES",GMRCR0,"TEXT",GMRCR1,0))
- ..;
- ..; GET ADDENDUMS TO THIS NOTE
- ..;
- ..I +$O(^TMP("GMRCR",$J,"RES",GMRCR0,"ADD",0)) D ADDEND^GMRCP5D(GMRCIFN,GMRCR0,GMRCNDX,GMRCRD,PAGEWID)
- ;
- D FORMAT^GMRCP5D(GMRCIFN,GMRCRD,PAGEWID) ; GET SERVICE REPORTS AND COMMENTS
- ;
- Q
- ;
- EXDT(X) ;EXTERNAL DATE FORMAT
- ;
- N DATE,TIME,HR,MN,PD,Y,%DT
- Q:'$L(X) ""
- I '(X?7N.1".".6N) S %DT="PTS" D ^%DT S X=Y
- Q $$FMTE^XLFDT(X,"5PMZ")
- ;
- CENTER(X) ;
- ;
- N TEXT,COL
- S COL=35-($L(X)\2) Q:(COL<1) X
- S $E(TEXT,COL)=X
- Q TEXT
- ;
- BLD(SUB,NDX,LINE,TAB,TEXT,RUNTIME) ;
- ;
- Q:'$L($G(SUB))
- N LINECNT
- ;
- F LINECNT=1:1:+LINE S ^TMP("GMRC",$J,"OUTPUT",SUB,NDX,$$LASTLN(SUB,NDX)+1,0)=""
- ;
- S $E(^TMP("GMRC",$J,"OUTPUT",SUB,NDX,$$LASTLN(SUB,NDX),0),TAB+1)=TEXT
- I $L($G(RUNTIME)) S ^TMP("GMRC",$J,"OUTPUT",SUB,NDX,$$LASTLN(SUB,NDX),1)=RUNTIME
- ;
- S GMRCLAST=SUB
- Q
- ;
- SUB(ZONE,SUB,NDX,TEXT) ;
- ;
- N NEXT
- S NEXT=$O(^TMP("GMRC",$J,"OUTPUT",SUB,NDX,ZONE," "),-1)+1
- S ^TMP("GMRC",$J,"OUTPUT",SUB,NDX,ZONE,NEXT,0)=TEXT
- Q
- ;
- LASTLN(SUB,NDX) ;
- Q +$O(^TMP("GMRC",$J,"OUTPUT",SUB,NDX," "),-1)
- ;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMRCP5A 9247 printed Apr 23, 2025@18:00:57 Page 2
- GMRCP5A ;SLC/DCM,RJS,MA - Print Consult form 513 (Gather Data - TIU Results) ;4/18/01 10:29
- +1 ;;3.0;CONSULT/REQUEST TRACKING;**4,13,12,15,21,22,53**;Dec 27, 1997;Build 3
- +2 ; Patch #21 added PRNTAUDT to this routine.
- +3 ;
- PRNT(GMRCIFN,TIUFLG,GMRCQUED,GMRCCPY,GMRCGUI,GMRCAUDT) ;
- +1 ;
- +2 ; Input Arguments:
- +3 ;
- +4 ; GMRCIFN: IEN of the Consult/Request in file 123
- +5 ; TIUFLG: Called from TIU ? 1=yes 0=no
- +6 ; GMRCQUED: Queued job ? 1=yes 0=no
- +7 ; GMRCCPY: Chart Copy ? C=Chart Copy W=Working Copy null=Not Applicable
- +8 ; GMRCGUI: Called from the GUI. (Only produce output in a formatted global.)
- +9 ; GMRCAUDT: Set to 1 in GMRCUTL1 if NW or DC consult.
- +10 ; ZTIO: Output device when job is tasked
- +11 ;
- +12 NEW GMRCSIG,GMRCSDT,GMRCCSIG,GMRCSIGT,GMRCADDS
- +13 IF '+$GET(IOM)
- SET IOM=80
- +14 ;
- +15 IF GMRCGUI
- Begin DoDot:1
- +16 DO FORMAT(80)
- +17 DO ASSMBL^GMRCP5C(GMRCGUI,80)
- +18 FOR GMRCX="GMRCTIU","RES","MCAR"
- KILL ^TMP("GMRCR",$JOB,GMRCX)
- +19 KILL ^TMP("GMRC",$JOB,"OUTPUT")
- +20 QUIT
- End DoDot:1
- QUIT
- +21 ;
- +22 IF 'TIUFLG
- IF 'GMRCQUED
- WRITE @IOF
- IF '$$CRT^GMRCP5C
- IF $LENGTH($GET(IO(0)))
- IF '(IO=IO(0))
- USE IO(0)
- WRITE !,"PRINTING... "
- +23 ;
- +24 DO FORMAT(IOM)
- DO ASSMBL^GMRCP5C(IOSL,IOM)
- +25 USE IO
- +26 DO PRINT^GMRCP5C(IOSL,IOM)
- +27 ;
- +28 IF 'TIUFLG
- IF '$$CRT^GMRCP5C
- USE IO(0)
- DO ^%ZISC
- +29 ;
- +30 IF $GET(GMRCQUED)
- IF $GET(ZTSK)
- DO KILL^%ZTLOAD
- +31 ;
- +32 FOR GMRCX="OUTPUT","SF513"
- KILL ^TMP("GMRC",$JOB,GMRCX)
- +33 FOR GMRCX="GMRCTIU","RES","MCAR"
- KILL ^TMP("GMRCR",$JOB,GMRCX)
- +34 ; If print device (ZTIO) do PRNTAUDT unless there is no GMRCAUDT
- +35 ; GMRCAUDT=1 means print for NW or DC consult
- +36 IF $DATA(ZTIO)
- IF $DATA(GMRCAUDT)
- DO PRNTAUDT(GMRCIFN,ZTIO,GMRCAUDT)
- +37 QUIT
- +38 ;
- PRNTAUDT(GMRCIFN,ZTIO,GMRCAUDT) ; Update the last activity field in 123 and
- +1 ; Processing Activity multiple
- +2 ; Update the activity log to reflect "Printed To:" and the printer
- +3 ; GMRCAUDT=1 indicates the consult is NW or Discontinued
- +4 ; and it should update the audit trail.
- +5 IF $GET(GMRCAUDT)'=1
- KILL GMRCAUDT
- QUIT
- +6 NEW GMRCOM,GMRCORNP,GMRCFF,GMRCPA,GMRCAD,GMRCA,DA,DIE
- +7 SET GMRCA=22
- +8 SET GMRCO=GMRCIFN
- SET GMRCDEV=ZTIO
- +9 SET DIE="^GMR(123,"
- SET DA=+GMRCO
- SET DR="9////^S X=GMRCA"
- +10 LOCK +^GMR(123,GMRCO):5
- +11 DO ^DIE
- +12 LOCK -^GMR(123,GMRCO)
- +13 ;Update activity other than HL7 original msg received
- +14 DO AUDIT^GMRCP
- +15 KILL GMRCO,GMRCA,GMRCDEV
- +16 QUIT
- +17 ;
- FORMAT(PAGEWID) ;
- +1 ;
- +2 NEW %I,CMT,COUNT,D0,DFN,DIC,DIQ2,DR,GLOBAL,GMRC400,GMRCADD,GMRCADDT,GMRCAGE,GMRCCSDT
- +3 NEW GMRCCTIT,GMRCDFN,GMRCDOB,GMRCDVL,GMRCELIG,GMRCEQL,GMRCERR,GMRCFAC,GMRCFP
- +4 NEW GMRCFTR,GMRCIPH,GMRCINO,GMRCIRL,GMRCLAST,GMRCMODE,GMRCND,GMRCNDX,GMRCNT,GMRCPG,GMRCPGR,GMRCPNM,GMRCPRNM
- +5 NEW GMRCPTR,GMRCQSTR,GMRCQSTT,GMRCR0,GMRCR1,GMRCR2,GMRCRB,GMRCRD,GMRCRPT,GMRCSG,GMRCSGAD,GMRCSIGM
- +6 NEW GMRCSN,GMRCSR,GMRCSVC,GMRCTO,GMRCUL,GMRCWARD,GMRCWLI,GMRCX,LN,MCFILE,MCPROC
- +7 NEW ND,ND1,ND2,NDS,ORACTION,SEX,TAB,X,Y
- +8 ;
- +9 SET GMRCFTR=13
- SET GMRCFP=0
- SET GMRCPG=0
- +10 SET GMRCRD=$GET(^GMR(123,GMRCIFN,0))
- SET (DFN,GMRCDFN)=$PIECE(GMRCRD,U,2)
- +11 if '(DFN)
- QUIT
- +12 DO ELIG^VADPT
- SET GMRCELIG=$PIECE(VAEL(6),U,2)
- KILL VAEL
- +13 SET GMRCDVL=""
- SET $PIECE(GMRCDVL,"-",PAGEWID+1)=""
- +14 SET GMRCEQL=""
- SET $PIECE(GMRCEQL,"=",PAGEWID+1)=""
- +15 SET GMRCUL=""
- SET $PIECE(GMRCUL,"_",40)=""
- +16 SET DFN=GMRCDFN
- DO DEM^GMRCU
- +17 ;
- +18 SET GMRCFAC=+$PIECE(GMRCRD,U,21)
- +19 IF 'GMRCFAC
- SET GMRCFAC=+$GET(DUZ(2))
- +20 IF 'GMRCFAC
- SET GMRCFAC=+$$SITE^VASITE()
- +21 IF +GMRCFAC
- SET GMRCFAC=$$GET1^DIQ(4,+GMRCFAC,.01)
- +22 IF '$TEST
- SET GMRCFAC=""
- QUIT
- +23 ;
- +24 ; get inter-facility consult info
- +25 IF $PIECE(GMRCRD,U,23)
- Begin DoDot:1
- +26 SET GMRCINO=$PIECE(GMRCRD,U,22)
- +27 SET GMRCRD(12)=$GET(^GMR(123,GMRCIFN,12))
- +28 SET GMRCRD(13)=$GET(^GMR(123,GMRCIFN,13))
- +29 SET GMRCIRL=$SELECT($PIECE(GMRCRD(12),U,5)="P":"Requesting facility",$PIECE(GMRCRD(12),U,5)="F":"Consulting facility",1:"")
- End DoDot:1
- +30 ;Commented out following line to allow TIU doc to print based on ASU
- +31 ;rules.
- +32 ;I $P(GMRCRD,U,12)=2!(TIUFLG) D
- +33 ;Removed dot structure
- DO PRINT^GMRCTIUP(GMRCIFN,0,0)
- +34 ;
- +35 KILL GMRCSG
- IF $DATA(^TMP("GMRCR",$JOB,"RES"))
- Begin DoDot:1
- +36 ;
- +37 SET GMRCR0=0
- FOR
- if $DATA(GMRCSG)
- QUIT
- SET GMRCR0=$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0))
- if 'GMRCR0
- QUIT
- Begin DoDot:2
- +38 FOR GMRCV="GMRCSDT","GMRCSIG","GMRCSIGM","GMRCSIGT"
- SET @GMRCV=$GET(^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT",GMRCV))
- +39 if '$LENGTH($GET(GMRCSIG))
- QUIT
- +40 FOR GMRCV="GMRCSDT","GMRCSIG","GMRCSIGM","GMRCSIGT"
- SET GMRCSG(GMRCV)=@GMRCV
- End DoDot:2
- End DoDot:1
- +41 ;
- +42 ; Build Header, Footer, Request, and Primary Diagnosis Segments
- DO INIT^GMRCP5B(.GMRCSG)
- +43 ;
- +44 IF $LENGTH($GET(GMRCCPY))
- Begin DoDot:1
- +45 DO BLD("RES",1,1,0,$$CENTER($SELECT(GMRCCPY="C":"C H A R T C O P Y",1:"W O R K I N G C O P Y")))
- End DoDot:1
- +46 IF ($PIECE(GMRCRD,U,19)="Y")
- Begin DoDot:1
- +47 DO BLD("RES",1,1,0,$$CENTER("******* Significant Findings *******"))
- End DoDot:1
- +48 IF ($PIECE(GMRCRD,U,19)="N")
- Begin DoDot:1
- +49 DO BLD("RES",1,1,0,$$CENTER("******* No Significant Findings *******"))
- End DoDot:1
- +50 IF ($PIECE(GMRCRD,U,19)="U")
- Begin DoDot:1
- +51 DO BLD("RES",1,1,0,$$CENTER("******* Unknown Significant Findings *******"))
- End DoDot:1
- +52 ;
- +53 IF $PIECE(GMRCRD,U,12)=1
- Begin DoDot:1
- +54 DO BLD("RES",1,2,0,$$CENTER("**** REQUEST CANCELLED REQUEST CANCELLED ****"))
- End DoDot:1
- +55 IF '$DATA(^TMP("GMRCR",$JOB,"RES"))
- IF '$DATA(^("MCAR"))
- Begin DoDot:1
- +56 IF $LENGTH($GET(GMRCRPT))
- DO BLD("RES",1,2,0,$$CENTER(" No Consultation Results for "_GMRCRPT_" available."))
- +57 IF '$LENGTH($GET(GMRCRPT))
- DO BLD("RES",1,2,0,$$CENTER(" No Consultation Results available."))
- End DoDot:1
- +58 ;
- +59 IF $DATA(^TMP("GMRCR",$JOB,"RES"))
- Begin DoDot:1
- +60 ;
- +61 SET (GMRCNT,GMRCR0)=0
- FOR
- SET GMRCR0=$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0))
- if 'GMRCR0
- QUIT
- Begin DoDot:2
- +62 NEW GMRCCSDT,GMRCCSGM,GMRCCSIG,GMRCCTIT,GMRCRPT,GMRCSDT
- +63 NEW GMRCSIG,GMRCSIGM,GMRCSIGT,GMRCV,GMRCENT,GMRCVIS,GMRCVLOC,GMRCNODT
- +64 ;
- +65 FOR GMRCV="GMRCCSDT","GMRCCSGM","GMRCCSIG","GMRCCTIT","GMRCRPT","GMRCSDT","GMRCSIG","GMRCSIGM","GMRCSIGT","GMRCVIS","GMRCENT","GMRCVLOC","GMRCNODT"
- Begin DoDot:3
- +66 SET @GMRCV=$GET(^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT",GMRCV))
- End DoDot:3
- +67 ;
- +68 SET GMRCNDX=$ORDER(^TMP("GMRC",$JOB,"OUTPUT","RES"," "),-1)+1
- +69 IF $LENGTH($GET(GMRCRPT))
- DO SUB("H","RES",GMRCNDX,"Consultation Results "_$SELECT(GMRCR0=.5:"",1:"#"_GMRCR0_" ")_"for "_GMRCRPT_" continued.")
- +70 IF '$LENGTH($GET(GMRCRPT))
- DO SUB("H","RES",GMRCNDX,"Consultation Results "_$SELECT(GMRCR0=.5:"",1:"#"_GMRCR0_" ")_"continued.")
- +71 DO SUB("H","RES",GMRCNDX," ")
- +72 IF $LENGTH($GET(GMRCSIG))
- Begin DoDot:3
- +73 DO SUB("F","RES",GMRCNDX," ")
- +74 IF (GMRCSIGM="electronic")
- SET GMRCX=" Results Signature: "_GMRCSIG_" /es/ "_$$EXDT($GET(GMRCSDT))
- +75 IF '(GMRCSIGM="electronic")
- SET GMRCX=" Results Signature: "_GMRCSIG_" /chart/ "
- if $LENGTH($GET(GMRCSDT))
- SET GMRCX=GMRCX_$$EXDT(GMRCSDT)
- +76 DO SUB("F","RES",GMRCNDX,GMRCX)
- +77 if $LENGTH($GET(GMRCSIGT))
- DO SUB("F","RES",GMRCNDX," "_GMRCSIGT)
- End DoDot:3
- +78 IF $LENGTH($GET(GMRCCSIG))
- Begin DoDot:3
- +79 DO SUB("F","RES",GMRCNDX," ")
- +80 IF (GMRCCSGM="electronic")
- SET GMRCX=" Results CoSignature: "_GMRCCSIG_" /es/ "_$$EXDT($GET(GMRCCSDT))
- +81 IF '(GMRCCSGM="electronic")
- SET GMRCX=" Results CoSignature: "_GMRCCSIG_" /chart/ "
- if $LENGTH($GET(GMRCCSDT))
- SET GMRCX=GMRCX_$$EXDT(GMRCCSDT)
- +82 DO SUB("F","RES",GMRCNDX,GMRCX)
- +83 if $LENGTH($GET(GMRCCTIT))
- DO SUB("F","RES",GMRCNDX," "_GMRCCTIT)
- End DoDot:3
- +84 ;extra signers
- +85 IF $DATA(^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT","GMRCXTRA"))
- Begin DoDot:3
- +86 DO SUB("F","RES",GMRCNDX," ")
- +87 DO SUB("F","RES",GMRCNDX," Receipt acknowledged by: ")
- +88 NEW XTRA
- SET XTRA=0
- FOR
- SET XTRA=$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT","GMRCXTRA",XTRA))
- if 'XTRA
- QUIT
- Begin DoDot:4
- +89 DO SUB("F","RES",GMRCNDX,^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT","GMRCXTRA",XTRA,0))
- +90 DO SUB("F","RES",GMRCNDX,^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT","GMRCXTRA",XTRA,1))
- End DoDot:4
- End DoDot:3
- +91 ;
- +92 DO BLD("RES",GMRCNDX,1,0," ")
- +93 IF $LENGTH($GET(GMRCRPT))
- DO BLD("RES",GMRCNDX,1,0,$$CENTER("CONSULTATION NOTE "_$SELECT(GMRCR0=.5:"",1:"#"_GMRCR0_" ")_"FOR "_GMRCRPT))
- +94 IF '$LENGTH($GET(GMRCRPT))
- DO BLD("RES",GMRCNDX,1,0,$$CENTER("CONSULTATION NOTE "_$SELECT(GMRCR0=.5:"",1:"#"_GMRCR0)))
- +95 DO BLD("RES",GMRCNDX,1,0," ")
- +96 IF $LENGTH($GET(GMRCENT))
- Begin DoDot:3
- +97 SET GMRCX=" Entry Date: "_$$EXDT($GET(GMRCENT))
- +98 DO BLD("RES",GMRCNDX,1,0,GMRCX)
- End DoDot:3
- +99 IF $LENGTH($GET(GMRCNODT))
- Begin DoDot:3
- +100 if $$EXDT($GET(GMRCNODT))=$$EXDT($GET(GMRCENT))
- QUIT
- +101 SET GMRCX="Date/Time of result: "_$$EXDT($GET(GMRCNODT))
- +102 DO BLD("RES",GMRCNDX,1,0,GMRCX)
- End DoDot:3
- +103 IF $LENGTH($GET(GMRCVIS))
- Begin DoDot:3
- +104 SET GMRCX=" Visit: "_$$EXDT($GET(GMRCVIS))
- +105 IF $LENGTH($GET(GMRCVLOC))
- SET GMRCX=GMRCX_" "_GMRCVLOC
- +106 DO BLD("RES",GMRCNDX,1,0,GMRCX)
- End DoDot:3
- +107 IF $LENGTH($GET(GMRCVLOC))
- SET GMRCX=GMRCVLOC
- +108 DO BLD("RES",GMRCNDX,1,0," ")
- +109 IF $DATA(^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT",0,0))
- Begin DoDot:3
- +110 DO BLD("RES",GMRCNDX,1,0,^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT",0,0))
- End DoDot:3
- IF 1
- +111 IF '$TEST
- IF '$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT",""))
- Begin DoDot:3
- +112 DO BLD("RES",1,1,0,$$CENTER("CONSULTATION NOTE TEXT NOT AVAILABLE"))
- End DoDot:3
- +113 SET GMRCR1=0
- FOR
- SET GMRCR1=$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT",GMRCR1))
- if 'GMRCR1
- QUIT
- Begin DoDot:3
- +114 DO BLD("RES",GMRCNDX,1,0,^TMP("GMRCR",$JOB,"RES",GMRCR0,"TEXT",GMRCR1,0))
- End DoDot:3
- +115 ;
- +116 ; GET ADDENDUMS TO THIS NOTE
- +117 ;
- +118 IF +$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0,"ADD",0))
- DO ADDEND^GMRCP5D(GMRCIFN,GMRCR0,GMRCNDX,GMRCRD,PAGEWID)
- End DoDot:2
- End DoDot:1
- +119 ;
- +120 ; GET SERVICE REPORTS AND COMMENTS
- DO FORMAT^GMRCP5D(GMRCIFN,GMRCRD,PAGEWID)
- +121 ;
- +122 QUIT
- +123 ;
- EXDT(X) ;EXTERNAL DATE FORMAT
- +1 ;
- +2 NEW DATE,TIME,HR,MN,PD,Y,%DT
- +3 if '$LENGTH(X)
- QUIT ""
- +4 IF '(X?7N.1".".6N)
- SET %DT="PTS"
- DO ^%DT
- SET X=Y
- +5 QUIT $$FMTE^XLFDT(X,"5PMZ")
- +6 ;
- CENTER(X) ;
- +1 ;
- +2 NEW TEXT,COL
- +3 SET COL=35-($LENGTH(X)\2)
- if (COL<1)
- QUIT X
- +4 SET $EXTRACT(TEXT,COL)=X
- +5 QUIT TEXT
- +6 ;
- BLD(SUB,NDX,LINE,TAB,TEXT,RUNTIME) ;
- +1 ;
- +2 if '$LENGTH($GET(SUB))
- QUIT
- +3 NEW LINECNT
- +4 ;
- +5 FOR LINECNT=1:1:+LINE
- SET ^TMP("GMRC",$JOB,"OUTPUT",SUB,NDX,$$LASTLN(SUB,NDX)+1,0)=""
- +6 ;
- +7 SET $EXTRACT(^TMP("GMRC",$JOB,"OUTPUT",SUB,NDX,$$LASTLN(SUB,NDX),0),TAB+1)=TEXT
- +8 IF $LENGTH($GET(RUNTIME))
- SET ^TMP("GMRC",$JOB,"OUTPUT",SUB,NDX,$$LASTLN(SUB,NDX),1)=RUNTIME
- +9 ;
- +10 SET GMRCLAST=SUB
- +11 QUIT
- +12 ;
- SUB(ZONE,SUB,NDX,TEXT) ;
- +1 ;
- +2 NEW NEXT
- +3 SET NEXT=$ORDER(^TMP("GMRC",$JOB,"OUTPUT",SUB,NDX,ZONE," "),-1)+1
- +4 SET ^TMP("GMRC",$JOB,"OUTPUT",SUB,NDX,ZONE,NEXT,0)=TEXT
- +5 QUIT
- +6 ;
- LASTLN(SUB,NDX) ;
- +1 QUIT +$ORDER(^TMP("GMRC",$JOB,"OUTPUT",SUB,NDX," "),-1)
- +2 ;