1 | SPNPSR13 ;HIRMFO/DAD,WAA-HUNT: IN/OUT PATIENT VISIT ;8/8/95 10:04
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;**6**;01/02/1997
|
---|
3 | ;
|
---|
4 | EN1(D0,VISITYPE,CLINIC,BDATE,EDATE) ; *** Search entry point
|
---|
5 | ; Input:
|
---|
6 | ; ACTION,SEQUENCE = Search ACTION,SEQUENCE number
|
---|
7 | ; D0 = SCD (SPINAL CORD) REGISTRY file (#154) IEN
|
---|
8 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"VISIT TYPE")= I ! O ! B ^ External
|
---|
9 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"CLINIC") = Int ^ Ext (Visit type = O!B)
|
---|
10 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING DATE") = Date ^ Date_(Ext)
|
---|
11 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date_(Ext)
|
---|
12 | ; VISITYPE = Patient Visit Type (int)
|
---|
13 | ; CLINIC = Clinic (Int)
|
---|
14 | ; BDATE = Beginning Date
|
---|
15 | ; EDATE = Ending Date
|
---|
16 | ; Output:
|
---|
17 | ; $S( D0_Meets_Search_Criteria : 1 , 1 : 0 )
|
---|
18 | ;
|
---|
19 | N ADM1,ADM2,DFN,DSC1,I,MEETSRCH,VASD
|
---|
20 | S MEETSRCH=0
|
---|
21 | S DFN=D0
|
---|
22 | I "^O^B^"[(U_VISITYPE_U) D
|
---|
23 | . S VASD("F")=BDATE
|
---|
24 | . S VASD("T")=EDATE
|
---|
25 | . S VASD("W")=1 I CLINIC]"" S VASD("C",CLINIC)=""
|
---|
26 | . K ^UTILITY("VASD",$J)
|
---|
27 | . D SDA^VADPT
|
---|
28 | . I $O(^UTILITY("VASD",$J,0)) S MEETSRCH=1
|
---|
29 | . K ^UTILITY("VASD",$J)
|
---|
30 | . Q
|
---|
31 | I "^I^B^"[(U_VISITYPE_U) D
|
---|
32 | . S ADM1=+$O(^DGPM("ATID1",DFN,9999999.999999-BDATE))
|
---|
33 | . S ADM1=$S(ADM1:9999999.999999-ADM1,1:0)
|
---|
34 | . S ADM2=+$O(^DGPM("ATID1",DFN,9999999.999999-EDATE))
|
---|
35 | . S ADM2=$S(ADM2:9999999.999999-ADM2,1:0)
|
---|
36 | . S DSC1=+$O(^DGPM("ATID3",DFN,9999999.999999-EDATE))
|
---|
37 | . S DSC1=$S(DSC1:9999999.999999-DSC1,1:0)
|
---|
38 | . I ADM2'<BDATE S MEETSRCH=1
|
---|
39 | . I ADM1,((DSC1'>0)!(DSC1'<BDATE)) S MEETSRCH=1
|
---|
40 | . Q
|
---|
41 | Q MEETSRCH
|
---|
42 | ;
|
---|
43 | EN2(ACTION,SEQUENCE) ; *** Prompt entry point
|
---|
44 | ; Input:
|
---|
45 | ; ACTION,SEQUENCE = Search ACTION,SEQUENCE number
|
---|
46 | ; Output:
|
---|
47 | ; SPNLEXIT = $S( User_Abort/Timeout : 1 , 1 : 0 )
|
---|
48 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"VISIT TYPE")= I ! O ! B ^ External
|
---|
49 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"CLINIC") = Int ^ Ext (Visit type = O!B)
|
---|
50 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING DATE") = Date ^ Date_(Ext)
|
---|
51 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date_(Ext)
|
---|
52 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0) = $$EN1^SPNPSR13(D0,VISITYPE,CLINIC,BDATE,EDATE)
|
---|
53 | ;
|
---|
54 | N CLINIC,DIR,DIRUT,DTOUT,DUOUT,I,VISITYPE
|
---|
55 | K ^TMP($J,"SPNPRT",ACTION,SEQUENCE),DIR
|
---|
56 | S DIR(0)="SOAM^I:INPATIENT;O:OUTPATIENT;B:BOTH INPATIENT & OUTPATIENT;"
|
---|
57 | S DIR("A")="Type of Visit: ",DIR("?")="Enter 'I', 'O', or 'B'"
|
---|
58 | D ^DIR
|
---|
59 | I Y'="" S Y=$$UP^XLFSTR(Y)
|
---|
60 | S VISITYPE=Y,VISITYPE(0)=$G(Y(0))
|
---|
61 | S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
|
---|
62 | I 'SPNLEXIT,Y'="" D
|
---|
63 | .I "^O^B^"[(U_VISITYPE_U) D Q:SPNLEXIT
|
---|
64 | .. S DIR(0)="POA^44:AEMNQ^K:$P(^SC(+Y,0),U,3)'=""C"" X"
|
---|
65 | .. S DIR("A")="Clinic name: "
|
---|
66 | .. S DIR("?")="Enter the desired clinic or leave blank for ALL clinics"
|
---|
67 | .. D ^DIR S CLINIC=Y
|
---|
68 | .. S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,$D(DIROUT):1,1:0)
|
---|
69 | .. Q
|
---|
70 | .S (BDATE,EDATE)=""
|
---|
71 | .D EN1^SPNPSR00(ACTION,SEQUENCE+.2,.BDATE,.EDATE)
|
---|
72 | .I 'SPNLEXIT D
|
---|
73 | .. I $G(CLINIC)]"" S ^TMP($J,"SPNPRT",ACTION,SEQUENCE+.1,"CLINIC")=CLINIC
|
---|
74 | .. S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"VISIT TYPE")=VISITYPE_U_VISITYPE(0)
|
---|
75 | .. S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0)="$$EN1^SPNPSR13(D0,"""_VISITYPE_""","""_$P($G(CLINIC),U)_""","_BDATE_","_EDATE_")"
|
---|
76 | .. Q
|
---|
77 | .Q
|
---|
78 | Q
|
---|