| 1 | ECXFEKE1 ;BIR/DMA,CML-Print Feeder Keys (CONTINUED); [ 03/28/96  5:44 PM ] ; 4/3/02 2:45pm | 
|---|
| 2 | ;;3.0;DSS EXTRACTS;**11,8,40**;Dec 22, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | SELLABKE() ;** Function to prompt user selection of type of Lab Feeder Key | 
|---|
| 5 | ; | 
|---|
| 6 | ;** Variable Definitions | 
|---|
| 7 | ;**  ECXKEY    - Value of user selection returned to calling code | 
|---|
| 8 | ;**                Returns  N - LMIP Code formated feeder keys | 
|---|
| 9 | ;**                         O - Locally formated feeder keys | 
|---|
| 10 | ;**                        -1 - User uparrow (^) or Time out | 
|---|
| 11 | ; | 
|---|
| 12 | N ECXKEY | 
|---|
| 13 | W !!,"The Feeder Key List for the Feeder System LAB can be printed by:" | 
|---|
| 14 | W !,?5,"(O)ld Feeder Key sort by Local Feeder Key values" | 
|---|
| 15 | W !,?5,"(N)ew Feeder Key sort by LMIP Codes" | 
|---|
| 16 | S DIR(0)="S^O:OLD;N:NEW" | 
|---|
| 17 | S:$D(^ECX(728,1,"LMIP")) DIR("B")="NEW" | 
|---|
| 18 | S:'$D(^ECX(728,1,"LMIP")) DIR("B")="OLD" | 
|---|
| 19 | D ^DIR | 
|---|
| 20 | S:$D(DIRUT) ECXKEY=-1 | 
|---|
| 21 | S:'$D(DIRUT) ECXKEY=Y | 
|---|
| 22 | K Y,DIR,DIRUT,DTOUT,DUOUT | 
|---|
| 23 | Q ECXKEY | 
|---|
| 24 | ; | 
|---|
| 25 | SUR F EC=1:1:16 S EC1=$P($T(@("S"_EC)),";",3),EC2=$P(EC1,U),ECD=$P(EC1,U,2),^TMP($J,"SUR",EC2_"-10",EC)=ECD_" PATIENT TIME",^TMP($J,"SUR",EC2_"-40",EC)=ECD_" SURGEON TIME" D | 
|---|
| 26 | .S ^TMP($J,"SUR",EC2_"-60",EC)=ECD_" RECOVERY ROOM TIME",^TMP($J,"SUR",EC2_"-70",EC)=ECD_" TECHNICIAN TIME",^TMP($J,"SUR",EC2_"-30",EC)=ECD_" CLEANUP TIME" | 
|---|
| 27 | .S ^TMP($J,"SUR",EC2_"-22",1)=ECD_" ANESTHESIA TIME (SPECIAL)" | 
|---|
| 28 | .S ^TMP($J,"SUR",EC2_"-21",1)=ECD_" ANESTHESIA TIME (GENERAL)" | 
|---|
| 29 | .S ^TMP($J,"SUR",EC2_"-23",1)=ECD_" ANESTHESIA TIME (LOCAL)" | 
|---|
| 30 | .S ^TMP($J,"SUR",EC2_"-24",1)=ECD_" ANESTHESIA TIME (SPI/EPI)" | 
|---|
| 31 | .S ^TMP($J,"SUR",EC2_"-25",1)=ECD_" ANESTHESIA TIME (OTHER)" | 
|---|
| 32 | .S ^TMP($J,"SUR",EC2_"-26",1)=ECD_" ANESTHESIA TIME (UNKNOWN)" | 
|---|
| 33 | .S ^TMP($J,"SUR",EC2_"-27",1)=ECD_" ANESTHESIA TIME (MONITORED)" | 
|---|
| 34 | S EC=0 F  S EC=$O(^SRO(131.9,EC)) Q:'EC  I $D(^(EC,0)) S ECD=$P(^(0),U),^TMP($J,"SUR",$$RJ^XLFSTR(EC,5,0),EC)=ECD | 
|---|
| 35 | Q | 
|---|
| 36 | S1 ;;050^GENERAL(OR WHEN NOT DEFINED BELOW) | 
|---|
| 37 | S2 ;;051^GYNECOLOGY | 
|---|
| 38 | S3 ;;052^NEUROSURGERY | 
|---|
| 39 | S4 ;;053^OPHTHALMOLOGY | 
|---|
| 40 | S5 ;;054^ORTHOPEDICS | 
|---|
| 41 | S6 ;;055^OTORHINOLARYNGOLOGY (ENT) | 
|---|
| 42 | S7 ;;056^PLASTIC SURGERY (INCLUDES HEAD AND NECK) | 
|---|
| 43 | S8 ;;057^PROCTOLOGY | 
|---|
| 44 | S9 ;;058^THORACIC SURGERY (INC. CARDIAC SURG.) | 
|---|
| 45 | S10 ;;059^UROLOGY | 
|---|
| 46 | S11 ;;060^ORAL SURGERY (DENTAL) | 
|---|
| 47 | S12 ;;061^PODIATRY | 
|---|
| 48 | S13 ;;062^PERIPHERAL VASCULAR | 
|---|
| 49 | S14 ;;500^CARDIAC SURGERY | 
|---|
| 50 | S15 ;;501^TRANSPLANTATION | 
|---|
| 51 | S16 ;;502^ANESTHESIOLOGY | 
|---|
| 52 | ; | 
|---|
| 53 | DEN F EC=3:1 S EC1=$T(DEN+EC) Q:EC1'?1"D"2N.E  S ECD=$P(EC1,";",3),EC1=$P(EC1," "),^TMP($J,"DEN",EC1,EC)=ECD | 
|---|
| 54 | Q | 
|---|
| 55 | ; | 
|---|
| 56 | D08C ;;COMPLETE EXAM | 
|---|
| 57 | D08S ;;SCREENING EXAM | 
|---|
| 58 | D09 ;;ADMIN PROCEDURE | 
|---|
| 59 | D10 ;;X-RAYS EXTRAORAL # | 
|---|
| 60 | D11 ;;X-RAYS INTRAORAL # | 
|---|
| 61 | D12 ;;PROPHY NATURAL DENTITION | 
|---|
| 62 | D13 ;;PROPHY DENTURE | 
|---|
| 63 | D14 ;;OPERATING ROOM | 
|---|
| 64 | D15 ;;NEOPLASM CONFIRMED MALIGNANT # | 
|---|
| 65 | D16 ;;NEOPLASM REMOVED # | 
|---|
| 66 | D17 ;;BIOPSY/SMEAR # | 
|---|
| 67 | D18 ;;FRACTURE # | 
|---|
| 68 | D20 ;;OTHER SIGNIF. SURG. (CTV) | 
|---|
| 69 | D21 ;;SURFACES RESTORED # | 
|---|
| 70 | D22 ;;ROOT CANAL THERAPY # | 
|---|
| 71 | D23 ;;PERIDONTAL QUADS (SURGICAL) # | 
|---|
| 72 | D24 ;;PERIO QUADS (ROOT PLANE) # | 
|---|
| 73 | D25G ;;PATIENT ED (CTV) GROUP | 
|---|
| 74 | D25I ;;PATIENT ED (CTV) INDIVIDUAL | 
|---|
| 75 | D26S ;;SPOT CHECK EXAM (STAFF) | 
|---|
| 76 | D26F ;;SPOT CHECK EXAM (FEE) | 
|---|
| 77 | D27 ;;INDIVIDUAL CROWNS # | 
|---|
| 78 | D28 ;;POST & CORES # | 
|---|
| 79 | D29 ;;FIXED PARTIALS (ABUT) # | 
|---|
| 80 | D30 ;;FIXED PARTIALS (PONT ONLY) # | 
|---|
| 81 | D31 ;;REMOVABLE PARTIALS # | 
|---|
| 82 | D32 ;;COMPLETE DENTURES # | 
|---|
| 83 | D33 ;;PROSTHETIC REPAIR # | 
|---|
| 84 | D34 ;;SPLINT AND SPEC. PROCESS (CTV) | 
|---|
| 85 | D35 ;;EXTRACTIONS # | 
|---|
| 86 | D36 ;;SURGICAL EXTRACTIONS # | 
|---|
| 87 | D37 ;;OTHER SIG TREATMENT (CTV) | 
|---|
| 88 | D38 ;;DIVISION (STATION DIVISION) | 
|---|
| 89 | D39C ;;COMPLETIONS | 
|---|
| 90 | D39T ;;TERMINATIONS | 
|---|
| 91 | D40 ;;INTERDISCIPLINARY CONSULT | 
|---|
| 92 | D41 ;;EVALUATIONS | 
|---|
| 93 | D42 ;;PRE AUTHORIZATION/2ND OPINION | 
|---|
| 94 | D43M ;;SPOT CHECK DISCREPANCY (STAFF) | 
|---|
| 95 | D43R ;;SPOT CHECK DISCREPANCY (FEE) | 
|---|
| 96 | ; | 
|---|
| 97 | PRINT ; | 
|---|
| 98 | ;setting EC9=EC1 is just for the benefit of the new ECS feeder key list - don't want to mess-up the other lists | 
|---|
| 99 | S (QFLG,PG)=0,$P(LN,"-",81)="" | 
|---|
| 100 | S EC="" F  S EC=$O(^TMP($J,EC)),EC1="" Q:EC=""  Q:QFLG  D HEAD F  S EC1=$O(^TMP($J,EC,EC1)),EC9=EC1,EC2=""  Q:EC1=""  Q:QFLG  D | 
|---|
| 101 | .I EC="CLI" S EC9=$P(EC9,";",2) | 
|---|
| 102 | .I EC="ECS",$G(ECECS)="N" S EC9=$P(EC9,";",2) | 
|---|
| 103 | .I EC="LAB",EC9[".8" S EC9=$$ADD0(EC9) | 
|---|
| 104 | .F  S EC2=$O(^TMP($J,EC,EC1,EC2)) Q:EC2=""  D | 
|---|
| 105 | ..D:($Y+3>IOSL) HEAD Q:QFLG | 
|---|
| 106 | ..I EC="PHA" W !,?2,$E(EC9,2,99),?24,$E($P(^TMP($J,EC,EC1,EC2),U),1,40),?67,$$RJ^XLFSTR($P(^(EC2),U,2),12) Q | 
|---|
| 107 | ..W !,?5,EC9,?27,^TMP($J,EC,EC1,EC2) | 
|---|
| 108 | I $E(IOST)="C"&('QFLG) S DIR(0)="E" D  D ^DIR K DIR | 
|---|
| 109 | .S SS=22-$Y F JJ=1:1:SS W ! | 
|---|
| 110 | K EC,EC1,EC2,EC3,EC9,ECCSC,ECD,ECLIST,ECNDC,ECNDF,ECNFC,ECPHA,ECECS,ECLAB,ECSC,ECST,ECY,JJ,LN,P1,P2,P3,PG,POP,QFLG,SC,SS,X,Y,^TMP($J),DIR,DIRUT,DUOUT | 
|---|
| 111 | W:$E(IOST)'="C" @IOF D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" | 
|---|
| 112 | Q | 
|---|
| 113 | HEAD ; | 
|---|
| 114 | I $E(IOST)="C" S SS=22-$Y F JJ=1:1:SS W ! | 
|---|
| 115 | I $E(IOST)="C",PG>0 S DIR(0)="E" D ^DIR K DIR I 'Y S QFLG=1 Q | 
|---|
| 116 | W:$Y!($E(IOST)="C") @IOF | 
|---|
| 117 | S PG=PG+1 W !,?21,"Feeder Key List For Feeder System ",EC,?70,"Page: ",PG | 
|---|
| 118 | I EC="PHA" W !,?22,"(NEW Feeder Key from NDF Match)",!!,?2,"Feeder Key",?24,"Description",?66,"Price Per",!,?66,"Dispense Unit",!,LN,! Q | 
|---|
| 119 | I $D(ECECS)&(EC="ECS") W !?21,$S(ECECS="O":"(OLD Feeder Key sorted by Category-Procedure)",1:"(NEW Feeder Key sorted by Procedure-CPT Code)") | 
|---|
| 120 | I $D(ECLAB)&(EC="LAB") W !?15,$S(ECLAB="O":"(OLD Feeder Key sorted by Local Feeder Key values)",1:"      (NEW Feeder Key sorted by LMIP Codes)") | 
|---|
| 121 | W !!,?5,"Feeder Key",?27,"Description",!,LN,! | 
|---|
| 122 | Q | 
|---|
| 123 | ADD0(ECXFKEY) ;** Append zeros to decimal place on feeder key | 
|---|
| 124 | ; | 
|---|
| 125 | ;** Variable Definitions | 
|---|
| 126 | ;**  ECXFKEY   - Value of Feeder Key | 
|---|
| 127 | ;**                Returns  feeder key with zeros appended to make a | 
|---|
| 128 | ;**                          four place decimal. | 
|---|
| 129 | ; | 
|---|
| 130 | N ECXD,LPCNT,LPEND,ECXFEKEY,ECXDEC | 
|---|
| 131 | S ECXDEC=$P(ECXFKEY,".",2) | 
|---|
| 132 | S LPEND=4-$L(ECXDEC) | 
|---|
| 133 | F LPCNT=1:1:LPEND S ECXDEC=ECXDEC_"0" | 
|---|
| 134 | S ECXFEKEY=$P(ECXFKEY,".",1)_"."_ECXDEC | 
|---|
| 135 | Q ECXFEKEY | 
|---|
| 136 | ; | 
|---|