[613] | 1 | ORWPFSS4 ;SLC-GDU CPRS HL7 PROCESSING FOR RAD PRE-CERT;[08/29/05];
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**228**;Dec 17, 1997
|
---|
| 3 | ;Determine if the order is to have an PFSS Account Reference
|
---|
| 4 | ;associated with it. This is for orders that are not event delayed
|
---|
| 5 | ;
|
---|
| 6 | ;DBIA References for external calls
|
---|
| 7 | ; $$GETS^DIQ - DBIA 2056
|
---|
| 8 | ; $$GETS1^DIQ - DBIA 2056
|
---|
| 9 | ; $$PKGTYP^ORWPFSS - Internal to CPRS PFSS
|
---|
| 10 | ; PFSSACTV^ORWPFSS - Internal to CPRS PFSS
|
---|
| 11 | ; $$ACCTREF^ORWPFSS1 - Internal to CPRS PFSS
|
---|
| 12 | ; $$GETARN^SDPFSS2 - DBIA 4668
|
---|
| 13 | ; INP^VADPT - DBIA 10061
|
---|
| 14 | ; ^VSIT - DBIA 1900-A
|
---|
| 15 | ;
|
---|
| 16 | EN(ORIEN) ;Primary entry point of this routine
|
---|
| 17 | ;Input Variable
|
---|
| 18 | ; ORIEN The Order Internal Entry Number
|
---|
| 19 | ;Local Variables
|
---|
| 20 | ; ORAR Order Account Reference (PFSS AR)
|
---|
| 21 | ; ORDFN Order Patient's DFN (IEN)
|
---|
| 22 | ; ORPFSS Order PFSS Active Indicator
|
---|
| 23 | ; ORUPDT Order Update Indicator from record update
|
---|
| 24 | ; ORVS Order Visit String
|
---|
| 25 | ;
|
---|
| 26 | N ORAR,ORDFN,ORPFSS,ORUPDT,ORVS,X,Y
|
---|
| 27 | S (ORAR,ORPFSS)=""
|
---|
| 28 | ;If PFSS is inactive goto exit
|
---|
| 29 | D PFSSACTV^ORWPFSS(.ORPFSS) I ORPFSS=0 G EXIT
|
---|
| 30 | ;If Order already has PFSS Account Reference goto exit
|
---|
| 31 | S ORAR=$$GET1^DIQ(100,ORIEN,97) I ORAR'="" G EXIT
|
---|
| 32 | ;If Order package is not one of the currently supported goto exit
|
---|
| 33 | I $$PKGTYP^ORWPFSS(ORIEN)=0 G EXIT
|
---|
| 34 | ;If Visit String not found goto EXIT.
|
---|
| 35 | S ORVS=$$GETVS(ORIEN) I ORVS="" G EXIT
|
---|
| 36 | ;Get Patient's DFN from the Order
|
---|
| 37 | S ORDFN=+$$GET1^DIQ(100,ORIEN,.02,"I")
|
---|
| 38 | ;If Historical set PFSS Account Reference to null and goto Save
|
---|
| 39 | I $P(ORVS,";",3)="E" S ORAR="" G SAVE
|
---|
| 40 | ;If Scheduled Appointment get PFSS Account Reference and goto Save
|
---|
| 41 | I $P(ORVS,";",3)="A" S ORAR=$$SAAR(ORVS,ORDFN) I ORAR'="" G SAVE
|
---|
| 42 | ;If Hospital Admission get PFSS Account Reference and goto Save
|
---|
| 43 | I $P(ORVS,";",3)="H" S ORAR=$$HAAR(ORDFN) I ORAR'="" G SAVE
|
---|
| 44 | ;Check PCE for PFSS Account Reference
|
---|
| 45 | S ORAR=$$PCEAR(ORVS,ORDFN)
|
---|
| 46 | SAVE ;Save PFSS Account Reference or null value to the Order record
|
---|
| 47 | S ORUPDT=$$ACCTREF^ORWPFSS1(ORIEN,ORAR)
|
---|
| 48 | EXIT ;Exit point for this routine
|
---|
| 49 | Q
|
---|
| 50 | GETVS(X1) ;Get Order Visit String
|
---|
| 51 | ;Get the data from the Order's Responses multi-valued field.
|
---|
| 52 | ;Look for Prompt text of OR GTX VISITSTR
|
---|
| 53 | ;If Prompt text found get the Visit String
|
---|
| 54 | ;If Prompt text not found return a null value
|
---|
| 55 | ;Input variable required, if missing this will return a null value
|
---|
| 56 | ;Input Variable for this function
|
---|
| 57 | ; X1 The Order IEN
|
---|
| 58 | ;Return Variable for this function
|
---|
| 59 | ; VS The Order Visit String
|
---|
| 60 | ;Local Variable for this function
|
---|
| 61 | ; IENS Index variable for REC array
|
---|
| 62 | ; PT Prompt Text being searched for
|
---|
| 63 | ; REC Output variable for GETS^DIQ that will contain the Order
|
---|
| 64 | ; Responses data.
|
---|
| 65 | N IENS,PT,REC,VS
|
---|
| 66 | I X1="" S VS="" Q VS
|
---|
| 67 | S (IENS,VS)=""
|
---|
| 68 | S PT=$P($T(VSPT),";",3)
|
---|
| 69 | D GETS^DIQ(100,X1,"4.5*","E","REC")
|
---|
| 70 | F S IENS=$O(REC(100.045,IENS)) Q:IENS="" D
|
---|
| 71 | . I $G(REC(100.045,IENS,.02,"E"))=PT S VS=$G(REC(100.045,IENS,1,"E"))
|
---|
| 72 | Q VS
|
---|
| 73 | VSPT ;Visit String Prompt Text;OR GTX VISITSTR
|
---|
| 74 | ;
|
---|
| 75 | SAAR(X1,X2) ;Scheduled Appointment Account Reference for PFSS
|
---|
| 76 | ;Get the PFSS Account Reference for scheduled appointments
|
---|
| 77 | ;All inputs required, any missing this will return a null value
|
---|
| 78 | ;Input Variables
|
---|
| 79 | ; X1 The Visit String from the Order
|
---|
| 80 | ; X2 The Patient's IEN
|
---|
| 81 | ;Output Variable
|
---|
| 82 | ; AR PFSS Account Reference returned by $$GETARN^SDPFSS2
|
---|
| 83 | ; Set to null in any input is missing
|
---|
| 84 | ;
|
---|
| 85 | N AR
|
---|
| 86 | I X1=""!(X2="") S AR="" Q AR
|
---|
| 87 | ;Get the PFSS Account Reference from Scheduling
|
---|
| 88 | S AR=+$$GETARN^SDPFSS2($P(X1,";",2),X2,$P(X1,";"))
|
---|
| 89 | I AR>0 Q AR ;If found return Account Reference
|
---|
| 90 | S AR="" Q AR ;If not found return null for Account Reference
|
---|
| 91 | ;
|
---|
| 92 | HAAR(X1) ;Hospital Admission Account Reference for PFSS
|
---|
| 93 | ;Returns the PFSS Account Reference for the Hospital Admission
|
---|
| 94 | ;Input is required. If missing null value returned.
|
---|
| 95 | ;Returns PFSS Account Reference returned if found.
|
---|
| 96 | ;Returns null if PFSS Account Reference not found null.
|
---|
| 97 | ;Input Variable for this function
|
---|
| 98 | ; X1 The Patient's DFN
|
---|
| 99 | ;Output Variables for this function
|
---|
| 100 | ; ER Set to null and returned if missing input
|
---|
| 101 | ; VAIN("NR") The node of VAIN that contains the PFSS Account Reference
|
---|
| 102 | ;Internal Variables for this function
|
---|
| 103 | ; DFN VADPT input variable, Patient's record number
|
---|
| 104 | ; VAHOW VADPT input variable, sends output to array variable VAIN
|
---|
| 105 | ; VAIN Output array variable with results of INP^VAIN
|
---|
| 106 | ;
|
---|
| 107 | N ER,DFN,VAHOW,VAIN
|
---|
| 108 | I X1="" S ER="" Q ER
|
---|
| 109 | S DFN=X1
|
---|
| 110 | S VAHOW=1
|
---|
| 111 | D INP^VADPT
|
---|
| 112 | Q $G(VAIN("NR"))
|
---|
| 113 | ;
|
---|
| 114 | PCEAR(X1,X2) ;PCE Account Reference for PFSS
|
---|
| 115 | ;Returns the PFSS Account Reference from PCE
|
---|
| 116 | ;All input required, if any missing this will a null.
|
---|
| 117 | ;Returns PFSS Account Reference returned if found.
|
---|
| 118 | ;Returns null if PFSS Account Reference not found null.
|
---|
| 119 | ;Input Variable for this function
|
---|
| 120 | ; X1 The Visit String from the Order
|
---|
| 121 | ; X2 The Patient's IEN
|
---|
| 122 | ; VSIT The input and output array variable for ^VSIT
|
---|
| 123 | ;Output Variables for this function
|
---|
| 124 | ; ER Set to null and returned if missing input
|
---|
| 125 | ; VSIT("ACT") The node of array variable VSIT that contains
|
---|
| 126 | ; the PFSS Account Reference returned by ^VSIT
|
---|
| 127 | ;Local Variable for this function
|
---|
| 128 | ; VSIT The input and output array variable for ^VSIT
|
---|
| 129 | ;
|
---|
| 130 | N ER,VSIT
|
---|
| 131 | I X1=""!(X2="") S ER="" Q ER
|
---|
| 132 | S VSIT(0)="D0EM"
|
---|
| 133 | S VSIT("VDT")=$P(X1,";",2)
|
---|
| 134 | S VSIT("LOC")=$P(X1,";")
|
---|
| 135 | S VSIT("PKG")="OR"
|
---|
| 136 | S VSIT("PAT")=X2
|
---|
| 137 | D ^VSIT
|
---|
| 138 | I $G(VSIT("IEN"))<0 S ER="" Q ER
|
---|
| 139 | Q $G(VSIT("ACT"))
|
---|