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

AQAOCID.m

Go to the documentation of this file.
  1. AQAOCID ; IHS/ORDC/LJF - CREATE COMPUTED NUMBERS 4 FILES ; [ 09/01/1998 6:37 PM ]
  1. ;;1.01;QAI MANAGEMENT;**1**;OCT 05, 1995
  1. ;
  1. ;This rtn is a PRIVATE ENTRY POINT for computing the case ID
  1. ;number for an occurrence. The entry is called using $$OCCID^AQAOCID.
  1. ;
  1. OCCID() ;PEP;PRIVATE ENTRY POINT for EXTR VAR to create occurrence id number
  1. ;private published entry point: can only be called by AQAL pkg
  1. ;REQUIRED INPUT: AQAOPAT=PATIENT DFN
  1. ; AQAODATE=OCCURRENCE DATE
  1. ; AQAOIND=INDICATOR
  1. ;
  1. MONTH ; (1) MONTH OF OCCURRENCE (ALPHA A THROUGH L)
  1. S AQAOCID=$C($E(AQAODATE,4,5)+64)
  1. ;
  1. DAY ; (2) DAY OF OCCURRENCE (ALPHA A THROUGH Z, 27=1,28=2,29=3,30=4,31=5)
  1. S AQAODAY=$E(AQAODATE,6,7)
  1. S AQAOCID=AQAOCID_$S(AQAODAY>26:AQAODAY-26,1:$C(AQAODAY+64))
  1. ;
  1. LNAME ; (3) LAST NAME (FIRST LETTER OF LAST NAME)
  1. S AQAONAM=$P($G(^DPT(AQAOPAT,0)),U) S:AQAONAM="" AQAONAM="Z"
  1. S AQAOCID=AQAOCID_$E(AQAONAM)
  1. ;
  1. FUDGE ; (4-7) RANDOM 3-DIGIT NUMBER; THEN CHECK IF UNIQUE
  1. S X=AQAOCID_$R(9999) I $D(^AQAOC("B",X)) G FUDGE ;PATCH 1 w/ next line
  1. Q X
  1. ;
  1. ;
  1. NEWAP() ;ENTRY POINT for EXTR VAR to create action plan number
  1. ;
  1. N %H,Y,X
  1. ;first get facility's abbreviation
  1. S AQAOAPN=$P($G(^AUTTLOC(DUZ(2),0)),U,2)_"QI",AQAOAPN=$E(AQAOAPN,1,4)
  1. ;Begin Y2K patch ;IHS/DIR/JLG 9/1/98
  1. ;S %H=$H D YMD^%DTC S Y=$E(X,2,3) I $E(X,4,5)>9 S Y=Y+1 ;fiscal year
  1. S Y=$E($$FISCAL^XBDT($H),3,4) ;Y2000
  1. ;End Y2K patch ;IHS/DIR/JLG
  1. S (X,Y,AQAOAPN)=AQAOAPN_Y_"1000"
  1. F S X=$O(^AQAO(5,"B",X)) Q:X="" Q:($E(X,5,6)>$E(AQAOAPN,5,6)) S Y=X
  1. S AQAOAPN=$E(AQAOAPN,1,6)_($E(Y,7,10)+1)
  1. I $L(AQAOAPN)'=10 S AQAOAPN=""
  1. Q AQAOAPN