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

GMRC1004.m

Go to the documentation of this file.
  1. GMRC1004 ; IHS/CIA/MGH - PRE-INSTALL ROUTINE FOR GMRC PATCH 1004 ;06-Jun-2013 20:22;DU
  1. ;;3.0;CONSULT/REQUEST TRACKING;**1004**;NOV 04, 2004;Build 12
  1. ;
  1. ENV ;EP; environmen check
  1. N PATCH
  1. S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
  1. ;
  1. ;
  1. S PATCH="GMRC*3.0*1003"
  1. I '$$PATCH(PATCH) D Q
  1. .W !,"You must first install "_PATCH_"." S XPDQUIT=2
  1. Q
  1. PATCH(X) ;return 1 if patch X was installed, X=aaaa*nn.nn*nnnn
  1. ;copy of code from XPDUTL but modified to handle 4 digit IHS patch numb
  1. Q:X'?1.4UN1"*"1.2N1"."1.2N.1(1"V",1"T").2N1"*"1.4N 0
  1. NEW NUM,I,J
  1. S I=$O(^DIC(9.4,"C",$P(X,"*"),0)) Q:'I 0
  1. S J=$O(^DIC(9.4,I,22,"B",$P(X,"*",2),0)),X=$P(X,"*",3) Q:'J 0
  1. ;check if patch is just a number
  1. Q:$O(^DIC(9.4,I,22,J,"PAH","B",X,0)) 1
  1. S NUM=$O(^DIC(9.4,I,22,J,"PAH","B",X_" SEQ"))
  1. Q (X=+NUM)
  1. ;
  1. PRE ;EP; beginning of pre install code
  1. Q
  1. ;
  1. POST ;EP; beginnig of post install code
  1. D REGNMSP^CIAURPC("GMRC","CIAV VUECENTRIC")
  1. D RESET
  1. D XREF
  1. Q
  1. RESET ;EP
  1. ;Loop through all the consult services and if set to S or R
  1. ;change S to O and R to null
  1. ;1 node 1st piece
  1. N I,DATA
  1. S I=0
  1. F S I=$O(^GMR(123.5,I)) Q:'+I D
  1. .S DATA=$G(^GMR(123.5,I,1))
  1. .I $P(DATA,U,1)="R" D UPDATE(I,"")
  1. .I $P(DATA,U,1)="S" D UPDATE(I,"O")
  1. Q
  1. UPDATE(IEN,VALUE) ;Update data
  1. N FDA
  1. S FDA(123.5,I_",",1.01)=VALUE
  1. D FILE^DIE("E","FDA")
  1. Q
  1. XREF ;Create a new type cross-reference
  1. N XREF,RESULT,MSG
  1. S XREF("TYPE")="R"
  1. S XREF("NAME")="APRV"
  1. S XREF("SHORT DESCR")="Problems by provider."
  1. S XREF("DESCR",1)="This cross-reference sorts consult requests that have associated problems"
  1. S XREF("DESCR",2)="by problem, provider and inverse date. This is used to find consults by provider"
  1. S XREF("DESCR",3)="for a particular problem"
  1. S XREF("USE")="SORTING ONLY"
  1. S XREF("EXECUTION")="R"
  1. S XREF("ACTIVITY")="IR"
  1. S XREF("VAL",1)=9999999.02
  1. S XREF("VAL",1,"SUBSCRIPT")=1
  1. S XREF("VAL",2)=10
  1. S XREF("VAL",2,"SUBSCRIPT")=2
  1. S XREF("VAL",3)=3
  1. S XREF("VAL",3,"SUBSCRIPT")=3
  1. S XREF("VAL",3,"XFORM FOR STORAGE")="S X=9999999-X"
  1. S XREF("FILE")=123
  1. S XREF("ROOT FILE")=123
  1. D CREIXN^DDMOD(.XREF,"SW",.RESULT,"","MSG")
  1. Q