- TIUFIX2 ; SLC/JER,MAM - Resolve Upload Filing Errors Library Two ;05/06/02
- ;;1.0;TEXT INTEGRATION UTILITIES;**131**;Jun 20, 1997
- ;
- BUFFER(TIUEVNT) ; Return 8925.2 Upload Buffer IEN
- ; Gets Buffer for UNRESOLVED upload errors. (Returns error msg
- ;for resolved filing errors, where buffer is 0.)
- ; Requires [TIUEVNT] - Upload Log Event IEN (8925.4)
- N TIUBUF
- I '$D(^TIU(8925.4,TIUEVNT,0)) S TIUBUF="0^Invalid Upload Log event." G BUFX
- S TIUBUF=+$P($G(^TIU(8925.4,TIUEVNT,0)),U,5)
- I TIUBUF'>0 S TIUBUF="0^Upload Buffer record is missing from Upload Log event." G BUFX
- I '$D(^TIU(8925.2,TIUBUF,0)) S TIUBUF="0^Upload Log event references an invalid Upload Buffer record."
- BUFX Q TIUBUF
- ;
- LOADHDR(TIUARR,TIUBUF,TIUPRM0,TIUTYPE) ; Load array with header data
- ;from upload buffer
- ; Requires [TIUARR] - Array of header data. Loaded and passed back
- ; [TIUBUF] - 8925.2 Upload Buffer IEN
- ; [TIUPRM0] - Header signal, etc. See SETPARM^TIULE
- ; [TIUTYPE] - IEN of Docmt Def whose Filing Error
- ; Resolution Code is being invoked
- ;NOTE: LOADHDR does NOT kill ANY nodes of TIUARR.
- ; (LOADTIUX^TIUPEFIX does kill certain nodes.)
- ; See warning in MAKE^TIUFIX1 concerning possible
- ; need to kill nodes of array.
- N TIUI,TIUHSIG,TIUBGN,TIULINE
- S TIUHSIG=$P(TIUPRM0,U,10),TIUBGN=$P(TIUPRM0,U,12)
- S TIUI=0 F S TIUI=$O(^TIU(8925.2,+TIUBUF,"TEXT",TIUI)) Q:+TIUI'>0 D
- . S TIULINE=$G(^TIU(8925.2,+TIUBUF,"TEXT",TIUI,0))
- . I TIULINE[TIUHSIG D
- . . F D Q:TIULINE[TIUBGN!(+TIUI'>0)
- . . . N TIUN,TIUCAP,TIUFLD,TIUREQ S TIUREQ=0
- . . . S TIUI=$O(^TIU(8925.2,+TIUBUF,"TEXT",TIUI)) Q:+TIUI'>0
- . . . S TIULINE=$G(^TIU(8925.2,+TIUBUF,"TEXT",TIUI,0)) Q:TIULINE[TIUBGN
- . . . S TIUCAP=$P(TIULINE,":") Q:TIUCAP']""
- . . . ; -- Get upload header definition data for transcribed
- . . . ; caption:
- . . . S TIUN=$O(^TIU(8925.1,TIUTYPE,"HEAD","B",TIUCAP,0))
- . . . Q:+TIUN'>0
- . . . S TIUFLD=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,3)
- . . . ; -- Ignore caption if hdr def does not associate a
- . . . ; field number with it:
- . . . Q:TIUFLD']""
- . . . S TIUREQ=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,7)
- . . . S TIUARR(TIUFLD)=$$STRIP^TIULS($P(TIULINE,":",2,99))
- . . . S TIUARR(TIUFLD)=$$TRNSFRM(TIUTYPE,TIUFLD,TIUARR(TIUFLD))
- . . . ; -- If caption has no data, and hdr def requires data,
- . . . ; set node to create missing field msg in FILE^TIUFIX1.
- . . . ; For most fields, "** REQUIRED FIELD MISSING FROM
- . . . ; UPLOAD**" will be invalid data and will not file.
- . . . ; If field is free text so that it does file, at
- . . . ; least it's intelligible.
- . . . I +TIUREQ,TIUARR(TIUFLD)="" S TIUARR(TIUFLD)="** REQUIRED FIELD MISSING FROM UPLOAD **"
- ; -- Leave missing captions fix til later; TIUPUTC1?? needs
- ; same change 4/21/02:
- ; -- Set nodes for any captions required in upload hdr
- ; def but missing from buffer. Check only captions that
- ; do NOT have Lookup variables, since that info is supplied
- ; by user and is not a missing field. Even if set here,
- ; message will be created only for nodes not killed before
- ; filing.
- ;N TIUCAP,TIUREQ,TIUFLD,LOOKV
- ;S TIUCAP=""
- ;S TIUCAP=$O(^TIU(8925.1,TIUTYPE,"HEAD","B",TIUCAP)) Q:TIUCAP="" D
- ;. S TIUN=$O(^TIU(8925.1,TIUTYPE,"HEAD","B",TIUCAP,0))
- ;. S TIUREQ=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,7)
- ;. Q:'TIUREQ
- ;. S TIUFLD=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,3)
- ;. Q:'TIUFLD
- ;. S LOOKV=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,4)
- ;. Q:LOOKV]""
- ;. I '$D(TIUARR(TIUFLD)) S TIUARR(TIUFLD)="** REQUIRED CAPTION MISSING FROM UPLOAD **"
- Q
- TRNSFRM(RTYPE,FLD,X) ; Executes Transform code for a given header field
- N XFORM
- S FLD=$O(^TIU(8925.1,+RTYPE,"HEAD","D",+FLD,0))
- I +FLD'>0 G TRNSFRMX
- S XFORM=$G(^TIU(8925.1,+RTYPE,"HEAD",+FLD,1))
- I XFORM']"" G TRNSFRMX
- X XFORM
- TRNSFRMX Q X
- TIUFIX2 ; SLC/JER,MAM - Resolve Upload Filing Errors Library Two ;05/06/02
- +1 ;;1.0;TEXT INTEGRATION UTILITIES;**131**;Jun 20, 1997
- +2 ;
- BUFFER(TIUEVNT) ; Return 8925.2 Upload Buffer IEN
- +1 ; Gets Buffer for UNRESOLVED upload errors. (Returns error msg
- +2 ;for resolved filing errors, where buffer is 0.)
- +3 ; Requires [TIUEVNT] - Upload Log Event IEN (8925.4)
- +4 NEW TIUBUF
- +5 IF '$DATA(^TIU(8925.4,TIUEVNT,0))
- SET TIUBUF="0^Invalid Upload Log event."
- GOTO BUFX
- +6 SET TIUBUF=+$PIECE($GET(^TIU(8925.4,TIUEVNT,0)),U,5)
- +7 IF TIUBUF'>0
- SET TIUBUF="0^Upload Buffer record is missing from Upload Log event."
- GOTO BUFX
- +8 IF '$DATA(^TIU(8925.2,TIUBUF,0))
- SET TIUBUF="0^Upload Log event references an invalid Upload Buffer record."
- BUFX QUIT TIUBUF
- +1 ;
- LOADHDR(TIUARR,TIUBUF,TIUPRM0,TIUTYPE) ; Load array with header data
- +1 ;from upload buffer
- +2 ; Requires [TIUARR] - Array of header data. Loaded and passed back
- +3 ; [TIUBUF] - 8925.2 Upload Buffer IEN
- +4 ; [TIUPRM0] - Header signal, etc. See SETPARM^TIULE
- +5 ; [TIUTYPE] - IEN of Docmt Def whose Filing Error
- +6 ; Resolution Code is being invoked
- +7 ;NOTE: LOADHDR does NOT kill ANY nodes of TIUARR.
- +8 ; (LOADTIUX^TIUPEFIX does kill certain nodes.)
- +9 ; See warning in MAKE^TIUFIX1 concerning possible
- +10 ; need to kill nodes of array.
- +11 NEW TIUI,TIUHSIG,TIUBGN,TIULINE
- +12 SET TIUHSIG=$PIECE(TIUPRM0,U,10)
- SET TIUBGN=$PIECE(TIUPRM0,U,12)
- +13 SET TIUI=0
- FOR
- SET TIUI=$ORDER(^TIU(8925.2,+TIUBUF,"TEXT",TIUI))
- IF +TIUI'>0
- QUIT
- Begin DoDot:1
- +14 SET TIULINE=$GET(^TIU(8925.2,+TIUBUF,"TEXT",TIUI,0))
- +15 IF TIULINE[TIUHSIG
- Begin DoDot:2
- +16 FOR
- Begin DoDot:3
- +17 NEW TIUN,TIUCAP,TIUFLD,TIUREQ
- SET TIUREQ=0
- +18 SET TIUI=$ORDER(^TIU(8925.2,+TIUBUF,"TEXT",TIUI))
- IF +TIUI'>0
- QUIT
- +19 SET TIULINE=$GET(^TIU(8925.2,+TIUBUF,"TEXT",TIUI,0))
- IF TIULINE[TIUBGN
- QUIT
- +20 SET TIUCAP=$PIECE(TIULINE,":")
- IF TIUCAP']""
- QUIT
- +21 ; -- Get upload header definition data for transcribed
- +22 ; caption:
- +23 SET TIUN=$ORDER(^TIU(8925.1,TIUTYPE,"HEAD","B",TIUCAP,0))
- +24 IF +TIUN'>0
- QUIT
- +25 SET TIUFLD=$PIECE(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,3)
- +26 ; -- Ignore caption if hdr def does not associate a
- +27 ; field number with it:
- +28 IF TIUFLD']""
- QUIT
- +29 SET TIUREQ=$PIECE(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,7)
- +30 SET TIUARR(TIUFLD)=$$STRIP^TIULS($PIECE(TIULINE,":",2,99))
- +31 SET TIUARR(TIUFLD)=$$TRNSFRM(TIUTYPE,TIUFLD,TIUARR(TIUFLD))
- +32 ; -- If caption has no data, and hdr def requires data,
- +33 ; set node to create missing field msg in FILE^TIUFIX1.
- +34 ; For most fields, "** REQUIRED FIELD MISSING FROM
- +35 ; UPLOAD**" will be invalid data and will not file.
- +36 ; If field is free text so that it does file, at
- +37 ; least it's intelligible.
- +38 IF +TIUREQ
- IF TIUARR(TIUFLD)=""
- SET TIUARR(TIUFLD)="** REQUIRED FIELD MISSING FROM UPLOAD **"
- End DoDot:3
- IF TIULINE[TIUBGN!(+TIUI'>0)
- QUIT
- End DoDot:2
- End DoDot:1
- +39 ; -- Leave missing captions fix til later; TIUPUTC1?? needs
- +40 ; same change 4/21/02:
- +41 ; -- Set nodes for any captions required in upload hdr
- +42 ; def but missing from buffer. Check only captions that
- +43 ; do NOT have Lookup variables, since that info is supplied
- +44 ; by user and is not a missing field. Even if set here,
- +45 ; message will be created only for nodes not killed before
- +46 ; filing.
- +47 ;N TIUCAP,TIUREQ,TIUFLD,LOOKV
- +48 ;S TIUCAP=""
- +49 ;S TIUCAP=$O(^TIU(8925.1,TIUTYPE,"HEAD","B",TIUCAP)) Q:TIUCAP="" D
- +50 ;. S TIUN=$O(^TIU(8925.1,TIUTYPE,"HEAD","B",TIUCAP,0))
- +51 ;. S TIUREQ=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,7)
- +52 ;. Q:'TIUREQ
- +53 ;. S TIUFLD=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,3)
- +54 ;. Q:'TIUFLD
- +55 ;. S LOOKV=$P(^TIU(8925.1,TIUTYPE,"HEAD",+TIUN,0),U,4)
- +56 ;. Q:LOOKV]""
- +57 ;. I '$D(TIUARR(TIUFLD)) S TIUARR(TIUFLD)="** REQUIRED CAPTION MISSING FROM UPLOAD **"
- +58 QUIT
- TRNSFRM(RTYPE,FLD,X) ; Executes Transform code for a given header field
- +1 NEW XFORM
- +2 SET FLD=$ORDER(^TIU(8925.1,+RTYPE,"HEAD","D",+FLD,0))
- +3 IF +FLD'>0
- GOTO TRNSFRMX
- +4 SET XFORM=$GET(^TIU(8925.1,+RTYPE,"HEAD",+FLD,1))
- +5 IF XFORM']""
- GOTO TRNSFRMX
- +6 XECUTE XFORM
- TRNSFRMX QUIT X