- DGANHD3 ;ALB/RMO - Set-up Utility and Print NHCU and DOM AMIS's 345-346 ; 01 SEP 90 9:20 am
- ;;5.3;Registration;;Aug 13, 1993
- ;==============================================================
- ;Set-up Utility Global to print NHCU and DOM AMIS segments for
- ;a selected Month/Year.
- ;
- ;Input:
- ; DGMYR -(Optional) Month/Year being printed in internal date format
- ;==============================================================
- EN ;Entry point for IMS and MAS Inpatient AMIS 345-346 Print
- I '$D(DGMYR) S DIC("A")="Select AMIS 345-346 MONTH/YEAR: ",DIC="^DGAM(345,",DIC(0)="AEMQ" W ! D ^DIC K DIC G Q:Y<0 S DGMYR=+Y
- S DGPGM="START^DGANHD3",DGVAR="DGMYR" D ZIS^DGUTQ G Q:POP
- ;
- START U IO K ^UTILITY($J,"DGANHD") F DGSEG=0:0 S DGSEG=$O(^DGAM(345,DGMYR,"SE",DGSEG)) Q:'DGSEG D DIV
- D ^DGANHD4
- ;
- Q K ^UTILITY($J,"DGANHD"),%,DGAM,DGAM0,DGDIV,DGEND,DGMYR,DGPGM,DGSEG,DGVAR,I,POP W ! D CLOSE^DGUTQ
- Q
- ;
- DIV ;Loop through AMIS Segments by Division to set the Utility Global
- S DGEND=17
- F DGDIV=0:0 S DGDIV=$O(^DGAM(345,DGMYR,"SE",DGSEG,"D",DGDIV)) Q:'DGDIV I $D(^(DGDIV,0)) S DGAM0=^(0) D SET
- Q
- ;
- SET ;Set Utility Global by Month/Year, Segment and Division
- S DGAM="" F I=1:1:DGEND S $P(DGAM,"^",I)=0
- F I=1:1:DGEND S $P(DGAM,"^",I)=+$P(DGAM0,"^",I+1)
- S ^UTILITY($J,"DGANHD",DGMYR,DGSEG,DGDIV)=DGAM
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGANHD3 1334 printed Feb 19, 2025@00:07:29 Page 2
- DGANHD3 ;ALB/RMO - Set-up Utility and Print NHCU and DOM AMIS's 345-346 ; 01 SEP 90 9:20 am
- +1 ;;5.3;Registration;;Aug 13, 1993
- +2 ;==============================================================
- +3 ;Set-up Utility Global to print NHCU and DOM AMIS segments for
- +4 ;a selected Month/Year.
- +5 ;
- +6 ;Input:
- +7 ; DGMYR -(Optional) Month/Year being printed in internal date format
- +8 ;==============================================================
- EN ;Entry point for IMS and MAS Inpatient AMIS 345-346 Print
- +1 IF '$DATA(DGMYR)
- SET DIC("A")="Select AMIS 345-346 MONTH/YEAR: "
- SET DIC="^DGAM(345,"
- SET DIC(0)="AEMQ"
- WRITE !
- DO ^DIC
- KILL DIC
- if Y<0
- GOTO Q
- SET DGMYR=+Y
- +2 SET DGPGM="START^DGANHD3"
- SET DGVAR="DGMYR"
- DO ZIS^DGUTQ
- if POP
- GOTO Q
- +3 ;
- START USE IO
- KILL ^UTILITY($JOB,"DGANHD")
- FOR DGSEG=0:0
- SET DGSEG=$ORDER(^DGAM(345,DGMYR,"SE",DGSEG))
- if 'DGSEG
- QUIT
- DO DIV
- +1 DO ^DGANHD4
- +2 ;
- Q KILL ^UTILITY($JOB,"DGANHD"),%,DGAM,DGAM0,DGDIV,DGEND,DGMYR,DGPGM,DGSEG,DGVAR,I,POP
- WRITE !
- DO CLOSE^DGUTQ
- +1 QUIT
- +2 ;
- DIV ;Loop through AMIS Segments by Division to set the Utility Global
- +1 SET DGEND=17
- +2 FOR DGDIV=0:0
- SET DGDIV=$ORDER(^DGAM(345,DGMYR,"SE",DGSEG,"D",DGDIV))
- if 'DGDIV
- QUIT
- IF $DATA(^(DGDIV,0))
- SET DGAM0=^(0)
- DO SET
- +3 QUIT
- +4 ;
- SET ;Set Utility Global by Month/Year, Segment and Division
- +1 SET DGAM=""
- FOR I=1:1:DGEND
- SET $PIECE(DGAM,"^",I)=0
- +2 FOR I=1:1:DGEND
- SET $PIECE(DGAM,"^",I)=+$PIECE(DGAM0,"^",I+1)
- +3 SET ^UTILITY($JOB,"DGANHD",DGMYR,DGSEG,DGDIV)=DGAM
- +4 QUIT