1 | FSCRX ;SLC/STAFF-NOIS Report Extract ;1/29/98 18:51
|
---|
2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
3 | ;
|
---|
4 | EXTRACT ; from FSCFORMF
|
---|
5 | N ALL
|
---|
6 | I TYPE'["VIEW" Q
|
---|
7 | I CALLNUM=0 W !,"No calls to display." H 2 S DTOUT=1 Q
|
---|
8 | I $G(CALLCNT)=1 D Q
|
---|
9 | .D FULL^VALM1
|
---|
10 | .W !,"This is a special ouput to capture NOIS data using a terminal emulator."
|
---|
11 | .K EXTRACT,CHOICE
|
---|
12 | .;D FIELDS(.EXTRACT,.CHOICE,.OK)
|
---|
13 | .S CNT=0 F S CNT=$O(FORMAT(CNT)) Q:CNT<1 S CHOICE(CNT)=FORMAT(CNT),FIELDS($P(FORMAT(CNT),U,7))=""
|
---|
14 | .N DIR,X,Y K DIR
|
---|
15 | .S DIR(0)="FAO^1:1",DIR("A")="Enter a delimiter: ",DIR("B")=","
|
---|
16 | .S DIR("?",1)="Enter a single character used to delimit the fields."
|
---|
17 | .S DIR("?",2)="If the data contains this delimiter it will be repalced by a space."
|
---|
18 | .S DIR("?",3)="For example: DOE,JOHN with a comma delimiter would appear as DOE JOHN."
|
---|
19 | .S DIR("?",4)="Enter 'E' to exit (NOTE: a '^' will be used as a delimiter)."
|
---|
20 | .S DIR("?",5)="Enter '??' for more help."
|
---|
21 | .S DIR("?")="^D HELP^FSCU(.DIR)"
|
---|
22 | .S DIR("??")="FSC U1 NOIS"
|
---|
23 | .W !,"-- Begin capture after this prompt. --"
|
---|
24 | .D ^DIR K DIR
|
---|
25 | .I Y="E"!$D(DTOUT) S DTOUT=1 Q
|
---|
26 | .S DELIM=$S($L(Y):Y,1:",")
|
---|
27 | .S IOP=";255;9999" D ^%ZIS
|
---|
28 | .W !
|
---|
29 | .S ALL=0 I '$L($O(EXTRACT(""))) S ALL=1
|
---|
30 | .D GET^FSCGET($S('ALL:"CUSTOM",1:"DETAIL"),CALLNUM,.EXTRACT)
|
---|
31 | .S:$D(EXTRACT("REF"))!ALL EXTRACT("REF")=U_$P($G(^FSCD("CALL",CALLNUM,0)),U) S:$D(EXTRACT("SUBJECT"))!ALL EXTRACT("SUBJECT")=U_$G(^(1))
|
---|
32 | .S CNT=0 F S CNT=$O(CHOICE(CNT)) Q:CNT<1 S VALUE=$P(CHOICE(CNT),U,7) W $TR(VALUE,DELIM," "),DELIM
|
---|
33 | .W ! D FORMATX
|
---|
34 | .I $G(CALLCNT)=+^TMP("FSC LIST CALLS",$J) W ! D HOME^%ZIS,PAUSE^FSCU(.OK) K EXTRACT
|
---|
35 | I $G(CALLCNT)'=1 D
|
---|
36 | .S ALL=0 I '$L($O(EXTRACT(""))) S ALL=1
|
---|
37 | .D GET^FSCGET($S('ALL:"CUSTOM",1:"DETAIL"),CALLNUM,.EXTRACT)
|
---|
38 | .S:$D(EXTRACT("REF"))!ALL EXTRACT("REF")=U_$P($G(^FSCD("CALL",CALLNUM,0)),U) S:$D(EXTRACT("SUBJECT"))!ALL EXTRACT("SUBJECT")=U_$G(^(1))
|
---|
39 | .D FORMATX
|
---|
40 | I $G(CALLCNT)=+^TMP("FSC LIST CALLS",$J) W ! D HOME^%ZIS,PAUSE^FSCU(.OK) K EXTRACT
|
---|
41 | Q
|
---|
42 | ;
|
---|
43 | FIELDS(FIELDS,CHOICE,OK) ;
|
---|
44 | S OK=1
|
---|
45 | N DIR,X,Y K DIR
|
---|
46 | S DIR(0)="SAMO^FORMAT:FORMAT;SELECT:SELECT",DIR("A")="Select (F)ormat or (S)elect fields: "
|
---|
47 | S DIR("?",1)="Enter FORMAT to select a format (a collect of fields)."
|
---|
48 | S DIR("?",2)="Enter SELECT to select specific fields to be extracted."
|
---|
49 | S DIR("?")="^D HELP^FSCU(.DIR)"
|
---|
50 | S DIR("??")="FSC U1 NOIS"
|
---|
51 | D ^DIR K DIR
|
---|
52 | I $D(DIRUT) S OK=0 Q
|
---|
53 | I Y="SELECT" D SELECT(.FIELDS,.CHOICE,.OK)
|
---|
54 | I Y="FORMAT" D FORMAT(.FIELDS,.CHOICE,.OK)
|
---|
55 | Q
|
---|
56 | ;
|
---|
57 | SELECT(FIELDS,CHOICE,OK) ;
|
---|
58 | K FIELDS,CHOICE S OK=0
|
---|
59 | N CNT,DIC,X,Y K DIC,Y
|
---|
60 | S DIC=7107.2,DIC(0)="AEMOQZ",DIC("A")="Select Field: " F CNT=1:1 D ^DIC Q:Y<1 S CHOICE(CNT)=Y(0),FIELDS($P(Y(0),U,7))=""
|
---|
61 | K DIC
|
---|
62 | Q
|
---|
63 | FORMAT(FIELDS,CHOICE,OK) ;
|
---|
64 | K FIELDS,CHOICE S OK=1
|
---|
65 | N CNT,DIC,X,Y K DIC,Y
|
---|
66 | S DIC=7107.6,DIC(0)="AEMOQZ",DIC("A")="Select Format: ",DIC("S")="I $O(^(2,0))" D ^DIC K DIC Q:Y<1
|
---|
67 | Q
|
---|
68 | FORMATX ;
|
---|
69 | W !
|
---|
70 | S CNT=0 F S CNT=$O(CHOICE(CNT)) Q:CNT<1 S VALUE=$P(CHOICE(CNT),U,7) S:$P(CHOICE(CNT),U,3)="D" $P(EXTRACT(VALUE),U,2)=$$DATE(+EXTRACT(VALUE)) W $TR($P(EXTRACT(VALUE),U,2),DELIM," "),DELIM
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | DATE(DATETIME) ; $$(date) -> M/D/Y HH:MM
|
---|
74 | Q:'DATETIME ""
|
---|
75 | S DATETIME=+$TR($J(DATETIME,$L(DATETIME),4)," ","")
|
---|
76 | Q $TR($$FMTE^XLFDT(DATETIME,2),"@"," ")
|
---|