| 1 | SCDXFU02 ;ALB/JRP - AMB CARE FILE UTILITIES;03-MAY-1996 ; 17 Apr 2000 5:27 PM
|
---|
| 2 | ;;5.3;Scheduling;**44,110,128,66,215**;AUG 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | CRTDEL(ENCDATE,DFN,DELDATE,ENCNODE) ;Create entry in DELETED OUTPATIENT
|
---|
| 5 | ; ENCOUNTER file (#409.74)
|
---|
| 6 | ;
|
---|
| 7 | ;Input : ENCDATE - Date/time Outpatient Encounter occurred in
|
---|
| 8 | ; FileMan format
|
---|
| 9 | ; DFN - Pointer to entry in PATIENT file (#2) that the
|
---|
| 10 | ; deleted Outpatient Encounter was for
|
---|
| 11 | ; DELDATE - FileMan date/time Outpatient Encounter was deleted
|
---|
| 12 | ; (Defaults to NOW)
|
---|
| 13 | ; ENCNODE - Zero node of entry in OUTPATIENT ENCOUNTER file
|
---|
| 14 | ; (#409.68) that was deleted
|
---|
| 15 | ;Output : DELPTR - Pointer to entry in DELETED OUTPATIENT ENCOUNTER
|
---|
| 16 | ; file (#409.74)
|
---|
| 17 | ; -1^Error - Unable to create entry / bad input
|
---|
| 18 | ;
|
---|
| 19 | ;Check input
|
---|
| 20 | S ENCDATE=+$G(ENCDATE)
|
---|
| 21 | Q:('ENCDATE) "-1^Did not pass date/time Outpatient Encounter occurred"
|
---|
| 22 | S DFN=+$G(DFN)
|
---|
| 23 | Q:('$D(^DPT(DFN,0))) "-1^Did not pass valid pointer to patient"
|
---|
| 24 | S DELDATE=+$G(DELDATE)
|
---|
| 25 | S:('DELDATE) DELDATE="NOW"
|
---|
| 26 | S ENCNODE=$G(ENCNODE)
|
---|
| 27 | ;Declare variables
|
---|
| 28 | N DIC,DA,DINUM,DLAYGO,DIDEL,DELPTR
|
---|
| 29 | ;Create entry
|
---|
| 30 | S DIC="^SD(409.74,"
|
---|
| 31 | S DIC(0)="L"
|
---|
| 32 | S X=ENCDATE
|
---|
| 33 | S DIC("DR")=".02////^S X=DFN;.03///^S X=DELDATE;11////^S X=ENCNODE"
|
---|
| 34 | S DLAYGO=409.74
|
---|
| 35 | K DD,DO D FILE^DICN
|
---|
| 36 | ;Get pointer to entry
|
---|
| 37 | S DELPTR=+Y
|
---|
| 38 | ;Error creating entry
|
---|
| 39 | S:(DELPTR<0) DELPTR="-1^Unable to create entry in Deleted Outpatient Encounter file"
|
---|
| 40 | ;Done
|
---|
| 41 | Q DELPTR
|
---|
| 42 | ;
|
---|
| 43 | DELDEL(DELPTR) ;Delete entry in DELETED OUTPATIENT ENCOUNTER file (#409.74)
|
---|
| 44 | ;
|
---|
| 45 | ;Input : DELDEL
|
---|
| 46 | ;Output : 0 - Success
|
---|
| 47 | ; -1 - Unable to delete entry
|
---|
| 48 | ;Note : Success (0) is returned when a valid pointer to the
|
---|
| 49 | ; DELETED OUTPATIENT ENCOUNTER ERROR file is not passed
|
---|
| 50 | ; (Deleting an entry that doesn't exist is successful)
|
---|
| 51 | ; : It is the calling application's responsibility to also
|
---|
| 52 | ; delete the related entry in the TRANSMITTED OUTPATIENT
|
---|
| 53 | ; ENCOUNTER file (#409.73)
|
---|
| 54 | ;
|
---|
| 55 | ;Check input
|
---|
| 56 | S DELPTR=+$G(DELPTR)
|
---|
| 57 | Q:('$D(^SD(409.74,DELPTR,0))) 0
|
---|
| 58 | ;Declare variables
|
---|
| 59 | N DIK,DA,X,Y,DIC
|
---|
| 60 | ;Delete entry
|
---|
| 61 | S DIK="^SD(409.74,"
|
---|
| 62 | S DA=DELPTR
|
---|
| 63 | D ^DIK
|
---|
| 64 | ;Done
|
---|
| 65 | Q 0
|
---|
| 66 | ;
|
---|
| 67 | PTR4MID(MID) ;Find entry in TRANSMITTED OUTPATIENT ENCOUNTER file (#409.73)
|
---|
| 68 | ; using Message Control ID
|
---|
| 69 | ;
|
---|
| 70 | ;Input : MID - Message Control ID used when entry was transmitted to
|
---|
| 71 | ; National Patient Care Database
|
---|
| 72 | ;Output : XMITPTR - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
| 73 | ; ENCOUNTER file (#409.73)
|
---|
| 74 | ; 0 - Entry in TRANSMITTED OUTPATIENT ENCOUNTER file with
|
---|
| 75 | ; given Message Control ID could not be found
|
---|
| 76 | ;
|
---|
| 77 | ;Check input
|
---|
| 78 | S MID=$G(MID)
|
---|
| 79 | Q:(MID="") 0
|
---|
| 80 | ;Find entry - done
|
---|
| 81 | Q +$O(^SD(409.73,"AACMID",MID,""))
|
---|
| 82 | ;
|
---|
| 83 | PTRS4BID(BID,ARRAY) ;Find all entries in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
| 84 | ; file (#409.73) with a specified Batch Control ID
|
---|
| 85 | ;
|
---|
| 86 | ;Input : BID - Batch Control ID used when entries were transmitted
|
---|
| 87 | ; to National Patient Care Database
|
---|
| 88 | ; ARRAY - Array to place pointers to TRANSMITTED OUTPATIENT
|
---|
| 89 | ; ENCOUNTER file (#409.73) into (Full global reference)
|
---|
| 90 | ; (Defaults to ^TMP("AMB-CARE",$J,"BID"))
|
---|
| 91 | ;Output : None
|
---|
| 92 | ; ARRAY(XMITPTR) - Array of pointers to TRANSMITTED OUTPATIENT
|
---|
| 93 | ; ENCOUNTER file (#409.73)
|
---|
| 94 | ;Note : It is the responsibility of the calling procedure to
|
---|
| 95 | ; initialize (i.e. KILL) ARRAY
|
---|
| 96 | ;
|
---|
| 97 | ;Check input
|
---|
| 98 | S BID=$G(BID)
|
---|
| 99 | Q:(BID="")
|
---|
| 100 | S ARRAY=$G(ARRAY)
|
---|
| 101 | S:(ARRAY="") ARRAY="^TMP(""AMB-CARE"","_$J_",""BID"")"
|
---|
| 102 | ;Build array of pointers (merge AACBID cross reference into ARRAY)
|
---|
| 103 | M @ARRAY=^SD(409.73,"AACBID",BID)
|
---|
| 104 | Q
|
---|
| 105 | ;
|
---|
| 106 | CRTERR(XMITPTR,ERRCODE,NPCD) ;Create entry in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
| 107 | ; ERROR file (#409.75)
|
---|
| 108 | ;
|
---|
| 109 | ;Input : XMITPTR - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
| 110 | ; ENCOUNTER file (#409.73)
|
---|
| 111 | ; ERRCODE - Error code (external format)
|
---|
| 112 | ; NPCD - '1' if filed by Austin acknowledgment (optional)
|
---|
| 113 | ;
|
---|
| 114 | ;Output : ERRPTR - Pointer to entry in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
| 115 | ; ERROR file (#409.75)
|
---|
| 116 | ; -1^Error - Unable to create entry / bad input
|
---|
| 117 | ;Notes : ERRCODE must be a valid entry in TRANSMITTED OUTPATIENT
|
---|
| 118 | ; ENCOUNTER ERROR CODE file (#409.76)
|
---|
| 119 | ;
|
---|
| 120 | ;Check input
|
---|
| 121 | ;Convert code to 'reason unknown' if necessary
|
---|
| 122 | I $G(NPCD) D
|
---|
| 123 | .I '$L(ERRCODE) S ERRCODE=999 Q
|
---|
| 124 | .I '$O(^SD(409.76,"B",ERRCODE,"")) S ERRCODE=999
|
---|
| 125 | .Q
|
---|
| 126 | S XMITPTR=+$G(XMITPTR)
|
---|
| 127 | Q:('$D(^SD(409.73,XMITPTR,0))) "-1^Did not pass valid pointer to Transmitted Outpatient Encounter"
|
---|
| 128 | S ERRCODE=$G(ERRCODE)
|
---|
| 129 | Q:(ERRCODE="") "-1^Did not pass valid error code"
|
---|
| 130 | Q:('$O(^SD(409.76,"B",ERRCODE,""))) "-1^Did not pass valid error code"
|
---|
| 131 | ;Declare variables
|
---|
| 132 | N DIC,DA,DINUM,DLAYGO,X,Y
|
---|
| 133 | ;Create entry
|
---|
| 134 | S DIC="^SD(409.75,"
|
---|
| 135 | S DIC(0)="L"
|
---|
| 136 | S DLAYGO=409.75
|
---|
| 137 | S X=XMITPTR
|
---|
| 138 | S DIC("DR")=".02///^S X=ERRCODE"
|
---|
| 139 | K DD,DO D FILE^DICN
|
---|
| 140 | ;Get pointer to entry
|
---|
| 141 | S ERRPTR=+Y
|
---|
| 142 | ;Error creating entry
|
---|
| 143 | S:(ERRPTR<0) ERRPTR="-1^Unable to create entry in Transmitted Outpatient Encounter Error file"
|
---|
| 144 | ;Done
|
---|
| 145 | Q ERRPTR
|
---|
| 146 | ;
|
---|
| 147 | DELERR(ERRPTR) ;Delete entry in TRANSMITTED OUTPATIENT ENCOUNTER ERROR
|
---|
| 148 | ; file (#409.75)
|
---|
| 149 | ;
|
---|
| 150 | ;Input : ERRPTR - Pointer to entry in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
| 151 | ; ERROR file (#409.75) to delete
|
---|
| 152 | ;Output : 0 - Success
|
---|
| 153 | ; -1 - Unable to delete entry
|
---|
| 154 | ;Note : Success (0) is returned when a valid pointer to the
|
---|
| 155 | ; TRANSMITTED OUTPATIENT ENCOUNTER ERROR file is not passed
|
---|
| 156 | ; (Deleting an entry that doesn't exist is successful)
|
---|
| 157 | ;
|
---|
| 158 | ;Check input
|
---|
| 159 | S ERRPTR=+$G(ERRPTR)
|
---|
| 160 | Q:('$D(^SD(409.75,ERRPTR,0))) 0
|
---|
| 161 | ;Declare variables
|
---|
| 162 | N DIK,DA,X,Y,DIC
|
---|
| 163 | ;Delete entry
|
---|
| 164 | S DIK="^SD(409.75,"
|
---|
| 165 | S DA=ERRPTR
|
---|
| 166 | D ^DIK
|
---|
| 167 | ;Done
|
---|
| 168 | Q 0
|
---|
| 169 | ;
|
---|
| 170 | DELAERR(XMITPTR,ERR) ;Delete all entries in TRANSMITTED OUTPATIENT ENCOUNTER
|
---|
| 171 | ; ERROR file (#409.75) for a Transmitted Outpatient Encounter
|
---|
| 172 | ;
|
---|
| 173 | ;Input : XMITPTR - Pointer to entry in TRANSMITTED OUTPATIENT
|
---|
| 174 | ; ENCOUNTER file (#409.73) to delete errors for
|
---|
| 175 | ; ERR - Which error to delete.
|
---|
| 176 | ; 0 OR NOTHING - delete ALL errors
|
---|
| 177 | ; 1 - VISTA errors
|
---|
| 178 | ; 2 - NPCDB errors
|
---|
| 179 | ; 3 - HL7 errors
|
---|
| 180 | ;
|
---|
| 181 | ;Output : None
|
---|
| 182 | ;
|
---|
| 183 | ;Check input
|
---|
| 184 | S XMITPTR=+$G(XMITPTR)
|
---|
| 185 | S ERR=+$G(ERR)
|
---|
| 186 | ;Declare variables
|
---|
| 187 | N ERRPTR,TMP
|
---|
| 188 | ;Find all entries in Transmitted Outpatient Encounter Error file that
|
---|
| 189 | ; point to the Transmitted Outpatient Encounter and delete
|
---|
| 190 | S ERRPTR=""
|
---|
| 191 | F S ERRPTR=+$O(^SD(409.75,"B",XMITPTR,ERRPTR)) Q:('ERRPTR) DO
|
---|
| 192 | .I '+ERR S TMP=$$DELERR(ERRPTR) ;default and all
|
---|
| 193 | .N ERTYPE
|
---|
| 194 | .S ERTYPE=+$P($G(^SD(409.75,ERRPTR,0)),U,2)
|
---|
| 195 | .Q:'ERTYPE
|
---|
| 196 | .S ERTYPE=$P($G(^SD(409.76,ERTYPE,0)),U,2)
|
---|
| 197 | .I ERR=1,ERTYPE="V" S TMP=$$DELERR(ERRPTR) ;delete vista errors
|
---|
| 198 | .I ERR=2,ERTYPE="N" S TMP=$$DELERR(ERRPTR) ;delete NPCDB errors
|
---|
| 199 | .I ERR=3,ERTYPE="T" S TMP=$$DELERR(ERRPTR) ;delete HL7 errors
|
---|
| 200 | .Q
|
---|
| 201 | ;Done
|
---|
| 202 | Q
|
---|