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

AGGPTNAM.m

Go to the documentation of this file.
  1. AGGPTNAM ;VNGT/HS/ALA-Patient Names ; 29 Jun 2010 3:27 PM
  1. ;;1.0;PATIENT REGISTRATION GUI;**1**;Nov 15, 2010
  1. ;
  1. ALIAS(DATA,DFN,PROC,RIEN,PARMS) ;EP -- AGG UPDATE ALIASES
  1. NEW UID,II,BQ,PDATA,NAME,PFIEN,FIELD,EXEC,AGGDATA,AGGDATAI,PTYP,VALUE,CHIEN,AGI,AGWP
  1. NEW X,Y,RESULT,DA,AGIEN,DIC,DLAYGO,IENS,ERROR,AGGPTALS
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("AGGPTALIAS",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^AGGPTUPD D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. S @DATA@(II)="I00010RESULT^T01024ERROR^I00010RIEN"_$C(30)
  1. S AGIEN=$O(^AGG(9009068.3,"B","Aliases",""))
  1. ;if deleting an Alias
  1. I $G(PROC)="D" D G DNE
  1. . NEW DIK,DA
  1. . S DA(1)=DFN,DA=RIEN
  1. . S DIK="^DPT("_DA(1)_",.01," D ^DIK
  1. ;if adding a new Alias
  1. D PARS
  1. I $G(PROC)="A" D
  1. . I $G(RIEN)="" D
  1. .. I $G(^DPT(DFN,.01,0))="" S ^DPT(DFN,.01,0)="^2.01A^^"
  1. .. S DA(1)=DFN
  1. .. S DLAYGO=2.01,DIC(0)="L",DIC="^DPT("_DA(1)_",.01,",X=AGGPTALS
  1. .. K DO,DD D FILE^DICN S RIEN=+Y
  1. ;if editing a Legal Name
  1. S DA(1)=DFN,DA=RIEN,IENS=$$IENS^DILF(.DA)
  1. ;
  1. F BQ=1:1:$L(PARMS,$C(28)) D Q:$G(BMXSEC)'=""
  1. . S PDATA=$P(PARMS,$C(28),BQ) Q:PDATA=""
  1. . S NAME=$P(PDATA,"=",1)
  1. . S PFIEN=$O(^AGG(9009068.3,AGIEN,10,"AC",NAME,""))
  1. . I PFIEN="" S BMXSEC=NAME_" not a valid parameter for this update" Q
  1. . S FIELD=$P($G(^AGG(9009068.3,AGIEN,10,PFIEN,3)),U,1)
  1. . S EXEC=$G(^AGG(9009068.3,AGIEN,10,PFIEN,7))
  1. . I EXEC'="" X EXEC Q
  1. . I FIELD="" Q
  1. . S AGGDATA(2.01,IENS,FIELD)=@NAME
  1. ;
  1. S AGGDATAI(9000001,DFN_",",.03)=DT,AGGDATAI(9000001,DFN_",",.12)=DUZ
  1. I $D(AGGDATA) D FILE^DIE("","AGGDATA","ERROR")
  1. I $D(AGGDATAI) D FILE^DIE("I","AGGDATAI","ERROR")
  1. ;
  1. DNE ;
  1. S RESULT=1_U_U_RIEN
  1. I $D(ERROR) S RESULT="-1"_U_$G(ERROR("DIERR",1,"TEXT",1))_U_U
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. ;
  1. I $P(RESULT,U,1)=1 D EDIT^AGGEXPRT(DFN)
  1. S NAME=""
  1. F S NAME=$O(^AGG(9009068.3,AGIEN,10,"AC",NAME)) Q:NAME="" I $G(@NAME)'="" K @NAME
  1. Q
  1. ;
  1. LEGL(DATA,DFN,PROC,RIEN,PARMS) ;EP -- AGG UPDATE LEGAL NAMES
  1. NEW UID,II,BQ,PDATA,NAME,PFIEN,FIELD,EXEC,AGGDATA,AGGDATAI,PTYP,VALUE,CHIEN,AGI,AGWP
  1. NEW X,Y,RESULT,DA,AGIEN,DIC,DLAYGO,IENS,ERROR,AGGLNDTC
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("AGGPTNAM",UID))
  1. K @DATA
  1. ;
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^AGGPTUPD D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. S @DATA@(II)="I00010RESULT^T01024ERROR^I00010RIEN"_$C(30)
  1. S AGIEN=$O(^AGG(9009068.3,"B","Legal Names",""))
  1. ;
  1. ;if deleting a Legal Name
  1. I $G(PROC)="D" D G DONE
  1. . NEW DIK,DA
  1. . S DIK="^AUPNNAMC(",DA=RIEN D ^DIK
  1. ;if adding a new Legal Name
  1. D PARS
  1. I $G(PROC)="A" D
  1. . I $G(RIEN)="" D
  1. .. I $G(AGGLNDTC)="" S AGGLNDTC=DT
  1. .. S DLAYGO=9000033,DIC(0)="L",DIC="^AUPNNAMC(",X=AGGLNDTC
  1. .. D ^DIC S RIEN=+Y
  1. ;if editing a Legal Name
  1. S DA=RIEN,IENS=$$IENS^DILF(.DA)
  1. ;
  1. S AGGDATAI(9000033,IENS,.02)=DFN
  1. S AGGDATAI(9000033,IENS,.06)=DUZ
  1. S AGGDATAI(9000001,DFN_",",.03)=DT,AGGDATAI(9000001,DFN_",",.12)=DUZ
  1. ;
  1. F BQ=1:1:$L(PARMS,$C(28)) D Q:$G(BMXSEC)'=""
  1. . S PDATA=$P(PARMS,$C(28),BQ) Q:PDATA=""
  1. . S NAME=$P(PDATA,"=",1)
  1. . S PFIEN=$O(^AGG(9009068.3,AGIEN,10,"AC",NAME,""))
  1. . I PFIEN="" S BMXSEC=NAME_" not a valid parameter for this update" Q
  1. . S FIELD=$P($G(^AGG(9009068.3,AGIEN,10,PFIEN,3)),U,1)
  1. . S EXEC=$G(^AGG(9009068.3,AGIEN,10,PFIEN,7))
  1. . I EXEC'="" X EXEC Q
  1. . I FIELD="" Q
  1. . S AGGDATA(9000033,IENS,FIELD)=@NAME
  1. I $D(AGGDATA) D FILE^DIE("","AGGDATA","ERROR")
  1. I $D(AGGDATAI) D FILE^DIE("I","AGGDATAI","ERROR")
  1. ;
  1. DONE ;
  1. S RESULT=1_U_U_RIEN
  1. I $D(ERROR) S RESULT="-1"_U_$G(ERROR("DIERR",1,"TEXT",1))_U_U
  1. S II=II+1,@DATA@(II)=RESULT_$C(30)
  1. S II=II+1,@DATA@(II)=$C(31)
  1. ;
  1. I $P(RESULT,U,1)=1 D EDIT^AGGEXPRT(DFN)
  1. S NAME=""
  1. F S NAME=$O(^AGG(9009068.3,AGIEN,10,"AC",NAME)) Q:NAME="" I $G(@NAME)'="" K @NAME
  1. Q
  1. ;
  1. PARS ;
  1. F BQ=1:1:$L(PARMS,$C(28)) D Q:$G(BMXSEC)'=""
  1. . S PDATA=$P(PARMS,$C(28),BQ) Q:PDATA=""
  1. . S NAME=$P(PDATA,"=",1),VALUE=$P(PDATA,"=",2,99)
  1. . S PFIEN=$O(^AGG(9009068.3,AGIEN,10,"AC",NAME,""))
  1. . I PFIEN="" S BMXSEC=NAME_" not a valid parameter for this update" Q
  1. . S PTYP=$P($G(^AGG(9009068.3,AGIEN,10,PFIEN,1)),U,1)
  1. . I PTYP="D" S VALUE=$$DATE^AGGUL1(VALUE)
  1. . I PTYP="C" D
  1. .. I VALUE="" Q
  1. .. S CHIEN=$O(^AGG(9009068.3,AGIEN,10,PFIEN,5,"B",VALUE,"")) I CHIEN="" Q
  1. .. S VALUE=$P(^AGG(9009068.3,AGIEN,10,PFIEN,5,CHIEN,0),U,2)
  1. . I PTYP="W" D Q
  1. .. F AGI=1:1 S AGJ=$P(VALUE,$C(10),AGI) Q:AGJ="" D
  1. ... S AGWP(AGI,0)=$$CTRL^AGGUL1(AGJ)
  1. . S @NAME=VALUE
  1. Q
  1. ;
  1. LINIT(DATA,PROC) ;EP -- AGG LEGAL NAME INIT TRIG
  1. ; Input
  1. ; PROC - Transaction type
  1. ;
  1. NEW UID,II,VALUE,SOURCE,IEN,HELP,TYPE,ABLE,AGGECREL
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("AGGLNMTR",UID))
  1. K @DATA
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^AGGWTRIG D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. D HDR
  1. S @DATA@(II)=HDR_$C(30)
  1. I $G(PROC)="A" D
  1. . S SOURCE="AGGLNPRF",VALUE="",ABLE="N",TYPE="X",CLEAR="",HELP="" D UP
  1. . S SOURCE="AGGLGDOC",VALUE="",ABLE="N",TYPE="X",CLEAR="",HELP="" D UP
  1. ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. NMUP(DATA,AGGLNMC) ; EP -- AGG NAME CHANGE TRIG
  1. NEW UID,II,VALUE,SOURCE,IEN,HELP,TYPE,ABLE,AGGECREL
  1. S UID=$S($G(ZTSK):"Z"_ZTSK,1:$J)
  1. S DATA=$NA(^TMP("AGGLNMCTR",UID))
  1. K @DATA
  1. S II=0
  1. NEW $ESTACK,$ETRAP S $ETRAP="D ERR^AGGWTRIG D UNWIND^%ZTER" ; SAC 2006 2.2.3.3.2
  1. D HDR
  1. S @DATA@(II)=HDR_$C(30)
  1. I $G(AGGLNMC)'="" D
  1. . S SOURCE="AGGLNPRF",VALUE="",ABLE="Y",TYPE="X",CLEAR="",HELP="" D UP
  1. . S SOURCE="AGGLGDOC",VALUE="",ABLE="Y",TYPE="X",CLEAR="",HELP="" D UP
  1. ;
  1. S II=II+1,@DATA@(II)=$C(31)
  1. Q
  1. ;
  1. UP ;
  1. S II=II+1,@DATA@(II)=SOURCE_U_TYPE_U_VALUE_U_ABLE_U_$G(CLEAR)_U_HELP_$C(30)
  1. Q
  1. ;
  1. HDR ;
  1. S HDR="T00008SOURCE^T00001CODE_TYPE^T01024PARMS^T00001ABLE_FLAG^T00100CLEAR_FIELDS^T00200HELP_TEXT"
  1. Q