| 1 | ORDV07 ;SLC/DAN/KER - OE/RR Report extracts ; 01/09/2003
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**109,120,159**;Dec 17,1997
|
---|
| 3 | ;
|
---|
| 4 | ; External References
|
---|
| 5 | ; DBIA 10112 $$SITE^VASITE
|
---|
| 6 | ; DBIA 10061 4^VADPT
|
---|
| 7 | ; DBIA 10061 OAD^VADPT
|
---|
| 8 | ; DBIA 10145 ALL^IBCNS1
|
---|
| 9 | ; DBIA 767 ^DGSL(38.1,
|
---|
| 10 | ; DBIA 1407 ^FHWHEA
|
---|
| 11 | ; DBIA 3818 ICDS^GMTSDGP
|
---|
| 12 | ; DBIA 3818 ICDP^GMTSDGP
|
---|
| 13 | ; DBIA 418 ^DGPT("B"
|
---|
| 14 | ; DBIA 794 ^DIC(36,
|
---|
| 15 | ; DBIA 951 ^IBE(355.1,
|
---|
| 16 | ;
|
---|
| 17 | ;Dietetics components
|
---|
| 18 | DIETA(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;All diet
|
---|
| 19 | N ORTYPE S ORTYPE="DI" D DIET Q
|
---|
| 20 | DIETN(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Nutritional Status
|
---|
| 21 | N ORTYPE S ORTYPE="NS" D DIET Q
|
---|
| 22 | DIETS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Supplemental Feedings
|
---|
| 23 | N ORTYPE S ORTYPE="SF" D DIET Q
|
---|
| 24 | DIETT(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Tube feedings
|
---|
| 25 | N ORTYPE S ORTYPE="TF" D DIET Q
|
---|
| 26 | ;
|
---|
| 27 | DIET ;Main diet entry point
|
---|
| 28 | ;External calls to FHWHEA and SITE^VASITE
|
---|
| 29 | ;Data returned in ^TMP("ORDATA",$J) by type:
|
---|
| 30 | ; ALL=Facility^Start Date^End Date^Diet^Comment^Service(tray,dining room, etc)
|
---|
| 31 | ; Nutritional Status=Facility^Status Date^Status
|
---|
| 32 | ; Supplemental Feeding=Facility^Date Ordered^Date Canceled^10am feeding^2pm feeding^8pm feeding
|
---|
| 33 | ; Tubefeeding=Facility^Date Ordered^Date Canceled^Product^Strength^Quantity^Daily CCs^Daily KCal^Comment
|
---|
| 34 | ;
|
---|
| 35 | N GMTS1,GMTS2,GMTSNDM,ORSITE,SITE,ORDT
|
---|
| 36 | S GMTS1=OROMEGA-.24,GMTS2=ORALPHA,GMTSNDM=ORMAX
|
---|
| 37 | K ^TMP("ORDATA",$J)
|
---|
| 38 | D ^FHWHEA ;get all diet information. Returned in ^UTILITY($J)
|
---|
| 39 | Q:'$D(^UTILITY($J,ORTYPE)) ;no data to report for type selected
|
---|
| 40 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
| 41 | S ORDT=0
|
---|
| 42 | F S ORDT=$O(^UTILITY($J,ORTYPE,ORDT)) Q:ORDT="" D
|
---|
| 43 | . S SITE=$S($L($G(^UTILITY($J,ORTYPE,ORDT,"facility"))):^("facility"),1:ORSITE)
|
---|
| 44 | . S ^TMP("ORDATA",$J,ORDT,"WP",1)="1^"_SITE ;Station ID
|
---|
| 45 | . S ^TMP("ORDATA",$J,ORDT,"WP",2)="2^"_$$DATE^ORDVU($P(^UTILITY($J,ORTYPE,ORDT,0),"^")) ;date
|
---|
| 46 | . S ^TMP("ORDATA",$J,ORDT,"WP",3)="3^"_$S(ORTYPE="NS":$P(^UTILITY($J,ORTYPE,ORDT,0),"^",2),1:$$DATE^ORDVU($P(^UTILITY($J,ORTYPE,ORDT,0),"^",2)))
|
---|
| 47 | . Q:ORTYPE="NS" ;no more data required for NS
|
---|
| 48 | . S ^TMP("ORDATA",$J,ORDT,"WP",4)="4^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",3)
|
---|
| 49 | . S ^TMP("ORDATA",$J,ORDT,"WP",5)="5^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",4)
|
---|
| 50 | . S ^TMP("ORDATA",$J,ORDT,"WP",6)="6^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",5)
|
---|
| 51 | . Q:ORTYPE'="TF"
|
---|
| 52 | . ;Get remaining data for tube feedings
|
---|
| 53 | . S ^TMP("ORDATA",$J,ORDT,"WP",7)="7^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",6)
|
---|
| 54 | . S ^TMP("ORDATA",$J,ORDT,"WP",8)="8^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",7)
|
---|
| 55 | . S ^TMP("ORDATA",$J,ORDT,"WP",9)="9^"_$P(^UTILITY($J,ORTYPE,ORDT,0),"^",8)
|
---|
| 56 | K ^UTILITY($J)
|
---|
| 57 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
| 58 | Q
|
---|
| 59 | ;
|
---|
| 60 | DEM(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ; ADT Demographics
|
---|
| 61 | ; External calls to VASITE, VADPT, and ^DGSL(38.1
|
---|
| 62 | N VADM,VAPA,VAOA,ORSITE,SITE,I,ORDAT,ORETHN,ORRACE S (ORETHN,ORRACE)=""
|
---|
| 63 | K ^TMP("ORDATA",$J)
|
---|
| 64 | D 4^VADPT,OAD^VADPT
|
---|
| 65 | ; Quit if error in data gathering, otherwise get
|
---|
| 66 | ; demographic/address information as well as next
|
---|
| 67 | ; of kin addres
|
---|
| 68 | Q:VAERR
|
---|
| 69 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
| 70 | S SITE=ORSITE
|
---|
| 71 | ; 1 Site
|
---|
| 72 | S ^TMP("ORDATA",$J,1,"WP",1)="1^"_SITE
|
---|
| 73 | ; 2 Patient Name
|
---|
| 74 | S ^TMP("ORDATA",$J,1,"WP",2)="2^"_VADM(1)
|
---|
| 75 | ; 3 SSN
|
---|
| 76 | S ^TMP("ORDATA",$J,1,"WP",3)="3^"_$P(VADM(2),"^")
|
---|
| 77 | ; 4 Sex
|
---|
| 78 | S ^TMP("ORDATA",$J,1,"WP",4)="4^"_$P(VADM(5),"^",2)
|
---|
| 79 | ; 5 Date of Birth
|
---|
| 80 | S ^TMP("ORDATA",$J,1,"WP",5)="5^"_$$DATE^ORDVU($P(VADM(3),"^"))
|
---|
| 81 | ; 6 Religion
|
---|
| 82 | S ^TMP("ORDATA",$J,1,"WP",6)="6^"_$P(VADM(9),"^",2)
|
---|
| 83 | ; 7 Marital Status
|
---|
| 84 | S ^TMP("ORDATA",$J,1,"WP",7)="7^"_$P(VADM(10),"^",2)
|
---|
| 85 | ; 8 Phone Number
|
---|
| 86 | S ^TMP("ORDATA",$J,1,"WP",8)="8^"_VAPA(8)
|
---|
| 87 | ; 9 Street Address (1-3), City, State, and ZIP
|
---|
| 88 | S ^TMP("ORDATA",$J,1,"WP",9,1)="9^"_VAPA(1) I $P(^(1),"^",2)="" K ^(1)
|
---|
| 89 | S ^TMP("ORDATA",$J,1,"WP",9,2)="9^"_VAPA(2) I $P(^(2),"^",2)="" K ^(2)
|
---|
| 90 | S ^TMP("ORDATA",$J,1,"WP",9,3)="9^"_VAPA(3) I $P(^(3),"^",2)="" K ^(3)
|
---|
| 91 | S ^TMP("ORDATA",$J,1,"WP",9,4)="9^"_VAPA(4)_$S($G(VAPA(4))'="":", ",1:"")_$P(VAPA(5),"^",2)_" "_VAPA(6)
|
---|
| 92 | ; 11 Ethnicity
|
---|
| 93 | S I=0 F S I=$O(VADM(11,I)) Q:+I=0 D
|
---|
| 94 | . S ORDAT=$P(VADM(11,I),"^",2) Q:'$L(ORDAT)
|
---|
| 95 | . S ORETHN=$G(ORETHN)_", "_ORDAT
|
---|
| 96 | . S ^TMP("ORDATA",$J,1,"WP",11,I)="11^"_ORDAT
|
---|
| 97 | ; 10 Race
|
---|
| 98 | S:$L(ORETHN) ^TMP("ORDATA",$J,1,"WP",10,1)="10^"
|
---|
| 99 | S I=0 F S I=$O(VADM(12,I)) Q:+I=0 D
|
---|
| 100 | . S ORDAT=$P($G(VADM(12,I)),"^",2) Q:'$L(ORDAT)
|
---|
| 101 | . S ORRACE=$G(ORRACE)_", "_ORDAT
|
---|
| 102 | . S ^TMP("ORDATA",$J,1,"WP",10,I)="10^"_ORDAT
|
---|
| 103 | S ORRACE=$P(ORRACE,", ",2,$L(ORRACE,", "))
|
---|
| 104 | I '$L($P($G(^TMP("ORDATA",$J,1,"WP",11,1)),"^",2)) D
|
---|
| 105 | . I '$L($P($G(^TMP("ORDATA",$J,1,"WP",10,1)),"^",2)) D
|
---|
| 106 | . . S ^TMP("ORDATA",$J,1,"WP",11,1)="11^"
|
---|
| 107 | . . S ^TMP("ORDATA",$J,1,"WP",10,1)="10^"_$P($G(VADM(8)),"^",2)
|
---|
| 108 | S ORETHN=$P(ORETHN,", ",2,$L(ORETHN,", "))
|
---|
| 109 | ; 12 Next of Kin
|
---|
| 110 | S ^TMP("ORDATA",$J,1,"WP",12)="12^"_VAOA(9)
|
---|
| 111 | ; 13 Next of Kin Relationship
|
---|
| 112 | S ^TMP("ORDATA",$J,1,"WP",13)="13^"_VAOA(10)
|
---|
| 113 | ; 14 NOK Street Address (1-3), City, State, and ZIP
|
---|
| 114 | S ^TMP("ORDATA",$J,1,"WP",14,1)="14^"_VAOA(1) I $P(^(1),"^",2)="" K ^(1)
|
---|
| 115 | S ^TMP("ORDATA",$J,1,"WP",14,2)="14^"_VAOA(2) I $P(^(2),"^",2)="" K ^(2)
|
---|
| 116 | S ^TMP("ORDATA",$J,1,"WP",14,3)="14^"_VAOA(3) I $P(^(3),"^",2)=""
|
---|
| 117 | S ^TMP("ORDATA",$J,1,"WP",14,4)="14^"_VAOA(4)_$S($G(VAOA(4))'="":", ",1:"")_$P(VAOA(5),"^",2)_" "_VAOA(6)
|
---|
| 118 | ; 15 Security Log
|
---|
| 119 | S ^TMP("ORDATA",$J,1,"WP",15)="15^"_$S($P($G(^DGSL(38.1,DFN,0)),"^",2):"YES",1:"NO")
|
---|
| 120 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
| 121 | Q
|
---|
| 122 | ICDSUR(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Return ICD Surgery Information
|
---|
| 123 | ;External calls to VASITE, GMTSDGP
|
---|
| 124 | N ORSITE,SITE,T1,T2,I,J,GMS,PTF,ORDATE
|
---|
| 125 | K ^TMP("ORDATA",$J)
|
---|
| 126 | S T1=ORDEND,T2=ORDBEG,ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
| 127 | F PTF=0:0 S PTF=$O(^DGPT("B",DFN,PTF)) Q:PTF="" D ICDS^GMTSDGP
|
---|
| 128 | S (I,ORDATE)=0
|
---|
| 129 | F S ORDATE=$O(GMS(ORDATE)) Q:ORDATE=""!(I'<ORMAX) S J=0 D
|
---|
| 130 | . F S J=$O(GMS(ORDATE,J)) Q:'J!(I'<ORMAX) S I=I+1 D ;Check for multiple procedures on same date
|
---|
| 131 | .. S SITE=$S($L($G(GMS(ORDATE,J,"facility"))):^("facility"),1:ORSITE)
|
---|
| 132 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,1)="1^"_SITE
|
---|
| 133 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,2)="2^"_$$DATEMMM^ORDVU($P(GMS(ORDATE)," ",3)) ;Date of procedure
|
---|
| 134 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,3)="3^"_$P($G(GMS(ORDATE,J)),"^") ;Surgery and code
|
---|
| 135 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,4)="4^"_$P(GMS(ORDATE,J),"^",2) ;ICD code
|
---|
| 136 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
| 137 | Q
|
---|
| 138 | PRC(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Return Procedure Information
|
---|
| 139 | ;External calls to VASITE, GMTSDGP
|
---|
| 140 | N ORSITE,SITE,T1,T2,I,J,GMP,PTF,ORDATE
|
---|
| 141 | K ^TMP("ORDATA",$J)
|
---|
| 142 | S T1=ORDEND,T2=ORDBEG,PTF=0,ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3)
|
---|
| 143 | F S PTF=$O(^DGPT("B",DFN,PTF)) Q:PTF="" D ICDP^GMTSDGP
|
---|
| 144 | S (I,ORDATE)=0
|
---|
| 145 | F S ORDATE=$O(GMP(ORDATE)) Q:ORDATE=""!(I'<ORMAX) S J=0 D
|
---|
| 146 | . F S J=$O(GMP(ORDATE,J)) Q:'J!(I'<ORMAX) S I=I+1 D ;Check for multiple procedures on same date
|
---|
| 147 | .. S SITE=$S($L($G(GMP(ORDATE,J,"facility"))):^("facility"),1:ORSITE)
|
---|
| 148 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,1)="1^"_SITE
|
---|
| 149 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,2)="2^"_$$DATEMMM^ORDVU($P(GMP(ORDATE)," ",2)) ;Date of procedure
|
---|
| 150 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,3)="3^"_$P($G(GMP(ORDATE,J)),"^") ;Procedure and code
|
---|
| 151 | .. S ^TMP("ORDATA",$J,"WP",ORDATE,J,4)="4^"_$P(GMP(ORDATE,J),"^",2) ;ICD code
|
---|
| 152 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
| 153 | Q
|
---|
| 154 | INS(ROOT,ORALPHA,OROMEGA,ORMAX,ORDBEG,ORDEND,OREXT) ;Return Insurance Information
|
---|
| 155 | ;External calls to VASITE and IBCNS1 and ^DIC(36, and ^IBE(355.1
|
---|
| 156 | N ORSITE,SITE,ORARRAY,I
|
---|
| 157 | K ^TMP("ORDATA",$J)
|
---|
| 158 | D ALL^IBCNS1(DFN,"ORARRAY")
|
---|
| 159 | Q:'$D(ORARRAY) ;quit if no insurance data returned
|
---|
| 160 | S ORSITE=$$SITE^VASITE,ORSITE=$P(ORSITE,"^",2)_";"_$P(ORSITE,"^",3),I=0
|
---|
| 161 | F S I=$O(ORARRAY(I)) Q:'I D
|
---|
| 162 | . S SITE=$S($L($G(ORARRAY(I,"facility"))):^("facility"),1:ORSITE)
|
---|
| 163 | . S ^TMP("ORDATA",$J,"WP",I,1)="1^"_SITE
|
---|
| 164 | . S ^TMP("ORDATA",$J,"WP",I,2)="2^"_$P($G(^DIC(36,+$P(ORARRAY(I,0),"^"),0)),"^") ;Insurance company
|
---|
| 165 | . S ^TMP("ORDATA",$J,"WP",I,3)="3^"_$P($G(^IBE(355.1,+$P(ORARRAY(I,355.3),"^",9),0)),"^") ;Policy type
|
---|
| 166 | . S ^TMP("ORDATA",$J,"WP",I,4)="4^"_$P(ORARRAY(I,355.3),"^",4) ;Group number
|
---|
| 167 | . S ^TMP("ORDATA",$J,"WP",I,5)="5^"_$S($P(ORARRAY(I,0),"^",6)="s":"SPOUSE",$P(ORARRAY(I,0),"^",6)="v":"SELF",1:"OTHER") ;Policy holder
|
---|
| 168 | . S ^TMP("ORDATA",$J,"WP",I,6)="6^"_$$DATE^ORDVU($P(ORARRAY(I,0),"^",8)) ;Effective date of policy
|
---|
| 169 | . S ^TMP("ORDATA",$J,"WP",I,7)="7^"_$$DATE^ORDVU($P(ORARRAY(I,0),"^",4)) ;Expiration date of policy
|
---|
| 170 | S ROOT=$NA(^TMP("ORDATA",$J))
|
---|
| 171 | Q
|
---|