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

BLRDOCRM.m

Go to the documentation of this file.
  1. BLRDOCRM ; IHS/MSC/MKK - Patient Reminder Document ; 13-Oct-2017 14:04 ; MKK
  1. ;;5.2;LAB SERVICE;**1041**;NOV 1, 1997;Build 23
  1. ;
  1. EEP ; Ersatz EP
  1. D EEP^BLRGMENU
  1. Q
  1. ;
  1. ;
  1. EP ; EP
  1. PEP ; EP
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,IOXY,U,XPARSYS,XQXFLG)
  1. ;
  1. D SETBLRVS
  1. ;
  1. D ADDTMENU^BLRGMENU("FUTURE^BLRDOCRM","Future/Current Orders")
  1. D ADDTMENU^BLRGMENU("ALLORDS^BLRDOCRM","All Orders")
  1. ;
  1. D MENUDRVR^BLRGMENU("RPMS Lab","Patient Reminder Document")
  1. Q
  1. ;
  1. FUTURE ; EP
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,IOXY,U,XPARSYS,XQXFLG)
  1. ;
  1. D SETBLRVS
  1. ;
  1. Q:$$FUTUREI("Patient Reminder Document")="Q"
  1. ;
  1. F S LRODT=$O(^LRO(69,"D",LRDFN,LRODT),-1) Q:LRODT<TODAY!(QFLG="Q") D
  1. . S LRSP="A"
  1. . F S LRSP=$O(^LRO(69,"D",LRDFN,LRODT,LRSP),-1) Q:LRSP<1!(QFLG="Q") D PATLINE
  1. ;
  1. I ORDCNT W !!,?9,ORDCNT," Order",$$PLURAL^BLRUTIL7(ORDCNT),"."
  1. E D
  1. . F I=3:1:5 K HEADER(I)
  1. . D HEADERDT^BLRGMENU
  1. . W ?9,"No Future/Current Orders for Patient found."
  1. ;
  1. D ^%ZISC
  1. D PRESSKEY^BLRGMENU
  1. Q
  1. ;
  1. FUTUREI(HDR1) ; EP - Initialization
  1. S HEADER(1)=HDR1
  1. D HEADERDT^BLRGMENU
  1. D ^XBFMK
  1. S DIR(0)="PO^9000001:EMZ"
  1. D ^DIR
  1. I +$G(DIRUT) Q $$BADSTUFQ("No/Quit/Invalid input.")
  1. ;
  1. S DFN=+Y,PATNAME=$$GET1^DIQ(2,DFN,.01)
  1. S HEADER(2)=PATNAME_" ["_DFN_"] HRCN:"_$$GET1^DIQ(9000001.41,DUZ(2)_","_DFN,.02)
  1. ;
  1. D ^%ZIS
  1. I POP Q $$BADSTUFQ("I/O Issue.")
  1. ;
  1. U IO
  1. S HEADER(3)=" "
  1. S $E(HEADER(4),10)=$$COLHEAD^BLRGMENU("Estimated",19)
  1. S HEADER(5)="Order #"
  1. S $E(HEADER(5),10)="Date/Time Collect"
  1. S $E(HEADER(5),31)="Test Description"
  1. S $E(HEADER(5),55)="Urgency"
  1. S $E(HEADER(5),64)="Ordering Provider"
  1. ;
  1. S ORDCNT=0
  1. S MAXLINES=IOSL-4,LINES=MAXLINES+10
  1. S PG=0,(QFLG,HDRONE)="NO"
  1. ;
  1. S LRDFN=$$GET1^DIQ(2,DFN,"LABORATORY REFERENCE","I")
  1. S LRODT="A",TODAY=$$DT^XLFDT
  1. Q "OK"
  1. ;
  1. PATLINE ; EP - Line of Data
  1. I LINES>MAXLINES D HEADERPG^BLRGMENU(.PG,.QFLG,HDRONE) Q:QFLG="Q"
  1. ;
  1. D PATDATAB
  1. ;
  1. W ORDNUM
  1. W ?9,ESTCPRNT
  1. S LROT=0
  1. F S LROT=$O(^LRO(69,LRODT,1,LRSP,2,LROT)) Q:LROT<1!(QFLG="Q") D
  1. . I LINES>MAXLINES D Q:QFLG="Q"
  1. .. D HEADERPG^BLRGMENU(.PG,.QFLG,HDRONE)
  1. .. Q:QFLG="Q"
  1. .. W ORDNUM
  1. .. W ?9,ESTCPRNT
  1. . ;
  1. . S LROTIEN=LROT_","_ORDIEN
  1. . S F60DESC=$$GET1^DIQ(69.03,LROTIEN,.01)
  1. . S URGENCY=$$GET1^DIQ(69.03,LROTIEN,1)
  1. . ;
  1. . W ?30,$E(F60DESC,1,22)
  1. . W ?54,$E(URGENCY,1,7)
  1. . W ?63,$E(PROVIDER,1,17)
  1. . W !
  1. . S LINES=LINES+1
  1. Q
  1. ;
  1. PATDATAB ; EP - Breakout Data
  1. S ORDCNT=ORDCNT+1
  1. S ORDIEN=LRSP_","_LRODT
  1. S ORDNUM=$$GET1^DIQ(69.01,ORDIEN,9.5,"I")
  1. S ORDERDT=$$GET1^DIQ(69.01,ORDIEN,5,"I")
  1. S PROVIDER=$$GET1^DIQ(69.01,ORDIEN,7)
  1. S ESTCOLDT=$$GET1^DIQ(69.01,ORDIEN,5.5,"I") ; EST. DATE/TIME OF COLLECTION
  1. S ESTCPRNT=$$UP^XLFSTR($$FMTE^XLFDT(ESTCOLDT,"5MPZ")) ; EST. DATE/TIME OF COLLECTION Print String
  1. S ESTCPRNT=$P(ESTCPRNT," ")_$J($P(ESTCPRNT," ",2,3),9)
  1. Q
  1. ;
  1. ;
  1. ALLORDS ; EP
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,IOXY,U,XPARSYS,XQXFLG)
  1. ;
  1. D SETBLRVS
  1. ;
  1. Q:$$FUTUREI("Patient Orders Document")="Q"
  1. ;
  1. F S LRODT=$O(^LRO(69,"D",LRDFN,LRODT),-1) Q:LRODT<1!(QFLG="Q") D
  1. . S LRSP="A"
  1. . F S LRSP=$O(^LRO(69,"D",LRDFN,LRODT,LRSP),-1) Q:LRSP<1!(QFLG="Q") D PATLINE
  1. ;
  1. W !!,?9,ORDCNT," Order",$$PLURAL(ORDCNT),"."
  1. D ^%ZISC
  1. D PRESSKEY^BLRGMENU
  1. Q
  1. ;
  1. ;
  1. ; ============================= UTILITIES =============================
  1. ;
  1. JUSTNEW ; EP - Generic RPMS EXCLUSIVE NEW
  1. NEW (DILOCKTM,DISYS,DT,DTIME,DUZ,IO,IOBS,IOF,IOM,ION,IOS,IOSL,IOST,IOT,IOXY,U,XPARSYS,XQXFLG)
  1. ;
  1. Q
  1. ;
  1. SETBLRVS(TWO) ; EP - Set the BLRVERN variable(s)
  1. K BLRVERN,BLRVERN2
  1. ;
  1. S BLRVERN=$P($P($T(+1),";")," ")
  1. S:$L($G(TWO)) BLRVERN2=$G(TWO)
  1. Q
  1. ;
  1. BADSTUFF(STR,TAB) ; EP - BADSTUFF error message
  1. S TAB=$S($L($G(TAB))<1:4,1:TAB)
  1. W !!,?TAB,STR," Routine Ends."
  1. D PRESSKEY^BLRGMENU(TAB+5)
  1. Q
  1. ;
  1. BADSTUFQ(STR,TAB) ; EP - BADSTUFF error message. Ends with Q "Q"uit
  1. D BADSTUFF(STR,$G(TAB))
  1. Q "Q"
  1. ;
  1. PLURAL(CNT) ; EP - If CNT'=1, return S else return ""
  1. Q $S(CNT=1:"",1:"s")
  1. ;
  1. PLURALI(CNT) ; EP - If CNT'=1, return IES else return Y
  1. Q $S(CNT=1:"y",1:"ies")