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

ASDMERG.m

Go to the documentation of this file.
  1. ASDMERG ; IHS/ADC/PDW/ENM - -- sched patient merge ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;IHS SCHEDULING;;MAR 25, 1999
  1. ;
  1. ; ^SC(clinic,"S",appointment date/time,1,index,0)="patient^..."
  1. ; ^DPT(patient,"S",appointment date/time,0)="clinic^..."
  1. ;
  1. ; dfn=patient, c=clinic, i=index
  1. ; v=appointment date/time FM internal
  1. ;
  1. ;
  1. I '$G(XDRMRG("FR")),'$G(XDRMRG("TO")) Q
  1. N DFN,V,C,I,N,F
  1. A ; -- update patient pointer in 44
  1. S DFN=XDRMRG("FR"),V=0 F S V=$O(^DPT(DFN,"S",V)) Q:'V D
  1. . S C=+$G(^DPT(DFN,"S",V,0)) Q:'C
  1. . S I=0 F S I=$O(^SC(C,"S",V,1,I)) Q:'I D
  1. .. S N=$G(^SC(C,"S",V,1,I,0)) Q:'N Q:+N'=DFN
  1. .. S $P(^SC(C,"S",V,1,I,0),U)=XDRMRG("TO")
  1. . K F S F="",I=0 F S I=$O(^SC(C,"S",V,1,I)) Q:'I D
  1. .. S N=$G(^SC(C,"S",V,1,I,0)) Q:'N
  1. .. K:$G(F(+N)) ^SC(C,"S",V,1,I) S F(+N)=1 Q
  1. Q
  1. ;
  1. 44 ; -- check/cleanup 44
  1. N DFN,V,C,I,N,F
  1. S C=0 F S C=$O(^SC(C)) Q:'C D
  1. . S V=0 F S V=$O(^SC(C,"S",V)) Q:'V D
  1. .. K F S F="",I=0 F S I=$O(^SC(C,"S",V,1,I)) Q:'I D
  1. ... S N=$G(^SC(C,"S",V,1,I,0)) Q:'N
  1. ... S DFN=$P($G(^DPT(+N,0)),U,19)
  1. ... I DFN,$G(F(DFN)) K ^SC(C,"S",V,1,I) Q
  1. ... I $G(F(+N)) K ^SC(C,"S",V,1,I) Q
  1. ... S F(+N)=1 Q:'DFN S $P(^SC(C,"S",V,1,I,0),U)=DFN,F(DFN)=1
  1. Q
  1. ;
  1. 2 ; -- if patient file node and no 44, set
  1. N DFN,V,C,I,X,T,N,F
  1. S DFN=0 F S DFN=$O(^DPT(DFN)) Q:'DFN D
  1. . S V=0 F S V=$O(^DPT(DFN,"S",V)) Q:'V D
  1. .. S N=^DPT(DFN,"S",V,0) Q:'N S C=+N
  1. .. S T="",(N,X,F,I)=0 F S I=$O(^SC(C,"S",V,1,I)) Q:'I Q:F D
  1. ... S X=I+1,N=$G(^SC(C,"S",V,1,I,0)),T=$P(N,U,2) I +N=DFN S F=I
  1. .. Q:F S ^SC(C,"S",V,1,X,0)=DFN_U_T_U_U_"comp. gen."_U_U_DUZ_U_DT
  1. Q