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

ADGCRB0.m

Go to the documentation of this file.
  1. ADGCRB0 ; IHS/ADC/PDW/ENM - A SHEET driver ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. S DIC="^DPT(",DIC(0)="AQZEM",DIC("A")="Select PATIENT NAME: "
  1. D ^DIC K DIC G:Y'>0 Q S DFN=+Y
  1. MAIN ; -- main
  1. I '$D(DFN)!('$D(^DPT(DFN,0)))!('$D(^AUPNPAT(DFN,0))) Q
  1. S DGDS=0,DGFN=$S($G(DGFN):$G(DGFN),1:0)
  1. ;D ASK:DGFN,1:'DGFN I 'DGFN D Q Q
  1. N X S X=$S(DGFN:"ASK",1:1) D @X I 'DGFN D Q Q
  1. D BOT I $D(DIRUT) D Q Q
  1. D NOC I $D(DIRUT) D Q Q
  1. D ZIS I POP D Q Q
  1. I $D(IO("Q")) D QUE,Q Q
  1. D A,Q Q
  1. ;
  1. EN(DFN,DGFN) ;EP; -- predefined DFN entry point
  1. D MAIN Q
  1. ;
  1. ASK ; -- print?
  1. S DIR(0)="Y",DIR("A")="Do you want to print A sheet",DIR("B")="YES"
  1. D ^DIR S:'Y DGFN=0 Q
  1. ;
  1. A U IO F DGZCNT=1:1:DGZC D
  1. . D ^ADGCRB1
  1. . I $D(DGZP) D ^ADGCRB5 D:DGVSDA ^ADGCRB6 ;2nd half (clinical data)
  1. . D:$D(DGZN) ^ADGCRB7 W @IOF ;2nd half (form outline)
  1. Q
  1. ;
  1. 1 ; -- admission
  1. N I,J,ID,Y,X
  1. I '$D(^DGPM("APCA",DFN)) D Q
  1. . W !?5,"No admissions on file." D PRTOPT^ADGVAR
  1. W !!,"Admission(s)" S I=0
  1. S ID=0 F S ID=$O(^DGPM("ATID1",DFN,ID)) Q:'ID D
  1. . S DGFN=0 F S DGFN=$O(^DGPM("ATID1",DFN,ID,DGFN)) Q:'DGFN D
  1. .. S Y=+^DGPM(DGFN,0),I=I+1,J(I)=DGFN X ^DD("DD") W !?5,I,". ",Y
  1. I I=1 S DGFN=J(I) Q
  1. K DIR S DIR("B")=1,DIR("A")="Select One",DIR(0)="NO^1:"_I D ^DIR K DIR
  1. I Y="" S DGFN=J(1) Q
  1. I $D(DIRUT)!(Y=-1) S DGFN=0 Q
  1. S DGFN=J(+Y)
  1. Q
  1. ;
  1. BOT ; -- bottom half form?
  1. Q:$D(DGZP) K DIR,DGZN W !
  1. S DIR("A")="Print bottom half of form"
  1. S DIR("B")=$S($G(DGDS):"NO",1:"YES"),DIR("?")="",DIR(0)="Y"
  1. S DIR("?",1)="Enter YES if you wish to print the headings for"
  1. S DIR("?",2)=" the second half of the A Sheet form,"
  1. S DIR("?",3)="Enter NO to leave second half blank."
  1. D ^DIR S:Y DGZN="" Q
  1. ;
  1. NOC ; -- number of copies
  1. K DIR S DIR(0)="N^1:10",DIR("B")=1 S DIR("A")="Print How Many Copies"
  1. D ^DIR S DGZC=Y Q
  1. ;
  1. ZIS ; -- select device
  1. S %ZIS="PQ" D ^%ZIS Q
  1. ;
  1. QUE ; -- queued output
  1. S ZTRTN="A^ADGCRB0",ZTDESC="PRINT FORM 44-1"
  1. F I="DFN","DGDS","DGFN","DGZC","DGZN","DGZP" S ZTSAVE(I)=""
  1. D ^%ZTLOAD Q
  1. ;
  1. Q ; -- cleanup
  1. K DGFN,DGZC,ZTSK,X,Y,DIC,IO("Q"),DGZCNT,%ZIS,DGLIN,DGLIN1,DIR
  1. K DGVSDA,DGPOVN0,DGPOVDA,DGN,DGN0,DGN11,DGN21,DGN33,DGDS,DFN,DGZP
  1. D ^%ZISC,HOME^%ZIS Q
  1. ;
  1. DS ;EP; -- day surgery
  1. S DIC="^DPT(",DIC(0)="AQZEM",DIC("A")="Select PATIENT NAME: "
  1. D ^DIC K DIC G:Y'>0 Q S DFN=+Y
  1. DS1 ;EP; -- ds main
  1. D DSSD I Y<1 D Q Q
  1. I $$DSV^ADGCRB5 S DGZP="" K DGZN
  1. D BOT I $D(DIRUT) D Q Q
  1. D NOC I $D(DIRUT) D Q Q
  1. D ZIS I POP D Q Q
  1. I $D(IO("Q")) D QUE,Q Q
  1. D A,Q Q
  1. ;
  1. DSSD ; -- select day surgery date
  1. I '$D(^ADGDS(DFN,"DS")) D S Y=0 Q
  1. . W !,"No Day Surgery for ",$P(^DPT(DFN,0),U),!
  1. S DIC="^ADGDS("_DFN_",""DS"",",DIC(0)="AEFMNQ"
  1. S DIC("B")=$S($D(^ADGDS(DFN,"DS",0)):$P(^(0),U,3),1:"")
  1. D ^DIC S DGDS=+Y
  1. Q
  1. ;
  1. EN1 ;EP; -- A Sheet by Admission date
  1. W @IOF,!!!?24,"PRINT A SHEETS BY ADMISSION DATE",!! S DGDS=0
  1. D DT I X["^"!($D(DTOUT))!(X="") D Q Q
  1. D BOT I $D(DIRUT) D Q Q
  1. D NOC I $D(DIRUT) D Q Q
  1. D ZIS I POP D Q Q
  1. I $D(IO("Q")) D QUE1,Q Q
  1. EN2 D LP1,Q Q
  1. ;
  1. QUE1 ; -- queued output
  1. S ZTRTN="EN2^ADGCRB0",ZTDESC="PRINT FORM 44-1"
  1. F I="DFN","DGDS","DGFN","DGZC","DGZN" S ZTSAVE(I)=""
  1. D ^%ZTLOAD Q
  1. ;
  1. DT ; -- Admission date
  1. S %DT="AEQ",%DT("A")="Select admission date: " D ^%DT Q:Y<0
  1. S SD=Y-.0001,ED=Y+.2400 Q
  1. ;
  1. LP1 ; -- loop admission date
  1. S DGDT=SD F S DGDT=$O(^DGPM("AMV1",DGDT)) Q:'DGDT!(DGDT>ED) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV1",DGDT,DFN)) Q:'DFN D
  1. .. S DGFN=0 F S DGFN=$O(^DGPM("AMV1",DGDT,DFN,DGFN)) Q:'DGFN D A
  1. Q