Changeset 623 for WorldVistAEHR/trunk/r/SCHEDULING-SD-SC/SCMCHLR2.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/SCHEDULING-SD-SC/SCMCHLR2.m
r613 r623 1 SCMCHLR2 ;ALB/KCL - PCMM HL7 Reject Processing - Build List Area; 10-JAN-2000 ; Compiled April 24, 2007 11:44:102 ;;5.3;Scheduling;**210,272,297,458**;AUG 13, 1993;Build 14 3 4 EN(SCARY,SCBEG,SCEND,SCEPS,SCSORTBY,SCCNT) 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 GET(SCARY,SCBEG,SCEND,SCEPS,SCSORTBY) 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 SORT(SCSORTBY,SCDTR,SCDFN,SCEPS,SCTLIEN,SCERIEN) 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 ...I $$GETHL7ID^SCMCHLA2($G(SCTLOG("ERR","ZPCID")),.SCHL) D 115 ....;get provider from POSITION ASSIGNMENT HISTORY file116 ....S SCPTR=$P($G(SCHL("HL7ID")),"-",2) ; pointer to PCMM HL7 ID file117 ....I $G(SCTLOG("WORK")) S SCPROV=$$PROV^SCMCHLP(SCTLOG("WORK"))118 ....I '$G(SCTLOG("WORK")) S SCPROV=$P($G(^SCTM(404.52,+SCPTR,0)),"^",3)119 ....;setup ^tmp array sorted by provider120 ....S ^TMP("SCERRSRT",$J,SCSORTBY,$S($G(SCPROV)'="":$$EXTERNAL^DILFD(404.52,.03,,SCPROV),1:"ZZZUNKNOWN"),SCTLIEN,SCERIEN)=""121 122 123 124 125 126 127 128 129 130 131 132 1 SCMCHLR2 ;ALB/KCL - PCMM HL7 Reject Processing - Build List Area; 10-JAN-2000 2 ;;5.3;Scheduling;**210,272,297**;AUG 13, 1993 3 ; 4 EN(SCARY,SCBEG,SCEND,SCEPS,SCSORTBY,SCCNT) ; 5 ; Description: This entry point is used to build list area for 6 ; PCMM Transmission Errors. 7 ; 8 ; The following variables are 'system wide variables' in the 9 ; PCMM Transmission Error Processing List Manager application: 10 ; Input: 11 ; SCARY - Global array subscript 12 ; SCBEG - Begin date for date range 13 ; SCEND - End date for date range 14 ; SCEPS - Error processing statuses 15 ; 1 -> New 16 ; 2 -> Checked 17 ; 3 -> Both 18 ; SCSORTBY - Sort by criteria 19 ; N -> Patient Name 20 ; D -> Date/Time Ack Received 21 ; P -> Provider 22 ; 23 ; Output: 24 ; SCCNT - Contains number of lines in the list, pass by reference 25 ; 26 ;Display FM wait msg 27 D WAIT^DICD 28 ; 29 ;Get PCMM HL7 Trans Log errors 30 D GET(SCARY,SCBEG,SCEND,SCEPS,SCSORTBY) 31 ; 32 ;Build list area for PCMM HL7 Trans Log errors 33 D BLDLIST^SCMCHLR3(SCSORTBY,SCEPS,.SCCNT) 34 ; 35 ;If no PCMM HL7 Trans Log errors, display msg in list area 36 I 'SCCNT D 37 .D SET^SCMCHLR3(SCARY,1,"",1,36,0,,,,.SCCNT) 38 .D SET^SCMCHLR3(SCARY,2,"No 'PCMM Transmission Errors' to display.",4,41,0,,,,.SCCNT) 39 Q 40 ; 41 ; 42 GET(SCARY,SCBEG,SCEND,SCEPS,SCSORTBY) ; 43 ; Description: Get PCMM HL7 Transmission Log errors. 44 ; 45 ; Input: 46 ; SCARY - Global array subscript 47 ; SCBEG - Begin date for date range 48 ; SCEND - End date for date range 49 ; SCEPS - Error processing status 50 ; SCSORTBY - Sort by criteria 51 ; 52 ; Output: 53 ; PCMM transmission log error list sorted by: 54 ; 55 ; Patient Name: ^TMP("SCERRSRT",$J,<sort by>,<patient name>,<trans log IEN>,<err code ien>) 56 ; OR, 57 ; Date/Time Ack Rec'd: ^TMP("SCERRSRT",$J,<sort by>,<date/time ack rec'd>,<trans log IEN>,<err code ien>) 58 ; OR, 59 ; Provider: ^TMP("SCERRSRT",$J,<sort by>,<provider>,<trans log IEN>,<err code ien>) 60 ; 61 N SCDFN,SCDTR,SCERIEN,SCTLIEN,SCSTAT 62 ; 63 ;Loop thru PCMM HL7 Trans Log for selected date range 64 F SCDTR=SCBEG:0 S SCDTR=$O(^SCPT(404.471,"AST",SCDTR)) Q:'SCDTR!($P(SCDTR,".")>SCEND) D 65 .;loop thru status 66 .S SCSTAT=0 67 .F S SCSTAT=$O(^SCPT(404.471,"AST",SCDTR,SCSTAT)) Q:SCSTAT="" D 68 ..;loop thru patients 69 ..S SCDFN=0 70 ..F S SCDFN=$O(^SCPT(404.471,"AST",SCDTR,SCSTAT,SCDFN)) Q:SCDFN="" D 71 ...;loop through (#404.471) ien's 72 ...S SCTLIEN=0 73 ...F S SCTLIEN=$O(^SCPT(404.471,"AST",SCDTR,SCSTAT,SCDFN,SCTLIEN)) Q:'SCTLIEN D 74 ....;loop thru ien's of error code mult. and setup sort array 75 ....S SCERIEN=0 76 ....F S SCERIEN=$O(^SCPT(404.471,SCTLIEN,"ERR",SCERIEN)) Q:'SCERIEN D SORT(SCSORTBY,SCDTR,SCDFN,SCEPS,SCTLIEN,SCERIEN) 77 ; 78 Q 79 ; 80 ; 81 SORT(SCSORTBY,SCDTR,SCDFN,SCEPS,SCTLIEN,SCERIEN) ; 82 ; Description: Used to set up sort array based on 'Sort Criteria' and 83 ; 'Error Processing Status' for PCMM Transmission Errors list display. 84 ; 85 ; Input: 86 ; SCSORTBY - Sort by criteria 87 ; SCDTR - PCMM transmission log date/time ack received 88 ; SCDFN - Patient IEN 89 ; SCEPS - Error processing status 90 ; SCTLIEN - PCMM transmission log IEN 91 ; SCERIEN - IEN of record in Error Code (#404.47142) multiple 92 ; 93 ; Output: None 94 ; 95 N SCTLOG 96 ; 97 ;If sort by criteria is 'Date/Time Ack Received' 98 I SCSORTBY="D" D 99 .;get data from PCMM HL7 Trans Log 100 .I $$GETLOG^SCMCHLA(SCTLIEN,SCERIEN,.SCTLOG) D 101 ..;if Error Proc Status matches selected Error Proc Status 102 ..I (SCEPS=$G(SCTLOG("ERR","EPS"))!(SCEPS>2)) D 103 ...;setup ^tmp array sorted by date/time ack rec'd 104 ...S ^TMP("SCERRSRT",$J,SCSORTBY,SCDTR,SCTLIEN,SCERIEN)="" 105 ; 106 ;If sort by criteria is 'Provider' 107 I SCSORTBY="P" D 108 .N SCPTR,SCPROV,SCHL 109 .;get data from PCMM HL7 Trans Log 110 .I $$GETLOG^SCMCHLA(SCTLIEN,SCERIEN,.SCTLOG) D 111 ..;if Error Proc Status matches selected Error Proc Status 112 ..I (SCEPS=$G(SCTLOG("ERR","EPS"))!(SCEPS>2)) D 113 ...;get data from PCMM HL7 ID file 114 ...I $$GETHL7ID^SCMCHLA2($G(SCTLOG("ERR","ZPCID")),.SCHL) 115 ...;get provider from POSITION ASSIGNMENT HISTORY file 116 ...S SCPTR=$P($G(SCHL("HL7ID")),"-",2) ; pointer to PCMM HL7 ID file 117 ...I $G(SCTLOG("WORK")) S SCPROV=$$PROV^SCMCHLP(SCTLOG("WORK")) 118 ...I '$G(SCTLOG("WORK")) S SCPROV=$P($G(^SCTM(404.52,+SCPTR,0)),"^",3) 119 ...;setup ^tmp array sorted by provider 120 ...S ^TMP("SCERRSRT",$J,SCSORTBY,$S($G(SCPROV)'="":$$EXTERNAL^DILFD(404.52,.03,,SCPROV),1:"ZZZUNKNOWN"),SCTLIEN,SCERIEN)="" 121 ; 122 ;If sort by criteria is 'Patient' (default) 123 I SCSORTBY="N" D 124 .;get data from PCMM HL7 Trans Log 125 .I $$GETLOG^SCMCHLA(SCTLIEN,SCERIEN,.SCTLOG) D 126 ..;if Error Proc Status matches selected Error Proc Status 127 ..I (SCEPS=$G(SCTLOG("ERR","EPS"))!(SCEPS>2)) D 128 ...;setup ^tmp array sorted by patient 129 ...I SCDFN="W" I $G(SCTLOG("WORK"))="" S SCDFN="" 130 ...S ^TMP("SCERRSRT",$J,SCSORTBY,$S($P($G(^DPT(+SCDFN,0)),U)'="":$P(^(0),U),SCDFN="W":"Workload Message",1:"UNKNOWN"),SCTLIEN,SCERIEN)="" 131 ; 132 Q
Note:
See TracChangeset
for help on using the changeset viewer.