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

AUMSCBA2.m

Go to the documentation of this file.
  1. AUMSCBA2 ;IHS/OIT/NKD - SCB UPDATE - FULL TABLE UPDATE CONT. 03/12/2014 ;
  1. ;;15.0;TABLE MAINTENANCE;**3**;SEP 9,2014;Build 1
  1. ; 05/28/15 - CLINIC FULL UPDATE
  1. ;
  1. Q
  1. STNM ; EP - STATION NUMBER - INSTITUTION FILE
  1. N AUMT,AUMGL,AUMTGL,AUMCNT,AUMCNT2,AUMP1,AUMP2,AUMP3
  1. S AUMT="STNM",AUMGL="^DIC(4,",AUMTGL="^TMP(""AUM"","_$J_",""ALL"",""STNM"""
  1. Q:'$D(@(AUMTGL_")"))
  1. ;
  1. I ($G(@(AUMTGL_",0)"))'=0) D
  1. . S AUMCNT=0 F S AUMCNT=$O(@(AUMTGL_")")@(AUMCNT)) Q:AUMCNT']"" D
  1. . . S AUMP1=$P($G(@(AUMTGL_","_AUMCNT_")")),U,1) ;NAME
  1. . . S AUMP2=$P($G(@(AUMTGL_","_AUMCNT_")")),U,2) ;ASUFAC
  1. . . S AUMP3=$P($G(@(AUMTGL_","_AUMCNT_")")),U,3) ;STNM
  1. . . ; DELETE FROM INCORRECT ENTRIES
  1. . . S AUMCNT2=0 F S AUMCNT2=$O(^DIC(4,"D",AUMP3,AUMCNT2)) Q:'AUMCNT2 D
  1. . . . Q:($$GET1^DIQ(9999999.06,AUMCNT2,.0799,"I")=AUMP2)
  1. . . . S ^TMP("AUM",$J,"COUNT",AUMT)=$G(^TMP("AUM",$J,"COUNT",AUMT))+1
  1. . . . D ENTRY^AUMSCBD(AUMT,"DEL",$$GET1^DIQ(4,AUMCNT2,.01,"I")_U_$$GET1^DIQ(9999999.06,AUMCNT2,.0799,"I")_U_AUMP3,,)
  1. . . ; ADD TO CORRECT ENTRY
  1. . . D ENTRY^AUMSCBD(AUMT,"ADD",$G(@(AUMTGL_","_AUMCNT_")")),,1)
  1. ;
  1. K @(AUMTGL_")")
  1. Q
  1. ; IHS/OIT/NKD AUM*15.0*3 FULL CLINIC UPDATE
  1. CLIN ; EP - CLINIC STOP FILE
  1. ; T=TAG,GL=GLOBAL,TGL=TEMP GLOBAL,L=LIST,CNT=COUNT,FL=FILE,INFL=INACTIVE FIELD
  1. N AUMT,AUMGL,AUMTGL,AUML,AUML2,AUML3,AUMCNT,AUMFL,AUMINFL
  1. S AUMT="CLIN",AUMGL="^DIC(40.7,",AUMTGL="^TMP(""AUM"","_$J_",""ALL"",""CLIN""",AUMFL=40.7,AUMINFL=2
  1. Q:'$D(@(AUMTGL_")"))
  1. D RSLT^AUMSCBD($$REPEAT^XLFSTR("-",20)),RSLT^AUMSCBD("CLINIC STOP FILE CLEANUP")
  1. D REINDX^AUMSCBA(AUMGL,"B^C") ; RE-INDEX
  1. ;
  1. ; COMPOSITE SEARCH
  1. ; BUILD TEMP GLOBAL X-REF
  1. D BUILD^AUMSCBA(AUMTGL,"COMP","1^2")
  1. ; TEMP GLOBAL COUNT, MATCH TEMP TO LOCAL AND STORE REMAINING
  1. S AUMCNT=$G(@(AUMTGL_",0)")),AUML=$$MATCH^AUMSCBA(AUMT,AUMGL,AUMTGL,"C","COMP","1",,0)
  1. ; CHECK IF MATCHING HAS FINISHED (0 TEMP OR 0 LOCAL RECORDS REMAIN)
  1. I ($G(@(AUMTGL_",0)"))=0)!(AUML']"") D CLINEND(AUMT,AUMGL,AUMTGL,AUML) Q
  1. ;
  1. ; CODE SEARCH
  1. D BUILD^AUMSCBA(AUMTGL,"C","1")
  1. S AUMCNT=$G(@(AUMTGL_",0)")),AUML2=$$MATCH^AUMSCBA(AUMT,AUMGL,AUMTGL,"C","C",,.AUML,0)
  1. I ($G(@(AUMTGL_",0)"))=0)!(AUML2']"") D CLINEND(AUMT,AUMGL,AUMTGL,AUML2) Q
  1. ;
  1. ; NAME SEARCH
  1. D BUILD^AUMSCBA(AUMTGL,"B","2")
  1. S AUMCNT=$G(@(AUMTGL_",0)")),AUML3=$$MATCH^AUMSCBA(AUMT,AUMGL,AUMTGL,"B","B",,.AUML2,0)
  1. D CLINEND(AUMT,AUMGL,AUMTGL,AUML3)
  1. ;
  1. Q
  1. CLINEND(AUMT,AUMGL,AUMTGL,AUML) ; END PROCESSING
  1. ; UPDATE REMAINING IN TEMP GLOBAL
  1. ; INACTIVATE LOCALS NOT MATCHED
  1. N CNT,CNT2,IEN,DAT
  1. ; TMP REMAINING
  1. I ($G(@(AUMTGL_",0)"))'=0) D
  1. . S CNT=0 F S CNT=$O(@(AUMTGL_")")@(CNT)) Q:CNT']"" D
  1. . . ; ONCE TO ADD, THEN TO UPDATE/INACTIVATE
  1. . . I $P($G(@(AUMTGL_","_CNT_")")),U,7)]"" D ENTRY^AUMSCBD(AUMT,"ALL",$P($G(@(AUMTGL_","_CNT_")")),U,1,6),,2)
  1. . . D ENTRY^AUMSCBD(AUMT,"ALL",$G(@(AUMTGL_","_CNT_")")),,0)
  1. ; LOCAL REMAINING
  1. I (AUML]"") D
  1. . D RSLT^AUMSCBD(""),RSLT^AUMSCBD("Inactivating local duplicate/invalid entries")
  1. . D RSLT^AUMSCBD(" CODE NAME PC 1A INA")
  1. . D RSLT^AUMSCBD(" ==== ==== == == ===")
  1. . F CNT=1:1:$L(AUML,U) S IEN=$P(AUML,U,CNT) D
  1. . . Q:'IEN
  1. . . S DAT=$$GET1^DIQ(40.7,IEN,1,"I")
  1. . . S $P(DAT,U,2)=$$GET1^DIQ(40.7,IEN,.01,"I")
  1. . . S $P(DAT,U,4)=$S($$GET1^DIQ(40.7,IEN,999999902,"I"):"Y",1:"N")
  1. . . S $P(DAT,U,5)=$S($$GET1^DIQ(40.7,IEN,90000.01,"I")="Y":"Y",1:"N")
  1. . . S $P(DAT,U,7)=$$DT^XLFDT+17000000
  1. . . D ENTRY^AUMSCBD(AUMT,"INA",DAT,IEN)
  1. ;
  1. K @(AUMTGL_")")
  1. ;
  1. Q