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

BZDMCDAZ.m

Go to the documentation of this file.
  1. BZDMCDAZ ;IHS/BAO/DMH load mcaid elg. from ARIZONA STATE [ 09/14/2000 4:25 PM ]
  1. ; dmh 8/21/2000
  1. ; revised copy of BZDMCDNV
  1. ;
  1. ; dmh 3/21/2000
  1. ; revised copy of AZBMESTU
  1. ;
  1. ;
  1. ;ROUTINE TO AUTOMATICALLY STUFF THE MEDICAID ELIGIBLE [ 01/02/96 10:19 AM ]
  1. ;FILE AT THE SERVICE UNITS USING THE AZMEDDL GLOBAL CREATED AT THE
  1. ;AREA B SYSTEM. THE DATA CAME FROM THE MASTER GLOBAL AFTER ALL THE
  1. ;MEDICAID ELIGABLE DATA WAS DOWNLOADED FROM THE STATE TAPES.
  1. ;THIS WILL NEED TO BE DONE ON A MONTHLY BASIS IN ORDER TO GET ALL THE
  1. ;UPDATE DATES THAT THE STATE SENDS EACH MONTH.
  1. ;^BZDMTEMP(0) HOLDS LAST ACCESSED HRN FROM MED UNIX FILE IF NEED
  1. ;TO DO RESET.
  1. ;AMH-BAO 7/12/91
  1. ;K ^BZDMTEMP
  1. K ^BZDMTEMP("SSN")
  1. K ^BZDMTEMP("NEW")
  1. K ^BZDMTEMP("UPDATE")
  1. K ^BZDMTEMP("MEDNO")
  1. K ^BZDMTEMP("MNO")
  1. K ^BZDMTEMP("INDX") ;for creating own index 9/8/2000
  1. ;K ^BZDMERST("A")
  1. K ^BZDM("MEDNO")
  1. K AZBM
  1. ;
  1. D INDX^BZDMUT
  1. I '$D(^BZDMTEMP("INDX")) U 0 W *7,!!,"Index is not set!!" H 2 Q
  1. ;
  1. ST1 ;
  1. U 0 W ! D ^%T
  1. I '$D(DUZ(2)) D ^XBKVAR
  1. I +DUZ(2)=0 K DUZ(2) D ^XBKVAR
  1. S ORGDUZ(2)=DUZ(2)
  1. S NEW=0
  1. S UPDATE=0
  1. S SSNCT=0
  1. S COUNT=0
  1. S CT=0
  1. S ER(1)=0,ER(2)=0,ER("P")=0,ER("HR")=0
  1. S %DT="",X="T" D ^%DT S TODAY=Y
  1. D ^%ZIS
  1. ;S FACNAME=$P(^DIC(4,ORGDUZ(2),0),"^",1)
  1. ;U IO(0) W !,"DOWNLOAD FOR--",FACNAME
  1. U IO(0) W !!!!!,"DOWNLOAD FOR--MEDICAID ELIGIBILITY"
  1. U IO(0) W !,TODAY
  1. ;
  1. ;
  1. SSNQ ;U IO(0) R !!,"STUFF VALID SSN'S? (Y or N) ",SSNQ
  1. ;I (SSNQ'="N")&(SSNQ'="Y") W *7," ??" H 2 G SSNQ
  1. ;
  1. ;
  1. S FAC=$P(^AUTTLOC(DUZ(2),0),"^",10)
  1. I '$D(^AUPNMCD(0)) S ^AUPNMCD(0)="MEDICAID ELIGIBLE^9000004PI^0^0"
  1. ;
  1. INS ;GET MEDICAID INTERNAL NUMBER FOR EACH RECORD
  1. S DIC="^AUTNINS(",DIC(0)="XZIMO",X="MEDICAID" D ^DIC
  1. I Y'=-1 S INS=$P(Y,"^",1)
  1. E U IO(0) W !!,*7,"ERROR IN INSURER FILE..." G ABNEND
  1. S DIC="^AUTNINS(",DIC(0)="XZIMO",X="ARIZONA MEDICAID" D ^DIC
  1. I Y'=-1 S PLAN=$P(Y,"^",1)
  1. E U IO(0) W !!,*7,"ERROR IN INSURER FILE (PLAN)..." G ABNEND
  1. ;
  1. STATE ;GET STATE NUMBER
  1. ;U IO(0) R !!,"ENTER MEDICAID STATE CODE 1=MONTANA 2=WYOMING : ",ST
  1. ;I ST="^" G ABNEND
  1. ;I (ST'=1)&(ST'=2) U IO(0) W *7," ??" H 2 G STATE
  1. ;I ST=1 S X="MONTANA"
  1. ;I ST=2 S X="WYOMING"
  1. ;S ST=2,X="WYOMING"
  1. ;
  1. ;
  1. S ST=4,X="ARIZONA"
  1. S DIC="^DIC(5,",DIC(0)="ZM" D ^DIC
  1. I Y'=-1 S STATE=$P(Y,"^",1)
  1. E U IO(0) W !!,*7,"ERROR IN STATE CODE..." G ABNEND
  1. ;
  1. A ;
  1. ;I '$D(FAC) U IO(0) W !!,"ERROR IN FAC. CODE..." G ABEND
  1. S FILEN=54
  1. U IO(0) R !!,"Enter Month_Year of file to Load: eg. 101999: ",MY
  1. I MY'?6N W *7," ??" H 2 G A
  1. ;S FILENAME="/pub/nevelg."_MY
  1. S FILENAME="/usr/spool/uucppublic/azelg."_MY
  1. O FILEN:(FILENAME:"R"):1
  1. E U IO(0) W *7," NO DATA FILE FOR SAID MONTH-YEAR!!" G ABNEND
  1. S X=$E(MY,1,2)_"-"_$E(MY,3,6),%DT="" D ^%DT S UPMONTH=Y
  1. I $D(^BZDMCDDL(UPMONTH)) U IO(0) W *7,"That month is already loaded.." H 2 G ABNEND
  1. ;
  1. ;
  1. K ^BZDMTEMP("CT",MY)
  1. ;
  1. ;D DATES
  1. ;D LOADMEDN
  1. K ^ZZDINA(MY)
  1. ;
  1. JUMP ;
  1. ; use this if don't want to recreate the temp file & start with st1
  1. ;G DATA
  1. ;
  1. ;
  1. D TIME^BZDMUT
  1. S ^BZDMTEMP("TIME","SSN","MNO")=BZDTIME1
  1. U IO(0) W !!,"Reading data from file. Please hold.....",!
  1. F I=1:1 U FILEN R AZBM("REC") Q:(AZBM("REC")="")!(AZBM("REC")="**") D
  1. .S CT=CT+1
  1. .;S ^BZDMTEMP(CT)=AZBM("REC") ;dmh don't need this 4/6/2000
  1. .S MSSN=$E(AZBM("REC"),27,35)
  1. .S MNO=$E(AZBM("REC"),18,26)
  1. .S MDOB=$E(AZBM("REC"),143,150) ;9-6-2000
  1. .;I $D(^BZDM("MEDNO",MNO)) S ^BZDMTEMP("MEDNO",MNO)=""
  1. .;S ^BZDMTEMP("SSN",MSSN)=AZBM("REC") ;dmh only set if in dpt 4/6
  1. .;I $D(^AUPNMCD("AB",MNO)) S ^BZDMTEMP("MNO",MNO)=AZBM("REC")
  1. .;E I $D(^DPT("SSN",MSSN)) S ^BZDMTEMP("SSN",MSSN)=AZBM("REC") ;added 4/6/2000
  1. .I CT#1000=0 U 0 W "."
  1. .D MNOCK I MNOFL="Y" Q
  1. .E D SSNCK ;9-6-2000
  1. .Q
  1. D TIME^BZDMUT
  1. S $P(^BZDMTEMP("TIME","SSN","MNO"),"^",2)=BZDTIME1
  1. DATA ;
  1. ;Q ;put quit here for test 9-6-2000
  1. ;
  1. B
  1. D TIME^BZDMUT
  1. S $P(^BZDMTEMP("TIME","SSN"),"^",1)=BZDTIME1
  1. ;
  1. U IO(0) W !!,"Matching and uploading data to Registration now...."
  1. S AZBM("MSSN")=0
  1. ;
  1. ; next f is for test only 9-6-2000
  1. ;
  1. ;F S AZBM("MSSN")=$O(^BZDMTEMP("SSN",AZBM("MSSN"))) Q:AZBM("MSSN")="" D
  1. S SCT=0
  1. F S AZBM("MSSN")=$O(^BZDMTEMP("SSN",AZBM("MSSN"))) Q:AZBM("MSSN")="" D
  1. .S SSNDFN=0
  1. .; SSNDFN is the ien for the patient in dpt
  1. .F S SSNDFN=$O(^BZDMTEMP("SSN",AZBM("MSSN"),SSNDFN)) Q:SSNDFN="" D
  1. ..S ^BZDMTEMP("LAST READ","SSN")=AZBM("MSSN")_","_SSNDFN
  1. ..S SCT=SCT+1
  1. ..I SCT#100=0 U IO(0) W "."
  1. ..;S PATDFN=$O(^DPT("SSN",AZBM("MSSN"),0)) Q:+PATDFN=0
  1. ..; commented out and added the next set 9-6-2000
  1. ..;
  1. ..S PATDFN=SSNDFN
  1. ..D DUZHRN I '$D(HRN) S ^BZDMERST(TODAY,"INACT",PATDFN)="",ER(10)=$G(ER(10))+1 Q
  1. ..S MREC=^BZDMTEMP("SSN",AZBM("MSSN"),SSNDFN)
  1. ..D STUFF
  1. ..Q
  1. D TIME^BZDMUT
  1. S $P(^BZDMTEMP("TIME","SSN"),"^",2)=BZDTIME1
  1. G DATA1
  1. ;
  1. DATA1 ;
  1. ;Q ;put quit here for test 9-6-2000
  1. ;
  1. ;
  1. D TIME^BZDMUT
  1. S $P(^BZDMTEMP("TIME","MNO"),"^",1)=BZDTIME1
  1. ;
  1. S MNOCT=0
  1. S AZBM("MNO")=0
  1. F S AZBM("MNO")=$O(^BZDMTEMP("MNO",AZBM("MNO"))) Q:AZBM("MNO")="" D
  1. .S MCDDFN=0
  1. .F S MCDDFN=$O(^BZDMTEMP("MNO",AZBM("MNO"),MCDDFN)) Q:MCDDFN="" D
  1. ..S ^BZDMTEMP("LAST READ","MNO")=AZBM("MNO")_","_MCDDFN
  1. ..S MNOCT=MNOCT+1
  1. ..I MNOCT#100=0 U IO(0) W ":"
  1. ..S DFN=MCDDFN Q:+DFN=0
  1. ..S PATDFN=$P(^AUPNMCD(DFN,0),"^",1)
  1. ..D DUZHRN I '$D(HRN) S ^BZDERST(TODAY,"INACT",PATDFN)="",ER(10)=$G(ER(10))+1 Q
  1. ..S MREC=^BZDMTEMP("MNO",AZBM("MNO"),MCDDFN)
  1. ..D STUFF
  1. ..Q
  1. D TIME^BZDMUT
  1. S $P(^BZDMTEMP("TIME","MNO"),"^",2)=BZDTIME1
  1. G END
  1. STUFF ;STUFF DATA
  1. ;
  1. ;
  1. S LN=$E(MREC,108,130)
  1. S FN=$E(MREC,131,140)
  1. S MI=$E(MREC,141)
  1. F Q:$E(LN,1)'=" " S LN=$E(LN,2,30) ;strip leading spaces
  1. F S L=$L(LN) Q:$E(LN,L)'=" " S LN=$E(LN,1,L-1) ;strip trailing spaces
  1. ;S FN=$P(MREC,",",2)
  1. F Q:$E(FN,1)'=" " S FN=$E(FN,2,30) ;strip leading spaces
  1. F S L=$L(FN) Q:$E(FN,L)'=" " S FN=$E(FN,1,L-1) ;strip trailing spaces
  1. S MEDNAME=LN_","_FN
  1. ;
  1. ;
  1. S MEDNO=$E(MREC,18,26)
  1. S RATECD=$E(MREC,355,358)
  1. ELDTS ; set start and end dates
  1. S X=$E(MREC,404,411)
  1. S X=$E(X,5,6)_$E(X,7,8)_$E(X,1,4) D ^%DT S STDT=Y
  1. I +STDT<1 Q
  1. S X=$E(MREC,412,419)
  1. S X=$E(X,5,6)_$E(X,7,8)_$E(X,1,4) D ^%DT S ENDDT=Y
  1. I +ENDDT<1 Q
  1. DOB ;
  1. S MEDDOB=$E(MREC,143,150)
  1. I $L(MEDDOB)=8 D
  1. .S MEDDOB=$E(MEDDOB,5,6)_$E(MEDDOB,7,8)_$E(MEDDOB,1,4)
  1. E S MEDDOB=""
  1. ;
  1. ;
  1. ;
  1. I '$D(^AUPNMCD("B",PATDFN)) S NEW=NEW+1 S ^BZDMTEMP("NEW",PATDFN)="",NU="N"
  1. E S UPDATE=UPDATE+1 S ^BZDMTEMP("UPDATE",PATDFN)="",NU="U"
  1. ;
  1. ;
  1. ;S DIC="^AUPNMCD(",DIC(0)="ZLM",X=PATDFN,DLAYGO=9000004 D ^DIC
  1. S DIC="^AUPNMCD(",DIC(0)="ZLM",X=HRN,DLAYGO=9000004 D ^DIC
  1. I Y'=-1 S MEDDFN=$P(Y,"^",1)
  1. E S ^BZDMERST(TODAY,2,PATDFN)="" S ER(2)=$G(ER(2))+1 Q
  1. S $P(^AUPNMCD(MEDDFN,0),"^",2)=INS
  1. S $P(^AUPNMCD(MEDDFN,0),"^",4)=STATE
  1. S $P(^AUPNMCD(MEDDFN,0),"^",10)=PLAN
  1. S $P(^AUPNMCD(MEDDFN,0),"^",11)=RATECD
  1. S DR=".03////"_MEDNO_";.08////"_TODAY_";.05////"_MEDNAME,DIE="^AUPNMCD(",DA=MEDDFN
  1. S DR=DR_";2101////"_MEDNAME
  1. I MEDDOB'="" S DR=DR_";2102///"_MEDDOB
  1. D ^DIE
  1. S COUNT=COUNT+1
  1. S ^ZZDINA(MY,MEDDFN)=PATDFN
  1. ELIG S E=0
  1. ELIG1 ;
  1. D NOENDCK
  1. S FL=0
  1. I $D(^AUPNMCD(MEDDFN,11,STDT)) D CKDT Q ;I FL=1 G ELIG1
  1. ;
  1. S FL=0 D DTCONT I FL=1 Q
  1. ;
  1. S DIC="^AUPNMCD(MEDDFN,11,",DIC(0)="ZLM"
  1. S DA(1)=MEDDFN
  1. S X=STDT
  1. S DINUM=X
  1. S DIC("DR")=".02////"_ENDDT
  1. K DD,DO
  1. S:'$D(@(DIC_"0)")) @(DIC_"0)")="^9000004.11"
  1. D FILE^DICN
  1. S NEWCHG(NU)=$G(NEWCHG(NU))+1
  1. Q
  1. ABNEND ;ABNORMAL END OF JOB
  1. U IO(0) W !!,"CONTACT PROGRAMMER!!"
  1. D ^%ZISC
  1. Q
  1. ;
  1. NOENDCK ; check to see if no ending date on any of the records on a patient
  1. ; that just got updated 9/7/2000
  1. S NOENDFL="N"
  1. S NOEND=0
  1. F S NOEND=$O(^AUPNMCD(MEDDFN,11,NOEND)) Q:NOEND="" D Q:NOENDFL="Y"
  1. .S RECORD=$G(^AUPNMCD(MEDDFN,11,NOEND,0))
  1. .Q:RECORD=""
  1. .I $P(RECORD,"^",2)="" D
  1. ..S ^BZDERST(TODAY,"NOEND",PATDFN)=""
  1. ..S ER(20)=$G(ER(20))+1
  1. ..S NOENDFL="Y"
  1. Q
  1. ;
  1. SSNCK ; 9-6-2000
  1. ; check if ssn is onfile also check the dob; per Glen the state
  1. ; file has the same ssn on multiple people
  1. S SSNFL="N"
  1. K SSNDFN
  1. Q:'$D(MDOB)
  1. Q:MDOB=""
  1. S X=$E(MDOB,5,6)_$E(MDOB,7,8)_$E(MDOB,1,4)
  1. D ^%DT
  1. S MDOB=Y
  1. I $D(^DPT("SSN",MSSN))
  1. E Q
  1. S SSNDFN=0
  1. F S SSNDFN=$O(^DPT("SSN",MSSN,SSNDFN)) Q:+SSNDFN=0 D Q:SSNFL="Y"
  1. .I MDOB=$P(^DPT(SSNDFN,0),"^",3) S SSNFL="Y"
  1. ;I (SSNFL="Y"),(+SSNDFN'=0) S ^BZDMTEMP("SSN",MSSN,SSNDFN)=AZBM("REC")
  1. I (SSNFL="Y"),(+SSNDFN'=0) S ^BZDMTEMP("SSN",MSSN,SSNDFN)=$E(AZBM("REC"),1,500)
  1. I (SSNFL="Y"),(+SSNDFN'=0) S ^BZDMTEMP("CT",MY,"SSN")=$G(^BZDMTEMP("CT",MY,"SSN"))+1
  1. Q
  1. ;
  1. MNOCK ;
  1. S MNOFL="N"
  1. ;S X=MNO
  1. ;S DIC="^AUPNMCD(",DIC(0)="MZ" D ^DIC
  1. ;I Y'="-1" S MCDDFN=$P(Y,"^",1) S MNOFL="Y"
  1. ;;I MNOFL="Y" S ^BZDMTEMP("MNO",MNO,MCDDFN)=AZBM("REC")
  1. I $D(^BZDMTEMP("INDX",MNO)) D
  1. .S MCDDFN=$O(^BZDMTEMP("INDX",MNO,0))
  1. .S MNOFL="Y"
  1. I MNOFL="Y" S ^BZDMTEMP("MNO",MNO,MCDDFN)=$E(AZBM("REC"),1,500)
  1. I MNOFL="Y" S ^BZDMTEMP("CT",MY,"MNO")=$G(^BZDMTEMP("CT",MY,"MNO"))+1
  1. Q
  1. DATES ;
  1. S X=$E(MY,1,2)_"01"_$E(MY,3,6) D ^%DT S STDT=Y
  1. S EMO=$E(MY,1,2)
  1. I (EMO="01")!(EMO="03")!(EMO="05")!(EMO="07")!(EMO="08")!(EMO="10")!(EMO="12") S ENDDAY=31
  1. I (EMO="04")!(EMO="06")!(EMO="09")!(EMO="11") S ENDDAY=30
  1. I (EMO="02") S ENDDAY=28
  1. S X=$E(MY,1,2)_ENDDAY_$E(MY,3,6) D ^%DT S ENDDT=Y
  1. Q
  1. SSNSET ;STUFF SSN FROM THE MEDICAID DOWNLOAD TO THE DPT FILE
  1. ;I (DPTSSN="")!($E(DPTSSN,1,3)=999)!($E(DPTSSN,1,3)="000")
  1. I (ST=1),((MEDNO=999999999)!(MEDNO="000000000")) Q
  1. I (ST=2),((WYSSN=999999999)!(WYSSN="000000000")) Q
  1. I (DPTSSN="")!(DPTSSN="999999999")!(DPTSSN="999-99-9999")!(DPTSSN="000000000")!(DPTSSN="000-00-0000")
  1. E Q
  1. S DIE="^DPT(",DA=PATDFN,DR=".09////"_MEDNO
  1. D ^DIE
  1. S SSNCT=SSNCT+1
  1. I '$D(^AZMEDSSN(TODAY,0)) S ^AZMEDSSN(TODAY,0)=$P(^AZMEDDL(FAC,0),"^",1)_"^0"
  1. S ^AZMEDSSN(TODAY,PATDFN)=$S(ST=1:MEDNO,ST=2:WYSSN)_"^"_DPTSSN,$P(^AZMEDSSN(TODAY,0),"^",2)=$P(^AZMEDSSN(TODAY,0),"^",2)+1
  1. S ^AGPATCH(TODAY,DUZ(2),PATDFN)=""
  1. Q
  1. CKDT ;CHECK IF THE START DATE IS ALREADY ON FILE
  1. S OLD=^AUPNMCD(MEDDFN,11,STDT,0)
  1. I $P(OLD,"^",2)'=ENDDT D
  1. .S $P(^AUPNMCD(MEDDFN,11,STDT,0),"^",2)=ENDDT
  1. .S STDTCHG(NU)=$G(STDTCHG(NU))+1
  1. .S FL=1
  1. .Q
  1. Q
  1. DTCONT ;
  1. ; check on the multiples already onfile to see if this new date range
  1. ; can be a continuation of a record already on file
  1. ; instead of recreating a new record for each new month.
  1. S X1=STDT,X2="-1" D C^%DTC S DTBFR=X ;set date before start dt
  1. I +DTBFR<1 Q
  1. S LOOP=0
  1. F S LOOP=$O(^AUPNMCD(MEDDFN,11,LOOP)) Q:LOOP="" D Q:FL=1
  1. .S LOOPREC=$G(^AUPNMCD(MEDDFN,11,LOOP,0))
  1. .Q:LOOPREC=""
  1. .S LOOPEND=$P(LOOPREC,"^",2)
  1. .Q:LOOPEND'=DTBFR
  1. .I LOOPEND=DTBFR D
  1. ..S ^ZZDINA("ENDCHG",MEDDFN,LOOP)=LOOPEND_"^"_ENDDT
  1. ..S ENDCHG(NU)=$G(ENDCHG(NU))+1
  1. ..S FL=1
  1. ..S $P(^AUPNMCD(MEDDFN,11,LOOP,0),"^",2)=ENDDT
  1. ..Q
  1. .Q
  1. Q
  1. ;
  1. ;
  1. Q
  1. END ;
  1. ;
  1. U IO(0) W !!,"TOTAL NUMBER OF MEDICAID ELIG. STUFFED: ",COUNT
  1. U IO(0) W !!,"TOTAL NEW OF MEDICAID PATIENTS: ",NEW
  1. W !,?10,"Total new nodes: ",$G(NEWCHG("N"))
  1. W !,?10,"Total w/start node there with end chg: ",$G(STDTCHG("N"))
  1. W !,?10,"Total end dt chg of existing node: ",$G(ENDCHG("N"))
  1. U IO(0) W !!,"TOTAL MEDICAID ELIG. PATIENTS UPDATED: ",UPDATE
  1. W !,?10,"Total new nodes: ",$G(NEWCHG("U"))
  1. W !,?10,"Total w/start node there with end chg: ",$G(STDTCHG("U"))
  1. W !,?10,"Total end dt chg of existing node: ",$G(ENDCHG("U"))
  1. U IO(0) W !!,"TOTAL PATIENTS (that were updated) with NO end date=",$G(ER(20))
  1. U IO(0) W !!,"TOTAL INACTIVE HRN ERRORS= ",$G(ER(10))
  1. U IO(0) W !!,"TOTAL MEDICAID ELIG. STUFF ERRORS= ",$G(ER(2))
  1. ;S FACNAME=$P(^DIC(4,ORGDUZ(2),0),"^",1)
  1. U IO(0) W !,"DOWNLOAD FOR--MEDICAID IS DONE!!!!"
  1. U IO(0) W !,TODAY
  1. ;K ER
  1. S ^BZDMCDLG(UPMONTH)=UPMONTH_"^"_TODAY
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(COUNT)
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(NEW)
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(NEWCHG("N"))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(STDTCHG("N"))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(ENDCHG("N"))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(UPDATE)
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(NEWCHG("U"))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(STDTCHG("U"))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(ENDCHG("U"))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(ER(20))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(ER(10))
  1. S ^BZDMCDLG(UPMONTH)=^BZDMCDLG(UPMONTH)_"^"_+$G(ER(2))
  1. K AZBM
  1. ;S DIC="^BZDMCDNV(",DIC(0)="ZLM",X=UPMONTH D ^DIC
  1. S DIC="^BZDMCDDL(",DIC(0)="ZLM",X=+$E(MY,1,2)_"-"_$E(MY,3,6),DIC("DR")=".02///"_TODAY
  1. S DIC("DR")=DIC("DR")_";.03///"_+$G(COUNT)
  1. S DIC("DR")=DIC("DR")_";.04///"_+$G(NEW)
  1. S DIC("DR")=DIC("DR")_";.05///"_+$G(NEWCHG("N"))
  1. S DIC("DR")=DIC("DR")_";.06///"_+$G(STDTCHG("N"))
  1. S DIC("DR")=DIC("DR")_";.07///"_+$G(ENDCHG("N"))
  1. S DIC("DR")=DIC("DR")_";.08///"_+$G(UPDATE)
  1. S DIC("DR")=DIC("DR")_";.09///"_+$G(NEWCHG("U"))
  1. S DIC("DR")=DIC("DR")_";10///"_+$G(STDTCHG("U"))
  1. S DIC("DR")=DIC("DR")_";11///"_+$G(ENDCHG("U"))
  1. S DIC("DR")=DIC("DR")_";12///"_+$G(ER(20))
  1. S DIC("DR")=DIC("DR")_";13///"_+$G(ER(10))
  1. S DIC("DR")=DIC("DR")_";14///"_+$G(ER(2))
  1. D ^DIC
  1. U 0 W !! D ^%T
  1. D ^%ZISC
  1. Q
  1. DUZHRN ;
  1. K HRN
  1. S DUZ(2)=0
  1. F S DUZ(2)=$O(^AUPNPAT(PATDFN,41,DUZ(2))) Q:+DUZ(2)=0 D Q:$D(HRN)
  1. .S HRNREC=$G(^AUPNPAT(PATDFN,41,DUZ(2),0))
  1. .I $P(HRNREC,"^",3)="" S HRN=$P(HRNREC,"^",2)
  1. Q
  1. LOADMEDN ;load the medno from aupnmcd file to BZDMTEMP("MEDNO") to match on this
  1. ;maybe
  1. ; don't need 4/6/2000 dmh
  1. Q
  1. K ^BZDM("MEDNO")
  1. S GLOB="^AUPNMCD(""AB"")"
  1. F S GLOB=$Q(@GLOB) Q:GLOB'["^AUPNMCD(""AB""" Q:GLOB="" D
  1. .I $P(GLOB,",",1)["AUPNMCD" S MN=$P(GLOB,",",4),^BZDM("MEDNO",MN)=""