[613] | 1 | DGENACL ;ALB/MRY - NEW ENROLLEE APPOINTMENT CALL LIST - UPDATE ;02/15/2008
|
---|
| 2 | ;;5.3;Registration;**779**;08/13/93;Build 11
|
---|
| 3 | ;
|
---|
| 4 | EDIT ;-Entry point - Edit Appointment Request Status and Comment option
|
---|
| 5 | N DIC,DIE,DA,DR,Y,DFN
|
---|
| 6 | S DIC="^DPT(",DIC(0)="AEQMZ" D ^DIC G Q:Y'>0 S DFN=+Y
|
---|
| 7 | S DIE=DIC,DA=+Y,DR="[DGEN NEACL]" D ^DIE W !!
|
---|
| 8 | G EDIT
|
---|
| 9 | Q Q
|
---|
| 10 | ;
|
---|
| 11 | REPORT(DGRPT) ;-Entry point - Call List/Tracking reports
|
---|
| 12 | ;
|
---|
| 13 | ; DGRPT: 1 = Call List: New enrollee appt. request/no appt. assigned.
|
---|
| 14 | ; 2 = Tracking Report: New enrollee appt. request/by date range
|
---|
| 15 | ;
|
---|
| 16 | N DGBEG,DGEND,DTOUT,DUOUT,DIRUT,DGFMT1,DGFMT2
|
---|
| 17 | S (DGBEG,DGEND)=""
|
---|
| 18 | I $G(DGRPT)'=1&($G(DGRPT)'=2) G Q
|
---|
| 19 | I DGRPT=1 D FMT1 I $D(DTOUT)!($D(DUOUT)) G Q
|
---|
| 20 | I DGRPT=2 D FMT2,DATE I $D(DTOUT)!($D(DUOUT)) G Q
|
---|
| 21 | N ZTDESC,ZTRTN,ZTSAVE,ZTSK,ZUSR,ZTDTH,POP,X,ERR
|
---|
| 22 | K IOP,%ZIS
|
---|
| 23 | S %ZIS="Q" D ^%ZIS G:POP EXIT
|
---|
| 24 | I $D(IO("Q")) D Q
|
---|
| 25 | . S (ZTSAVE("DGRPT"),ZTSAVE("DGFMT1"),ZTSAVE("DGFMT2"),ZTSAVE("DGBEG"),ZTSAVE("DGEND"))=""
|
---|
| 26 | . S ZTRTN="BUILD^DGENACL",ZTDESC="NEW ENROLLEE APPT. CALL LIST REPORT",ZTDTH=$H
|
---|
| 27 | . D ^%ZTLOAD
|
---|
| 28 | . D ^%ZISC,HOME^%ZIS
|
---|
| 29 | . W !,$S($D(ZTSK):"REQUEST QUEUED!",1:"REQUEST CANCELLED!")
|
---|
| 30 | D BUILD
|
---|
| 31 | EXIT D ^%ZISC,HOME^%ZIS
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | BUILD ;-Build temp global
|
---|
| 35 | K ^TMP($J,"DGEN NEACL")
|
---|
| 36 | N DFNIEN,DGDT,DGEDT
|
---|
| 37 | I DGRPT=1 S DFNIEN=0 F S DFNIEN=$O(^DPT("AEAR",1,DFNIEN)) Q:'DFNIEN D
|
---|
| 38 | . I $$GET1^DIQ(2,DFNIEN,1010.159,"I") D EXTRACT
|
---|
| 39 | I DGRPT=2 D
|
---|
| 40 | . S DGDT=DGBEG-.01,DGEDT=DGEND_.999
|
---|
| 41 | . F S DGDT=$O(^DPT("AEACL",DGDT)) Q:'DGDT!(DGDT>DGEDT) D
|
---|
| 42 | .. S DFNIEN=0 F S DFNIEN=$O(^DPT("AEACL",DGDT,DFNIEN)) Q:'DFNIEN D
|
---|
| 43 | ... I $$GET1^DIQ(2,DFNIEN,1010.159,"I") D EXTRACT
|
---|
| 44 | D PRINT^DGENACL1
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | EXTRACT ;
|
---|
| 48 | N DGNAM,DGSSN,DGRDTI,DGENRIEN,DGENR,DGENCAT,DGENSTA,DGENPRI,DGENCV,DGENCVDT,DGENCVEL,DGSTA,DGCOM
|
---|
| 49 | N SDCNT,SDADT,SDARRY,SDCL,Y,FDATA
|
---|
| 50 | ;if call list, don't list if appointment made or request status
|
---|
| 51 | ;'filled' or 'completed'.
|
---|
| 52 | D APPTCK Q:'DGRDTI
|
---|
| 53 | S SDADT=$G(SDADT) I DGRPT=1 Q:(SDCNT>0)!(DGSTA="C")!(DGSTA="F")
|
---|
| 54 | S DGNAM=$$GET1^DIQ(2,DFNIEN,.01),DGSSN=$E($$GET1^DIQ(2,DFNIEN,.09),6,9)
|
---|
| 55 | S DGENRIEN=$$FINDCUR^DGENA(DFNIEN)
|
---|
| 56 | I DGENRIEN,$$GET^DGENA(DGENRIEN,.DGENR) ;set-up enrollment arry
|
---|
| 57 | ;I DGENR("APP"))>3050731 D
|
---|
| 58 | S DGENCAT=$$CATEGORY^DGENA4(,$G(DGENR("STATUS"))) ;enrollment category
|
---|
| 59 | I DGENCAT'="E" Q
|
---|
| 60 | S DGENCAT=$$EXTERNAL^DILFD(27.15,.02,"",DGENCAT)
|
---|
| 61 | S DGENSTA=$S($G(DGENR("STATUS")):$$EXT^DGENU("STATUS",DGENR("STATUS")),1:"")
|
---|
| 62 | S DGENPRI=$S($G(DGENR("PRIORITY")):DGENR("PRIORITY"),1:"")_$S($G(DGENR("SUBGRP")):$$EXT^DGENU("SUBGRP",DGENR("SUBGRP")),1:"")
|
---|
| 63 | S DGENCV=$$CVEDT^DGCV(DFNIEN),DGENCVDT=$P($G(DGENCV),"^",2),DGENCVEL=$P($G(DGENCV),"^",3)
|
---|
| 64 | S ^TMP($J,"DGEN NEACL",$S(DGSTA="":1,DGSTA="I":2,DGSTA="E":3,DGSTA="F":4,1:DGSTA),DGRDTI,DGNAM,DFNIEN)=SDADT
|
---|
| 65 | I $G(DGENCAT)'=""!($G(DGENSTA)'="")!($G(DGENPRI)'="")!($G(DGENCVEL)'="") D
|
---|
| 66 | . S ^TMP($J,"DGEN NEACL",$S(DGSTA="":1,DGSTA="I":2,DGSTA="E":3,DGSTA="F":4,1:DGSTA),DGRDTI,DGNAM,DFNIEN,"PRIORITY")=DGENCAT_"^"_DGENSTA_"^"_DGENPRI_"^"_DGENCVEL
|
---|
| 67 | Q
|
---|
| 68 | ;
|
---|
| 69 | APPTCK ;If appointment (SDCNT), get appointment date/time (SDADT).
|
---|
| 70 | K ^TMP($J,"SDAMA301")
|
---|
| 71 | ;quit, if no 'date appointment questioned asked?'
|
---|
| 72 | S DGRDTI=$$GET1^DIQ(2,DFNIEN,1010.1511,"I") Q:'DGRDTI
|
---|
| 73 | S DGSTA=$$GET1^DIQ(2,DFNIEN,1010.161,"I")
|
---|
| 74 | S SDARRY(1)=DGRDTI_";",SDARRY(4)=DFNIEN,SDARRY("FLDS")=1,SDARRY("MAX")=1
|
---|
| 75 | S SDCNT=$$SDAPI^SDAMA301(.SDARRY) Q:(SDCNT'>0)
|
---|
| 76 | S SDCL=0 F S SDCL=$O(^TMP($J,"SDAMA301",DFNIEN,SDCL)) Q:'SDCL D
|
---|
| 77 | . S SDADT=$O(^TMP($J,"SDAMA301",DFNIEN,SDCL,0))
|
---|
| 78 | ;if appointment and no status or EWL, set status to 'filled'.
|
---|
| 79 | ;I (DGSTA="")!(DGSTA="E") D
|
---|
| 80 | ;if appointment and status '="filled", set status to 'filled'
|
---|
| 81 | I DGSTA'="F" D
|
---|
| 82 | . S DGCOM=$$GET1^DIQ(2,DFNIEN,1010.163)
|
---|
| 83 | . S DGCOM=DGCOM_$S(DGCOM'="":"<>",1:"")_"AutoComm:"_$S(DGSTA="":"null",1:$S($$GET1^DIQ(2,DFNIEN,1010.161,"I")="I":"IN PROGRESS",1:$$GET1^DIQ(2,DFNIEN,1010.161)))_"|FILLED"
|
---|
| 84 | . S FDATA(2,DFNIEN_",",1010.161)="F"
|
---|
| 85 | . S FDATA(2,DFNIEN_",",1010.163)=DGCOM
|
---|
| 86 | . D FILE^DIE("","FDATA","DPTERR")
|
---|
| 87 | . S DGSTA=$$GET1^DIQ(2,DFNIEN,1010.161,"I")
|
---|
| 88 | Q
|
---|
| 89 | ;
|
---|
| 90 | DATE N X1,X2,DIROUT
|
---|
| 91 | S DIR(0)="DAO^,"_DT_",::EX"
|
---|
| 92 | S X1=DT,X2=-7 D C^%DTC
|
---|
| 93 | S Y=X D DD^%DT
|
---|
| 94 | S DIR("A")="APPOINTMENT REQUEST ON 1010EZ START DATE: "
|
---|
| 95 | S DIR("B")=Y
|
---|
| 96 | S DIR("?")="Enter a date that an enrollee was asked question."
|
---|
| 97 | D ^DIR K DIR
|
---|
| 98 | I $D(DIROUT) S DTOUT=1
|
---|
| 99 | I $D(DTOUT)!($D(DUOUT)) Q
|
---|
| 100 | S DGBEG=Y
|
---|
| 101 | S DIR(0)="DAO^"_DGBEG_","_DT_"::EX"
|
---|
| 102 | S Y=DT D DD^%DT S DGDT=Y
|
---|
| 103 | S DIR("B")=DGDT
|
---|
| 104 | S DIR("A")="APPOINTMENT REQUEST ON 1010EZ END DATE: "
|
---|
| 105 | S DIR("?")="Enter a date that an enrollee was asked question."
|
---|
| 106 | D ^DIR K DIR
|
---|
| 107 | I $D(DIROUT) S DTOUT=1
|
---|
| 108 | I $D(DTOUT)!($D(DUOUT)) Q
|
---|
| 109 | S DGEND=Y
|
---|
| 110 | I $G(DGBEG)']""!($G(DGEND)']"") W !!,"DATE RANGE NOT SET. EXITING" S DUOUT=1
|
---|
| 111 | Q
|
---|
| 112 | FMT1 ;Call List D/S
|
---|
| 113 | N DIR
|
---|
| 114 | K DIR S DIR("A")="Select report format",DIR(0)="S^D:DETAILED;S:SHORT"
|
---|
| 115 | S DIR("?",1)="SHORT format lists enrollee appointment requests w/o an appointment."
|
---|
| 116 | S DIR("?")="DETAILED format, in addition, lists patient lookup information."
|
---|
| 117 | S DIR("B")="SHORT" D ^DIR Q:$D(DIRUT)
|
---|
| 118 | S DGFMT1=Y
|
---|
| 119 | Q
|
---|
| 120 | FMT2 ;Tracking Report D/S
|
---|
| 121 | N DIR
|
---|
| 122 | K DIR S DIR("A")="Select report format",DIR(0)="S^D:DETAILED;S:SUMMARY"
|
---|
| 123 | S DIR("?",1)="SUMMARY format lists totals of enrollee appointment requests."
|
---|
| 124 | S DIR("?")="DETAILED format, lists individual enrollee appointment requests."
|
---|
| 125 | S DIR("B")="SUMMARY" D ^DIR Q:$D(DIRUT)
|
---|
| 126 | S DGFMT2=Y
|
---|
| 127 | Q
|
---|
| 128 | BCKJOB(DGRPT) ;Queued entry point
|
---|
| 129 | S DGRPT=$G(DGRPT) I DGRPT'=1 Q
|
---|
| 130 | S DGFMT1="D"
|
---|
| 131 | D BUILD
|
---|
| 132 | Q
|
---|