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

SDES933P.m

Go to the documentation of this file.
SDES933P ;ALB/BLB - SD*5.3*933 Post Init Routine ; Nov 06, 2025
 ;;5.3;SCHEDULING;**933**;AUG 13, 1993;Build 2
 ;;Per VHA Directive 6402, this routine should not be modified
 ;;
 Q
 ;
EN ;
 D TASK
 Q
 ;
TASK ; tasks off process to update the direct patient schedule field in the hospital location file
 D MES^XPDUTL("")
 D MES^XPDUTL(" SD*5.3*933 Post-Install to create utilization report for off hour clinics.")
 D MES^XPDUTL("")
 N ZTDESC,ZTRTN,ZTIO,ZTSK,X,ZTDTH,ZTSAVE
 S ZTDESC="SD*5.3*933 Post Install Routine Task 1"
 D NOW^%DTC
 S ZTDTH=$P($H,",",1)_","_86399,ZTIO="",ZTRTN="REPORT^SDES933P",ZTSAVE("*")=""
 D ^%ZTLOAD
 I $D(ZTSK) D
 . D MES^XPDUTL(" >>>Task "_ZTSK_" has been queued.")
 . D MES^XPDUTL("")
 I '$D(ZTSK) D
 . D MES^XPDUTL(" UNABLE TO QUEUE THIS JOB.")
 . D MES^XPDUTL(" Please contact the National Help Desk to report this issue.")
 Q
REPORT ;
 D SLOTS
 D MAIL
 Q
 ;
MAIL     ;
 N STANUM,MESS1,XMTEXT,XMSUB,XMY,XMDUZ,DIFROM,%,D,D0,D1,D2,DG,DIC,DICR,DIW,XMDUN,XMZ
 S STANUM=$$KSP^XUPARAM("INST")_","
 S STANUM=$$GET1^DIQ(4,STANUM,99)
 S MESS1="Station: "_STANUM_" - "
 S XMDUZ=DUZ
 S XMTEXT="^XTMP(""SDES933P"","
 S XMSUB=MESS1_"SD*5.3*933 - Post Install Data Report"
 S XMDUZ=.5,XMY(DUZ)="",XMY(XMDUZ)=""
 S XMY("BARBER.LORI@DOMAIN.EXT")=""
 S XMY("DUNNAM.DAVID@DOMAIN.EXT")=""
 S XMY("CRUZ.ORLANDO@DOMAIN.EXT")=""
 S XMY("BUTLER.BRANDON@DOMAIN.EXT")=""
 D ^XMD
 Q
 ;
SLOTS ;
 N CLINICIEN,INCLUDED,STOPCODES,DIVISION,INSTITUTION,STOPCODE,BUCKET,STOPCODEIEN,DAYOFTHEWEK,SLOTS,DATE,SLOTCOUNTS,STOPCODES,SLOTDATETIME
 N THIRTY,ONEEIGHTY,THREESIXTYFIVE,TYPE,STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,CURRENTSLOTS,FOUND,MONTH,CLINICNAME
 N ORIGINALSLOTS,SCHEDULEDATE,SECONDARY,TDATE,SECONDARYIEN,SLOTCOUNT,SLOTSTART,SUBIEN,TIME,TIMEPERIOD,TOTALSLOTS,UNUSEDSLOTS,USEDSLOTS,FISCALQT
 N FISCALYR,RANGE,LASTAPPTDATETIME,TELEHEALTH
 ;
 D POPULATE(.STOPCODES,.INCLUDED,.TELEHEALTH)
 S CLINICIEN=0
 F  S CLINICIEN=$O(INCLUDED(CLINICIEN)) Q:'CLINICIEN  D
 .S CLINICNAME=$$GET1^DIQ(44,CLINICIEN,.01,"E")
 .I $$INACTIVE^SDES2UTIL(CLINICIEN,DT) Q
 .;
 .S SERVICE=$G(INCLUDED(CLINICIEN))
 .S STATION=$$GET1^DIQ(4,$$GET1^DIQ(40.8,$$GET1^DIQ(44,CLINICIEN,3.5,"I"),.07,"I"),99)
 .;
 .S LASTAPPTDATETIME=$O(^SC(CLINICIEN,"S",99999999999),-1)
 .I $G(LASTAPPTDATETIME)="" Q
 .I $$FMDIFF^XLFDT(DT,$P(LASTAPPTDATETIME,"."))>30 Q
 .;
 .S SECONDARY=$$GET1^DIQ(40.7,$$GET1^DIQ(44,CLINICIEN,2503,"I"),1,"E")
 .S MODAL="In Person"
 .I SECONDARY,$D(TELEHEALTH(SECONDARY)) S MODAL="Telehealth"
 .I $$GET1^DIQ(40.7,$$GET1^DIQ(44,CLINICIEN,8,"I"),1,"E")=683 S MODAL="Telehealth"
 .;
 .K @$NA(^TMP($J,"SLOTSEARCH"))
 .D GETSLOTS^SDEC57($NA(^TMP($J,"SLOTSEARCH")),$$GETRES^SDES2UTIL1(CLINICIEN),3231001,DT)
 .;
 .I '$D(^TMP($J,"SLOTSEARCH")) Q
 .;
 .S SLOTCOUNT=0
 .F  S SLOTCOUNT=$O(^TMP($J,"SLOTSEARCH",SLOTCOUNT)) Q:'SLOTCOUNT  D
 ..;
 ..S SLOTSTART=+$P($G(^TMP($J,"SLOTSEARCH",SLOTCOUNT)),U,2),DATE=$P(SLOTSTART,".")
 ..S DATE=$P(SLOTSTART,".")
 ..S SCHEDULEDATE=$S('$D(^SC(CLINICIEN,"T",DATE)):$$GETINDEFSLOTDATE(CLINICIEN,$$FMADD^XLFDT(DATE,1),$$UP^XLFSTR($$DOW^XLFDT(DATE,1))),1:DATE)
 ..I 'SCHEDULEDATE Q
 ..;
 ..S CURRENTSLOTS=$P($G(^TMP($J,"SLOTSEARCH",SLOTCOUNT)),U,4)
 ..S MONTH=$E(DATE,4,5)
 ..S FISCALQUAR=$S(MONTH<04:"Fiscal Quarter 2",MONTH<07:"Fiscal Quarter 3",MONTH<10:"Fiscal Quarter 4",1:"Fiscal Quarter 1")
 ..S FISCALYEAR=20_$S(MONTH<10:$E(DATE,2,3),1:$E(DATE,2,3)+1)
 ..S RANGE=$E($$DOW^XLFDT(DATE),1,2)_$S($E(SLOTSTART,8,$L(SLOTSTART))<.08:"AM",$E(SLOTSTART,8,$L(SLOTSTART))<.163:"TRAD",1:"PM")
 ..I RANGE["Sa"!(RANGE["Su") S RANGE=$TR(RANGE,"TRAD","")
 ..S BUCKET=$S(RANGE["TRAD":"TRAD","MoAM FrAM"[RANGE:"MO/FR/AM","MoPM FrPM"[RANGE:"MO/FR/PM","TuAM WeAM ThAM"[RANGE:"TU/WE/TH/AM","TuPM WePM ThPM"[RANGE:"TU/WE/TH/PM",1:"WEEKEND")
 ..;
 ..S SUBIEN=0,SLOTDATETIME=0,FOUND=0
 ..F  S SUBIEN=$O(^SC(CLINICIEN,"T",SCHEDULEDATE,2,SUBIEN)) Q:'SUBIEN!(FOUND=1)  D
 ...;
 ...I SLOTSTART'=$$HTFM^XLFDT($$FMTH^XLFDT(DATE_"."_$$GET1^DIQ(44.004,SUBIEN_","_SCHEDULEDATE_","_CLINICIEN_",",.01,"I"))) Q
 ...;
 ...S ORIGINALSLOTS=$$GET1^DIQ(44.004,SUBIEN_","_SCHEDULEDATE_","_CLINICIEN_",",1,"I")
 ...S SLOTCOUNTS(STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,"TOTAL SLOTS")=$G(SLOTCOUNTS(STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,"TOTAL SLOTS"))+ORIGINALSLOTS
 ...S SLOTCOUNTS(STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,"USED SLOTS")=$G(SLOTCOUNTS(STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,"USED SLOTS"))+ORIGINALSLOTS-CURRENTSLOTS
 ...S SLOTCOUNTS(STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,"UNUSED SLOTS")=$G(SLOTCOUNTS(STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,"TOTAL SLOTS"))-$G(SLOTCOUNTS(STATION,MODAL,FISCALYEAR,FISCALQUAR,SERVICE,BUCKET,"USED SLOTS"))
 ...S FOUND=1
 ;
 K ^XTMP("SDES933P")
 S ^XTMP("SDES933P",0)=$$FMADD^XLFDT(DT,30)_"^"_DT_"^SD*5.3*933"
 S COUNT=1
 S ^XTMP("SDES933P",COUNT)="**********************************SLOT REPORT**********************************"
 S COUNT=COUNT+1
 S ^XTMP("SDES933P",COUNT)="Station Number^Modality^Fiscal Year^Fiscal Quarter^Service^Grouping^Total Slots^Used Slots^Unused Slots"
 S COUNT=COUNT+1
 ;
 S STATION=0
 F  S STATION=$O(SLOTCOUNTS(STATION)) Q:'STATION  D
 .;
 .S MODAL=0
 .F  S MODAL=$O(SLOTCOUNTS(STATION,MODAL)) Q:MODAL=""  D
 ..;
 ..S FISCALYR=0
 ..F  S FISCALYR=$O(SLOTCOUNTS(STATION,MODAL,FISCALYR)) Q:FISCALYR=""  D
 ...;
 ...S FISCALQT=0
 ...F  S FISCALQT=$O(SLOTCOUNTS(STATION,MODAL,FISCALYR,FISCALQT)) Q:FISCALQT=""  D
 ....;
 ....S SERVICE=0
 ....F  S SERVICE=$O(SLOTCOUNTS(STATION,MODAL,FISCALYR,FISCALQT,SERVICE)) Q:SERVICE=""  D
 .....;
 .....S BUCKET=0
 .....F  S BUCKET=$O(SLOTCOUNTS(STATION,MODAL,FISCALYR,FISCALQT,SERVICE,BUCKET)) Q:BUCKET=""  D
 ......;
 ......S ^XTMP("SDES933P",COUNT)=STATION_U_MODAL_U_FISCALYR_U_FISCALQT_U_SERVICE_U_BUCKET
 ......S ^XTMP("SDES933P",COUNT)=^XTMP("SDES933P",COUNT)_U_+SLOTCOUNTS(STATION,MODAL,FISCALYR,FISCALQT,SERVICE,BUCKET,"TOTAL SLOTS")
 ......S ^XTMP("SDES933P",COUNT)=^XTMP("SDES933P",COUNT)_U_+SLOTCOUNTS(STATION,MODAL,FISCALYR,FISCALQT,SERVICE,BUCKET,"USED SLOTS")
 ......S ^XTMP("SDES933P",COUNT)=^XTMP("SDES933P",COUNT)_U_+SLOTCOUNTS(STATION,MODAL,FISCALYR,FISCALQT,SERVICE,BUCKET,"UNUSED SLOTS")
 ......S COUNT=COUNT+1
 Q
 ;
GETINDEFSLOTDATE(CLINICIEN,DATE,TNODE) ;
 N INDEFDATE
 ;
 S INDEFDATE=0
 F  S DATE=$O(^SC(CLINICIEN,"T",DATE),-1) Q:'DATE!($G(INDEFDATE))  I $$DOW^XLFDT(DATE,1)=TNODE,'$D(^SC(CLINICIEN,"OST",DATE)) S INDEFDATE=DATE
 Q INDEFDATE
 ;
POPULATE(STOPCODES,INCLUDED,TELEHEALTH) ;
 N STOPCODE,STOPCODEIEN,COUNT,SECONDARIES,SERVICE
 ;
 D GETSTOPCODES(.STOPCODES,.TELEHEALTH)
 ;
 S STOPCODE=0,COUNT=0
 F  S STOPCODE=$O(STOPCODES(STOPCODE)) Q:'STOPCODE  D
 .S STOPCODEIEN=$O(^DIC(40.7,"C",STOPCODE,""))
 .S SERVICE=$G(STOPCODES(STOPCODE))
 .I $$GET1^DIQ(40.7,STOPCODEIEN,5,"E")'="Primary" S SECONDARIES(STOPCODE)=SERVICE
 .;
 .S CLINICIEN=0
 .F  S CLINICIEN=$O(^SC("AST",STOPCODEIEN,CLINICIEN)) Q:'CLINICIEN  D
 ..I $E($$GET1^DIQ(44,CLINICIEN,.01),1,2)="ZZ" Q
 ..S INCLUDED(CLINICIEN)=SERVICE
 ;
 S SECONDARY=0
 F  S SECONDARY=$O(SECONDARIES(SECONDARY)) Q:'SECONDARY  D
 .S SECONDARYIEN=$O(^DIC(40.7,"C",SECONDARY,""))
 .S SERVICE=$G(SECONDARIES(SECONDARY))
 .;
 .S CLINICIEN=0
 .F  S CLINICIEN=$O(^SC("ACST",SECONDARYIEN,CLINICIEN)) Q:'CLINICIEN  D
 ..I $E($$GET1^DIQ(44,CLINICIEN,.01),1,2)="ZZ" Q
 ..S INCLUDED(CLINICIEN)=$G(SECONDARIES(SECONDARY))
 Q
 ;
GETSTOPCODES(STOPCODES,TELEHEALTH) ;
 N MHLTH,OTH,PCARE,REHAB,SPEC
 S MHLTH="Mental Health"
 S OTH="Other"
 S PCARE="Primary Care"
 S REHAB="Rehab and Extended Care"
 S SPEC="Specialty Care"
 S STOPCODES(502)=MHLTH
 S STOPCODES(513)=MHLTH
 S STOPCODES(523)=MHLTH
 S STOPCODES(527)=MHLTH
 S STOPCODES(533)=MHLTH
 S STOPCODES(534)=MHLTH
 S STOPCODES(539)=MHLTH
 S STOPCODES(545)=MHLTH
 S STOPCODES(550)=MHLTH
 S STOPCODES(560)=MHLTH
 S STOPCODES(565)=MHLTH
 S STOPCODES(566)=MHLTH
 S STOPCODES(576)=MHLTH
 S STOPCODES(577)=MHLTH
 S STOPCODES(579)=MHLTH
 S STOPCODES(516)=MHLTH
 S STOPCODES(524)=MHLTH
 S STOPCODES(535)=MHLTH
 S STOPCODES(538)=MHLTH
 S STOPCODES(542)=MHLTH
 S STOPCODES(546)=MHLTH
 S STOPCODES(552)=MHLTH
 S STOPCODES(562)=MHLTH
 S STOPCODES(564)=MHLTH
 S STOPCODES(567)=MHLTH
 S STOPCODES(568)=MHLTH
 S STOPCODES(574)=MHLTH
 S STOPCODES(575)=MHLTH
 S STOPCODES(582)=MHLTH
 S STOPCODES(583)=MHLTH
 S STOPCODES(584)=MHLTH
 S STOPCODES(586)=MHLTH
 S STOPCODES(587)=MHLTH
 S STOPCODES(593)=MHLTH
 S STOPCODES(596)=MHLTH
 S STOPCODES(597)=MHLTH
 S STOPCODES(598)=MHLTH
 S STOPCODES(599)=MHLTH
 S STOPCODES(105)=OTH
 S STOPCODES(108)=OTH
 S STOPCODES(109)=OTH
 S STOPCODES(110)=OTH
 S STOPCODES(111)=OTH
 S STOPCODES(115)=OTH
 S STOPCODES(148)=OTH
 S STOPCODES(150)=OTH
 S STOPCODES(151)=OTH
 S STOPCODES(153)=OTH
 S STOPCODES(703)=OTH
 S STOPCODES(103)=OTH
 S STOPCODES(107)=OTH
 S STOPCODES(118)=OTH
 S STOPCODES(120)=OTH
 S STOPCODES(125)=OTH
 S STOPCODES(135)=OTH
 S STOPCODES(139)=OTH
 S STOPCODES(142)=OTH
 S STOPCODES(147)=OTH
 S STOPCODES(158)=OTH
 S STOPCODES(159)=OTH
 S STOPCODES(160)=OTH
 S STOPCODES(165)=OTH
 S STOPCODES(166)=OTH
 S STOPCODES(167)=OTH
 S STOPCODES(168)=OTH
 S STOPCODES(169)=OTH
 S STOPCODES(182)=OTH
 S STOPCODES(183)=OTH
 S STOPCODES(184)=OTH
 S STOPCODES(192)=OTH
 S STOPCODES(231)=OTH
 S STOPCODES(317)=OTH
 S STOPCODES(321)=OTH
 S STOPCODES(332)=OTH
 S STOPCODES(336)=OTH
 S STOPCODES(339)=OTH
 S STOPCODES(347)=OTH
 S STOPCODES(351)=OTH
 S STOPCODES(354)=OTH
 S STOPCODES(355)=OTH
 S STOPCODES(356)=OTH
 S STOPCODES(371)=OTH
 S STOPCODES(418)=OTH
 S STOPCODES(419)=OTH
 S STOPCODES(421)=OTH
 S STOPCODES(427)=OTH
 S STOPCODES(428)=OTH
 S STOPCODES(429)=OTH
 S STOPCODES(432)=OTH
 S STOPCODES(434)=OTH
 S STOPCODES(435)=OTH
 S STOPCODES(439)=OTH
 S STOPCODES(441)=OTH
 S STOPCODES(443)=OTH
 S STOPCODES(449)=OTH
 S STOPCODES(457)=OTH
 S STOPCODES(474)=OTH
 S STOPCODES(499)=OTH
 S STOPCODES(504)=OTH
 S STOPCODES(507)=OTH
 S STOPCODES(508)=OTH
 S STOPCODES(509)=OTH
 S STOPCODES(510)=OTH
 S STOPCODES(511)=OTH
 S STOPCODES(514)=OTH
 S STOPCODES(522)=OTH
 S STOPCODES(528)=OTH
 S STOPCODES(529)=OTH
 S STOPCODES(530)=OTH
 S STOPCODES(531)=OTH
 S STOPCODES(536)=OTH
 S STOPCODES(540)=OTH
 S STOPCODES(555)=OTH
 S STOPCODES(556)=OTH
 S STOPCODES(559)=OTH
 S STOPCODES(569)=OTH
 S STOPCODES(591)=OTH
 S STOPCODES(592)=OTH
 S STOPCODES(602)=OTH
 S STOPCODES(603)=OTH
 S STOPCODES(604)=OTH
 S STOPCODES(606)=OTH
 S STOPCODES(607)=OTH
 S STOPCODES(608)=OTH
 S STOPCODES(611)=OTH
 S STOPCODES(651)=OTH
 S STOPCODES(652)=OTH
 S STOPCODES(656)=OTH
 S STOPCODES(669)=OTH
 S STOPCODES(674)=OTH
 S STOPCODES(680)=OTH
 S STOPCODES(683)=OTH
 S STOPCODES(684)=OTH
 S STOPCODES(685)=OTH
 S STOPCODES(686)=OTH
 S STOPCODES(690)=OTH
 S STOPCODES(697)=OTH
 S STOPCODES(706)=OTH
 S STOPCODES(707)=OTH
 S STOPCODES(714)=OTH
 S STOPCODES(718)=OTH
 S STOPCODES(720)=OTH
 S STOPCODES(721)=OTH
 S STOPCODES(801)=OTH
 S STOPCODES(802)=OTH
 S STOPCODES(999)=OTH
 S STOPCODES(180)=OTH
 S STOPCODES(181)=OTH
 S STOPCODES(403)=OTH
 S STOPCODES(404)=OTH
 S STOPCODES(407)=OTH
 S STOPCODES(408)=OTH
 S STOPCODES(424)=OTH
 S STOPCODES(322)=PCARE
 S STOPCODES(323)=PCARE
 S STOPCODES(338)=PCARE
 S STOPCODES(348)=PCARE
 S STOPCODES(704)=PCARE
 S STOPCODES(119)=REHAB
 S STOPCODES(121)=REHAB
 S STOPCODES(156)=REHAB
 S STOPCODES(157)=REHAB
 S STOPCODES(170)=REHAB
 S STOPCODES(171)=REHAB
 S STOPCODES(172)=REHAB
 S STOPCODES(173)=REHAB
 S STOPCODES(174)=REHAB
 S STOPCODES(175)=REHAB
 S STOPCODES(176)=REHAB
 S STOPCODES(177)=REHAB
 S STOPCODES(178)=REHAB
 S STOPCODES(190)=REHAB
 S STOPCODES(195)=REHAB
 S STOPCODES(196)=REHAB
 S STOPCODES(197)=REHAB
 S STOPCODES(198)=REHAB
 S STOPCODES(199)=REHAB
 S STOPCODES(201)=REHAB
 S STOPCODES(202)=REHAB
 S STOPCODES(203)=REHAB
 S STOPCODES(204)=REHAB
 S STOPCODES(205)=REHAB
 S STOPCODES(206)=REHAB
 S STOPCODES(209)=REHAB
 S STOPCODES(210)=REHAB
 S STOPCODES(211)=REHAB
 S STOPCODES(212)=REHAB
 S STOPCODES(214)=REHAB
 S STOPCODES(215)=REHAB
 S STOPCODES(216)=REHAB
 S STOPCODES(217)=REHAB
 S STOPCODES(218)=REHAB
 S STOPCODES(220)=REHAB
 S STOPCODES(221)=REHAB
 S STOPCODES(224)=REHAB
 S STOPCODES(225)=REHAB
 S STOPCODES(229)=REHAB
 S STOPCODES(230)=REHAB
 S STOPCODES(240)=REHAB
 S STOPCODES(241)=REHAB
 S STOPCODES(250)=REHAB
 S STOPCODES(318)=REHAB
 S STOPCODES(326)=REHAB
 S STOPCODES(350)=REHAB
 S STOPCODES(352)=REHAB
 S STOPCODES(353)=REHAB
 S STOPCODES(417)=REHAB
 S STOPCODES(423)=REHAB
 S STOPCODES(425)=REHAB
 S STOPCODES(436)=REHAB
 S STOPCODES(437)=REHAB
 S STOPCODES(438)=REHAB
 S STOPCODES(104)=SPEC
 S STOPCODES(106)=SPEC
 S STOPCODES(116)=SPEC
 S STOPCODES(123)=SPEC
 S STOPCODES(124)=SPEC
 S STOPCODES(126)=SPEC
 S STOPCODES(128)=SPEC
 S STOPCODES(145)=SPEC
 S STOPCODES(149)=SPEC
 S STOPCODES(301)=SPEC
 S STOPCODES(302)=SPEC
 S STOPCODES(303)=SPEC
 S STOPCODES(304)=SPEC
 S STOPCODES(305)=SPEC
 S STOPCODES(306)=SPEC
 S STOPCODES(307)=SPEC
 S STOPCODES(308)=SPEC
 S STOPCODES(309)=SPEC
 S STOPCODES(310)=SPEC
 S STOPCODES(311)=SPEC
 S STOPCODES(312)=SPEC
 S STOPCODES(313)=SPEC
 S STOPCODES(314)=SPEC
 S STOPCODES(315)=SPEC
 S STOPCODES(316)=SPEC
 S STOPCODES(324)=SPEC
 S STOPCODES(325)=SPEC
 S STOPCODES(327)=SPEC
 S STOPCODES(328)=SPEC
 S STOPCODES(329)=SPEC
 S STOPCODES(330)=SPEC
 S STOPCODES(333)=SPEC
 S STOPCODES(334)=SPEC
 S STOPCODES(335)=SPEC
 S STOPCODES(337)=SPEC
 S STOPCODES(340)=SPEC
 S STOPCODES(344)=SPEC
 S STOPCODES(345)=SPEC
 S STOPCODES(346)=SPEC
 S STOPCODES(369)=SPEC
 S STOPCODES(372)=SPEC
 S STOPCODES(373)=SPEC
 S STOPCODES(391)=SPEC
 S STOPCODES(392)=SPEC
 S STOPCODES(394)=SPEC
 S STOPCODES(411)=SPEC
 S STOPCODES(420)=SPEC
 ;
 ; SET TELEHEALTH AS SUB
 ;
 S TELEHEALTH(527)=1
 S TELEHEALTH(545)=1
 S TELEHEALTH(579)=1
 S TELEHEALTH(542)=1
 S TELEHEALTH(546)=1
 S TELEHEALTH(584)=1
 S TELEHEALTH(597)=1
 S TELEHEALTH(111)=1
 S TELEHEALTH(148)=1
 S TELEHEALTH(103)=1
 S TELEHEALTH(147)=1
 S TELEHEALTH(169)=1
 S TELEHEALTH(182)=1
 S TELEHEALTH(371)=1
 S TELEHEALTH(428)=1
 S TELEHEALTH(441)=1
 S TELEHEALTH(528)=1
 S TELEHEALTH(530)=1
 S TELEHEALTH(536)=1
 S TELEHEALTH(611)=1
 S TELEHEALTH(686)=1
 S TELEHEALTH(718)=1
 S TELEHEALTH(181)=1
 S TELEHEALTH(424)=1
 S TELEHEALTH(338)=1
 S TELEHEALTH(178)=1
 S TELEHEALTH(199)=1
 S TELEHEALTH(216)=1
 S TELEHEALTH(221)=1
 S TELEHEALTH(224)=1
 S TELEHEALTH(225)=1
 S TELEHEALTH(229)=1
 S TELEHEALTH(326)=1
 S TELEHEALTH(425)=1
 S TELEHEALTH(324)=1
 S TELEHEALTH(325)=1
 ;Other Telehealth
 S TELEHEALTH(645)=1
 S TELEHEALTH(693)=1
 S TELEHEALTH(189)=1
 S TELEHEALTH(646)=1
 S TELEHEALTH(694)=1
 S TELEHEALTH(695)=1
 S TELEHEALTH(696)=1
 S TELEHEALTH(683)=1
 ;
 S TELEHEALTH(179)=1
 S TELEHEALTH(648)=1
 S TELEHEALTH(679)=1
 S TELEHEALTH(692)=1
 S TELEHEALTH(699)=1
 Q
 ;