| 1 | ORWDBA4 ; SLC/GU Billing Awareness - Phase II [11/26/04 15:44]
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;Miscellaneous CIDC functions utility.
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ;External References used by this routine
 | 
|---|
| 7 |  ;  $$GETS^DIQ            DBIA 2056
 | 
|---|
| 8 |  ;  GETS^DIQ              DBIA 2056
 | 
|---|
| 9 |  ;  $$ICDDX^ICDCODE       DBIA 3990
 | 
|---|
| 10 |  ;  $$TFGBLGUI^ORWDBA1    DBIA none listed
 | 
|---|
| 11 |  ;  $$SETDXD^ORWDBA2      DBIA none listed
 | 
|---|
| 12 |  ;  $$NOW^XLFDT           DBIA 10103
 | 
|---|
| 13 |  ;  $$GET^XPAR            DBIA 2263
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 | GETTFCI(Y,ORIEN) ;Get Treatment Factors Clinical Indicators
 | 
|---|
| 16 |  ;Input Variable:
 | 
|---|
| 17 |  ;  ORIEN    Order Internal Entry Number (array variable)
 | 
|---|
| 18 |  ;Ouput Variable:
 | 
|---|
| 19 |  ;  Y        Y(AI)=Order_IEN^Treatment_Factors^ICD9^ICD9_Description
 | 
|---|
| 20 |  ;           There can be up to 4 ICD9 codes and thier descriptions
 | 
|---|
| 21 |  ;           ICD901^DESC01^ICD902^DESC02^ICD903^DESC03^ICD904^DESC04
 | 
|---|
| 22 |  ;Local Variables:
 | 
|---|
| 23 |  ;  AI       Array Index
 | 
|---|
| 24 |  ;  CI       Clinical Index
 | 
|---|
| 25 |  ;  TF       Treatment Factors
 | 
|---|
| 26 |  ;  TFCI     Treatment Factors Clinical Indicators
 | 
|---|
| 27 |  N AI,CI,CNT,DXS,TF,TFCI
 | 
|---|
| 28 |  S U="^",(CNT,TF)=""
 | 
|---|
| 29 |  F  S CNT=$O(ORIEN(CNT)) Q:CNT=""  D
 | 
|---|
| 30 |  . S TF=$$GTF(ORIEN(CNT))
 | 
|---|
| 31 |  . S DXS=$$GDCD(ORIEN(CNT))
 | 
|---|
| 32 |  . I TF="NNNNNNN"&(DXS="") Q
 | 
|---|
| 33 |  . S TFCI(CNT)=ORIEN(CNT)_U_TF_$S(DXS="":"",1:U_DXS)
 | 
|---|
| 34 |  M Y=TFCI
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | GTF(IEN) ;Get Treatment Factors
 | 
|---|
| 38 |  ;Gets the Treatment Factors for the current order converted to the
 | 
|---|
| 39 |  ;format used by the CPRS GUI display.
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 |  ;Input Variable:
 | 
|---|
| 42 |  ;  IEN     Internal Entry Number
 | 
|---|
| 43 |  ;Local Variables:
 | 
|---|
| 44 |  ;  ORTF    Order Record Treatment Factors
 | 
|---|
| 45 |  ;  OREM    Order Record Error Message
 | 
|---|
| 46 |  ;  OTF     Order Treatment Factors
 | 
|---|
| 47 |  ;          (Converted to GUI values and returned)
 | 
|---|
| 48 |  N ORTF,OREM,OTF
 | 
|---|
| 49 |  S OTF=""
 | 
|---|
| 50 |  D GETS^DIQ(100,IEN,"90;91;92;93;94;95;96","I","ORTF","OREM")
 | 
|---|
| 51 |  S OTF=$G(ORTF(100,IEN_",",90,"I"))
 | 
|---|
| 52 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",91,"I"))
 | 
|---|
| 53 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",92,"I"))
 | 
|---|
| 54 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",93,"I"))
 | 
|---|
| 55 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",94,"I"))
 | 
|---|
| 56 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",95,"I"))
 | 
|---|
| 57 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",96,"I"))
 | 
|---|
| 58 |  S OTF=$$TFGBLGUI^ORWDBA1(OTF)
 | 
|---|
| 59 |  I OTF'="NNNNNNN" Q OTF
 | 
|---|
| 60 |  S OTF=""
 | 
|---|
| 61 |  K ORTF,OREM
 | 
|---|
| 62 |  D GETS^DIQ(100,IEN,"51;52;53;54;55;56;57","I","ORTF","OREM")
 | 
|---|
| 63 |  S OTF=$G(ORTF(100,IEN_",",51,"I"))
 | 
|---|
| 64 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",52,"I"))
 | 
|---|
| 65 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",53,"I"))
 | 
|---|
| 66 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",54,"I"))
 | 
|---|
| 67 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",55,"I"))
 | 
|---|
| 68 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",56,"I"))
 | 
|---|
| 69 |  S OTF=OTF_U_$G(ORTF(100,IEN_",",57,"I"))
 | 
|---|
| 70 |  S OTF=$$TFGBLGUI^ORWDBA1(OTF)
 | 
|---|
| 71 |  Q OTF
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 | GDCD(IEN) ;Get Diagnoses Codes / Description
 | 
|---|
| 74 |  ;Builds and returns a text string delimited by the "^". The text string
 | 
|---|
| 75 |  ;made from the ICD9 codes associated with the current order and thier
 | 
|---|
| 76 |  ;descriptions pulled from the ICD DIAGNOSIS file #80. The string can
 | 
|---|
| 77 |  ;contain up to four diagnoses codes and thier descriptions. The string
 | 
|---|
| 78 |  ;with all four possiable diagnoses codes is formatted:
 | 
|---|
| 79 |  ;ICD901^DESC01^ICD902^DESC02^ICD903^DESC03^ICD904^DESC04
 | 
|---|
| 80 |  ;
 | 
|---|
| 81 |  ;Input Variable:
 | 
|---|
| 82 |  ;  IEN
 | 
|---|
| 83 |  ;Local Variables:
 | 
|---|
| 84 |  ;  DCD      Diagnosis Code Description (retrun variable)
 | 
|---|
| 85 |  ;  DXDT     Diagnosis Date (either Order date or system date)
 | 
|---|
| 86 |  ;  DXD      Diagnosis Description
 | 
|---|
| 87 |  ;  DXIEN    Diagnosis Internal Entry Number
 | 
|---|
| 88 |  ;  ICD9     ICD9 code (for GUI display)
 | 
|---|
| 89 |  ;  IENS     Internale Entry Number Sequence
 | 
|---|
| 90 |  ;           (Array index variable for data returned from lookup)
 | 
|---|
| 91 |  ;  ORRF     Order Record Found (returned data from lookup)
 | 
|---|
| 92 |  ;  OREM     Order Record Error Message
 | 
|---|
| 93 |  N DCD,DXDT,DXD,DXIEN,ICD9,IENS,ORRF,OREM
 | 
|---|
| 94 |  S DCD=""
 | 
|---|
| 95 |  D GETS^DIQ(100,IEN,".8*;5.1*","I","ORRF","OREM")
 | 
|---|
| 96 |  I $D(ORRF) D
 | 
|---|
| 97 |  . S DXDT=""
 | 
|---|
| 98 |  . I $D(ORRF(100.008)) S DXDT=$G(ORRF(100.008,"1,"_IEN_",",.01,"I"))
 | 
|---|
| 99 |  . I DXDT="" S DXDT=$$NOW^XLFDT
 | 
|---|
| 100 |  . I $D(ORRF(100.051)) D
 | 
|---|
| 101 |  .. S IENS="" F  S IENS=$O(ORRF(100.051,IENS)) Q:IENS=""  D
 | 
|---|
| 102 |  ... I ORRF(100.051,IENS,.01,"I")="" S DCD=DCD_U Q
 | 
|---|
| 103 |  ... S DXIEN=ORRF(100.051,IENS,.01,"I")
 | 
|---|
| 104 |  ... S ICD9=$$GET1^DIQ(80,DXIEN,.01,"")
 | 
|---|
| 105 |  ... S DXD=$$SETDXD^ORWDBA2($P($$ICDDX^ICDCODE(ICD9,DT),U,4))
 | 
|---|
| 106 |  ... S DCD=$S(DCD="":ICD9_U_DXD,1:DCD_U_ICD9_U_DXD)
 | 
|---|
| 107 |  Q DCD
 | 
|---|
| 108 |  ;
 | 
|---|
| 109 | GETBAUSR(Y,ORCIEN) ;GUI RPC CALL
 | 
|---|
| 110 |  ;Get Billing Awareness By User parameter value
 | 
|---|
| 111 |  ;Gets and returns the value of the Enabled Billing Awareness By User 
 | 
|---|
| 112 |  ;parameter assigned to a provider.
 | 
|---|
| 113 |  ;Input Variable:
 | 
|---|
| 114 |  ;  ORCIEN    Ordering Clinician's Internal Entry Number
 | 
|---|
| 115 |  ;Output Variable:
 | 
|---|
| 116 |  ;  Y         Parameter value, 1 if enabled, 0 if disabled
 | 
|---|
| 117 |  S Y=$$GET^XPAR(ORCIEN_";VA(200,","OR BILLING AWARENESS BY USER",1,"Q")
 | 
|---|
| 118 |  Q
 | 
|---|