Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BARDYSV9

BARDYSV9.m

Go to the documentation of this file.
  1. BARDYSV9 ; IHS/DIT/CPC - DAYS TO COLLECTION detail print ; 04/26/2018
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**28**;OCT 26,2005;Build 92
  1. ;IHS/DIT/CPC - 1.8*28 - HEAT224215 - New routine to print Spreadsheet XML detail report
  1. ;
  1. Q
  1. ;
  1. ROWTOCOL(VISITIEN,BARREC) ;Scans global created by Days report and creates appropriate number of column headers
  1. ;Piece 1 = Column Name
  1. ;Piece 2 = Data element
  1. ;Piece 3 = format code: N=Number, S=String, D=Date
  1. ;Piece 4 = StyleID
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,1)="VISIT IEN"_U_$P(BARREC,U,1)_U_"N"
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,2)="MONTH YEAR"_U_$P(BARREC,U,2)_U_"D"_U_"s63"
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,3)="VISIT LOC"_U_$P(BARREC,U,3)_U_"S"
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,4)="VISIT ADMIT DATE"_U_$P(BARREC,U,4)_U_"D"_U_"s62"
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,5)="DATE CREATED PCC"_U_$P(BARREC,U,5)_U_"D"_U_"s62"
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,6)="CREATED NUM DAYS"_U_$P(BARREC,U,6)_U_"N"
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,7)="DATE REVIEWED"_U_$P(BARREC,U,7)_U_"D"_U_"s62"
  1. S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,8)="REVIEWED NUM DAYS"_U_$P(BARREC,U,8)_U_"N"
  1. S BARBILLS=$P(BARREC,U,9),I=""
  1. F I=1:1:$L(BARBILLS,"~") D
  1. .S BARBILL=$P(BARBILLS,"~",I)
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+9)="BILL NUM "_I_U_$P(BARBILL,";",1)_U_"S"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+10)="APPROVAL DATE "_I_U_$P(BARBILL,";",2)_U_"D"_U_"s62"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+11)="APPROVAL NUM DAYS "_I_U_$P(BARBILL,";",3)_U_"N"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+12)="EXPORT DATE "_I_U_$P(BARBILL,";",4)_U_"D"_U_"s62"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+13)="EXPORT NUM DAYS "_I_U_$P(BARBILL,";",5)_U_"N"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+14)="FINALIZED BATCH DATE "_I_U_$P(BARBILL,";",6)_U_"D"_U_"s62"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+15)="FINALIZED NUM DAYS "_I_U_$P(BARBILL,";",7)_U_"N"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+16)="FIRST TRANS DATE "_I_U_$P(BARBILL,";",8)_U_"D"_U_"s62"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+17)="FIRST TRANS NUM DAYS "_I_U_$P(BARBILL,";",9)_U_"N"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+18)="LAST TRANS DATE "_I_U_$P(BARBILL,";",10)_U_"D"_U_"s62"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+19)="LAST TRANS NUM DAYS "_I_U_$P(BARBILL,";",11)_U_"N"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+20)="PROVIDER "_I_U_$P(BARBILL,";",12)_U_"S"
  1. .S ^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN,100*I+21)="BILLED AMOUNT "_I_U_$P(BARBILL,";",13)_U_"N"
  1. Q
  1. PRTXML ;Walks through data and outputs data elements
  1. S GLOBAL="",VISITIEN=0,PIECE=2,C=","
  1. D XCELHDR
  1. D XCELCHDR
  1. F S VISITIEN=$O(^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",VISITIEN)) Q:+VISITIEN=0 D
  1. .S GLOBAL="^XTMP("_""""_"BARDYSVS"_""""_C_$J_C_""""_"DAYS TO COL VISIT"_""""_C_""""_"DET"_""""_C_""""_"COL"_""""_")"
  1. .D XCELROW(GLOBAL,VISITIEN,2,3,4)
  1. D XCELFTR
  1. Q
  1. XCELHDR ;Excel XML Header
  1. W "<?xml version="_""""_"1.0"_""""_"encoding="_""""_"utf-8"_""""_" ?>",!
  1. W "<?mso-application progid="_""""_"Excel.Sheet"_""""_" ?>",!
  1. W "<Workbook xmlns="_""""_"urn:schemas-microsoft-com:office:spreadsheet"_"""",!
  1. W " xmlns:o="_""""_"urn:schemas-microsoft-com:office:office"_"""",!
  1. W " xmlns:x="_""""_"urn:schemas-microsoft-com:office:excel"_"""",!
  1. W " xmlns:rs="_""""_"urn:schemas-microsoft-com:rowset"_""""_" xmlns:z="_""""_"#RowsetSchema"_"""",!
  1. W " xmlns:ss="_""""_"urn:schemas-microsoft-com:office:spreadsheet"_"""",!
  1. W " xmlns:html="_""""_"http://www.w3.org/TR/REC-html40"_""""_">",!
  1. W " <DocumentProperties xmlns="_""""_"urn:schemas-microsoft-com:office:office"_""""_">",!
  1. W " <Author>"_$P(^VA(200,DUZ,0),U,1)_"</Author>",!
  1. W " <LastAuthor>"_$P(^VA(200,DUZ,0),U,1)_"</LastAuthor>",!
  1. D NOW^%DTC
  1. W " <Created>"_$$XDT^BARDUTL(%)_"</Created>",!
  1. W " <Version>15.00</Version>",!
  1. W "</DocumentProperties>",!
  1. W "<OfficeDocumentSettings xmlns="_""""_"urn:schemas-microsoft-com:office:office"_""""_">",!
  1. W " <AllowPNG/>",!
  1. W "</OfficeDocumentSettings>",!
  1. W "<Styles>",! ;Identifies Style types being utilized in document
  1. W " <Style ss:ID="_""""_"Default"_""""_" ss:Name="_""""_"Normal"_""""_">",!
  1. W " <Alignment ss:Vertical="_""""_"Bottom"_""""_"/>",!
  1. W " <Borders/>",!
  1. W " <Font ss:FontName="_""""_"Calibri"_""""_" x:Family="_""""_"Swiss"_""""_" ss:Size="_""""_"11"_""""_" ss:Color="_""""_"#000000"_""""_"/>",!
  1. W " <Interior/>",!
  1. W " <NumberFormat/>",!
  1. W " <Protection/>",!
  1. W " </Style>",!
  1. W " <Style ss:ID="_""""_"s62"_""""_">",!
  1. W " <NumberFormat ss:Format="_""""_"Short Date"_""""_"/>",!
  1. W " </Style>",!
  1. W " <Style ss:ID="_""""_"s63"_""""_">",!
  1. W " <NumberFormat ss:Format="_""""_"mmm\-y"_""""_"/>",!
  1. W " </Style>",!
  1. W " <Style ss:ID="_""""_"s64"_""""_">",!
  1. W " <NumberFormat ss:Format="_""""_"m/d/yy\ h:mm;@"_""""_"/>",!
  1. W " </Style>",!
  1. W " <Style ss:ID="_""""_"s66"_""""_">",!
  1. W " <Alignment ss:Horizontal="_""""_"Center"_""""_" ss:Vertical="_""""_"Bottom"_""""_"/>",!
  1. W " </Style>",!
  1. W "</Styles>",!
  1. W "<Worksheet ss:Name="_""""_"DAYS Report Data"_""""_">",!
  1. W " <Table x:FullColumns="_""""_"1"_""""_" x:FullRows="_""""_"1"_""""_" ss:DefaultRowHeight="_""""_"15"_""""_">",!
  1. W " <Column ss:Width="_""""_"46.5"_""""_"/>",! ;May need to make dynamic, static for now
  1. W " <Column ss:Width="_""""_"66.75"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"66"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"88.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"94.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"99.75"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"80.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"106.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"56.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"90.75"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"117"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"75.75"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"102"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"121.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"114"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"98.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"124.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"95.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"121.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"143.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"88.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"56.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"90.75"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"117"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"75.75"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"102"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"121.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"114"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"98.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"124.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"95.25"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"121.5"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"114.75"_""""_"/>",!
  1. W " <Column ss:Width="_""""_"88.5"_""""_"/>",!
  1. Q
  1. XCELFTR ;Excel XML footer
  1. W " </Table>",!
  1. W " <WorksheetOptions xmlns="_""""_"urn:schemas-microsoft-com:office:excel"_""""_">",!
  1. W " <Unsynced/>",!
  1. W " <Selected/>",!
  1. W " <FreezePanes/>",!
  1. W " <FrozenNoSplit/>",!
  1. W " <SplitHorizontal>8</SplitHorizontal>",!
  1. W " <TopRowBottomPane>8</TopRowBottomPane>",!
  1. W " <SplitVertical>1</SplitVertical>",!
  1. W " <LeftColumnRightPane>1</LeftColumnRightPane>",!
  1. W " <ActivePane>0</ActivePane>",!
  1. W " <Panes>",!
  1. W " <Pane>",!
  1. W " <Number>3</Number>",!
  1. W " </Pane>",!
  1. W " <Pane>",!
  1. W " <Number>1</Number>",!
  1. W " </Pane>",!
  1. W " <Pane>",!
  1. W " <Number>2</Number>",!
  1. W " </Pane>",!
  1. W " <Pane>",!
  1. W " <Number>0</Number>",!
  1. W " </Pane>",!
  1. W " </Panes>",!
  1. W " <ProtectObjects>False</ProtectObjects>",!
  1. W " <ProtectScenarios>False</ProtectScenarios>",!
  1. W " </WorksheetOptions>",!
  1. W " </Worksheet>",!
  1. W "</Workbook>",!
  1. Q
  1. XCELCHDR ;Generate Column Headers
  1. K COLHDR
  1. D XCELBANR
  1. S I=""
  1. F S I=$O(^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",I)) Q:I="" D
  1. .S J=""
  1. .F S J=$O(^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",I,J)) Q:J="" S COLHDR(J)=$P(^XTMP("BARDYSVS",$J,"DAYS TO COL VISIT","DET","COL",I,J),U,1)
  1. W "<Row ss:AutoFitHeight="_""""_"0"_""""_">",!
  1. S I="",J=0
  1. F S I=$O(COLHDR(I)) Q:I="" D
  1. .S J=J+1
  1. .W "<Cell ss:Index="_""""_J_""""_"><Data ss:Type="_""""_"String"_""""_">"
  1. .W COLHDR(I)
  1. .W "</Data></Cell>",!
  1. W "</Row>",!
  1. Q
  1. ;
  1. XCELROW(GLOBAL,ROW,PIECE,FORMAT,STYLE) ;Generate Excel XML Row
  1. ;Example data - ^XTMP("BARDYSVS",4252,"DAYS TO COL VISIT","DET","COL",1495550,120) = "PROVIDER 1^DYER,ROBIN MARGARET^D^s65"
  1. ;Example GLOBAL - ^XTMP("BARDYSVS",4252,"DAYS TO COL VISIT","DET","COL") - PASS BY REFERENCE
  1. ;Example ROW - 149550
  1. ;Example PIECE - 2
  1. ;Example FORMAT - 3
  1. ;Example Style - 4
  1. S BARCOL=0
  1. W "<Row ss:AutoFitHeight="_""""_"0"_""""_">",!
  1. S J=""
  1. F S J=$O(@GLOBAL@(ROW,J)) Q:J="" D
  1. .S BARCOL=BARCOL+1
  1. .I $P(@GLOBAL@(ROW,J),U,PIECE)=0!($P(@GLOBAL@(ROW,J),U,PIECE)="") Q
  1. .W "<Cell ss:Index="_""""_BARCOL_""""
  1. .I $P(@GLOBAL@(ROW,J),U,STYLE)'="" W " ss:StyleID="_""""_$P(@GLOBAL@(ROW,J),U,STYLE)_""""
  1. .W "><Data ss:Type="
  1. .W $S($P(@GLOBAL@(ROW,J),U,FORMAT)="N":""""_"Number"_"""",$P(@GLOBAL@(ROW,J),U,FORMAT)="D":""""_"DateTime"_"""",1:""""_"String"_"""")_">"
  1. .W $P(@GLOBAL@(ROW,J),U,PIECE)
  1. .W "</Data></Cell>",!
  1. W "</Row>",!
  1. Q
  1. XCELBANR ; PRINTS THE REPORT BANNER
  1. S BAR("PG")=""
  1. S BAR("HD",0)=""
  1. S BAR("LOC")=""
  1. S BAR("OPT")="BAR RPT DAYS IN AR"
  1. D HD^BARRHD
  1. D NOW^%DTC
  1. S Y=%
  1. X ^DD("DD")
  1. D STYLE66($P(Y,":",1,2))
  1. D STYLE66("WARNING: Confidential Patient Information, Privacy Act Applies")
  1. K BAR("LINE")
  1. S $P(BAR("LINE"),"=",70)=""
  1. D STYLE66(BAR("LINE"))
  1. D STYLE66(BAR("HD",0))
  1. S BAR("TMPLVL")=0
  1. F S BAR("TMPLVL")=$O(BAR("HD",BAR("TMPLVL"))) Q:'BAR("TMPLVL")&(BAR("TMPLVL")'=0) D:$G(BAR("HD",BAR("TMPLVL")))]"" STYLE66(BAR("HD",BAR("TMPLVL")))
  1. D STYLE66(BAR("LINE"))
  1. K BAR("LINE")
  1. Q
  1. STYLE66(X) ;Method to format/output merged cells
  1. W "<Row ss:AutoFitHeight="_""""_"0"_""""_">"
  1. W " <Cell ss:MergeAcross="_""""_"10"_""""_" ss:StyleID="_""""_"s66"_""""_"><Data ss:Type="_""""_"String"_""""_">"
  1. W X
  1. W "</Data></Cell>",!
  1. W "</Row>",!
  1. Q