1 | VAQPST40 ;JRP/ALB - UPDATE DATA SEGMENT FILE;09-SEP-93
|
---|
2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
|
---|
3 | UPDATE ;MAIN ENTRY POINT
|
---|
4 | ;INPUT : NONE
|
---|
5 | ;OUTPUT : NONE
|
---|
6 | ;
|
---|
7 | ;DECLARE VARIABLES
|
---|
8 | N NODE,SEGPTR,HLTHSEG,DEFTIM,DEFOCC,TIMLIM,OCCLIM,TMP
|
---|
9 | N HLTHPTR,HLTHABB,CURTIM,CUROCC,COUNT
|
---|
10 | S DEFTIM=""
|
---|
11 | S DEFOCC=""
|
---|
12 | ;GET DEFAULT TIME & OCCURANCE LIMIT FROM PARAMETER FILE
|
---|
13 | S TMP=+$O(^VAT(394.81,0))
|
---|
14 | I (TMP) D
|
---|
15 | .S NODE=$G(^VAT(394.81,TMP,"LIMITS"))
|
---|
16 | .S DEFTIM=$P(NODE,"^",1)
|
---|
17 | .S DEFOCC=$P(NODE,"^",2)
|
---|
18 | ;DEFAULTS NOT SET - USE 1 YEAR & 10 OCCURRENCES
|
---|
19 | S:(DEFTIM="") DEFTIM="1Y"
|
---|
20 | S:('DEFOCC) DEFOCC=10
|
---|
21 | ;LOOP THROUGH HEALTH SUMMARY COMPONENTS
|
---|
22 | W !!!,"Updating pointers to Health Summary components and initializing"
|
---|
23 | W !,"maximum time and occurrence limits (when appropriate) "
|
---|
24 | S COUNT=0
|
---|
25 | S HLTHABB=""
|
---|
26 | F S HLTHABB=$O(^GMT(142.1,"C",HLTHABB)) Q:(HLTHABB="") D
|
---|
27 | .S HLTHPTR=+$O(^GMT(142.1,"C",HLTHABB,0))
|
---|
28 | .Q:('HLTHPTR)
|
---|
29 | .S COUNT=COUNT+1
|
---|
30 | .W:('(COUNT#5)) "."
|
---|
31 | .;FIND ENTRY IN DATA SEGMENT FILE
|
---|
32 | .S SEGPTR=+$O(^VAT(394.71,"C",HLTHABB,0))
|
---|
33 | .Q:('SEGPTR)
|
---|
34 | .;DETERMINE IF LIMITS ARE APPLICABLE
|
---|
35 | .S TMP=$$LIMITS^VAQDBIH1(HLTHPTR)
|
---|
36 | .S TIMLIM=+$P(TMP,"^",1)
|
---|
37 | .S OCCLIM=+$P(TMP,"^",2)
|
---|
38 | .;GET DATA SEGMENT NODE CONTAINING HEALTH SUMMARY INFO
|
---|
39 | .S NODE=$G(^VAT(394.71,SEGPTR,0))
|
---|
40 | .;SET POINTER TO HEALTH SUMMARY COMPONENT
|
---|
41 | .S $P(NODE,"^",4)=HLTHPTR
|
---|
42 | .;GET CURRENT TIME & OCCURRENCE MAX VALUES
|
---|
43 | .S CURTIM=$P(NODE,"^",5)
|
---|
44 | .S CUROCC=$P(NODE,"^",6)
|
---|
45 | .;SET MAXIMUM TIME LIMIT - USE CURRENT VALUE IF THERE
|
---|
46 | .I (TIMLIM) S:(CURTIM="") CURTIM=DEFTIM
|
---|
47 | .;TIME LIMIT NOT APPLICABLE
|
---|
48 | .I ('TIMLIM) S CURTIM=""
|
---|
49 | .;SET MAXIMUM OCCURRENCE LIMIT - USE CURRENT VALUE IF THERE
|
---|
50 | .I (OCCLIM) S:(CUROCC="") CUROCC=DEFOCC
|
---|
51 | .;OCCURRENCE LIMIT NOT APPLICABLE
|
---|
52 | .I ('OCCLIM) S CUROCC=""
|
---|
53 | .;STORE MAXIMUM LIMITS
|
---|
54 | .S $P(NODE,"^",5)=CURTIM
|
---|
55 | .S $P(NODE,"^",6)=CUROCC
|
---|
56 | .S ^VAT(394.71,SEGPTR,0)=NODE
|
---|
57 | ;DONE
|
---|
58 | W !!,"Updating completed",!!!
|
---|
59 | Q
|
---|