- GMRCP5D ;SLC/DCM,RJS,JFR,WAT - Print Consult form 513 (Gather Data - Addendums, Headers, Service reports and Comments) ;09/10/08
- ;;3.0;CONSULT/REQUEST TRACKING;**4,12,15,22,29,35,38,61,65**;Dec 27, 1997;Build 7
- ;
- ;This routine invokes the following ICR(s):
- ;2056 $$GET1^DIQ, 2541 $$KSP^XUPARAM, 10103 $$FMTE^XLFDT, 10104 $$UP^XLFSTR, 10061 VADPT API
- ;10040 ^SC(, 4156 $$CVEDT^DGCV, 10060 ^VA(200
- ;
- FORMAT(GMRCIFN,GMRCRD,PAGEWID) ;
- ;
- I $L($P(GMRCRD,U,15)) D
- .I $O(^TMP("GMRCR",$J,"MCAR",0)) D
- ..N GMRCSVC
- ..S GMRCSVC=$P($G(^GMR(123.5,+$P(GMRCRD,U,5),0)),U,1)
- ..S:$L(GMRCSVC) GMRCSVC=GMRCSVC_" "
- ..;
- ..; Medicine Results?
- ..S GMRCR0=0 F S GMRCR0=$O(^TMP("GMRCR",$J,"MCAR",GMRCR0)) Q:'GMRCR0 D
- ...D SUB("H","SREP",GMRCR0,$$CENTER(GMRCSVC_"Service Report #"_GMRCR0_" continued."))
- ...D SUB("H","SREP",GMRCR0," ")
- ...D BLD("SREP",GMRCR0,1,0,$$CENTER("Medicine Package Report"))
- ...D BLD("SREP",GMRCR0,1,0,"")
- ...N LN
- ...S LN=0 F S LN=$O(^TMP("GMRCR",$J,"MCAR",GMRCR0,LN)) Q:'LN D
- ....D BLD("SREP",GMRCR0,1,0,$G(^TMP("GMRCR",$J,"MCAR",GMRCR0,LN,0)))
- ;
- ; Build Processing Activities
- S GMRCR0=0 F S GMRCR0=$O(^GMR(123,GMRCIFN,40,GMRCR0)) Q:'GMRCR0 D
- .N GMRCR1,GMRC400,CMT,USER,GMRCDT,RPRV,GMRC402,GMRCISIT
- .S GMRCR1=+$O(^GMR(123,GMRCIFN,40,GMRCR0,0)) Q:GMRCR1'=1
- .S GMRC400=$G(^GMR(123,GMRCIFN,40,GMRCR0,0))
- .S GMRC402=$G(^GMR(123,GMRCIFN,40,GMRCR0,2))
- .S CMT=$$PRCMT^GMRCP5B(+$P(GMRC400,U,2)) Q:'$L(CMT)
- .S GMRCDT=$P(GMRC400,U,3) S:'GMRCDT GMRCDT=$P(GMRC400,U,1)
- .S GMRCDT=$$EXDT(GMRCDT)_" "_$P(GMRC402,U,3)
- .;Following lines modified in patch *38
- .;I $P(^GMR(123,GMRCIFN,0),U,23) D ;commented out
- .;.S GMRCISIT=$$GET1^DIQ(4,$P(^GMR(123,GMRCIFN,0),U,23),.01) ;commented out
- .;.S GMRCISIT="Entered at: "_GMRCISIT ;commented out
- .I $L(GMRC402) D ;ADDED
- ..S GMRCISIT=$$GET1^DIQ(123,GMRCIFN,.07) ;ADDED
- .I '$D(GMRCISIT) D ;ADDED
- ..S GMRCISIT=$$KSP^XUPARAM("INST") ;ADDED
- ..I GMRCISIT'="" S GMRCISIT=$$GET1^DIQ(4,GMRCISIT,.01) ;ADDED
- ..I GMRCISIT="" S GMRCISIT=$$GET1^DIQ(123,GMRCIFN,.05) ;ADDED
- .S GMRCISIT="Entered at: "_GMRCISIT ;ADDED
- .;End of modifications for patch *38
- .S RPRV=$$GET1^DIQ(200,+$P(GMRC400,U,4),.01)
- .I '$L(RPRV) S RPRV=$P(GMRC402,U,2)
- .S:($L(RPRV)) RPRV="Responsible Person: "_RPRV
- .S USER=$$GET1^DIQ(200,+$P(GMRC400,U,5),.01)
- .I '$L(USER) S USER=$P(GMRC402,U)
- .S USER="Entered by: "_USER_" - "_GMRCDT
- .D SUB("H","COM",GMRCR0,CMT_" Comment ("_USER_") continued.")
- .D SUB("H","COM",GMRCR0," ")
- .D BLD("COM",GMRCR0,1,0,"")
- .D BLD("COM",GMRCR0,1,0,$$CENTER("("_CMT_" Comment)"))
- .I $P(GMRC400,U,2)=17!($P(GMRC400,U,2)=25) D
- .. N FWDLN,FWDRS
- .. S FWDLN="Forwarded from: "
- .. S FWDRS=$P($G(^GMR(123,GMRCIFN,40,GMRCR0,3)),U)
- .. I $L(FWDRS) S FWDLN=FWDLN_FWDRS
- .. I '$L(FWDRS) S FWDLN=FWDLN_$$GET1^DIQ(123.5,+$P(GMRC400,U,6),.01)
- .. D BLD("COM",GMRCR0,1,5,FWDLN)
- .D BLD("COM",GMRCR0,1,5,USER)
- .D:($L(RPRV)) BLD("COM",GMRCR0,1,5,RPRV)
- .D:($L($G(GMRCISIT))) BLD("COM",GMRCR0,1,5,GMRCISIT)
- .;
- .N GMRCR2 S GMRCR2=0
- .F S GMRCR2=$O(^GMR(123,GMRCIFN,40,GMRCR0,GMRCR1,GMRCR2)) Q:'GMRCR2 D
- ..D BLD("COM",GMRCR0,1,0,$G(^GMR(123,GMRCIFN,40,GMRCR0,GMRCR1,GMRCR2,0)))
- ;
- Q
- ;
- ADDEND(GMRCIFN,GMRCR0,GMRCNDX,GMRCRD,PAGEWID) ;
- ;
- N GMRCADD,GMRCNDX,GMRCR1,GMRCV,TEXT,GMRCX
- ;
- S GMRCADD=0 F S GMRCADD=$O(^TMP("GMRCR",$J,"RES",GMRCR0,"ADD",GMRCADD)) Q:'GMRCADD D
- .N GMRCSGNM,GMRCNMDT,GMRCTIT,GMRCMODE,GMRCCSDT,GMRCCTIT,GMRCCSGM
- .;
- .F GMRCV="GMRCSGNM","GMRCNMDT","GMRCTIT","GMRCMODE" D
- ..S @GMRCV=$G(^TMP("GMRCR",$J,"RES",GMRCR0,"ADD",GMRCADD,GMRCV))
- .;
- . F GMRCV="GMRCCSDT","GMRCCTIT","GMRCCSGM","GMRCCSIG" D
- .. S @GMRCV=$G(^TMP("GMRCR",$J,"RES",GMRCR0,"ADD",GMRCADD,GMRCV))
- .S GMRCNDX=$O(^TMP("GMRC",$J,"OUTPUT","RES"," "),-1)+1
- .I $L($G(GMRCRPT)) D SUB("H","RES",GMRCNDX,"Addendum #"_GMRCADD_" To Consult Note #"_GMRCR0_" for "_GMRCRPT_" continued.")
- .I '$L($G(GMRCRPT)) D SUB("H","RES",GMRCNDX,"Addendum #"_GMRCADD_" To Consult Note #"_GMRCR0_" continued.")
- .D SUB("H","RES",GMRCNDX," ")
- .I $L($G(GMRCSGNM)) D
- ..D SUB("F","RES",GMRCNDX," ")
- ..I (GMRCMODE="electronic") S GMRCX=" Addendum Signature: "_GMRCSGNM_" /es/ "_$$EXDT($G(GMRCNMDT))
- ..I '(GMRCMODE="electronic") S GMRCX=" Addendum Author: "_GMRCSGNM S:$L($G(GMRCNMDT)) GMRCX=GMRCX_" Last edited: "_$$EXDT(GMRCNMDT)
- ..D SUB("F","RES",GMRCNDX,GMRCX)
- ..D:$L($G(GMRCTIT)) SUB("F","RES",GMRCNDX," "_GMRCTIT)
- .I $L($G(GMRCCSDT)) D
- ..D SUB("F","RES",GMRCNDX," ")
- ..I (GMRCCSGM="electronic") S GMRCX=" Addendum CoSignature: "_GMRCCSIG_" /es/ "_$$EXDT(GMRCCSDT)
- ..I '(GMRCCSGM="electronic") S GMRCX=" Addendum CoSignature: "_GMRCCSIG_" /chart/ "_$$EXDT(GMRCCSDT)
- ..D SUB("F","RES",GMRCNDX,GMRCX)
- ..D:$L($G(GMRCCTIT)) SUB("F","RES",GMRCNDX," "_GMRCCTIT)
- .D BLD("RES",GMRCNDX,1,0," ")
- .I $L($G(GMRCRPT)) D BLD("RES",GMRCNDX,1,0,$$CENTER("ADDENDUM #"_GMRCADD_" TO CONSULT NOTE #"_GMRCR0_" FOR "_GMRCRPT))
- .I '$L($G(GMRCRPT)) D BLD("RES",GMRCNDX,1,0,$$CENTER("ADDENDUM #"_GMRCADD_" TO CONSULT NOTE #"_GMRCR0))
- .D BLD("RES",GMRCNDX,1,0," ")
- .S GMRCR1=0 F S GMRCR1=$O(^TMP("GMRCR",$J,"RES",GMRCR0,"ADD",GMRCADD,GMRCR1)) Q:'GMRCR1 D
- ..D BLD("RES",GMRCNDX,1,0,$G(^TMP("GMRCR",$J,"RES",GMRCR0,"ADD",GMRCADD,GMRCR1,0)))
- Q
- ;
- HDR ; Header code for form 513
- ;
- ;get and format eligibility info
- N VAEL,VAPA,GMRCPEL,SUB,GMRCFROM
- N CVELIG,CVMARKER ;WAT
- D ELIG^VADPT
- D ADD^VADPT
- S GMRCPEL=$P(VAEL(1),U,2)
- ;
- F SUB=0,1 D
- .N GMRCFLN
- .S GMRCFLN=$P($G(^DPT(GMRCDFN,0)),U,1)
- .S CVELIG=$$CVEDT^DGCV(GMRCDFN) S:$P($G(CVELIG),U,3) CVELIG="CV ELIGIBLE" ;WAT
- .D BLD("HDR",SUB,1,0,GMRCDVL)
- .D BLD("HDR",SUB,1,6,"MEDICAL RECORD")
- .D BLD("HDR",SUB,0,39,"|")
- .D BLD("HDR",SUB,0,45,"CONSULTATION SHEET")
- .D BLD("HDR",SUB,1,0,GMRCDVL)
- .D BLD("HDR",SUB,1,0,GMRCFLN)
- .D BLD("HDR",SUB,0,45,GMRCPEL)
- .D BLD("HDR",SUB,1,0,GMRCSN)
- .D BLD("HDR",SUB,0,16,$$EXDT(GMRCDOB))
- .D BLD("HDR",SUB,0,45,GMRCELIG)
- .D:$G(CVELIG)["CV" BLD("HDR",SUB,1,45,CVELIG)
- ;
- ; ADDRESS LINES 1-3
- F GMRCX=1,2,3 D:$L(VAPA(GMRCX))
- .D BLD("HDR",0,1,0,VAPA(GMRCX))
- .;I GMRCX=1 D BLD("HDR",0,0,51,"Standard Form 513 (Rev 9-77)")
- ;
- ; CITY STATE ZIP CODE
- S GMRCX=VAPA(4)_" "_$P(VAPA(5),U,2)_" "_VAPA(6)
- ;
- I $L(VAPA(8)) S GMRCX=GMRCX_" Phone: "_VAPA(8) ; TELEPHONE (IF AVAILABLE)
- ;
- D BLD("HDR",0,1,0,GMRCX)
- D BLD("HDR",0,1,0,GMRCDVL)
- D BLD("HDR",0,1,0,"Consult Request: "_$$CONSRQ(GMRCIFN))
- D BLD("HDR",0,1,55,"|Consult No.: "_GMRCIFN)
- ;
- D BLD("HDR",1,1,0,GMRCEQL)
- D BLD("HDR",0,1,0,GMRCDVL)
- ;
- I $G(CMT) D BLD("HDR",0,1,27,"("_$$PRCMT^GMRCP5B(CMT)_")") Q
- ;
- S GMRCFROM=$P($G(^SC(+$P(GMRCRD,U,6),0)),U,1)
- ;
- I '$L(GMRCFROM) D
- .N VAIN
- .D INP^VADPT
- .S GMRCFROM=$P($G(VAIN(4)),U,2)
- .I $L($G(VAIN(5))) S GMRCFROM=GMRCFROM_" (Rm/Bd: "_$G(VAIN(5))_" )"
- ;No location, IFC - consulting site
- I '$L(GMRCFROM),$P(GMRCRD,U,23),$P($G(GMRCRD(12)),U,5)="F" D
- .I $P(GMRCRD,U,21) S GMRCFROM=$$GET1^DIQ(4,$P(GMRCRD,U,21),.01)
- .E S GMRCFROM=$$GET1^DIQ(4,$P(GMRCRD,U,23),.01)
- ;
- D BLD("HDR",0,1,0,"To: "_$P($G(^GMR(123.5,+$P(GMRCRD,U,5),0)),U,1))
- D BLD("HDR",0,1,5,"From: "_GMRCFROM)
- D BLD("HDR",0,0,49,"|Requested: "_$$EXDT($P(GMRCRD,U,7)))
- ;
- D BLD("HDR",0,1,0,GMRCDVL)
- D BLD("HDR",0,1,0,"Requesting Facility: "_$E(GMRCFAC,1,22))
- I $P(GMRCRD,U,11) D BLD("HDR",0,0,45,"|ATTENTION: "_$E($$GET1^DIQ(200,+$P(GMRCRD,U,11),.01),1,21))
- I $P(GMRCRD,U,23) D
- . D BLD("HDR",0,1,0,"Remote Consult No.: "_GMRCINO)
- . D BLD("HDR",0,1,0,"Role: "_GMRCIRL)
- D BLD("HDR",0,1,0,GMRCEQL)
- ;
- Q
- ;
- 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)
- ;
- CONSRQ(IFN) ;
- ;
- N PTR,LINK,REF,GMRCRQ
- I +$P(^GMR(123,+IFN,0),U,8) D
- . S GMRCRQ=$P(^GMR(123,+IFN,0),U,8)
- . S GMRCRQ=$$GET1^DIQ(123.3,+GMRCRQ,.01)
- . I '$L(GMRCRQ) S GMRCRQ="Procedure"
- I $L($G(GMRCRQ)) Q GMRCRQ
- I $L($G(^GMR(123,IFN,1.11))) D
- . N SERV,TYPE
- . S SERV=$$UP^XLFSTR($$GET1^DIQ(123.5,$P(^GMR(123,IFN,0),U,5),.01))
- . S TYPE=$$UP^XLFSTR(^GMR(123,IFN,1.11)) I TYPE'=SERV D
- . I TYPE'=SERV S GMRCRQ=$E(^GMR(123,IFN,1.11),1,36)
- Q:$L($G(GMRCRQ)) GMRCRQ Q "Consult"
- ;
- 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")
- ;
- GMRCP5D ;SLC/DCM,RJS,JFR,WAT - Print Consult form 513 (Gather Data - Addendums, Headers, Service reports and Comments) ;09/10/08
- +1 ;;3.0;CONSULT/REQUEST TRACKING;**4,12,15,22,29,35,38,61,65**;Dec 27, 1997;Build 7
- +2 ;
- +3 ;This routine invokes the following ICR(s):
- +4 ;2056 $$GET1^DIQ, 2541 $$KSP^XUPARAM, 10103 $$FMTE^XLFDT, 10104 $$UP^XLFSTR, 10061 VADPT API
- +5 ;10040 ^SC(, 4156 $$CVEDT^DGCV, 10060 ^VA(200
- +6 ;
- FORMAT(GMRCIFN,GMRCRD,PAGEWID) ;
- +1 ;
- +2 IF $LENGTH($PIECE(GMRCRD,U,15))
- Begin DoDot:1
- +3 IF $ORDER(^TMP("GMRCR",$JOB,"MCAR",0))
- Begin DoDot:2
- +4 NEW GMRCSVC
- +5 SET GMRCSVC=$PIECE($GET(^GMR(123.5,+$PIECE(GMRCRD,U,5),0)),U,1)
- +6 IF $LENGTH(GMRCSVC)
- SET GMRCSVC=GMRCSVC_" "
- +7 ;
- +8 ; Medicine Results?
- +9 SET GMRCR0=0
- FOR
- SET GMRCR0=$ORDER(^TMP("GMRCR",$JOB,"MCAR",GMRCR0))
- IF 'GMRCR0
- QUIT
- Begin DoDot:3
- +10 DO SUB("H","SREP",GMRCR0,$$CENTER(GMRCSVC_"Service Report #"_GMRCR0_" continued."))
- +11 DO SUB("H","SREP",GMRCR0," ")
- +12 DO BLD("SREP",GMRCR0,1,0,$$CENTER("Medicine Package Report"))
- +13 DO BLD("SREP",GMRCR0,1,0,"")
- +14 NEW LN
- +15 SET LN=0
- FOR
- SET LN=$ORDER(^TMP("GMRCR",$JOB,"MCAR",GMRCR0,LN))
- IF 'LN
- QUIT
- Begin DoDot:4
- +16 DO BLD("SREP",GMRCR0,1,0,$GET(^TMP("GMRCR",$JOB,"MCAR",GMRCR0,LN,0)))
- End DoDot:4
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +17 ;
- +18 ; Build Processing Activities
- +19 SET GMRCR0=0
- FOR
- SET GMRCR0=$ORDER(^GMR(123,GMRCIFN,40,GMRCR0))
- IF 'GMRCR0
- QUIT
- Begin DoDot:1
- +20 NEW GMRCR1,GMRC400,CMT,USER,GMRCDT,RPRV,GMRC402,GMRCISIT
- +21 SET GMRCR1=+$ORDER(^GMR(123,GMRCIFN,40,GMRCR0,0))
- IF GMRCR1'=1
- QUIT
- +22 SET GMRC400=$GET(^GMR(123,GMRCIFN,40,GMRCR0,0))
- +23 SET GMRC402=$GET(^GMR(123,GMRCIFN,40,GMRCR0,2))
- +24 SET CMT=$$PRCMT^GMRCP5B(+$PIECE(GMRC400,U,2))
- IF '$LENGTH(CMT)
- QUIT
- +25 SET GMRCDT=$PIECE(GMRC400,U,3)
- IF 'GMRCDT
- SET GMRCDT=$PIECE(GMRC400,U,1)
- +26 SET GMRCDT=$$EXDT(GMRCDT)_" "_$PIECE(GMRC402,U,3)
- +27 ;Following lines modified in patch *38
- +28 ;I $P(^GMR(123,GMRCIFN,0),U,23) D ;commented out
- +29 ;.S GMRCISIT=$$GET1^DIQ(4,$P(^GMR(123,GMRCIFN,0),U,23),.01) ;commented out
- +30 ;.S GMRCISIT="Entered at: "_GMRCISIT ;commented out
- +31 ;ADDED
- IF $LENGTH(GMRC402)
- Begin DoDot:2
- +32 ;ADDED
- SET GMRCISIT=$$GET1^DIQ(123,GMRCIFN,.07)
- End DoDot:2
- +33 ;ADDED
- IF '$DATA(GMRCISIT)
- Begin DoDot:2
- +34 ;ADDED
- SET GMRCISIT=$$KSP^XUPARAM("INST")
- +35 ;ADDED
- IF GMRCISIT'=""
- SET GMRCISIT=$$GET1^DIQ(4,GMRCISIT,.01)
- +36 ;ADDED
- IF GMRCISIT=""
- SET GMRCISIT=$$GET1^DIQ(123,GMRCIFN,.05)
- End DoDot:2
- +37 ;ADDED
- SET GMRCISIT="Entered at: "_GMRCISIT
- +38 ;End of modifications for patch *38
- +39 SET RPRV=$$GET1^DIQ(200,+$PIECE(GMRC400,U,4),.01)
- +40 IF '$LENGTH(RPRV)
- SET RPRV=$PIECE(GMRC402,U,2)
- +41 IF ($LENGTH(RPRV))
- SET RPRV="Responsible Person: "_RPRV
- +42 SET USER=$$GET1^DIQ(200,+$PIECE(GMRC400,U,5),.01)
- +43 IF '$LENGTH(USER)
- SET USER=$PIECE(GMRC402,U)
- +44 SET USER="Entered by: "_USER_" - "_GMRCDT
- +45 DO SUB("H","COM",GMRCR0,CMT_" Comment ("_USER_") continued.")
- +46 DO SUB("H","COM",GMRCR0," ")
- +47 DO BLD("COM",GMRCR0,1,0,"")
- +48 DO BLD("COM",GMRCR0,1,0,$$CENTER("("_CMT_" Comment)"))
- +49 IF $PIECE(GMRC400,U,2)=17!($PIECE(GMRC400,U,2)=25)
- Begin DoDot:2
- +50 NEW FWDLN,FWDRS
- +51 SET FWDLN="Forwarded from: "
- +52 SET FWDRS=$PIECE($GET(^GMR(123,GMRCIFN,40,GMRCR0,3)),U)
- +53 IF $LENGTH(FWDRS)
- SET FWDLN=FWDLN_FWDRS
- +54 IF '$LENGTH(FWDRS)
- SET FWDLN=FWDLN_$$GET1^DIQ(123.5,+$PIECE(GMRC400,U,6),.01)
- +55 DO BLD("COM",GMRCR0,1,5,FWDLN)
- End DoDot:2
- +56 DO BLD("COM",GMRCR0,1,5,USER)
- +57 IF ($LENGTH(RPRV))
- DO BLD("COM",GMRCR0,1,5,RPRV)
- +58 IF ($LENGTH($GET(GMRCISIT)))
- DO BLD("COM",GMRCR0,1,5,GMRCISIT)
- +59 ;
- +60 NEW GMRCR2
- SET GMRCR2=0
- +61 FOR
- SET GMRCR2=$ORDER(^GMR(123,GMRCIFN,40,GMRCR0,GMRCR1,GMRCR2))
- IF 'GMRCR2
- QUIT
- Begin DoDot:2
- +62 DO BLD("COM",GMRCR0,1,0,$GET(^GMR(123,GMRCIFN,40,GMRCR0,GMRCR1,GMRCR2,0)))
- End DoDot:2
- End DoDot:1
- +63 ;
- +64 QUIT
- +65 ;
- ADDEND(GMRCIFN,GMRCR0,GMRCNDX,GMRCRD,PAGEWID) ;
- +1 ;
- +2 NEW GMRCADD,GMRCNDX,GMRCR1,GMRCV,TEXT,GMRCX
- +3 ;
- +4 SET GMRCADD=0
- FOR
- SET GMRCADD=$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0,"ADD",GMRCADD))
- IF 'GMRCADD
- QUIT
- Begin DoDot:1
- +5 NEW GMRCSGNM,GMRCNMDT,GMRCTIT,GMRCMODE,GMRCCSDT,GMRCCTIT,GMRCCSGM
- +6 ;
- +7 FOR GMRCV="GMRCSGNM","GMRCNMDT","GMRCTIT","GMRCMODE"
- Begin DoDot:2
- +8 SET @GMRCV=$GET(^TMP("GMRCR",$JOB,"RES",GMRCR0,"ADD",GMRCADD,GMRCV))
- End DoDot:2
- +9 ;
- +10 FOR GMRCV="GMRCCSDT","GMRCCTIT","GMRCCSGM","GMRCCSIG"
- Begin DoDot:2
- +11 SET @GMRCV=$GET(^TMP("GMRCR",$JOB,"RES",GMRCR0,"ADD",GMRCADD,GMRCV))
- End DoDot:2
- +12 SET GMRCNDX=$ORDER(^TMP("GMRC",$JOB,"OUTPUT","RES"," "),-1)+1
- +13 IF $LENGTH($GET(GMRCRPT))
- DO SUB("H","RES",GMRCNDX,"Addendum #"_GMRCADD_" To Consult Note #"_GMRCR0_" for "_GMRCRPT_" continued.")
- +14 IF '$LENGTH($GET(GMRCRPT))
- DO SUB("H","RES",GMRCNDX,"Addendum #"_GMRCADD_" To Consult Note #"_GMRCR0_" continued.")
- +15 DO SUB("H","RES",GMRCNDX," ")
- +16 IF $LENGTH($GET(GMRCSGNM))
- Begin DoDot:2
- +17 DO SUB("F","RES",GMRCNDX," ")
- +18 IF (GMRCMODE="electronic")
- SET GMRCX=" Addendum Signature: "_GMRCSGNM_" /es/ "_$$EXDT($GET(GMRCNMDT))
- +19 IF '(GMRCMODE="electronic")
- SET GMRCX=" Addendum Author: "_GMRCSGNM
- IF $LENGTH($GET(GMRCNMDT))
- SET GMRCX=GMRCX_" Last edited: "_$$EXDT(GMRCNMDT)
- +20 DO SUB("F","RES",GMRCNDX,GMRCX)
- +21 IF $LENGTH($GET(GMRCTIT))
- DO SUB("F","RES",GMRCNDX," "_GMRCTIT)
- End DoDot:2
- +22 IF $LENGTH($GET(GMRCCSDT))
- Begin DoDot:2
- +23 DO SUB("F","RES",GMRCNDX," ")
- +24 IF (GMRCCSGM="electronic")
- SET GMRCX=" Addendum CoSignature: "_GMRCCSIG_" /es/ "_$$EXDT(GMRCCSDT)
- +25 IF '(GMRCCSGM="electronic")
- SET GMRCX=" Addendum CoSignature: "_GMRCCSIG_" /chart/ "_$$EXDT(GMRCCSDT)
- +26 DO SUB("F","RES",GMRCNDX,GMRCX)
- +27 IF $LENGTH($GET(GMRCCTIT))
- DO SUB("F","RES",GMRCNDX," "_GMRCCTIT)
- End DoDot:2
- +28 DO BLD("RES",GMRCNDX,1,0," ")
- +29 IF $LENGTH($GET(GMRCRPT))
- DO BLD("RES",GMRCNDX,1,0,$$CENTER("ADDENDUM #"_GMRCADD_" TO CONSULT NOTE #"_GMRCR0_" FOR "_GMRCRPT))
- +30 IF '$LENGTH($GET(GMRCRPT))
- DO BLD("RES",GMRCNDX,1,0,$$CENTER("ADDENDUM #"_GMRCADD_" TO CONSULT NOTE #"_GMRCR0))
- +31 DO BLD("RES",GMRCNDX,1,0," ")
- +32 SET GMRCR1=0
- FOR
- SET GMRCR1=$ORDER(^TMP("GMRCR",$JOB,"RES",GMRCR0,"ADD",GMRCADD,GMRCR1))
- IF 'GMRCR1
- QUIT
- Begin DoDot:2
- +33 DO BLD("RES",GMRCNDX,1,0,$GET(^TMP("GMRCR",$JOB,"RES",GMRCR0,"ADD",GMRCADD,GMRCR1,0)))
- End DoDot:2
- End DoDot:1
- +34 QUIT
- +35 ;
- HDR ; Header code for form 513
- +1 ;
- +2 ;get and format eligibility info
- +3 NEW VAEL,VAPA,GMRCPEL,SUB,GMRCFROM
- +4 ;WAT
- NEW CVELIG,CVMARKER
- +5 DO ELIG^VADPT
- +6 DO ADD^VADPT
- +7 SET GMRCPEL=$PIECE(VAEL(1),U,2)
- +8 ;
- +9 FOR SUB=0,1
- Begin DoDot:1
- +10 NEW GMRCFLN
- +11 SET GMRCFLN=$PIECE($GET(^DPT(GMRCDFN,0)),U,1)
- +12 ;WAT
- SET CVELIG=$$CVEDT^DGCV(GMRCDFN)
- IF $PIECE($GET(CVELIG),U,3)
- SET CVELIG="CV ELIGIBLE"
- +13 DO BLD("HDR",SUB,1,0,GMRCDVL)
- +14 DO BLD("HDR",SUB,1,6,"MEDICAL RECORD")
- +15 DO BLD("HDR",SUB,0,39,"|")
- +16 DO BLD("HDR",SUB,0,45,"CONSULTATION SHEET")
- +17 DO BLD("HDR",SUB,1,0,GMRCDVL)
- +18 DO BLD("HDR",SUB,1,0,GMRCFLN)
- +19 DO BLD("HDR",SUB,0,45,GMRCPEL)
- +20 DO BLD("HDR",SUB,1,0,GMRCSN)
- +21 DO BLD("HDR",SUB,0,16,$$EXDT(GMRCDOB))
- +22 DO BLD("HDR",SUB,0,45,GMRCELIG)
- +23 IF $GET(CVELIG)["CV"
- DO BLD("HDR",SUB,1,45,CVELIG)
- End DoDot:1
- +24 ;
- +25 ; ADDRESS LINES 1-3
- +26 FOR GMRCX=1,2,3
- IF $LENGTH(VAPA(GMRCX))
- Begin DoDot:1
- +27 DO BLD("HDR",0,1,0,VAPA(GMRCX))
- +28 ;I GMRCX=1 D BLD("HDR",0,0,51,"Standard Form 513 (Rev 9-77)")
- End DoDot:1
- +29 ;
- +30 ; CITY STATE ZIP CODE
- +31 SET GMRCX=VAPA(4)_" "_$PIECE(VAPA(5),U,2)_" "_VAPA(6)
- +32 ;
- +33 ; TELEPHONE (IF AVAILABLE)
- IF $LENGTH(VAPA(8))
- SET GMRCX=GMRCX_" Phone: "_VAPA(8)
- +34 ;
- +35 DO BLD("HDR",0,1,0,GMRCX)
- +36 DO BLD("HDR",0,1,0,GMRCDVL)
- +37 DO BLD("HDR",0,1,0,"Consult Request: "_$$CONSRQ(GMRCIFN))
- +38 DO BLD("HDR",0,1,55,"|Consult No.: "_GMRCIFN)
- +39 ;
- +40 DO BLD("HDR",1,1,0,GMRCEQL)
- +41 DO BLD("HDR",0,1,0,GMRCDVL)
- +42 ;
- +43 IF $GET(CMT)
- DO BLD("HDR",0,1,27,"("_$$PRCMT^GMRCP5B(CMT)_")")
- QUIT
- +44 ;
- +45 SET GMRCFROM=$PIECE($GET(^SC(+$PIECE(GMRCRD,U,6),0)),U,1)
- +46 ;
- +47 IF '$LENGTH(GMRCFROM)
- Begin DoDot:1
- +48 NEW VAIN
- +49 DO INP^VADPT
- +50 SET GMRCFROM=$PIECE($GET(VAIN(4)),U,2)
- +51 IF $LENGTH($GET(VAIN(5)))
- SET GMRCFROM=GMRCFROM_" (Rm/Bd: "_$GET(VAIN(5))_" )"
- End DoDot:1
- +52 ;No location, IFC - consulting site
- +53 IF '$LENGTH(GMRCFROM)
- IF $PIECE(GMRCRD,U,23)
- IF $PIECE($GET(GMRCRD(12)),U,5)="F"
- Begin DoDot:1
- +54 IF $PIECE(GMRCRD,U,21)
- SET GMRCFROM=$$GET1^DIQ(4,$PIECE(GMRCRD,U,21),.01)
- +55 IF '$TEST
- SET GMRCFROM=$$GET1^DIQ(4,$PIECE(GMRCRD,U,23),.01)
- End DoDot:1
- +56 ;
- +57 DO BLD("HDR",0,1,0,"To: "_$PIECE($GET(^GMR(123.5,+$PIECE(GMRCRD,U,5),0)),U,1))
- +58 DO BLD("HDR",0,1,5,"From: "_GMRCFROM)
- +59 DO BLD("HDR",0,0,49,"|Requested: "_$$EXDT($PIECE(GMRCRD,U,7)))
- +60 ;
- +61 DO BLD("HDR",0,1,0,GMRCDVL)
- +62 DO BLD("HDR",0,1,0,"Requesting Facility: "_$EXTRACT(GMRCFAC,1,22))
- +63 IF $PIECE(GMRCRD,U,11)
- DO BLD("HDR",0,0,45,"|ATTENTION: "_$EXTRACT($$GET1^DIQ(200,+$PIECE(GMRCRD,U,11),.01),1,21))
- +64 IF $PIECE(GMRCRD,U,23)
- Begin DoDot:1
- +65 DO BLD("HDR",0,1,0,"Remote Consult No.: "_GMRCINO)
- +66 DO BLD("HDR",0,1,0,"Role: "_GMRCIRL)
- End DoDot:1
- +67 DO BLD("HDR",0,1,0,GMRCEQL)
- +68 ;
- +69 QUIT
- +70 ;
- 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 ;
- CONSRQ(IFN) ;
- +1 ;
- +2 NEW PTR,LINK,REF,GMRCRQ
- +3 IF +$PIECE(^GMR(123,+IFN,0),U,8)
- Begin DoDot:1
- +4 SET GMRCRQ=$PIECE(^GMR(123,+IFN,0),U,8)
- +5 SET GMRCRQ=$$GET1^DIQ(123.3,+GMRCRQ,.01)
- +6 IF '$LENGTH(GMRCRQ)
- SET GMRCRQ="Procedure"
- End DoDot:1
- +7 IF $LENGTH($GET(GMRCRQ))
- QUIT GMRCRQ
- +8 IF $LENGTH($GET(^GMR(123,IFN,1.11)))
- Begin DoDot:1
- +9 NEW SERV,TYPE
- +10 SET SERV=$$UP^XLFSTR($$GET1^DIQ(123.5,$PIECE(^GMR(123,IFN,0),U,5),.01))
- +11 SET TYPE=$$UP^XLFSTR(^GMR(123,IFN,1.11))
- IF TYPE'=SERV
- Begin DoDot:2
- End DoDot:2
- +12 IF TYPE'=SERV
- SET GMRCRQ=$EXTRACT(^GMR(123,IFN,1.11),1,36)
- End DoDot:1
- +13 IF $LENGTH($GET(GMRCRQ))
- QUIT GMRCRQ
- QUIT "Consult"
- +14 ;
- 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 ;