PXRMETH1 ; SLC/PJH - Reminder Extract History ;07/24/2006 ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21 ; BLDLIST(IEN) ;Build workfile N IND,PLIST K ^TMP("PXRMETH",$J) ;Build list of extract summaries in period order I PXRMVIEW="P" D LIST1(.PLIST,.IEN) ;Build list of extract summaries in date order I PXRMVIEW="D" D LIST2(.PLIST,.IEN) ;Move into list array M ^TMP("PXRMETH",$J)=PLIST S VALMCNT=PLIST("VALMCNT") ;Allow selection by item F IND=1:1:VALMCNT D .S ^TMP("PXRMETH",$J,"IDX",IND,IND)=IEN(IND) Q ; HELP(CALL) ;General help text routine. N HTEXT I CALL=1 D .S HTEXT(1)="Select ES to view the details of an extract or run a compliance" .S HTEXT(2)="report for the extract. Select MT to transmit extract details to the AAC." .S HTEXT(3)="Select TH to view the transmission history for an extract." ; I CALL=3 D .S HTEXT(1)="Select Y to send the results of the Extract to the National Austin database." ; I CALL=4 D .S HTEXT(4)="Select Y to overwrite the previous Extract stored in the National Austin Database." D HELP^PXRMEUT(.HTEXT) Q ; LIST1(LIST,IEN) ;Build a list of extract summaries for a parameter. N AUTO,EDATE,HL7ID,HL7SUB,IND,NAME,PERIOD,XDATE,YEAR ;Build list of extract summaries in reverse date order. S YEAR="9999",VALMCNT=0 F S YEAR=$O(^PXRMXT(810.3,"D",IEN,YEAR),-1) Q:YEAR="" D .S PERIOD="99" .F S PERIOD=$O(^PXRMXT(810.3,"D",IEN,YEAR,PERIOD),-1) Q:PERIOD="" D ..S IND="" ..F S IND=$O(^PXRMXT(810.3,"D",IEN,YEAR,PERIOD,IND),-1) Q:IND="" D ...S NAME=$P($G(^PXRMXT(810.3,IND,0)),U) ...S EDATE=$P($G(^PXRMXT(810.3,IND,0)),U,6) ...S AUTO=$P($G(^PXRMXT(810.3,IND,4)),U,5) ...S AUTO=$S(AUTO="A":"Y",1:"N") ...S HL7ID=$O(^PXRMXT(810.3,IND,5,"B",""),-1),XDATE="",HL7SUB="" ...I HL7ID S HL7SUB=$O(^PXRMXT(810.3,IND,5,"B",HL7ID,"")) ...I HL7SUB S XDATE=$P($G(^PXRMXT(810.3,IND,5,HL7SUB,0)),U,2) ...I 'XDATE S XDATE="Not Transmitted" ...S VALMCNT=VALMCNT+1 ...S LIST(VALMCNT,0)=$$FRE(VALMCNT,NAME,EDATE,XDATE,AUTO) ...S IEN(VALMCNT)=IND S LIST("VALMCNT")=VALMCNT Q ; LIST2(LIST,IEN) ;Build a list of extract summaries for a parameter. N AUTO,EDATE,HL7ID,HL7SUB,IND,NAME,PERIOD,XDATE,YEAR ;Build list of extract summaries in reverse date order. S EDATE="",VALMCNT=0 F S EDATE=$O(^PXRMXT(810.3,"C",IEN,EDATE),-1) Q:'EDATE D .S IND="" .F S IND=$O(^PXRMXT(810.3,"C",IEN,EDATE,IND)) Q:'IND D ..S NAME=$P($G(^PXRMXT(810.3,IND,0)),U) ..S AUTO=$P($G(^PXRMXT(810.3,IND,4)),U,5) ..S AUTO=$S(AUTO="A":"Y",1:"N") ..S HL7ID=$O(^PXRMXT(810.3,IND,5,"B",""),-1),XDATE="",HL7SUB="" ..I HL7ID S HL7SUB=$O(^PXRMXT(810.3,IND,5,"B",HL7ID,"")) ..I HL7SUB S XDATE=$P($G(^PXRMXT(810.3,IND,5,HL7SUB,0)),U,2) ..I 'XDATE S XDATE="Not Transmitted" ..S VALMCNT=VALMCNT+1 ..S LIST(VALMCNT,0)=$$FRE(VALMCNT,NAME,EDATE,XDATE,AUTO) ..S IEN(VALMCNT)=IND S LIST("VALMCNT")=VALMCNT Q ; FRE(NUMBER,NAME,EDATE,XDATE,AUTO) ;Format N TAUTO,TDATE,TEMP,TNAME,TSOURCE S TEMP=$$RJ^XLFSTR(NUMBER,5," ") S TNAME=$E(NAME,1,27) S TEMP=TEMP_" "_$$LJ^XLFSTR(TNAME,27," ") S TDATE=$$FMTE^XLFDT(EDATE,"5Z") S TEMP=TEMP_" "_$$LJ^XLFSTR(TDATE,20," ") S TDATE=XDATE I TDATE S TDATE=$$FMTE^XLFDT(TDATE,"5Z") S TEMP=TEMP_" "_$$LJ^XLFSTR(TDATE,22," ") S TAUTO=AUTO S TEMP=TEMP_TAUTO Q TEMP