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

AZHRDEMO.m

Go to the documentation of this file.
  1. AZHRDEMO ;SANITIZE VA PATIENT FILE [ 04/25/90 9:21 AM ]
  1. ;MODIFIED ^AZHDDEMO ROUTINE; IHS/DRPMS/RAW 4/20/90
  1. ;Modified to translate Vowels only in name changes; RAW/DRPMS; 4/16/90
  1. ;Modified for cities within New Mexico RFD 8-3-88
  1. ;Modified to kill SSN indexes and change SSN to different number RFD 3-20-89
  1. ;Modified to translate the patient name RFD/CMB 3-21-89
  1. W !!,"You can't enter this routine at the top"
  1. Q
  1. START ;
  1. W !!,"All the Last Names of the Patient, both Parents, EOC, NOK"
  1. W !,"and Other Names will translated (Vowels Only)."
  1. W !,"First Names will be randomly selected from a table generated"
  1. W !,"from the VA Patient file, (10% of Total Patients)."
  1. W !,"Addresses and Cities will also be randomly selected from a"
  1. W !,"table generated. The City table will be composed of all the"
  1. W !,"Communities within the State determined by the Site entered"
  1. W !,"in the RPMS SITE file."
  1. W !!,"This routine will sanitize ^DPT by replacing all names, other names,",!,"parents names and mailing addresses with randomly generated substitutes."
  1. W !,"Will also change the SSN stored in DPT and kill off all indexes set by the SSN data.",!
  1. W !!,"Do you want to CONTINUE? NO//" R ANS:60
  1. I ANS=""!(ANS="NO")!(ANS="N") G END
  1. D INIT
  1. S DFN=0 F S DFN=$O(^DPT(DFN)) Q:DFN'=+DFN D MAIN
  1. D END
  1. Q
  1. INIT ;
  1. S (MF,SSNMOD,SSN)="",U="^"
  1. K ^DPT("BS"),^DPT("BS5"),^DPT("SSN"),^AZHRRAND
  1. S FROM="AEIOUY",TO="EAYUOI"
  1. D ^AZHRDEM1
  1. S STCOD=$P(^AUTTLOC(DUZ(2),0),U,14),ZIP=$P(^AUTTLOC(DUZ(2),0),U,15)
  1. Q
  1. MAIN ;
  1. S MF=$P(^DPT(DFN,0),U,2)
  1. D PNAME
  1. D:$D(^DPT(DFN,.24)) PARENTS
  1. D CTST D OTHNAME D SSN
  1. D:$D(^DPT(DFN,.33)) EMERCON
  1. D:$D(^DPT(DFN,.21)) NOK
  1. Q
  1. PNAME ;EDIT OF PATIENTS NAME
  1. S AZHRDIC="^DPT("_DFN_",0)",K=1,J=1
  1. I MF="F" D FEMALEL
  1. I MF="M" D MALEL
  1. S DA=DFN,DIE="^DPT(",DR=".01///"_NAME D ^DIE
  1. W !!,NAME,?30,DFN
  1. Q
  1. PARENTS ;
  1. S AZHRDIC="^DPT("_DFN_",.24)",K=1,J=3,FATHER="",MOTHER=""
  1. D MALEL S:MLN'="" FATHER=NAME
  1. D FEMALEL S:FLN'="" MOTHER=NAME
  1. S ^DPT(DFN,.24)=FATHER_"^^"_MOTHER
  1. W !,?5,FATHER,!,?5,MOTHER
  1. Q
  1. CTST ;
  1. D ADDR
  1. S ^DPT(DFN,.11)=ADDR_"^^^"_CITY_"^"_STCOD_"^"_ZIP
  1. W !,?5,ADDR,!,?5,CITY," ,",STCOD," ",ZIP
  1. Q
  1. OTHNAME ;
  1. S OTDFN=0 F L=0:0 S OTDFN=$O(^DPT(DFN,.01,OTDFN)) Q:OTDFN'=+OTDFN S AZHRDIC="^DPT("_DFN_",.01,"_OTDFN_",0)",J=1,K=1 D:MF="F" FEMALEL D:MF="M" MALEL D OTHDIE
  1. Q
  1. OTHDIE ;
  1. S DA=OTDFN,DIE="^DPT("_DFN_",.01,",DA(1)=DFN,DR=".01///"_NAME D ^DIE
  1. W !,?5,NAME
  1. Q
  1. SSN ;TAG TO SANITIZE THE SSN OF PATIENT
  1. S SSN=$P(^DPT(DFN,0),U,9) Q:SSN=""
  1. S SSNMOD=SSN S SSN=$E(SSNMOD,1,3) F I=9:-1:4 S SSN=SSN_$E(SSNMOD,I,I)
  1. S DA=DFN,DIE="^DPT(",DR=".09///"_SSN D ^DIE
  1. W !,?5,SSN
  1. Q
  1. EMERCON ;
  1. S AZHRDIC="^DPT("_DFN_",.33)",K=1,J=1
  1. D FEMALEL,ADDR Q:FLN=""
  1. S X(1)=NAME,X(3)=ADDR,X(6)=CITY,X(7)=STCOD,X(8)=ZIP
  1. W !,?5,NAME,!,?5,ADDR,!,?5,CITY," ,",STCOD," ",ZIP
  1. F I=1,3,6,7,8 S $P(^DPT(DFN,.33),U,I)=X(I)
  1. Q
  1. NOK ;
  1. S AZHRDIC="^DPT("_DFN_",.21)",K=1,J=1
  1. D MALEL,ADDR Q:MLN=""
  1. S X(1)=NAME,X(3)=ADDR,X(6)=CITY,X(7)=STCOD,X(8)=ZIP
  1. W !,?5,NAME,!,?5,ADDR,!,?5,CITY," ,",STCOD," ",ZIP
  1. F I=1,3,6,7,8 S $P(^DPT(DFN,.21),U,I)=X(I)
  1. Q
  1. FEMALEL ;
  1. S LN1=$P($P(@AZHRDIC,U,J),",",1)
  1. S FLN=$TR(LN1,FROM,TO)
  1. S X=^AZHRRAND("F",0)-1,FFN=^AZHRRAND("F",$R(X)+1)
  1. S NAME=FLN_","_FFN
  1. Q
  1. MALEL ;
  1. S LN1=$P($P(@AZHRDIC,U,K),",",1)
  1. S MLN=$TR(LN1,FROM,TO)
  1. S X=^AZHRRAND("M",0)-1,MFN=^AZHRRAND("M",$R(X)+1)
  1. S NAME=MLN_","_MFN
  1. Q
  1. ADDR ;
  1. S X=^AZHRRAND("A",0)-1,ADDR=^AZHRRAND("A",$R(X)+1)
  1. S X=^AZHRRAND("S",0)-1,CITY=^AZHRRAND("S",$R(X)+1)
  1. Q
  1. END ;END OF ROUTINE
  1. K MF,SSN,SSNMOD,LN,LN1,FROM,TO,MOTHER,FATHER,DFN,OTDFN,CITY,ADDR,ANS,FFN,FLN,L,MFN,MLN,NAME,STCOD,X,AZHRDIC,I,J,K,ZIP
  1. K ^DPT("BS"),^DPT("BS5"),^DPT("SSN"),^AZHRRAND
  1. W !!,"End of routine to sanitize Demo database"
  1. Q