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

ACDRR3C.m

Go to the documentation of this file.
  1. ACDRR3C ;IHS/ADC/EDE/KML - PROCESS CDMIS VISITS;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ; This routine processes each visit for one patient within date range
  1. ; and lists the stages over time. Date range and patient ien passed
  1. ; by calling routine.
  1. ;
  1. START ;
  1. D INIT
  1. D VISITS ; process visits for selected patient
  1. D EOJ
  1. Q
  1. ;
  1. INIT ;
  1. S (ACDBT,ACDBTH)=$H,ACDJOB=$J
  1. K ^TMP("ACDRR3",$J)
  1. Q
  1. ;
  1. VISITS ; PROCESS ALL VISITS FOR PATIENT WITHIN DATE RANGE
  1. S ACDVCNT=0
  1. S ACDVIEN=0
  1. F S ACDVIEN=$O(^ACDVIS("D",ACDDFNP,ACDVIEN)) Q:'ACDVIEN D VISIT
  1. Q
  1. ;
  1. VISIT ; PROCESS ONE VISIT
  1. Q:'$D(^ACDVIS(ACDVIEN,0)) ; bad xref
  1. Q:$G(^ACDVIS(ACDVIEN,"BWP"))'=ACDPGM ;not from current program
  1. S X=^ACDVIS(ACDVIEN,0)
  1. S ACDVDATE=$P(X,U) ; visit date
  1. Q:ACDVDATE<ACDDTLO!(ACDVDATE>ACDDTHI) ; quit if not in range
  1. S ACDTC=$P(X,U,4) ; type contact
  1. I ACDTC'="IN",ACDTC'="RE",ACDTC'="TD",ACDTC'="FU" Q
  1. S ACDDFNP=$P(X,U,5) ; patient ien
  1. Q:'ACDDFNP ; bad data
  1. I '$D(^TMP("ACDRR3",$J,ACDBTH,"PATIENT",ACDDFNP)) S ^(ACDDFNP)=""
  1. S ACDVCNT=ACDVCNT+1
  1. D @("PRC"_ACDTC) ; process iif/td
  1. Q
  1. ;
  1. PRCIN ; INITIAL
  1. D PRCIIF
  1. Q
  1. ;
  1. PRCRE ; REOPEN
  1. D PRCIIF
  1. Q
  1. ;
  1. PRCFU ; FOLLOWUP
  1. D PRCIIF
  1. Q
  1. ;
  1. PRCIIF ; PROCESS IIF ENTRY
  1. S ACDIIEN=$O(^ACDIIF("C",ACDVIEN,0))
  1. Q:'ACDIIEN ; no iif entry
  1. S ^TMP("ACDRR3",$J,ACDBTH,"PATIENT",ACDDFNP)=1 ; patients has iif or td
  1. S ^TMP("ACDRR3",$J,ACDBTH,"V",ACDVDATE,ACDVCNT,"TC")=ACDTC
  1. F ACDFIELD=9,10,11,12,13,14,14.5 D
  1. . S ACDCOL=$P($T(@("IIFC"_$TR(ACDFIELD,".","P"))),";;",2)
  1. . S ^TMP("ACDRR3",$J,ACDBTH,"V",ACDVDATE,ACDVCNT,"COL",ACDCOL)=$$VAL^XBDIQ1(9002170,ACDIIEN,ACDFIELD)
  1. . Q
  1. Q
  1. ;
  1. IIFC9 ;;1
  1. IIFC10 ;;2
  1. IIFC11 ;;3
  1. IIFC12 ;;4
  1. IIFC13 ;;5
  1. IIFC14 ;;6
  1. IIFC14P5 ;;7
  1. ;
  1. PRCTD ; TRANS/DISC/CLOSE ENTRY
  1. S ACDTIEN=$O(^ACDTDC("C",ACDVIEN,0))
  1. Q:'ACDTIEN ; no tdc entry
  1. S ^TMP("ACDRR3",$J,ACDBTH,"PATIENT",ACDDFNP)=1 ; patients has iif or td
  1. S ^TMP("ACDRR3",$J,ACDBTH,"V",ACDVDATE,ACDVCNT,"TC")=ACDTC
  1. F ACDFIELD=6,7,8,9,10,11,11.5 D
  1. . S ACDCOL=$P($T(@("TDCC"_$TR(ACDFIELD,".","P"))),";;",2)
  1. . S ^TMP("ACDRR3",$J,ACDBTH,"V",ACDVDATE,ACDVCNT,"COL",ACDCOL)=$$VAL^XBDIQ1(9002171,ACDTIEN,ACDFIELD)
  1. . Q
  1. Q
  1. ;
  1. TDCC6 ;;1
  1. TDCC7 ;;2
  1. TDCC8 ;;3
  1. TDCC9 ;;4
  1. TDCC10 ;;5
  1. TDCC11 ;;6
  1. TDCC11P5 ;;7
  1. ;
  1. EOJ ;
  1. S ACDET=$H
  1. K C,X,Y,Z
  1. K ACDDFNP,ACDVCNT,ACDVDATE,ACDVIEN
  1. ;K ^TMP("ACDRR3",$J,1)
  1. Q