| 1 | IBDFFV1 ;ALB/CMR - AICS FORM VALIDATION ; NOV 24,1995 | 
|---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | ; -- entry point from IBDFFV | 
|---|
| 5 | ; -- called to set up ^TMP with forms to be printed | 
|---|
| 6 | ; | 
|---|
| 7 | Q:('$D(VAUTD)&('$D(VAUTG))&('$D(VAUTC))&('$D(VAUTF)))!('$D(SORT)) | 
|---|
| 8 | D FORM:+SORT=1,CLINIC:+SORT=2,GROUP:+SORT=3,DIV:+SORT=4 | 
|---|
| 9 | Q | 
|---|
| 10 | FORM ; -- $O through forms | 
|---|
| 11 | ; | 
|---|
| 12 | N FRM,FORM | 
|---|
| 13 | Q:'$D(VAUTF) | 
|---|
| 14 | S FRM=0 F  S FRM=$S(VAUTF:$O(^IBE(357,FRM)),1:$O(VAUTF(FRM))) Q:'FRM  S FORM=$P($G(^IBE(357,FRM,0)),U) I FORM]"" S ^TMP($J,"IBFV","F",FORM,FRM)="" | 
|---|
| 15 | Q | 
|---|
| 16 | CLINIC ; -- $O through clinics | 
|---|
| 17 | ; | 
|---|
| 18 | N CLIN | 
|---|
| 19 | Q:'$D(VAUTC) | 
|---|
| 20 | S CLIN=0 F  S CLIN=$S(VAUTC:$O(^SD(409.95,"B",CLIN)),1:$O(VAUTC(CLIN))) Q:'CLIN  D CLIN | 
|---|
| 21 | Q | 
|---|
| 22 | GROUP ; -- $O through groups | 
|---|
| 23 | ; | 
|---|
| 24 | N GRP,GROUP,CLIN | 
|---|
| 25 | Q:'$D(VAUTG) | 
|---|
| 26 | S GRP=0 F  S GRP=$S(VAUTG:$O(^IBD(357.99,GRP)),1:$O(VAUTG(GRP))) Q:'GRP  D | 
|---|
| 27 | .S GROUP=$P($G(^IBD(357.99,GRP,0)),U) | 
|---|
| 28 | .; -- find all clinics associated with group | 
|---|
| 29 | .S CLIN=0 F  S CLIN=$O(^IBD(357.99,GRP,10,"B",CLIN)) Q:'CLIN  D CLIN | 
|---|
| 30 | Q | 
|---|
| 31 | DIV ; -- $O through divisions | 
|---|
| 32 | ; | 
|---|
| 33 | N CLIN,DIV | 
|---|
| 34 | Q:'$D(VAUTD) | 
|---|
| 35 | S CLIN="" F  S CLIN=$O(^SD(409.95,"B",CLIN)) Q:'CLIN  D | 
|---|
| 36 | .S DIV=$P($G(^SC(CLIN,0)),U,15) Q:'DIV | 
|---|
| 37 | .; -- quit if division for clinic is not a chosen division | 
|---|
| 38 | .I 'VAUTD,'$D(VAUTD(DIV)) Q | 
|---|
| 39 | .S:+DIV DIV=$P($G(^DG(40.8,+DIV,0)),U) Q:DIV']"" | 
|---|
| 40 | .D CLIN | 
|---|
| 41 | Q | 
|---|
| 42 | CLIN ; -- set up TMP nodes | 
|---|
| 43 | N SETUP,NAME | 
|---|
| 44 | S SETUP=$O(^SD(409.95,"B",CLIN,"")) Q:'SETUP | 
|---|
| 45 | S NAME=$P($G(^SC(CLIN,0)),U) Q:NAME="" | 
|---|
| 46 | I +SORT=2 S ^TMP($J,"IBFV","C",NAME,SETUP)="" Q | 
|---|
| 47 | I +SORT=3 S ^TMP($J,"IBFV","G",GROUP,NAME,SETUP)="" Q | 
|---|
| 48 | I +SORT=4 S ^TMP($J,"IBFV","D",DIV,NAME,SETUP)="" Q | 
|---|
| 49 | Q | 
|---|