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

BSDMERG.m

Go to the documentation of this file.
  1. BSDMERG ; IHS/ANMC/LJF - SCHED PATIENT MERGE ;
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ;
  1. ; ^SC(clinic,"S",appointment date/time,1,index,0)="patient^..."
  1. ; ^SC(clinic,"C",chart request date,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. ;
  1. ; -- update patient pointer in 44
  1. NEW DFN,DATE,CLN,I,NODE
  1. S DFN=XDRMRG("FR"),DATE=0
  1. F S DATE=$O(^DPT(DFN,"S",DATE)) Q:'DATE D ;find from pat's appts
  1. . S CLN=+$G(^DPT(DFN,"S",DATE,0)) Q:'CLN ;get clinic
  1. . S I=0
  1. . F S I=$O(^SC(CLN,"S",DATE,1,I)) Q:'I D ;find appt under clinic
  1. .. S NODE=$G(^SC(CLN,"S",DATE,1,I,0)) Q:'NODE
  1. .. Q:+NODE'=DFN ;quit if not this pat
  1. .. S $P(^SC(CLN,"S",DATE,1,I,0),U)=XDRMRG("TO") ;reset to "to" pat
  1. ;
  1. ; -- check all chart request nodes for from patient
  1. S CLN=0
  1. F S CLN=$O(^SC(CLN)) Q:'CLN D
  1. . S DATE=0 F S DATE=$O(^SC(CLN,"C",DATE)) Q:'DATE D
  1. .. S I=0 F S I=$O(^SC(CLN,"C",DATE,1,I)) Q:'I D
  1. ... I +$G(^SC(CLN,"C",DATE,1,I,0))=DFN S ^SC(CLN,"C",DATE,1,I,0)=XDRMRG("TO")
  1. ;
  1. Q
  1. ;