| [613] | 1 | SCDXSUP1 ;RENO/KEITH ALB/SCK - Supervisory Options for Ambulatory Care Reporting; 2/26/97
 | 
|---|
 | 2 |  ;;5.3;Scheduling;**104,127,132**;Aug 13,1993
 | 
|---|
 | 3 |  Q
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | APPTY ; Edit Appointment type for Add/Edit
 | 
|---|
 | 6 |  N DIC,DTOUT,DUTOUT,SCDFN,SCI,SCG,SCOUT,SCDT,DIR,DIRUT
 | 
|---|
 | 7 |  ;
 | 
|---|
 | 8 |  S SCBD=$$ASKDT("Beginning") G:SCBD<0 APPQ
 | 
|---|
 | 9 | APP1 S SCED=$$ASKDT("Ending") G:SCED<0 APPQ
 | 
|---|
 | 10 |  I SCED<SCBD D  G APP1
 | 
|---|
 | 11 |  . W !!,"Ending date cannot be earlier than the beginning date!"
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 | ASK S DIC="^DPT(",DIC(0)="AEMQ"
 | 
|---|
 | 14 |  D ^DIC K DIC
 | 
|---|
 | 15 |  G:$D(DTOUT)!$D(DUOUT) APPQ
 | 
|---|
 | 16 |  G:Y'>0 EXIT
 | 
|---|
 | 17 |  S SCDFN=+Y
 | 
|---|
 | 18 |  ;
 | 
|---|
 | 19 |  I '$D(^SCE("C",SCDFN)) D  G ASK
 | 
|---|
 | 20 |  . W !!,"This patient has no outpatient encounters on file!",!!
 | 
|---|
 | 21 |  ;
 | 
|---|
 | 22 |  K ^TMP("SCEA",$J)
 | 
|---|
 | 23 |  S (SCI,SCG,SCOUT)=0
 | 
|---|
 | 24 |  ;
 | 
|---|
 | 25 |  D WAIT^DICD
 | 
|---|
 | 26 |  W !
 | 
|---|
 | 27 |  S SCDT=SCED+.999999
 | 
|---|
 | 28 |  F  S SCDT=$O(^SCE("ADFN",SCDFN,SCDT),-1) Q:'SCDT!(SCOUT)!(SCDT<SCBD)  D
 | 
|---|
 | 29 |  . S SCI=SCI+1
 | 
|---|
 | 30 |  . S SCDT=$P(SCDT,".") ; -- reset to stop processing date
 | 
|---|
 | 31 |  . S ^TMP("SCEA",$J,1,SCI)=SCDT
 | 
|---|
 | 32 |  . W !,SCI,?5,$$FMTE^XLFDT(SCDT,"1P")
 | 
|---|
 | 33 |  . I SCI#5=0 D GET(SCI)
 | 
|---|
 | 34 |  ;
 | 
|---|
 | 35 |  I SCI'>0 D  G ASK
 | 
|---|
 | 36 |  . W !!,"No encounters on file for this patient during this date range.",!
 | 
|---|
 | 37 |  ;
 | 
|---|
 | 38 |  I SCI#5'=0 D GET(SCI)
 | 
|---|
 | 39 |  D:SCG SCED
 | 
|---|
 | 40 |  G ASK
 | 
|---|
 | 41 | APPQ ;
 | 
|---|
 | 42 |  K DIE,DR,DTOUT,DUOUT
 | 
|---|
 | 43 |  Q
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 | EXIT ;
 | 
|---|
 | 46 |  Q
 | 
|---|
 | 47 |  ;
 | 
|---|
 | 48 | GET(SCN) ;  Select appointment from list
 | 
|---|
 | 49 |  N DIR,DIRUT,DUOUT,DTOUT
 | 
|---|
 | 50 |  K DIR
 | 
|---|
 | 51 |  W !
 | 
|---|
 | 52 |  S DIR(0)="NO^1:"_SCN,DIR("A")="Select number, or ENTER to continue"
 | 
|---|
 | 53 |  S DIR("?",1)="Select entry to edit appointment type for from the list above"
 | 
|---|
 | 54 |  S DIR("?")="Press ENTER to continue."
 | 
|---|
 | 55 |  D ^DIR K DIR
 | 
|---|
 | 56 |  I $D(DUOUT)!($D(DTOUT)) S SCOUT=1 Q
 | 
|---|
 | 57 |  I $D(DIRUT) Q
 | 
|---|
 | 58 |  I Y S SCG=Y,SCOUT=1
 | 
|---|
 | 59 |  Q
 | 
|---|
 | 60 |  ;
 | 
|---|
 | 61 | SCED ; Select stop code
 | 
|---|
 | 62 |  N DIC,DIR,DIE,DR,SCK,DA,SCY,SCLINE,SUCCESS,SCDT,SCDATE,SCE,SCE0,SDLOG
 | 
|---|
 | 63 |  ;
 | 
|---|
 | 64 |  S SCDATE=^TMP("SCEA",$J,1,SCG)
 | 
|---|
 | 65 |  ;
 | 
|---|
 | 66 |  S SCDT=SCDATE
 | 
|---|
 | 67 |  F  S SCDT=$O(^SCE("ADFN",SCDFN,SCDT)) Q:'SCDT!($P(SCDT,".")'=SCDATE)  D
 | 
|---|
 | 68 |  . S SCE=0
 | 
|---|
 | 69 |  . F  S SCE=$O(^SCE("ADFN",SCDFN,SCDT,SCE)) Q:'SCE  D
 | 
|---|
 | 70 |  . . S SCE0=$G(^SCE(SCE,0))
 | 
|---|
 | 71 |  . . I $P($G(^SC(+$P(SCE0,U,4),"OOS")),U),$G(^SCE(SCE,"CG")) D SET
 | 
|---|
 | 72 |  ;
 | 
|---|
 | 73 |  I '$D(SCK) D  Q
 | 
|---|
 | 74 |  . W !!,"No occasion-of-service add/edits for this patient/date.",!
 | 
|---|
 | 75 |  ;
 | 
|---|
 | 76 |  I $D(SCK) D
 | 
|---|
 | 77 |  . W !!,"Appt. DT",?24,"Location",?60,"Appt. Type"
 | 
|---|
 | 78 |  . S SCLINE="",$P(SCLINE,"-",(IOM-1))="" W !,SCLINE
 | 
|---|
 | 79 |  ;
 | 
|---|
 | 80 |  S SCE=0
 | 
|---|
 | 81 |  F  S SCE=$O(SCK(SCE)) Q:'SCE  D  W !!
 | 
|---|
 | 82 |  . S Y=$P(SCK(SCE),U) X ^DD("DD")
 | 
|---|
 | 83 |  . W !,Y,?24,$E($P(SCK(SCE),U,2),1,30),?60,$E($P(SCK(SCE),U,3),1,18)
 | 
|---|
 | 84 |  ;
 | 
|---|
 | 85 |  K DIC
 | 
|---|
 | 86 |  S DIC="^SD(409.1,",DIC(0)="AEMQ"
 | 
|---|
 | 87 |  S DIC("A")="Select new appointment type for these encounters: "
 | 
|---|
 | 88 |  S DIC("B")="COMPUTER GENERATED"
 | 
|---|
 | 89 |  D ^DIC K DIC
 | 
|---|
 | 90 |  Q:$D(DTOUT)!$D(DUOUT)
 | 
|---|
 | 91 |  Q:Y<1
 | 
|---|
 | 92 |  S SCY=$P(Y,U)
 | 
|---|
 | 93 |  ;
 | 
|---|
 | 94 |  K DIR
 | 
|---|
 | 95 |  S DIR(0)="Y",DIR("A")="OK to change to "_$P(Y,U,2),DIR("B")="YES"
 | 
|---|
 | 96 |  D ^DIR K DIR
 | 
|---|
 | 97 |  Q:$D(DTOUT)!$D(DUOUT)
 | 
|---|
 | 98 |  Q:'Y
 | 
|---|
 | 99 |  ;
 | 
|---|
 | 100 |  K DIE,DR
 | 
|---|
 | 101 |  S DA=0
 | 
|---|
 | 102 |  F  S DA=$O(SCK(DA)) Q:'DA  D
 | 
|---|
 | 103 |  . K SUCCESS
 | 
|---|
 | 104 |  . L +^SCE(DA):5 S SUCCESS=$S(($T):1,1:0)
 | 
|---|
 | 105 |  . I SUCCESS D
 | 
|---|
 | 106 |  .. S DIE="^SCE(",DR=".1////^S X=SCY"
 | 
|---|
 | 107 |  .. D ^DIE K DIE
 | 
|---|
 | 108 |  .. D LOGDATA^SDAPIAP(DA,.SDLOG)
 | 
|---|
 | 109 |  . E  D
 | 
|---|
 | 110 |  .. W !,"Outpatient Encounter entry: "_DA_" for "_$P($G(^DPT(SCDFN,0)),U)_" is in use, cannot edit."
 | 
|---|
 | 111 |  . L -^SCE(DA)
 | 
|---|
 | 112 |  ;
 | 
|---|
 | 113 |  W !,"Done."
 | 
|---|
 | 114 |  Q
 | 
|---|
 | 115 |  ;
 | 
|---|
 | 116 | SET ;
 | 
|---|
 | 117 |  N SCDT,SCCL,SCTY
 | 
|---|
 | 118 |  ;
 | 
|---|
 | 119 |  S SCDT=+SCE0
 | 
|---|
 | 120 |  S SCCL=$P(^SC($P(SCE0,U,4),0),U)
 | 
|---|
 | 121 |  S SCTY=$P($G(^SD(409.1,+$P(SCE0,U,10),0)),U)
 | 
|---|
 | 122 |  S:SCDT SCK(SCE)=SCDT_U_SCCL_U_SCTY
 | 
|---|
 | 123 |  Q
 | 
|---|
 | 124 |  ;
 | 
|---|
 | 125 | ASKDT(TXT) ; Enter beginning date for searching outpatient encounter file
 | 
|---|
 | 126 |  S DIR(0)="DA^2961001:NOW:EXP",DIR("A")="Enter "_TXT_" date for search: "
 | 
|---|
 | 127 |  S DIR("?")="^D HELP^%DTC"
 | 
|---|
 | 128 |  S DIR("B")=$$FMTE^XLFDT($$DT^XLFDT())
 | 
|---|
 | 129 |  D ^DIR K DIR
 | 
|---|
 | 130 |  S:$D(DIRUT) Y=-1
 | 
|---|
 | 131 |  K DIRUT
 | 
|---|
 | 132 |  Q Y
 | 
|---|