DGYKREL ;ALB/REW - Religion Update Post-Init for 10/1 Maintenance Patch ; 6/9/94 ;;5.3;Registration;**31**;Aug 13, 1993 ; EN ; ; This will update the Religion File (#13). The EN tag may be re-run N DGPRINT S DGPRINT=$S($D(ZTQUEUED):0,1:1) W:DGPRINT !!,">>> Updating Religion File (#13) ..." I '$$OKREL W:$G(DGPRINT) !,"Problem with Religion File (#13) Update. Please Call your ISC Support." E W:$G(DGPRINT) !!,"...Religion File (#13) update completed." Q OKREL() ; N DGOK S DGOK=1 N DGRLLINE,DGRLNODE F DGRLLINE=1:1 S DGRLNODE=$P($T(RELDATA+DGRLLINE),";;",2) Q:DGRLNODE']"" D UPRELIG(DGRLNODE,.DGOK) Q DGOK UPRELIG(DGRLNODE,DGOK) ;update a religion N B4NAME,B4CODE,NOWNAME,NOWCODE,DGRELIG,DGRLIFN S B4NAME=$P(DGRLNODE,U,1) S B4CODE=$P(DGRLNODE,U,2) S NOWNAME=$P(DGRLNODE,U,3) S NOWCODE=$P(DGRLNODE,U,4) ;Check for existing religions of same before-name W:$G(DGPRINT) ! S DGRLIFN=0 F S DGRLIFN=$O(^DIC(13,"B",B4NAME,DGRLIFN)) Q:'DGRLIFN D .S DGRELIG(DGRLIFN)="" .W:$G(DGPRINT) !,"FOUND MATCH ON NAME. IEN= ",DGRLIFN," FOR ",B4NAME," (Code=",B4CODE,")" .D CHGREL(DGRLIFN,.DGOK) ;Check for existing religions of same before-code S DGRLIFN=0 F S DGRLIFN=$O(^DIC(13,"C",B4CODE,DGRLIFN)) Q:'DGRLIFN D .Q:$D(DGRELIG(DGRLIFN)) ;don't re-do update done based on name .S DGRELIG(DGRLIFN)="" .W:$G(DGPRINT) !,"FOUND MATCH ON CODE. IEN= ",DGRLIFN," FOR ",B4NAME," (Code=",B4CODE,")" .D CHGREL(DGRLIFN,.DGOK) ;If no existing entires by name or code add a new one I '$D(DGRELIG) D .W:$G(DGPRINT) !,"FOUND NO ",B4NAME," (Code=",B4CODE,")" .D NEWREL Q NEWREL ;adds a new religion entry I ('$L($G(NOWCODE)))!('$L($G(NOWNAME))) S DGOK=0 W:$G(DGPRINT) !,"MISSING INPUT" G QTNR ;Q N DIC,DIE,DA,DR,X,Y,DGRLIFN S DIC(0)="L",DIC="^DIC(13," S X=NOWNAME D ^DIC S DA=+Y I DA'>0 D G QTNR .S DGRLIFN=0 .S DGOK=0 .W:$G(DGPRINT) !,"No religion added" .F S DGRLIFN=$O(^DIC(13,"B",NOWNAME,DGRLIFN)) Q:'DGRLIFN D ..W:$G(DGPRINT) !,"....IEN= ",DGRLIFN," NAME= ",NOWNAME," (Code= ",NOWCODE,") ALREADY EXISTS." I Y W:$G(DGPRINT) !,"...NEW RELIGION ",NOWNAME," (Code=",NOWCODE,")",$S((+$P(Y,U,3)):" ADDED",1:" ALREADY EXISTS") S DR="3///^S X=NOWCODE" S DIE=DIC D ^DIE QTNR Q CHGREL(DGRLIFN,DGOK) ; N DA,DIC,DIE,DGOLDNM,DGOLDCD,DR,X S DA=DGRLIFN,DIE="^DIC(13," S DGOLDNM=$P($G(^DIC(13,+DGRLIFN,0)),U,1) S DGOLDCD=$P($G(^DIC(13,+DGRLIFN,0)),U,4) I (DGOLDNM=NOWNAME)&(DGOLDCD=NOWCODE) D .W:$G(DGPRINT) !,"...NO CHANGE NEEDED FOR RELIGION ",DGOLDNM," (Code=",DGOLDCD,")" E D .W !,"...CHANGING RELIGION ",DGOLDNM," (Code=",DGOLDCD,") TO ",NOWNAME," (Code=",NOWCODE,")" .S DR=".01///^S X=NOWNAME;3///^S X=NOWCODE" .D ^DIE Q RELDATA ;may not need #24 ;;PROTESTANT, OTHER^24^PROTESTANT, OTHER^24 ;;PROTESTANT, NO PREFERENCE^25^PROTESTANT, NO DENOMINATION^25 ;;NATIVE AMERICAN^30^NATIVE AMERICAN^30 ;;BUDDHIST^31^BUDDHIST^31