ORQQPXRM ; SLC/PJH - Functions for reminder data ;12/04/2007 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**10,85,116,173,187,190,215,243**;Dec 17, 1997;Build 242 ; ;ORQQPXRM DIALOG ACTIVE ACTIVE(ORY,ORLIST) D ACTIVE^PXRMRPCC(.ORY,.ORLIST) Q ; DBIA 3080 ; ;ORQQPXRM REMINDER EVALUATION ALIST(ORY,ORPT,ORLIST) D ALIST^PXRMRPCA(.ORY,.ORPT,.ORLIST) Q ; DBIA 3078 ; ;ORQQPXRM REMINDERS APPLICABLE APPL(ORY,ORPT,ORLOC) D EVALCOVR^ORQQPX(.ORY,ORPT,ORLOC) Q ;D APPL^PXRMRPCA(.ORY,ORPT,ORLOC) Q ; DBIA 3078 ; ;ORQQPXRM REMINDER CATEGORIES CATEGORY(ORY,ORPT,ORLOC) ; D CATEGORY^PXRMRPCA(.ORY,ORPT,ORLOC) Q ; DBIA 3078 ; ;ORQQPXRM REMINDER DIALOG DIALOG(ORY,ORREM,DFN) ; ; DBIA 3080 N DIEN D DIALOG^PXRMRPCC(.ORY,ORREM,DFN) ;I $G(DFN)'="" D DIALOG^PXRMRPCC(.ORY,ORREM,DFN) ;I $G(DFN)="" D DIALOG^PXRMRPCC(.ORY,ORREM) I $P($G(ORY(1)),U)=-1 Q S DIEN=$G(^PXD(811.9,ORREM,51)) S ORY(0)=0_U_+$P($G(^PXRMD(801.41,DIEN,0)),U,17) Q ; ;ORQQPXRM EDUCATION SUBTOPICS EDS(ORY,OREDU) D EDS^PXRMRPCB(.ORY,OREDU) Q ; DBIA 3079 ; ;ORQQPXRM EDUCATION SUMMARY EDL(ORY,OREM) D EDL^PXRMRPCB(.ORY,OREM) Q ; DBIA 3079 ; ;ORQQPXRM EDUCATION TOPIC EDU(ORY,OREDU) D EDU^PXRMRPCB(.ORY,OREDU) Q ; DBIA 3079 ; ;ORQQPXRM PROGRESS NOTE HEADER HDR(ORY,ORLOC) D HDR^PXRMRPCC(.ORY,ORLOC) Q ; DBIA 3080 ; ;ORQQPXRM REMINDERS UNEVALUATED LIST(ORY,ORPT,ORLOC) D GETLIST^ORQQPX(.ORY,ORLOC) Q ;D LIST^PXRMRPCA(.ORY,ORPT,ORLOC) Q ; DBIA 3078 ; ;ORQQPXRM MENTAL HEALTH MH(ORY,OTEST) ; D MH^PXRMRPCC(.ORY,OTEST) ; DBIA 3080 S ORY(0)=0 I $$PATCH^XPDUTL("YS*5.01*85") S ORY(0)=1 Q ; MHDLL(ORY,DFN,INPUTS) ; N CNT,CNT1,ORRESULT,ORSCORES,TEXT F TEXT="RESULTS","SCORES" D .S CNT=0,CNT1=0 .F S CNT=$O(INPUTS(TEXT,CNT)) Q:CNT="" D ..S CNT1=CNT1+1 ..I TEXT="RESULTS" S ORRESULT(CNT1)=$G(INPUTS(TEXT,CNT)) ..I TEXT="SCORES" S ORSCORES(CNT1)=$G(INPUTS(TEXT,CNT)) D MHDLL^PXRMDRSG(.ORY,.ORRESULT,.ORSCORES,DFN) Q ; MHDLLDMS(ORY) ; ;Returns a one if CPRS should used the MH dll. Returns a 0 if CPRS ;should not used the MH dll. S ORY=1 I '$$PATCH^XPDUTL("YS*5.01*85") S ORY=0 Q I '$$PATCH^XPDUTL("PXRM*2.0*6") S ORY=0 Q I $$GET^XPAR("SYS","OR USE MH DLL")<1 S ORY=0 Q Q ; ;ORQQPXRM MENTAL HEALTH RESULTS MHR(ORY,RESULT,ORES) ; ; DBIA 3080 D MHR^PXRMRPCC(.ORY,RESULT,.ORES) Q ; ;ORQQPXRM MENTAL HEALTH SAVE MHS(ORY,ORES) D MHS^PXRMRPCC(.ORY,.ORES) Q ; DBIA 3080 ; MHV(ORY,DFN,NAME,ANS) ; N ORDATA,ORES,X S ORY(0)=0 I '$$PATCH^XPDUTL("YS*5.01*85") S ORY(0)=2 Q I '$L(ANS) Q S ORES("DFN")=DFN,ORES("CODE")=NAME F X=1:1:$L(ANS) I $E(ANS,X)'="X" D .;I $E(ANS,X)="T" S $E(ANS,X)=1 .;I $E(ANS,X)="F" S $E(ANS,X)=2 .S ORES(X)=X_U_$E(ANS,X) D CHECKCR^YTQPXRM4(.ORDATA,.ORES) I $G(ORDATA(2))="OK" S ORY(0)=1 Q S ORY(1)=$P($G(ORDATA(2)),U,2) Q ; ;ORQQPXRM MST UPDATE MST(ORY,ORPT,ORDATE,ORSTAT,ORPROV,ORFTYP,ORFIEN,ORRES) ; D MST^PXRMRPCC(.ORY,ORPT,ORDATE,ORSTAT,ORPROV,ORFTYP,ORFIEN,ORRES) Q ; ;ORQQPXRM WOMEN HEALTH RESULT WH(ORY,ORRESULT) ; D WH^PXRMRPCC(.ORY,.ORRESULT) Q ; WHLETTER(ORY,ORIEN) ; D LETTER^WVRPCNO1(.ORY,ORIEN) Q ; WHREPORT(ORY,ORIEN) ; D RESULTS^WVALERTF(.ORY,ORIEN) Q ; ;ORQQPXRM DIALOG PROMPTS PROMPT(ORY,ORDLG,ORDCUR,ORFTYP) ; D PROMPT^PXRMRPCC(.ORY,ORDLG,ORDCUR,ORFTYP) Q ; DBIA 3080 ; ;ORQQPXRM REMINDER DETAIL REMDET(ORY,ORPT,ORIEN) D REMDET^PXRMRPCA(.ORY,ORPT,ORIEN) Q ; DBIA 3078 ; ;ORQQPXRM REMINDER INQUIRY RES(ORY,ORREM) D RES^PXRMRPCC(.ORY,ORREM) Q ; DBIA 3080 ; ;ORQQPXRM REMINDER WEB WEB(ORY,ORREM) D WEB^PXRMRPCA(.ORY,ORREM) Q ; DBIA 3078 ; ;PXRM REMINDER DIALOG (TIU) TDIALOG(ORY,ORDLG,DFN) ; D DIALOG^PXRMRPCD(.ORY,ORDLG,DFN) I $P($G(ORY(1)),U)=-1 Q S ORY(0)=0_U_+$P($G(^PXRMD(801.41,ORDLG,0)),U,17) Q ; ACT(REM) ;ORQQPX SEARCH ITEMS - XPAR value screen for active reminders ;Treat a null value as inactive I 'REM Q 0 ;Treat a non-existen entry as inactive I $G(^PXD(811.9,REM,0))="" Q 0 ;Check IF inactive flag is set I ($T(INACTIVE^PXRM)'=""),$$INACTIVE^PXRM(REM) Q 0 ; DBIA 2182 ;Otherwise active Q 1 ; REMVER(ORLIST) ; S ORLIST=$$VERSION^XPDUTL("PXRM") Q ; GEC(ORRESULT,IEN,DFN,VISIT,NOTEIEN) ; D API^PXRMGECU(.ORRESULT,IEN,DFN,VISIT,1,NOTEIEN) Q ; GECF(RESULT,DFN,FIN) ; D FINISHED^PXRMGECU(DFN,FIN) Q ; GECP(RESULT,DFN) ; S RESULT=$$STATUS^PXRMGECU(DFN) Q ;