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

ORCDSD.m

Go to the documentation of this file.
  1. ORCDSD ;SLC/AGP Scheduling Order dialog utilities ;03/19/2019
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**434,377**;Dec 17, 1997;Build 582
  1. ;Per VHA Directive 6402, this routine should not be modified.
  1. Q
  1. ;
  1. INTERH ;
  1. N LIST,NAME
  1. W !,"Select one of the following:"
  1. D INTERL(.LIST)
  1. S NAME="" F S NAME=$O(LIST(NAME)) Q:NAME="" W !," "_NAME
  1. Q
  1. INTERL(LIST) ;
  1. S LIST("WEEKLY")="",LIST("DAILY")=""
  1. Q
  1. ;
  1. INTERV ;
  1. N NAME,LIST,TMP
  1. S TMP=$$UP^XLFSTR(X)
  1. D INTERL(.LIST)
  1. I $D(LIST(TMP)) Q
  1. W !!,X_"is an invalid interval",!!
  1. D INTERH
  1. W !
  1. K X
  1. Q
  1. ;
  1. PREREQP(ORPAR) ;
  1. N CLSTP,CNT,DIV,ENT,ERR,HFAC,HLOCIEN,ILST,INST,X
  1. S ENT=""
  1. S HLOCIEN=+$G(ORCLOC) I HLOCIEN>0 D
  1. .S DIV=$P($G(^SC(HLOCIEN,0)),U,4)
  1. .S CLSTP=$P($G(^SC(HLOCIEN,0)),U,7)
  1. .S ENT="LOC.`"_HLOCIEN
  1. .I +CLSTP>0 S ENT=ENT_U_"CST.`"_CLSTP
  1. .I +DIV>0 S ENT=ENT_U_"DIV.`"_DIV
  1. S ENT=$S(ENT'="":ENT_U_"SYS",1:"SYS")
  1. D GETLST^XPAR(.ORPAR,ENT,"OR SD DIALOG PREREQ","N",.ERR)
  1. Q
  1. ;
  1. PREREQH ;
  1. N CNT,LIST
  1. D PREREQP(.LIST)
  1. I '$D(LIST) W !,"No prerequisites defined"
  1. W !,"Select from the following:"
  1. S CNT=0 F S CNT=$O(LIST(CNT)) Q:CNT'>0 D
  1. .I $P(LIST(CNT),U)="" Q
  1. .W !," "_$P(LIST(CNT),U)
  1. Q
  1. ;
  1. PREREQN() ;
  1. N LIST,NUM
  1. D PREREQP(.LIST)
  1. I '$D(LIST) Q 0
  1. S NUM=LIST
  1. Q NUM
  1. ;
  1. PREREQV ;
  1. N ARRAY,CNT,NODE,LIST,TMP
  1. S TMP=$$UP^XLFSTR(X)
  1. D PREREQP(.LIST)
  1. S CNT=0 F S CNT=$O(LIST(CNT)) Q:CNT'>0 D
  1. .I $P(LIST(CNT),U)="" Q
  1. .S ARRAY($$UP^XLFSTR($P(LIST(CNT),U)))=""
  1. I '$D(ARRAY(TMP)) W !,X_" is not a valid prerequisite" K X Q
  1. I $G(X)="" W !! D PREREQH
  1. Q
  1. ;
  1. SETSTOP() ;
  1. N %DT,CIDC,RESULT,OFFSET,X,Y
  1. S RESULT="T"
  1. S X=$$VAL^ORCD("CLINICALLY")
  1. S %DT="T" D ^%DT
  1. S OFFSET=$$GET^XPAR("SYS","OR SD CIDC STOP OFFSET",1,"E")
  1. I Y>0 S RESULT=$$FMADD^XLFDT(Y,OFFSET)
  1. Q RESULT
  1. ;
  1. VALCLINC(Y) ;
  1. ;N IEN
  1. ;S IEN=$O(^SC("B",X,"")) I IEN'>0 Q 0
  1. I ("C"'[$P($G(^SC(Y,0)),U,3)!('$$ACTLOC^ORWU(Y))) Q 0
  1. Q 1
  1. ;