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

AUMDO1BS.m

Go to the documentation of this file.
  1. AUMDO1BS ; IHS/OIRM/DSD/JCM,AEF - UPDATE ICD GLOBAL (SUBROUTINE OF AUMDO1B) ; [ 12/03/1998 2:35 PM ]
  1. ;;99.1;ICD UPDATE;;DEC 03, 1998
  1. W !,"ENTRY NOT PERMITTED HERE (AUMDO1BS)",! Q
  1. PGRNOTE ; This module contains two subroutines called from AUMDO1B
  1. ; (COMMON and DSPSTAT) becuase AUMDO1B got too big after the
  1. ; dictionary change in 92.2 distribution.
  1. ; Added to new fields to the ICD file dictionaries:
  1. ; - DATE LAST UPDATE
  1. ; - UPDATE CYCLE #
  1. ; COMMON sub-rtn adds these to the DR string
  1. ;
  1. COMMON ; ENTRY POINT from EN+5^AUMDO1B-update common fields to each ICD file
  1. ; process the INACTIVE FLAG and DATE fields
  1. D ; SETSTAT subroutine from AUMDO1B
  1. . S AUMDO("STAT FLAG")=$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",0)"),U,9) ; save INACTIVE STATUS FLAG field
  1. . S AUMDO("STAT FLAG DATE")=$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",0)"),U,11) ; save DATE INACTIVATED field
  1. . I AUMDO("ADD!A/R") D Q
  1. .. I AUMDO("STAT FLAG")="" D Q
  1. ... S DR=DR_"100///@;102///@;" ;force nulls to the flag and date fields
  1. .. S DR=DR_"100////1;"
  1. .. S:AUMDO("STAT FLAG DATE")]"" DR=DR_"102////"_AUMDO("STAT FLAG DATE")_";"
  1. . I AUMDO("CHANGE") D
  1. .. Q:AUMDO("STAT FLAG")=""
  1. .. S DR=DR_"100////1;"
  1. .. S:AUMDO("STAT FLAG DATE")]"" DR=DR_"102////"_AUMDO("STAT FLAG DATE")_";"
  1. ; .01 Code Number
  1. S:$D(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",1)")) $P(@(AUMDO("ICD GL REF")_AUMDO("ICD DFN")_",1)"),U)=$P(^(1),U)
  1. ; 2 Identifier
  1. S:$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",0)"),U,2)]"" DR=DR_"2////"_$P(^(0),U,2)_";"
  1. ; 8 ICD expanded
  1. S:$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",0)"),U,8)]"" DR=DR_"8////"_$P(^(0),U,8)_";"
  1. ; 9.5 Use only with sex
  1. S:$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",0)"),U,10)]"" DR=DR_"9.5////"_$P(^(0),U,10)_";"
  1. ; 100 Inactive Flag & 102 Inactive Date
  1. I $P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",0)"),U,9)]"" S DR=DR_"100////1;" S:$P(^(0),U,11)]"" DR=DR_"102////"_$P(^(0),U,11)_";"
  1. ; 2100000 Date Last Update (new field)
  1. S:$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",2100000)"),U,1)]"" DR=DR_"2100000////"_$P(^(2100000),U,1)_";"
  1. ; 2100002 Update Cycle # (new field)
  1. S:$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",2100000)"),U,3)]"" DR=DR_"2100002////"_$P(^(2100000),U,3)_";"
  1. I '$D(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",9999999)"))
  1. E D
  1. . ; set common fields for 9999999 node
  1. . S:$P(@(AUMDO("UPD GL REF")_AUMDO("UPD DFN")_",9999999)"),U)]"" DR=DR_"9999999.01////"_$P(^(9999999),U)_";"
  1. . S:$P(^(9999999),U,2)]"" DR=DR_"9999999.02////"_$P(^(9999999),U,2)_";" S:$P(^(9999999),U,3)]"" DR=DR_"9999999.03////"_$P(^(9999999),U,3)_";"
  1. S DR=$E(DR,1,$L(DR)-1) ; remove trailing semicolon
  1. Q
  1. DSPSTAT ; ENTRY POINT from EN+7^AUMDO1B to display status of icd code
  1. D:$Y>55 HDR^AUMDO
  1. I AUMDO("ADD/REPLACE") W !,?27,"Old status was "_$S(AUMDO("OLD STATUS")="":"active",1:"inactive")
  1. W !,?27,"Status is "
  1. W $S(AUMDO("SUPERCEDED"):"inactive - (Superceded code)",AUMDO("VA EXPANDED"):"inactive - (VA Expanded code)",AUMDO("INACTIVE"):"inactive",AUMDO("ACTIVE"):"active",1:"unchanged")
  1. Q