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

OR628P.m

Go to the documentation of this file.
  1. OR628P ;NA/AJB - Patient Updater for PACT Act ;Nov 06, 2024@12:58:46
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**628**;Dec 17, 1997;Build 13
  1. ;
  1. ; Reference to ^DIC in ICR #10006
  1. ; Reference to FIND1^DIC in ICR #2051
  1. ; Reference to UPDATE^DIE in ICR #2053
  1. ; Reference to ^DIR in ICR #10026
  1. ; Reference to FMTE^XLFDT in ICR #10103
  1. ; Reference to $$NOW^XLFDT in ICR #10103
  1. ; Reference to $$PROD^XUPROD in ICR #4440
  1. ;
  1. Q
  1. PATIENT ; update patient data for PACT Act
  1. ; testing only/non-production accounts only
  1. I +$$PROD^XUPROD Q
  1. N DFN S DFN=$$GPT Q:DFN'>0
  1. N DATA S DATA=$G(^DPT(+DFN,.321))
  1. N PGI,DLU S PGI=$P(DATA,U,17),DLU=$P(DATA,U,18)
  1. W !!,$P(DFN,U,2)
  1. W !!,"Old Value: ",$S(PGI="":"<no data>",1:PGI),?25,"Last Updated: ",$S(DLU="":"<no data>",1:$$FMTE^XLFDT(DLU))
  1. S $P(^DPT(+DFN,.321),U,17)=$S('PGI:1,1:0),$P(^DPT(+DFN,.321),U,18)=$$NOW^XLFDT
  1. S DATA=$G(^DPT(+DFN,.321))
  1. S PGI=$P(DATA,U,17),DLU=$P(DATA,U,18)
  1. W !,"New Value: ",$S(PGI="":"<no data>",1:PGI),?25,"Last Updated: ",$S(DLU="":"<no data>",1:$$FMTE^XLFDT(DLU)),!
  1. D
  1. . N JOB S JOB=0 F S JOB=$O(^TMP(JOB)) Q:'JOB I $D(^TMP(JOB,"SVC",+DFN)) K ^TMP(JOB,"SVC",+DFN)
  1. I $$FMR("EA","Press <Enter> to continue.")
  1. Q
  1. POST ; add option for test accounts only
  1. I +$$PROD^XUPROD Q
  1. I +$$LU^OR628P(19,"OR PACT ACT") Q
  1. N ERROR,OPT
  1. S OPT(19,"+1,",.01)="OR PACT ACT"
  1. S OPT(19,"+1,",1)="PACT Act Patient Updater"
  1. S OPT(19,"+1,",3.6)=DUZ
  1. S OPT(19,"+1,",4)="R"
  1. S OPT(19,"+1,",10.1)="Patient Updater"
  1. S OPT(19,"+1,",20)="W @IOF"
  1. S OPT(19,"+1,",25)="PATIENT^OR628P"
  1. D UPDATE^DIE("","OPT","","ERROR") I $D(ERROR) X "ZW ERROR"
  1. Q
  1. FMR(DIR,PRM,DEF,HLP,SCR) ;
  1. N DILN,DILOCKTM,DISYS
  1. N DIROUT,DIRUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)=DIR S:$G(PRM)'="" DIR("A")=PRM S:$G(DEF)'="" DIR("B")=DEF S:$G(SCR)'="" DIR("S")=SCR
  1. S X=+DIR("A"),Y=$P(DIR("A"),";",2) S:+X DIR("A")=$$SETSTR(Y,"",X,$L(Y))
  1. I $G(HLP)'="" S DIR("?")=HLP
  1. I $D(HLP)>1 M DIR=HLP
  1. D ^DIR
  1. Q $S(X="@":X,$D(DTOUT):U,$D(DUOUT):U,$D(DIROUT):U,$D(DIRUT):"",1:Y)
  1. GPT() ; ask user for patient
  1. N %H,%I,DIC,DILOCKTM,DISYS,DTOUT,DUOUT,X,Y
  1. S DIC=2,DIC(0)="AEIMQ",DIC("A")=" Select PATIENT NAME: " W ! D ^DIC
  1. Q Y
  1. LU(FILE,NAME,FLAGS,SCREEN,INDEXES) ;
  1. Q $$FIND1^DIC(FILE,"",$G(FLAGS),NAME,$G(INDEXES),$G(SCREEN))
  1. SETSTR(S,V,X,L) ;
  1. Q $E(V_$J("",X-1),1,X-1)_$E(S_$J("",L),1,L)_$E(V,X+L,999)