| [613] | 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 | 
|---|