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
	;
