[613] | 1 | TIUPUTSX ; SLC/MAM - Uploading Op Reports to SURGERY file #130 ;11/15/01
|
---|
| 2 | ;;1.0;TEXT INTEGRATION UTILITIES;**129**;Jun 20, 1997
|
---|
| 3 | ; External References in TIUPUTSX:
|
---|
| 4 | ; DBIA 3477 ^SRF
|
---|
| 5 | LOOKUP ; Upload Lookup Method for Document Definition Operative Report
|
---|
| 6 | ; -- Requires lookup variables TIUSRCN, TIUSSN, & TIUODT --
|
---|
| 7 | ;These contain the transcribed data needed by the Lookup Method
|
---|
| 8 | ;to look up the desired target record in the SURGERY file, and to
|
---|
| 9 | ;check that the record is consistent with at least one other item
|
---|
| 10 | ;of transcribed data.
|
---|
| 11 | ;Lookup variables must be listed in the Op Report Upload Header
|
---|
| 12 | ;Definition. They are set to their corresponding transcribed values
|
---|
| 13 | ;in GETREC^TIUPUTC1.
|
---|
| 14 | ; -- Sets Y= SURGERY record CASE NUMBER (the .001 field in the SURGERY
|
---|
| 15 | ; file, #130) --
|
---|
| 16 | N DFN,TIUSR0
|
---|
| 17 | ; -- If lookup variable values are invalid or missing from
|
---|
| 18 | ; transcription, set Y = -1 and quit --
|
---|
| 19 | I $S('$D(TIUSSN):1,$G(TIUSRCN)']"":1,$G(TIUSSN)?4N:1,$G(TIUSSN)']"":1,$G(TIUODT)'>0:1,1:0) S Y=-1 G LOOKUPX
|
---|
| 20 | I TIUSSN?3N1P2N1P4N.E S TIUSSN=$TR(TIUSSN,"-/","")
|
---|
| 21 | I TIUSSN["?" S Y=-1 G LOOKUPX
|
---|
| 22 | ; -- Kill unwanted field nodes of header caption array --
|
---|
| 23 | ;After this lookup (in STUFREC^TIUPUTC), the software uses array
|
---|
| 24 | ;TIUHDR to try to file transcribed data for ALL captions which
|
---|
| 25 | ;specify field numbers in the Upload Header Definition. Since some
|
---|
| 26 | ;of these transcribed data may not be accurate, it is important NOT to
|
---|
| 27 | ;file them unless they are intended for filing. (They may be included
|
---|
| 28 | ;in the transcription for administrative purposes, or to help
|
---|
| 29 | ;look up the correct target record, but NOT BE INTENDED for filing.)
|
---|
| 30 | ;Since one can't know what captions sites may mistakenly have
|
---|
| 31 | ;attributed field numbers to, it may be best to save out any nodes
|
---|
| 32 | ;that are intended for filing, kill the whole array, and then
|
---|
| 33 | ;replace the saved nodes. For Op Reports, NO fields are intended for
|
---|
| 34 | ;filing (except the text field, of course), so we kill ALL nodes
|
---|
| 35 | ;of TIUHDR.
|
---|
| 36 | K TIUHDR
|
---|
| 37 | ; -- Get the 0-node of the SURGERY record which corresponds to
|
---|
| 38 | ; the transcribed CASE NUMBER --
|
---|
| 39 | S TIUSR0=$G(^SRF(TIUSRCN,0))
|
---|
| 40 | ; -- Get the patient that corresponds to transcribed SSN --
|
---|
| 41 | S DFN=+$$PATIENT^TIULA(TIUSSN)
|
---|
| 42 | ; -- Confirm that the patient from the SURGERY record matches
|
---|
| 43 | ; the patient from the transcribed SSN --
|
---|
| 44 | I +TIUSR0'=DFN S Y=-1 G LOOKUPX
|
---|
| 45 | ; -- Confirm that the transcribed OPERATION DATE matches the OPERATION
|
---|
| 46 | ;DATE from the SURGERY record --
|
---|
| 47 | I $$IDATE^TIULC(TIUODT)'=$P($P(TIUSR0,U,9),".") S Y=-1 G LOOKUPX
|
---|
| 48 | ; -- If the data are consistent, set Y = transcribed CASE NUMBER,
|
---|
| 49 | ;(the .001 field in the SURGERY file) --
|
---|
| 50 | S Y=TIUSRCN
|
---|
| 51 | LOOKUPX Q
|
---|
| 52 | FIX ; Filing Error Resolution Code for Docmt Def Operative Report
|
---|
| 53 | ; -- Called by MRT Review Filing Events option (FILERR^TIURE)
|
---|
| 54 | ; if BUFDA exists; otherwise called from an alert
|
---|
| 55 | ; (DISPLAY^TIUPEVNT). Warning: XQADATA may be left around
|
---|
| 56 | ; from a PREVIOUS alert, so don't use it's existence to
|
---|
| 57 | ; determine how this was called. --
|
---|
| 58 | ;
|
---|
| 59 | N TIUOK,TIUOUT,X,Y,SURGDA,RETRY,DIC,DWPK,TIUBUF,TIUERRDA
|
---|
| 60 | N ECHO,TIUSR0
|
---|
| 61 | ; -- Inquire to SURGERY file and let user select the correct
|
---|
| 62 | ; target record --
|
---|
| 63 | F D Q:+$G(TIUOUT)!$G(TIUOK)
|
---|
| 64 | . N DIC,X,Y,DA,DIQ
|
---|
| 65 | . W ! S DIC=130,DIC(0)="AEMNQ"
|
---|
| 66 | . S DIC("A")="Select Patient or Surgery Case Number: "
|
---|
| 67 | . D ^DIC I +Y'>0 S TIUOUT=1 W !,"OK, you can try again later" Q
|
---|
| 68 | . ; -- Show user the selected record in its entirety and get
|
---|
| 69 | . ; user's confirmation --
|
---|
| 70 | . S (DA,SURGDA)=+Y,DIQ(0)="R" ; Show case number
|
---|
| 71 | . W ! D EN^DIQ
|
---|
| 72 | . S TIUOK=$$READ^TIUU("Y","... Is this the correct Surgery record","YES","^D RECDHELP^TIUPUTSX")
|
---|
| 73 | . I $D(DIRUT) S TIUOUT=1 W !,"OK, you can try again later"
|
---|
| 74 | ; -- Quit if user has not selected and confirmed a record --
|
---|
| 75 | I '$G(TIUOK) G FIXEXIT
|
---|
| 76 | ; -- Present user with correct header data corresponding to
|
---|
| 77 | ; selected record --
|
---|
| 78 | W !!,"To file the transcribed Surgeon's Dictation into the Surgery record you have"
|
---|
| 79 | W !,"just selected, you will need to correct the upload data in its temporary"
|
---|
| 80 | W !,"storage place, and then try again to file it."
|
---|
| 81 | S TIUSR0=$G(^SRF(SURGDA,0))
|
---|
| 82 | ; -- Force $$NAME,SSN^TIULO to reinitialize pt demographics --
|
---|
| 83 | N VADM,VA,VAERR
|
---|
| 84 | W !!,"The stored upload header data for ",$$NAME^TIULS($$NAME^TIULO(+TIUSR0),"LAST,FIRST MI")
|
---|
| 85 | W !,"should be corrected to read:"
|
---|
| 86 | W !!,"PATIENT SSN:",?20,$$SSN^TIULO(+TIUSR0)
|
---|
| 87 | W !,"CASE NUMBER:",?20,SURGDA
|
---|
| 88 | W !,"OPERATION DATE:",?20,$$DATE^TIULS($P($P(TIUSR0,U,9),".")),!
|
---|
| 89 | ; -- Note: We did NOT present the patient name in the data (above)
|
---|
| 90 | ; that should be corrected. The patient name tends to be ambiguous
|
---|
| 91 | ; and is not used in the Lookup Method, so we don't wish to imply
|
---|
| 92 | ; that it IS used --
|
---|
| 93 | I '$$READ^TIUU("EA","Press RETURN to continue...") W !,"OK, you can try again later" G FIXEXIT
|
---|
| 94 | ; -- Get 8925.2 Buffer IFN and 8925.4 Upload Log Event IFN from
|
---|
| 95 | ; calling routine TIURE or TIUPEVNT --
|
---|
| 96 | I +$G(BUFDA) S TIUBUF=+BUFDA,TIUERRDA=+$G(ERRDA)
|
---|
| 97 | I '$G(BUFDA),+$G(XQADATA) S TIUBUF=+$G(XQADATA),TIUERRDA=+$P(XQADATA,";",3)
|
---|
| 98 | I '$G(TIUBUF)!'$G(TIUERRDA) W !,"Can't find stored upload record; see IRM" H 5 G FIXEXIT
|
---|
| 99 | I '$G(TIUERRDA) S TIUERRDA=0
|
---|
| 100 | ; -- Let user correct the header data in the TIU UPLOAD BUFFER file
|
---|
| 101 | ; entry, and then try (again) to file it in the SURGERY file --
|
---|
| 102 | W !!,"You may now correct the stored upload data."
|
---|
| 103 | S DIC="^TIU(8925.2,"_+TIUBUF_",""TEXT"",",DWPK=1 D EN^DIWE
|
---|
| 104 | S RETRY=$$READ^TIUU("YO","Are you ready to file this data in the Surgery file","YES","^D FILEHELP^TIUPUTSX")
|
---|
| 105 | ; -- Delete current filing error alert, mark the current error
|
---|
| 106 | ; resolved in the TIU UPLOAD LOG file, and try to file the data
|
---|
| 107 | ; from the corrected TIU UPLOAD BUFFER file entry into
|
---|
| 108 | ; the SURGERY file. (If data fails to file again, a NEW alert is
|
---|
| 109 | ; generated during that process.) --
|
---|
| 110 | I 'RETRY W !,"OK, you can try again later." G FIXEXIT
|
---|
| 111 | S ECHO=1 ; Will write "Filing Record//Resolving Error..."
|
---|
| 112 | D ALERTDEL^TIUPEVNT(TIUBUF),RESOLVE^TIUPEVNT(TIUERRDA,ECHO),FILE^TIUUPLD(TIUBUF)
|
---|
| 113 | I $G(BUFDA),'$G(TIUDONE) W !,"Old error marked resolved; new error created. New error may take several more",!,"seconds to file, and may not be within current date/time range.",! H 5 ; Feedback for MRT option
|
---|
| 114 | FIXEXIT ;
|
---|
| 115 | ; -- Set variables to go to exit for DISPLAY^TIUPEVNT
|
---|
| 116 | ; or FILERR^TIURE immediately upon return from this resolve
|
---|
| 117 | ; code. (Everything they do after executing the resolve code
|
---|
| 118 | ; has been incorporated INTO THIS CODE.)
|
---|
| 119 | K EVNTDA S TIUDONE=1
|
---|
| 120 | Q
|
---|
| 121 | ;
|
---|
| 122 | RECDHELP ;Help for correct record prompt
|
---|
| 123 | W !,"Is this the Surgery record you wish to upload the transcribed data into?"
|
---|
| 124 | W !,"If not, answer NO and select a different record, or enter '^' to come back",!,"and resolve the filing error later."
|
---|
| 125 | Q
|
---|
| 126 | FILEHELP ;Help for retrying the upload filer prompt
|
---|
| 127 | W !,"If you are sure that you have identified the correct Surgery record, and have"
|
---|
| 128 | W !,"corrected the stored header data accordingly, then answer YES to try again"
|
---|
| 129 | W !,"to upload the data into the Surgery record."
|
---|
| 130 | W !,"If you answer NO, the corrected data will remain in temporary storage,"
|
---|
| 131 | W !,"the filing error alert will remain in place, and you can attempt to resolve"
|
---|
| 132 | W !,"the alert later."
|
---|
| 133 | Q
|
---|