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

ADEPENDA.m

Go to the documentation of this file.
  1. ADEPENDA ; IHS/HQT/MJL - ENDO REPORT PT 2 ;09:45 AM [ 03/24/1999 9:04 AM ]
  1. ;;6.0;ADE;;APRIL 1999
  1. GRP ;EP - Sets up code and opsite groups
  1. S ADECOD("ACCESSED")=$$ADACOD("3300,3301,3302,3303")
  1. S ADECOD("EXTRACTED")=$$ADACOD($$GROUP("EXTRACTIONS"))
  1. S ADECOD("COMPLETED")=$$ADACOD("3310,3311,3320,3321,3330,3331")
  1. S ADECOD("RESTORED")=$$ADACOD($$GROUP("RESTORATIONS-PERMANENT TOOTH"))
  1. S ADECOD("CROWNED")=$$ADACOD($$GROUP("CROWNS-PERMANENT TOOTH"))
  1. S ADEOP("FIRST MOLARS")=$$OPCOD("3,14,19,30")
  1. S ADEOP("PREMOLARS")=$$OPCOD($$GROUP("PERMANENT PREMOLARS"))
  1. S ADEOP("ANTERIORS")=$$OPCOD($$GROUP("PERMANENT ANTERIORS"))
  1. S ADEOP("OTHER MOLARS")=$$OPCOD("1,2,15,16,17,18,31,32")
  1. Q
  1. ;
  1. GROUP(ADENAM) ;EP - Retuns code group ADENAM from ^ADEDIT("GRP")
  1. ;And translates any |'s to commas
  1. S ADENAM=$O(^ADEDIT("GRP","B",ADENAM,0))
  1. S ADENAM=$P(^ADEDIT("GRP",ADENAM,1),U)
  1. S ADENAM=$TR(ADENAM,"|",",")
  1. Q ADENAM
  1. ;
  1. ADACOD(ADECOD) ;EP - Given "ADA CODE,ADA CODE,...ADA CODE"
  1. ;Returns "COD DFN,CODE DFN,...CODE DFN"
  1. N ADEDFN,ADEJ,ADEPC
  1. S ADEDFN=""
  1. F ADEJ=1:1:$L(ADECOD,",") S ADEPC=$P(ADECOD,",",ADEJ) D
  1. . S ADEPC=$O(^AUTTADA("B",ADEPC,0))
  1. . Q:ADEPC=""
  1. . I ADEDFN="" S ADEDFN=ADEPC Q
  1. . S $P(ADEDFN,",",ADEJ)=ADEPC
  1. Q ADEDFN
  1. ;
  1. OPCOD(ADEOP) ;EP - Given "OPSITE,OPSITE,...OPSITE"
  1. ;Returns "OP DFN,OP DFN,...OP DFN"
  1. N ADEDFN,ADEJ,ADEPC
  1. S ADEDFN=""
  1. F ADEJ=1:1:$L(ADEOP,",") S ADEPC=$P(ADEOP,",",ADEJ) D
  1. . S ADEPC=$O(^ADEOPS("B",ADEPC,0))
  1. . Q:ADEPC=""
  1. . I ADEDFN="" S ADEDFN=ADEPC Q
  1. . S $P(ADEDFN,",",ADEJ)=ADEPC
  1. Q ADEDFN
  1. DDS() ;EP
  1. ;Returns "1/0^DFN,DFN,DFN"
  1. ;ALSO SETS UP ARRAY ADEHNAM(DFN)="DENTIST,NAME"
  1. N ADEHYG,ADEJ
  1. S ADEHYG=""
  1. S ADEJ=0
  1. F S ADEJ=$O(^DIC(6,ADEJ)) Q:'+ADEJ D
  1. . I $P(^DIC(6,ADEJ,0),U,4)]"",$D(^DIC(7,$P(^DIC(6,ADEJ,0),U,4),9999999)),+^DIC(7,$P(^DIC(6,ADEJ,0),U,4),9999999)=52 D
  1. . . I ADEHYG="" S ADEHYG=ADEJ Q
  1. . . S $P(ADEHYG,",",$L(ADEHYG,",")+1)=ADEJ
  1. I ADEHYG="" Q 0
  1. F ADEJ=1:1:$L(ADEHYG,",") S ADEHNAM($P(ADEHYG,",",ADEJ))=$P(^DIC(16,$P(ADEHYG,",",ADEJ),0),U)
  1. S ADEHYG="1^"_ADEHYG
  1. Q ADEHYG
  1. ;
  1. ADEU() ;GET UNIQUE SUBSCRIPT NUMBER AND LOCK REPORT NODE
  1. ;RETURNS SUBSCRIPT NUMBER
  1. S ADEU=$J
  1. ADEU1 F L +^TMP("ADEPEND",ADEU):.1 Q:$T S ADEU=ADEU+1
  1. I $G(^TMP("ADEPEND",ADEU))="RUNNING" L -^TMP("ADEPEND",ADEU) S ADEU=ADEU+1 G ADEU1
  1. S ^TMP("ADEPEND",ADEU)="RUNNING"
  1. ; ^TMP is a transient, non-fileman working global.
  1. Q ADEU
  1. ;
  1. ASKDEV(ADERTN,ADEDESC) ;EP - DEVICE SELECTION
  1. ;ADERTN=TASKMAN PROCESSING ROUTINE ENTRY POINT
  1. ;ADEDESC=TASK DESCRIPTION
  1. ;RETURNS ADEIOP,ADEIOPAR
  1. K ADEIOP,IOP,ZTSK,ADEIOPAR
  1. W !!,"Enter 'Q' at the DEVICE prompt to queue this report to run in the background."
  1. S %ZIS="NQ"
  1. D ^%ZIS
  1. Q:POP
  1. S ADEIOP=ION_";"_IOM_";"_IOSL
  1. S ADEIOPAR=IOPAR
  1. Q:'$D(IO("Q"))
  1. D QUE
  1. ;FHL 9/9/98 I '$D(ZTSK) K IOP,ADEIOP,ADEIOPAR G ASKDEV
  1. I '$D(ZTQUEUED) K IOP,ADEIOP,ADEIOPAR G ASKDEV
  1. D HOME^%ZIS
  1. W !,"REPORT IS QUEUED!"
  1. Q
  1. ;
  1. QUE ;
  1. N ADEJ
  1. S ZTRTN=ADERTN
  1. S ZTDESC=ADEDESC
  1. F ADEJ="ADEIOP","ADEDATE" S ZTSAVE(ADEJ)=""
  1. S ZTSAVE("ADEIOPAR")=""
  1. S ZTSAVE("ADEU")=""
  1. S ZTIO=""
  1. I $D(IO("HFSIO")) D
  1. . S ZTIO=ADEIOP
  1. D ^%ZTLOAD
  1. Q
  1. ;
  1. KILL ;EP - KILLS
  1. K ADEADA,ADEAGE,ADECNT,ADECOD,ADED0,ADED1,ADED2,ADEDATE
  1. K ADEDFN,ADEDUZ,ADEEXT,ADEHDFN,ADEHDFNS,ADEHNAM,ADEHYG,ADEJ,ADEK,ADEL
  1. K ADELOC,ADENAM,ADEOP,ADEPC,ADEPROV,ADEREP,ADEROPT,ADESTP,ADETDFN
  1. K ADETNAM,ADEIOPAR,ADEDESC,ADERTN,ADEU,ADEZTSK
  1. K ADEHXC,ADEHXO
  1. K ADENOD
  1. Q