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

INHUTC3.m

Go to the documentation of this file.
  1. INHUTC3 ;bar; 22 May 97 12:08; API to error search and reporting functions
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. ;;COPYRIGHT 1997 SAIC
  1. Q
  1. ;
  1. ARRAY(INDA,INA) ; update entry in criteria file with array of parms passed in
  1. ;
  1. ; input: INDA = ien of entry in 4001.1 file
  1. ; INA = Array of values to stuff into criteria fields.
  1. ; The value is the base name of the array rather than
  1. ; the array itself so it can be used with indirection.
  1. ; @INPARMS@("TTYPE",1)="DG REG"
  1. ; Refer to table under FIELDS tag for field mnemonics
  1. ;
  1. N DIC,DIE,DA,DR,INX,INY,INFN
  1. Q:'$G(INDA)!('$L($G(INA))) Q:'$D(^DIZ(4001.1,INDA,0)) Q:'$D(@INA)
  1. ; loop thru each field
  1. S INX="" F S INX=$O(@INA@(INX)) Q:'$L(INX) D
  1. . ; allow field numbers or mnemonics
  1. . S INY=$S(INX:INX,1:$P($T(@INX),";",3))
  1. . ; check if bad mnemonic
  1. . I 'INY S @INA@(INX)=@INA@(INX)_"^invalid field mnemonic" Q
  1. . ; is this a valid field?
  1. . I '$D(^DD(4001.1,INY)) S @INA@(INX)=@INA@(INX)_"^field not defined" Q
  1. . ; do not allow control fields except criteria name
  1. . I INY<1,INY'=".04" S @INA@(INX)=@INA@(INX)_"^field update not allowed" Q
  1. . ; handle multiples, check for subfile number
  1. . S INFN=$P($G(^DD(4001.1,INY,0)),U,2) I INFN D Q
  1. .. ; clear multiple unless flagged to append
  1. .. I $G(@INA@(INX))'="A" K ^DIZ(4001.1,INDA,INY)
  1. .. ; setup DIC call variables
  1. .. N DIC,DO,DINUM,DA,X,Y,DR,INZ,DLAYGO
  1. .. S DA(1)=INDA,DIC="^DIZ(4001.1,"_DA(1)_","_INY_",",DIC(0)="FL",DIC("P")=INFN,DLAYGO=+INFN
  1. .. ; loop thru each multiple entry
  1. .. S INZ=0 F S INZ=$O(@INA@(INX,INZ)) Q:INZ']"" D
  1. ... ;get value and check for NULL
  1. ... S X=@INA@(INX,INZ) Q:'$L(X)
  1. ... ; convert text to ien for pointer field
  1. ... I INFN["P" D Q
  1. .... I X'=+X S X=+$$DIC^INHSYS05(U_$P($G(^DD(DLAYGO,.01,0)),U,3),X,"","F") Q:X<1
  1. .... ; add value to multiple list
  1. .... D ^DICN S:Y<1 @INA@(INX,INZ)=@INA@(INX,INZ)_"^invalid field value"
  1. ... ; add value to multiple list
  1. ... D ^DIC S:Y<1 @INA@(INX,INZ)=@INA@(INX,INZ)_"^invalid field value"
  1. . ;
  1. . ; add value to criteria field
  1. . I $L(@INA@(INX)) S DIE=4001.1,DA=INDA,DR=INY_"///^S X="""_@INA@(INX)_"""" D ^DIE S:$G(Y)=-1 @INA@(INX)=@INA@(INX)_"^invalid field value"
  1. Q
  1. ;
  1. CVTCODE(X,FILE,FLD) ; make external from set of codes
  1. ; X = internal value FILE=file number FLD = field number
  1. Q:'$L($G(X))!'$L($G(FILE))!'$L($G(FLD)) $G(X)
  1. N %,C,S
  1. S S=$G(^DD(FILE,FLD,0)) D:$P(S,U,2)["S"
  1. . S C=";"_$P(S,U,3),%=$F(C,";"_X_":")
  1. . S:% X=$P($E(C,%,999),";")
  1. Q X
  1. ;
  1. CVTDT(X) ; make external view of date
  1. N T,H,M,S
  1. ; adjust time, only worried about END date
  1. S T=$P(X,".",2),X=$P(X,"."),H=+$E(T,1,2),M=+$E(T,3,4),S=+$E(T,5,6)
  1. I T D
  1. . S:S>59 S=0,M=M+1 S:M>59 M=0,H=H+1 S:H>24 H=24,M=0,S=0
  1. . S X=+(X_"."_$J(H,2)_$J(M,2)_$J(S,2))
  1. S X=$$CDATASC^%ZTFDT(X,1,3)
  1. Q X
  1. ;
  1. FIELDS ; All tags below this are used as a field table for 4001.1 file
  1. ; field numbers less than 1 are control fields and cannot be passed in.
  1. ; The tag line is the mnemonic. The values in the line are:
  1. ;; field # ; field name ; INSRCH name
  1. ;;
  1. ;;.01;ENTRY;;
  1. ;;.02;USER WHO CREATED;USER;S X=$P($G(^DIC(3,+USER,0)),U)
  1. ;;.03;CONTROL
  1. NAME ;;.04;CRITERIA NAME;NAME;
  1. ;;.05;CRITERIA TYPE;
  1. ;;.06;FUNCTION;
  1. ;;.07;BACKGROUND ID
  1. ;;.08;APPLICATION;
  1. ;;.09;LAST DATE ACCESSED
  1. STARTDT ;;1;START DATE;INSTART;S X=$$CVTDT^INHUTC3(X+.0000001)
  1. ENDDT ;;1.1;END DATE;INEND;S X=$$CVTDT^INHUTC3(X)
  1. DEST1 ;;2;DESTINATION;INDEST;S Y=$P($G(^INRHD(X,0)),U) S:$L(Y) X=Y
  1. STAT1 ;;3;STATUS;INSTAT;S X=$$CVTCODE^INHUTC3(X,4001.1,3)
  1. MSGID ;;4;MESSAGE ID;INID
  1. SOURCE ;;5;SOURCE;INSOURCE
  1. DIRECT ;;6;DIRECTION;INDIR;S X=$$CVTCODE^INHUTC3(X,4001.1,6)
  1. TTYPE1 ;;7;ORIGINATING TRANSACTION TYPE;INORIG;S Y=$P($G(^INRHT(X,0)),U) S:$L(Y) X=Y
  1. PATIENT ;;8;PATIENT;INPAT;S Y=$P($G(^DPT(X,0)),U) S:$L(Y) X=Y
  1. TEXT ;;9;SEARCH STRING;INTEXT;S X=INOPT("INSRCH","INTEXT",X)
  1. MATCH ;;10;FIELD MATCH TYPE;INTYPE;S X=$$CVTCODE^INHUTC3(X,4001.1,10)
  1. LISTORD ;;11;LISTING ORDER;INORDER;S X=$$CVTCODE^INHUTC3(X,4001.1,11)
  1. EXPAND ;;12;EXPANDED DISPLAY;INEXPAND;S X=$$CVTCODE^INHUTC3(X,4001.1,12)
  1. ;;13.01;ACCEPT ACK TRANSACTION TYPE
  1. ;;13.02;TYPE OF TEST
  1. ;;13.03;CLIENT/SERVER
  1. ;;13.04;ACCEPT ACK CONDITION
  1. ;;13.05;STEP MODE
  1. ;;13.07;START AT PROCESS
  1. ;;14;TEST CASE DESCRIPTION
  1. MSGSTDT ;;15.01;TRANS START DATE;INMSGSTART;S X=$$CVTDT^INHUTC3(X)
  1. MSGENDT ;;15.02;TRANS END DATE;INMSGEND;S X=$$CVTDT^INHUTC3(X)
  1. ERRLOC ;;15.03;ERROR LOCATIONS;INERLOC;S Y=$P($G(^INTHERL(X,0)),U) S:$L(Y) X=Y
  1. ERRRES ;;15.04;ERROR RESOLUTION STATUS;INERSTAT;S X=$$CVTCODE^INHUTC3(X,4001.1,15.04)
  1. ;;16.01;IP ADDRESS
  1. ;;16.02;IP PORT
  1. ;;16.03;OPEN HANG TIME
  1. ;;16.04;OPEN RETRIES
  1. ;;16.05;TRANSMITTER HANG
  1. ;;16.06;SEND HANG TIME
  1. ;;16.07;SEND RETRIES
  1. ;;16.08;SEND TIMEOUT
  1. ;;16.09;READ HANG TIME
  1. ;;16.1;READ RETRIES
  1. ;;16.11;READ TIMEOUT
  1. ;;16.12;END OF LINE
  1. ;;17.01;CLIENT INIT STRING
  1. ;;17.02;INIT RESPONSE
  1. ;;17.03;SECURITY KEY FRAME
  1. ;;18.01;LOCAL HOST IP ADDRESS
  1. ;;18.02;LOCAL HOST IP PORT
  1. ;;18.03;LOGON SERVER
  1. ;;18.04;APP SERVER
  1. ;;18.05;SAVED TEST FILE NAME
  1. ;;19;UNIVERSAL INTERFACE TEST MSG
  1. ;;20;BACKGROUND PROCCESS
  1. ;;21;PAGE REPAINT FREQUENCY
  1. ;;21.01;PRE PROCESS
  1. ;;22;DETAILED REPORT
  1. ;;22.01;POST PROCESS
  1. ;;23;MAXIMUM NUMBER OF ITERATIONS
  1. ;;23.01;DESTINATION DETERMINATION
  1. ;;24;ALWAYS SCAN TO END OF QUEUE
  1. RELSTDT ;;24.01;RELATIVE START DATE
  1. RELENDT ;;24.02;RELATIVE END DATE
  1. DIV1 ;;24.03;DIVISION;INDIV;S Y=$P($G(^DG(40.8,X,0)),U) S:$L(Y) X=Y
  1. USER ;;24.04;USER NAME;INUSER;S Y=$P($G(^DIC(3,X,0)),U) S:$L(Y) X=Y
  1. RMSGSTDT ;;24.05;REL AUX DATE 1
  1. RMGSENDT ;;24.06;REL AUX DATE 2
  1. ;;25;MAXIMUM TIME COMPILING
  1. ;;26;NUMBER OF TRIES FOR AN ENTRY
  1. ;;27;INCLUDE FUTURE TASKS
  1. DEVICE ;;28;DEVICE
  1. ;;29;GENERIC Y/N
  1. ;;30;GENERIC NUMBER
  1. TTYPE ;;31;TRANSACTION TYPES;MULTIORIG;S Y=$P($G(^INRHT(X,0)),U) S:$L(Y) X=Y
  1. DEST ;;32;DESTINATIONS;MULTIDEST;S Y=$P($G(^INRHD(X,0)),U) S:$L(Y) X=Y
  1. STATUS ;;33;STATUSES;MULTISTAT;S X=$$CVTCODE^INHUTC3(X,4001.15,.01)
  1. DIVISION ;;34;DIVISIONS;MULTIDIV;S Y=$P($G(^DG(40.8,X,0)),U) S:$L(Y) X=Y