| 1 | WVPROF ;HCIOFO/FT,JR IHS/ANMC/MWR - DISPLAY PATIENT PROFILE; ;7/30/98  11:38 | 
|---|
| 2 | ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998 | 
|---|
| 3 | ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * | 
|---|
| 4 | ;;  CALL ED BY OPTION: "WV PATIENT PROFILE" TO DISPLAY PROFILE. | 
|---|
| 5 | ; | 
|---|
| 6 | ;---> *NOTE: TO ASK DATE RANGE, UNCOMMENT ALL LINES WITH "XDATES", | 
|---|
| 7 | ;--->        AND IN HEADER2^WVUTL7. | 
|---|
| 8 | ; | 
|---|
| 9 | ;---> VARIABLES: | 
|---|
| 10 | ;---> WVDFN: DFN OF SELECTED PATIENT | 
|---|
| 11 | ;---> DATES: WVBEGDT=BEGINNING DATE, WVENDDT=ENDING DATE | 
|---|
| 12 | ;---> USE NODES 1 & 2 IN ^TMP GLOBAL. | 
|---|
| 13 | ; | 
|---|
| 14 | D SETVARS^WVUTL5 | 
|---|
| 15 | S:'$D(WVERRORS) WVERRORS=1 | 
|---|
| 16 | F  D RUN Q:WVPOP | 
|---|
| 17 | D EXIT | 
|---|
| 18 | Q | 
|---|
| 19 | ; | 
|---|
| 20 | RUN ;EP | 
|---|
| 21 | D TITLE^WVUTL5("PATIENT PROFILE") | 
|---|
| 22 | D PATIENT Q:WVPOP | 
|---|
| 23 | D BRIEF   Q:WVPOP | 
|---|
| 24 | D DEVICE  Q:WVPOP | 
|---|
| 25 | D SORT^WVPROF2 | 
|---|
| 26 | D COPYGBL | 
|---|
| 27 | D ^WVPROF1 S WVPOP=0 | 
|---|
| 28 | K WVD,WVSUBH | 
|---|
| 29 | Q | 
|---|
| 30 | ; | 
|---|
| 31 | EXIT ;EP | 
|---|
| 32 | D KILLALL^WVUTL8 | 
|---|
| 33 | Q | 
|---|
| 34 | ; | 
|---|
| 35 | ; | 
|---|
| 36 | PATIENT ;EP | 
|---|
| 37 | ;---> SELECT PATIENT (RETURN WVDFN). | 
|---|
| 38 | W !!,"   Select the patient whose Profile you wish to display." | 
|---|
| 39 | D PATLKUP^WVUTL8(.Y) S:Y<0 WVPOP=1 | 
|---|
| 40 | ;---> USE NEXT LINE IF I WANT TO ADD CAPABILITY OF ADDING NEW PATIENT. | 
|---|
| 41 | ;D PATLKUP^WVUTL8(.Y,$S($G(WVPUSER):"",1:"ADD")) S:Y<0 WVPOP=1 | 
|---|
| 42 | S WVDFN=+Y | 
|---|
| 43 | Q | 
|---|
| 44 | ; | 
|---|
| 45 | DATES ;EP | 
|---|
| 46 | ;---> ASK DATE RANGE.  RETURN DATES IN WVBEGDT AND WVENDDT. | 
|---|
| 47 | ;---> IF LOOKING AT ONLY ONE PATIENT, SET DEFAULT BEGIN DATE=T-5YEARS. | 
|---|
| 48 | ;S WVBEGDT=2500101,WVENDDT=DT     ;---> XDATES-CAN USE THIS INSTEAD. | 
|---|
| 49 | ;S WVBEGDF="T-60M",WVENDDF="T"    ;---> XDATES | 
|---|
| 50 | ;D ASKDATES^WVUTL3(.WVBEGDT,.WVENDDT,.WVPOP,"T-365","T")  ;---> XDATES | 
|---|
| 51 | Q | 
|---|
| 52 | ; | 
|---|
| 53 | BRIEF ;EP | 
|---|
| 54 | ;---> BRIEF OR DETAILED LISTING OF PROCEDURES (BRIEF DOES NOT LIST | 
|---|
| 55 | ;---> NOTIFICATIONS AND PROVIDERS). | 
|---|
| 56 | N DIR,DIRUT,Y | 
|---|
| 57 | W !!?3,"List Patient Profile in BRIEF or DETAILED format?" | 
|---|
| 58 | S DIR("A")="   Select BRIEF or DETAILED: ",DIR("B")="BRIEF" | 
|---|
| 59 | S DIR(0)="SAM^b:BRIEF;d:DETAILED" D HELP1 | 
|---|
| 60 | D ^DIR | 
|---|
| 61 | I Y=-1!($D(DIRUT)) S WVPOP=1 Q | 
|---|
| 62 | ;---> IF ALL DETAILED, S WVD=1; FOR BRIEF WVD=0 | 
|---|
| 63 | S WVD=$S(Y="d":1,1:0) | 
|---|
| 64 | Q | 
|---|
| 65 | ; | 
|---|
| 66 | DEVICE ;EP | 
|---|
| 67 | ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN. | 
|---|
| 68 | S ZTRTN="DEQUEUE^WVPROF" | 
|---|
| 69 | F WVSV="D","DFN","BEGDT","ENDDT","ERRORS" D | 
|---|
| 70 | .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)="" | 
|---|
| 71 | D ZIS^WVUTL2(.WVPOP,1,"HOME") | 
|---|
| 72 | Q | 
|---|
| 73 | ; | 
|---|
| 74 | COPYGBL ;EP | 
|---|
| 75 | ;---> COPY ^TMP("WV",$J,1 TO ^TMP("WV",$J,2 TO MAKE IT FLAT. | 
|---|
| 76 | N I,M,N,P,Q | 
|---|
| 77 | S N=0,I=0 | 
|---|
| 78 | F  S N=$O(^TMP("WV",$J,1,N)) Q:N=""  D | 
|---|
| 79 | .S M=0 | 
|---|
| 80 | .F  S M=$O(^TMP("WV",$J,1,N,M)) Q:M=""  D | 
|---|
| 81 | ..S P=0 | 
|---|
| 82 | ..F  S P=$O(^TMP("WV",$J,1,N,M,P)) Q:P=""  D | 
|---|
| 83 | ...S Q=0 | 
|---|
| 84 | ...F  S Q=$O(^TMP("WV",$J,1,N,M,P,Q)) Q:Q=""  D | 
|---|
| 85 | ....S I=I+1,^TMP("WV",$J,2,I)=^TMP("WV",$J,1,N,M,P,Q) | 
|---|
| 86 | Q | 
|---|
| 87 | ; | 
|---|
| 88 | ; | 
|---|
| 89 | DEQUEUE ;EP | 
|---|
| 90 | ;---> EP FOR TASKMAN QUEUE OF PRINTOUT. | 
|---|
| 91 | D SETVARS^WVUTL5,SORT^WVPROF2,COPYGBL,^WVPROF1,EXIT | 
|---|
| 92 | Q | 
|---|
| 93 | ; | 
|---|
| 94 | HELP1 ;EP | 
|---|
| 95 | ;;Enter "D" for a "Detailed" listing of the patient's Procedures, | 
|---|
| 96 | ;;Notifications, PAP Regimen and Pregnancy changes. | 
|---|
| 97 | ;;Enter "B" for a "Brief" listing of the patient's Procedures only. | 
|---|
| 98 | S WVTAB=5,WVLINL="HELP1" D HELPTX | 
|---|
| 99 | Q | 
|---|
| 100 | ; | 
|---|
| 101 | HELPTX ;EP | 
|---|
| 102 | ;---> CREATES DIR ARRAY FOR DIR.  REQUIRED VARIABLES: WVTAB,WVLINL. | 
|---|
| 103 | N I,T,X S T=$$REPEAT^XLFSTR(" ",WVTAB) | 
|---|
| 104 | F I=1:1 S X=$T(@WVLINL+I) Q:X'[";;"  S DIR("?",I)=T_$P(X,";;",2) | 
|---|
| 105 | S DIR("?")=DIR("?",I-1) K DIR("?",I-1) | 
|---|
| 106 | Q | 
|---|
| 107 | ; | 
|---|
| 108 | ; | 
|---|
| 109 | USER ;EP | 
|---|
| 110 | ;---> CALLED BY OPTION: "WV PATIENT PROFILE USER" | 
|---|
| 111 | ;---> FOR USER TO VIEW PROFILE AND PRINT PROCEDURES, BUT NO EDIT. | 
|---|
| 112 | S WVPUSER=1 | 
|---|
| 113 | D WVPROF K WVPUSER | 
|---|
| 114 | Q | 
|---|
| 115 | ; | 
|---|
| 116 | ERRORS ;EP | 
|---|
| 117 | ;---> CALLED BY OPTION: "WV PATIENT PROFILE W/ERRORS" | 
|---|
| 118 | ;---> ENTER HERE TO INCLUDE ERRONEOUS ENTRIES. | 
|---|
| 119 | S WVERRORS=0 G WVPROF | 
|---|
| 120 | Q | 
|---|