[613] | 1 | VAFCHIS ;SF/CMC-TESTING CROSS REFERENCE ;11/20/97
|
---|
| 2 | ;;5.3;Registration;**149,255,307,711**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | ; Integration Agreements Utilized:
|
---|
| 5 | ; CHECKDG^MPIFSPC - #3158
|
---|
| 6 | ;
|
---|
| 7 | ICN(OLD,ENT) ;
|
---|
| 8 | ;
|
---|
| 9 | I '$D(OLD)!('$D(ENT)) Q
|
---|
| 10 | N NEWICN,DIC,Y
|
---|
| 11 | ;checking that CIRN PD/MPI is installed
|
---|
| 12 | N X S X="MPIF001" X ^%ZOSF("TEST") Q:'$T
|
---|
| 13 | N X S X="MPIFAPI" X ^%ZOSF("TEST") Q:'$T
|
---|
| 14 | N X S X="MPIFMER" X ^%ZOSF("TEST") Q:'$T
|
---|
| 15 | S NEWICN=+$$GETICN^MPIF001(ENT)
|
---|
| 16 | Q:OLD=NEWICN!(OLD="")
|
---|
| 17 | ; ^ UPDATE ICN WITH SAME ICN DON'T PUT IT IN HISTORY
|
---|
| 18 | ;
|
---|
| 19 | S OLDDA=DA,OLDX=OLD
|
---|
| 20 | N DA
|
---|
| 21 | ;
|
---|
| 22 | D NOW^%DTC
|
---|
| 23 | S HAP=%
|
---|
| 24 | ;S NODE=$$MPINODE^MPIFAPI(ENT) **711
|
---|
| 25 | S X=OLD
|
---|
| 26 | S DIC="^DPT("_ENT_",""MPIFHIS"",",DIC(0)="L"
|
---|
| 27 | I '$D(^DPT(ENT,"MPIFHIS",0)) S ^DPT(ENT,"MPIFHIS",0)="^2.0992A^0^0"
|
---|
| 28 | S DIC("P")=$P(^DPT(ENT,"MPIFHIS",0),"^",2)
|
---|
| 29 | S DA(1)=ENT
|
---|
| 30 | D ^DIC
|
---|
| 31 | ;**711 change setting of checksum and CMOR ensure correct data stored
|
---|
| 32 | S $P(^DPT(ENT,"MPIFHIS",+Y,0),"^",2)=$$CHECKDG^MPIFSPC(OLD)
|
---|
| 33 | S $P(^DPT(ENT,"MPIFHIS",+Y,0),"^",3)=$P($G(^DPT(ENT,"MPI")),"^",3)
|
---|
| 34 | S $P(^DPT(ENT,"MPIFHIS",+Y,0),"^",4)=HAP
|
---|
| 35 | ;
|
---|
| 36 | S ^DPT("AICN",OLD,ENT)=""
|
---|
| 37 | K NODE,%,HAP
|
---|
| 38 | S X=OLDX,DA=OLDDA
|
---|
| 39 | K OLDX,OLDDA
|
---|
| 40 | ;**REPLACED BY LINK MSGS MPIF*1.0*21 changes MER^MPIFMER call to quit
|
---|
| 41 | ;Send "Merge" (change) ICN message to all subscribers
|
---|
| 42 | ;N ERROR,FLG
|
---|
| 43 | ;S FLG=1
|
---|
| 44 | ;I $P($$GETICN^MPIF001(DA),"^")'="" D MER^MPIFMER(DA,X,.ERROR,FLG)
|
---|
| 45 | Q
|
---|
| 46 | CMOR(OLD,RGDFN) ;ALS 6/23/00
|
---|
| 47 | ; Create CMOR History node
|
---|
| 48 | I '$D(OLD)!('$D(RGDFN)) Q
|
---|
| 49 | N NEWCMOR
|
---|
| 50 | S NEWCMOR=$$GETVCCI^MPIF001(RGDFN)
|
---|
| 51 | Q:OLD=NEWCMOR!(OLD="")
|
---|
| 52 | ;
|
---|
| 53 | D NOW^%DTC
|
---|
| 54 | S CHGDT=%
|
---|
| 55 | S NODE=$$MPINODE^MPIFAPI(RGDFN)
|
---|
| 56 | S X=OLD
|
---|
| 57 | S DIC="^DPT("_RGDFN_",""MPICMOR"",",DIC(0)="L"
|
---|
| 58 | I '$D(^DPT(RGDFN,"MPICMOR",0)) S ^DPT(RGDFN,"MPICMOR",0)="^2.0993A^0^0"
|
---|
| 59 | S DIC("P")=$P(^DPT(RGDFN,"MPICMOR",0),"^",2)
|
---|
| 60 | S DA(1)=RGDFN
|
---|
| 61 | D ^DIC
|
---|
| 62 | ; add CMOR activity score and calculation date to node
|
---|
| 63 | S $P(^DPT(RGDFN,"MPICMOR",+Y,0),"^",2)=$P(NODE,"^",6)
|
---|
| 64 | S $P(^DPT(RGDFN,"MPICMOR",+Y,0),"^",3)=$P(NODE,"^",7)
|
---|
| 65 | S $P(^DPT(RGDFN,"MPICMOR",+Y,0),"^",4)=CHGDT
|
---|
| 66 | ;
|
---|
| 67 | K NODE,%,Y,DIC,CHGDT
|
---|
| 68 | Q
|
---|
| 69 | GETICNH(MDFN,ARRAY) ; **711 added API
|
---|
| 70 | ; Returns ICN History in ARRAY
|
---|
| 71 | ;Input: MDFN is the IEN in file 2
|
---|
| 72 | ;ARRAY is passed by reference and will return from ICN History nodes: ICN 'V' ICN Checksum ^ deprecated date
|
---|
| 73 | ;If there is a problem ARRAY will equal -1^error message
|
---|
| 74 | K ARRAY
|
---|
| 75 | S ARRAY=1
|
---|
| 76 | I MDFN=""!(MDFN<1) S ARRAY="-1^No such DFN" Q
|
---|
| 77 | I '$D(^DPT(MDFN)) S ARRAY="-1^No such DFN" Q
|
---|
| 78 | I '$D(^DPT(MDFN,"MPIFHIS")) S ARRAY="-1^No ICN History" Q
|
---|
| 79 | N CHK,HISTDT,HIST,CNT,VAFCHMN S HIST=0,CNT=1
|
---|
| 80 | F S HIST=$O(^DPT(MDFN,"MPIFHIS",HIST)) Q:'HIST D
|
---|
| 81 | .S VAFCHMN=$G(^DPT(MDFN,"MPIFHIS",HIST,0))
|
---|
| 82 | .S HISTDT=$P(VAFCHMN,"^",4) D
|
---|
| 83 | ..;due to a timing issue if checksum and D/T of deprication of ICN is not present hang two seconds and try again if still not able to get ICN set D/T to DT
|
---|
| 84 | ..I $G(HISTDT)="" H 2 S VAFCHMN=^DPT(MDFN,"MPIFHIS",HIST,0) S HISTDT=$P(VAFCHMN,"^",4) I HISTDT="" S $P(VAFCHMN,"^",4)=DT
|
---|
| 85 | .;verify checksum is correct, if not update it and return the updated value
|
---|
| 86 | .S CHK=$$CHECKDG^MPIFSPC($P(VAFCHMN,"^"))
|
---|
| 87 | .I CHK'=$P(VAFCHMN,"^",2) S $P(^DPT(MDFN,"MPIFHIS",HIST,0),"^",2)=CHK,$P(VAFCHMN,"^",2)=CHK
|
---|
| 88 | .S ARRAY(CNT)=$P(VAFCHMN,"^")_"V"_$P(VAFCHMN,"^",2)_"^"_HISTDT,CNT=CNT+1
|
---|
| 89 | I $O(ARRAY(0))="" S ARRAY="-1^No ICN History"
|
---|
| 90 | Q
|
---|