| 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 | 
|---|