GENERAL DESCRIPTION |
IVM is granted permission from FM Integration to make
the following calls:
Permission to add cross-references to the PATIENT file. The cross- references
have set and kill logic as follows:
S IVMX=X,X="IVMPXFR" X ^%ZOSF("TEST") D:$T DPT^IVMPXFR S X=IVMX K IVMX
The code in IVMPXFR looks as follows:
DPT ; Update transmit status if patient file fields are updated
;
N DFN
S DFN=+DA I '$D(^DPT(DFN,0)) Q
D IVM
Q
;
IVM ; check to see if patient needs to be retransmitted
N DA,I,NODE,X
Q:'$D(^IVM(301.5,"B",DFN))
F DA=0:0 S DA=$O(^IVM(301.5,"B",DFN,DA)) Q:'DA D
.S X=$G(^IVM(301.5,DA,0))
.S $P(^IVM(301.5,DA,0),"^",3)=0
.F I=0:0 S I=$O(^DD(301.5,.03,1,I)) Q:'I I $G(^(I,0))'["TRIGGER" D
..S X=1 X ^DD(301.5,.03,1,I,2) ; kill xfr
..S X=0 X ^DD(301.5,.03,1,I,1) ; set xfr
Q
Permission is also given to execute the DD nodes. At this point, there is a
single MUMPS cross-reference on the .03 field (TRANSMISSION STATUS) of the IVM
PATIENT file (301.5). Its logic is:
set I X=0 S ^IVM(301.5,"ATR",0,DA)=""
kill I X=0 K ^IVM(301.5,"ATR",0,DA)
The purpose is just to flag the record as needing to be transmitted and have
the cross-reference only set for those that require transmission.
|