1 | WVUTL5 ;HCIOFO/FT,JR IHS/ANMC/MWR - UTIL: ACC#, TITLES, SL/TX DATES; ;1/29/99 15:15
|
---|
2 | ;;1.0;WOMEN'S HEALTH;**5**;Sep 30, 1998
|
---|
3 | ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
---|
4 | ;; UTILITY: SETVARS, GENERATE ACCESSION#, MENUT, TITLE, CENTERT,
|
---|
5 | ;; COPYLET, UPPERCASE XREF, SL/TX DATES.
|
---|
6 | ;
|
---|
7 | ;
|
---|
8 | SETVARS ;EP
|
---|
9 | S:'$D(WVPOP) WVPOP=0
|
---|
10 | Q
|
---|
11 | ;**************
|
---|
12 | ;
|
---|
13 | ;
|
---|
14 | ACCSSN(PCDTYPE) ;EP
|
---|
15 | ;---> GENERATE ACCESSION# FOR WV PROCEDURE FILE ENTRY.
|
---|
16 | ;---> REQUIRED VARIABLE: PCDTYPE=IEN OF PROCEDURE TYPE (#790.2)
|
---|
17 | N A,C,L,N,P,R,X
|
---|
18 | Q:'$D(PCDTYPE) ""
|
---|
19 | Q:'$D(^WV(790.2,PCDTYPE,0)) ""
|
---|
20 | S X=^WV(790.2,PCDTYPE,0) ;X=0-NODE OF PROC TYPE
|
---|
21 | S P=$P(X,U,4) ;P=PREFIX
|
---|
22 | S L=$P(X,U,6) ;L=LAST ASSIGNED ACCESSION# FOR THIS PROC
|
---|
23 | S A=$P(L,"-") ;A=ACC YEAR
|
---|
24 | S C=$P(L,"-",2) ;C=COUNTER
|
---|
25 | D NOW^%DTC
|
---|
26 | S N=($E(%I(3),1,3)+1700) ;N=YEAR NOW: 94
|
---|
27 | I A'=N S C=0
|
---|
28 | F L +^WV(790.2,PCDTYPE,0):1 Q:$T
|
---|
29 | F S C=C+1 S R=P_N_"-"_C Q:'$D(^WV(790.1,"B",R))
|
---|
30 | S $P(^WV(790.2,PCDTYPE,0),U,6)=N_"-"_C
|
---|
31 | L -^WV(790.2,PCDTYPE,0)
|
---|
32 | Q R ;R=RESULT(NEW ACCESSION#)
|
---|
33 | ;
|
---|
34 | MENUT(TITLE) ;EP
|
---|
35 | ;---> DISPLAY MENU TITLE FROM WV MENU OPTIONS.
|
---|
36 | ;---> REQUIRED VARIABLES: TITLE=TEXT TO BE CENTERED AND DISPLAYED.
|
---|
37 | ;---> DUZ(2)=CURRENT LOCATION TO BE DISPLAYED.
|
---|
38 | N WVTTAB,WVFAC
|
---|
39 | S:'$D(TITLE) TITLE="* NO TITLE SUPPLIED *"
|
---|
40 | S TITLE="* "_TITLE_" *"
|
---|
41 | S WVTTAB=39-($L(TITLE)/2)
|
---|
42 | W @IOF
|
---|
43 | W !?3,"WOMEN'S HEALTH:"
|
---|
44 | W ?WVTTAB,TITLE
|
---|
45 | W ?60,$E($$INSTTX^WVUTL6(DUZ(2)),1,20)
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | TITLE(TITLE) ;EP
|
---|
49 | ;---> DISPLAY A TITLE.
|
---|
50 | ;---> REQUIRED VARIABLES: TITLE=TEXT TO BE CENTERED AND DISPLAYED.
|
---|
51 | N WVTTAB
|
---|
52 | S:'$D(TITLE) TITLE="* NO TITLE SUPPLIED *"
|
---|
53 | S TITLE="* * * WOMEN'S HEALTH: "_TITLE_" * * *"
|
---|
54 | S WVTTAB=39-($L(TITLE)/2)
|
---|
55 | W @IOF
|
---|
56 | W !?WVTTAB,TITLE,!!
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | CENTERT(TEXT) ;EP
|
---|
60 | ;---> ADD LEADING SPACES TO CENTER TEXT.
|
---|
61 | S:'$D(TEXT) TEXT="* NO TEXT SUPPLIED *"
|
---|
62 | N I
|
---|
63 | F I=1:1:(39-($L(TEXT)/2)) S TEXT=" "_TEXT
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | UPPER() ;EP
|
---|
67 | S X=$TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|
68 | Q X
|
---|
69 | ;
|
---|
70 | COPYLET ;EP
|
---|
71 | ;---> COPY TEXT OF GENERIC SAMPLE LETTER TO ONE OR MORE WV PURPOSES.
|
---|
72 | ;---> EDIT NEXT LINE TO INCLUDE IENS OF WV PURPOSES TO BE CHANGED.
|
---|
73 | ;F DA=15,16,18,19 D
|
---|
74 | S DA=0
|
---|
75 | F S DA=$O(^WV(790.404,DA)) Q:'DA D
|
---|
76 | .K ^WV(790.404,DA,1)
|
---|
77 | .S N=0
|
---|
78 | .F S N=$O(^WV(790.6,1,1,N)) Q:'N D
|
---|
79 | ..S ^WV(790.404,DA,1,N,0)=^WV(790.6,1,1,N,0)
|
---|
80 | .S ^WV(790.404,DA,1,0)=^WV(790.6,1,1,0)
|
---|
81 | Q
|
---|
82 | ;
|
---|
83 | ;
|
---|
84 | UPXREF(X,WVGBL) ;EP
|
---|
85 | ;---> SET UPPERCASE XREF FOR X. CALLED FROM MUMPS XREFS ON MIXED CASE
|
---|
86 | ;---> FIELDS WHERE AN ALL UPPERCASE LOOKUP IS NEEDED.
|
---|
87 | ;---> REQUIRED VARIABLES: WVGBL=GLOBAL ROOT OF FILE, X=TEXT TO BE
|
---|
88 | ;---> CROSSREFERENCED IN ALL UPPERCASE, DA=IEN.
|
---|
89 | Q:'$D(WVGBL)!('$D(X))
|
---|
90 | N WVX S WVX=X,X=$$UPPER
|
---|
91 | S @(WVGBL_"""U"",$E(X,1,30),DA)")=""
|
---|
92 | S X=WVX K WVGBL
|
---|
93 | Q
|
---|
94 | ;
|
---|
95 | KUPXREF(X,WVGBL) ;EP
|
---|
96 | ;---> KILL UPPERCASE XREF FOR X. CALLED FROM MUMPS XREFS ON MIXED CASE
|
---|
97 | ;---> FIELDS WHERE AN ALL UPPERCASE LOOKUP IS NEEDED.
|
---|
98 | ;---> REQUIRED VARIABLES: WVGBL=GLOBAL ROOT OF FILE, X=TEXT TO BE
|
---|
99 | ;---> CROSSREFERENCED IN ALL UPPERCASE, DA=IEN.
|
---|
100 | Q:'$D(WVGBL)!('$D(X))
|
---|
101 | N WVX S WVX=X,X=$$UPPER
|
---|
102 | K @(WVGBL_"""U"",$E(X,1,30),DA)")
|
---|
103 | S X=WVX K WVGBL
|
---|
104 | Q
|
---|
105 | ;
|
---|
106 | AGENCY(SITE) ;EP
|
---|
107 | ;---> RETURN TYPE OF AGENCY ("i"=IHS, "s"=STATE, "v"=VA, ETC.).
|
---|
108 | ;---> REQUIRED VARIABLE: SITE=DUZ(2)
|
---|
109 | ;---> IF SITE NOT PASSED OR PARAMETER NOT SET, IT DEFAULTS TO VA.
|
---|
110 | Q:'$G(SITE) "v"
|
---|
111 | Q:'$D(^WV(790.02,SITE,0)) "v"
|
---|
112 | Q $P(^WV(790.02,SITE,0),U,15)
|
---|
113 | ;
|
---|
114 | PNLAB() ;EP
|
---|
115 | ;---> RETURN TEXT FOR PATIENT NUMBER: " SSN: ".
|
---|
116 | Q " SSN: "
|
---|
117 | ;
|
---|
118 | PNLB() ;EP
|
---|
119 | ;---> RETURN UPPERCASE TEXT FOR PATIENT NUMBER, NO COLON/SPACES.
|
---|
120 | Q "SSN"
|
---|
121 | ;
|
---|
122 | SLDT2(DATE) ;EP
|
---|
123 | ;---> CONVERT FILEMAN INTERNAL DATE TO "SLASH" FORMAT: MM/DD/YY.
|
---|
124 | ;---> DATE=DATE IN FILEMAN FORMAT.
|
---|
125 | Q:'$G(DATE) "NO DATE"
|
---|
126 | S DATE=$P(DATE,".")
|
---|
127 | Q:$L(DATE)'=7 DATE
|
---|
128 | Q:'$E(DATE,4,5) $E(DATE,1,3)+1700
|
---|
129 | Q:'$E(DATE,6,7) $E(DATE,4,5)_"/"_$E(DATE,2,3)
|
---|
130 | Q $E(DATE,4,5)_"/"_$E(DATE,6,7)_"/"_$E(DATE,2,3)
|
---|
131 | ;
|
---|
132 | ;
|
---|
133 | SLDT1(DATE) ;EP
|
---|
134 | ;---> CONVERT FILEMAN INTERNAL DATE TO "SLASH" FORMAT: MM/DD/YY
|
---|
135 | ;---> PLUS TIME.
|
---|
136 | N Y
|
---|
137 | Q:'$D(DATE) "unknown"
|
---|
138 | S Y=DATE,DATE=$P(DATE,".")
|
---|
139 | Q:'DATE "NO DATE"
|
---|
140 | Q:$L(DATE)'=7 DATE
|
---|
141 | Q:'$E(DATE,4,5) $E(DATE,1,3)+1700
|
---|
142 | Q:'$E(DATE,6,7) $E(DATE,4,5)_"/"_$E(DATE,2,3)
|
---|
143 | D DD^%DT S:Y["@" Y=" @ "_$P($P(Y,"@",2),":",1,2)
|
---|
144 | Q $E(DATE,4,5)_"/"_$E(DATE,6,7)_"/"_$E(DATE,2,3)_Y
|
---|
145 | ;
|
---|
146 | TXDT(DATE) ;EP
|
---|
147 | ;---> CONVERT FILEMAN INTERNAL DATE TO "TEXT" FORMAT: MMM DD,YYYY.
|
---|
148 | N Y
|
---|
149 | Q:'$D(DATE) "UNKNOWN"
|
---|
150 | S Y=DATE D DD^%DT
|
---|
151 | I Y[", " S Y=$P(Y,", ")_","_$P(Y,", ",2)
|
---|
152 | I Y["@" S Y=$P(Y,"@")_" "_$P($P(Y,"@",2),":",1,2)
|
---|
153 | Q Y
|
---|