- TIUEDI1 ; SLC/MAM - Additional Edit Code ;March 25, 2004
- ;;1.0;TEXT INTEGRATION UTILITIES;**7,22,66,61,100,166**;Jun 20, 1997
- GETREC(DFN,TIU,TIUCREAT,TIUNEW,TIUDPRM,TIUINQ,TIUPERSN) ;Returns
- ;new or existing document DA.
- ; Receives TIUPERSN (optional) = person asking to edit/create docmt,
- ; or for upload, = author of document.
- ; If not received, assumed to be DUZ.
- ; New **ID** parameter, backward compatible
- ; Requires array TIUTYP where
- ; TIUTYP = title DA
- ; TIUTYP(1) = 1^title DA^Name
- ; Receives TIUCREAT for backward compatibility place holder only
- S TIUPERSN=$G(TIUPERSN,DUZ)
- S DA=$$GETRECNW^TIUEDI3(DFN,.TIU,TIUTYP(1),.TIUNEW,.TIUDPRM,+$G(TIUINQ),TIUPERSN)
- Q +$G(DA)
- ;
- INQUIRE() ; Ask user whether to create a new note anyway
- N TIUY,TIUPRMT
- S TIUY=0,TIUPRMT="Do you want to create a new record anyway"
- S TIUY=+$$READ^TIUU("Y",TIUPRMT,"NO")
- Q TIUY
- SCANDAD(TIUTYP,TIUDA) ; Search "DAD" index for component record
- N TIUC,TIUY
- S (TIUY,TIUC)=0
- F S TIUC=$O(^TIU(8925,"DAD",+TIUDA,TIUC)) Q:+TIUC'>0!(+TIUY>0) D
- . I +TIUTYP=+$G(^TIU(8925,+TIUC,0)) S TIUY=TIUC Q
- . I +$O(^TIU(8925,"DAD",+TIUC,0)) S TIUY=$$SCANDAD(TIUTYP,TIUC)
- Q TIUY
- GETCOMP(TIUTYP,TIUDA,TIU,DFN) ; Adds components to document
- N DIC,DA,X,Y,DIE,DR,TIUC,TIUCMP,TIUMOM,TIUMTYP,TIUY,TIUFPRIV
- N DLAYGO ;10/3/00
- S TIUFPRIV=1,(TIUY,TIUC)=0
- S TIUY=$$SCANDAD(TIUTYP,TIUDA)
- I +TIUY G GETCX
- S (DIC,DLAYGO)=8925,DIC(0)="FL"
- S X="""`"_+TIUTYP_""""
- D ^DIC
- I +Y'>0 W !,X," component could not be created.",! G GETCX
- S (TIUY,DA)=+Y,DIE=DIC
- S TIUMOM=+$$RUMYMTHR(TIUDA,DA,+TIUTYP,+$G(^TIU(8925,+DA,0)))
- S TIUMTYP=+$G(^TIU(8925,+TIUMOM,0))
- S DR=".02////"_DFN_";.03////"_$P($G(TIU("VISIT")),U)_";.04////"_TIUMTYP_";.06////"_TIUMOM
- D ^DIE W "."
- GETCX Q TIUY
- RUMYMTHR(MOM,BRAT,MOMTYP,BRATYP) ; Get appropriate parent for component
- N TIUI,GOTMOM,CNDMOM,CNDTYP,TIUMOM S (GOTMOM,TIUI)=0
- I +$O(^TIU(8925.1,"AD",+BRATYP,MOMTYP,0)) S GOTMOM=1 G RUMYX
- S CNDMOM=0
- F S CNDMOM=$O(^TIU(8925,"DAD",+MOM,+CNDMOM)) Q:+CNDMOM'>0 D
- . S CNDTYP=+$G(^TIU(8925,+CNDMOM,0))
- . S TIUMOM=$$RUMYMTHR(CNDMOM,BRAT,CNDTYP,BRATYP) I $P(TIUMOM,U,2)=1 S MOM=+TIUMOM,GOTMOM=1 Q
- RUMYX Q MOM_U_GOTMOM
- DELCOMP(TIUDA) ; Cleans up all components of a document
- N DA,DIE,DR,TIUCDA S TIUCDA=0,DIE="^TIU(8925,"
- F S TIUCDA=$O(^TIU(8925,"DAD",TIUDA,TIUCDA)) Q:+TIUCDA'>0 D
- . W !,$P(^TIU(8925.1,+^TIU(8925,TIUCDA,0),0),U)_" Component Deleted"
- . S DR=".01///@",DA=TIUCDA D ^DIE W "."
- . I +$O(^TIU(8925,"DAD",TIUCDA,0))>0 D DELCOMP(TIUCDA)
- Q
- DELAUDIT(TIUDA) ; Cleans up all AUDIT TRAIL entries for a document
- N DA,DIK,DR,TIUADA S TIUADA=0,DIK="^TIU(8925.5,"
- F S TIUADA=$O(^TIU(8925.5,"B",TIUDA,TIUADA)) Q:+TIUADA'>0 D
- . ; W !," Audit trail record #",TIUADA," Deleted"
- . S DA=TIUADA D ^DIK ; W "."
- I $L($T(DEL^PXRMGECU)) D DEL^PXRMGECU(+TIUDA)
- Q
- ISCOMP(TIUTYP,X) ; Is the text provided a component tag
- N DIC,TIULEVEL,TIUY,Y,TIUFPRIV S TIULEVEL=0,TIUFPRIV=1
- S DIC=8925.1,DIC(0)="FX"
- S DIC("S")="I $P(^TIU(8925.1,+Y,0),U,4)=""CO"""
- D ^DIC K DIC("S")
- I +Y'>0 S TIUY=0 G ISCMPX
- I +$O(^TIU(8925.1,+TIUTYP,10,"B",+Y,0))'>0 S TIUY=0 G ISCMPX
- S TIUY=Y
- ISCMPX Q TIUY
- MERGTEMP(TIUDA) ; Merge text from components into TEMP node for edit
- N TIUC,TIUI,TIUJ,TIULINE
- S (TIUC,TIULINE)=0,TIUJ=+$P($G(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- F S TIUC=$O(^TIU(8925,"DAD",TIUDA,TIUC)) Q:+TIUC'>0 D
- . I +$$ISADDNDM^TIULC1(+TIUC) Q
- . S TIUI=0 F S TIUI=$O(^TIU(8925,+TIUC,"TEXT",TIUI)) Q:+TIUI'>0 D
- . . S TIUJ=+$G(TIUJ)+1
- . . S ^TIU(8925,+TIUDA,"TEMP",TIUJ,0)=$G(^TIU(8925,+TIUC,"TEXT",TIUI,0))
- . . K ^TIU(8925,+TIUC,"TEXT",TIUI,0) ; Clear the way for edits
- . . S ^TIU(8925,+TIUC,"TEXT",0)="^^^^"_DT_"^^"
- . . S ^TIU(8925,+TIUDA,"TEMP",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- . I +$O(^TIU(8925,"DAD",+TIUC,0)) D MERGGRAN(TIUDA,+TIUC)
- . S TIUJ=+$P($G(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- I $D(^TIU(8925,+TIUDA,"TEMP",1))>9 M ^TIU(8925,+TIUDA,"TEXT")=^TIU(8925,+TIUDA,"TEMP")
- Q
- MERGGRAN(TIUDA,TIUC) ; Merge sub-components into TEMP node of original
- N TIUC1,TIUI,TIUJ,TIULINE
- S (TIUC1,TIULINE)=0,TIUJ=+$P($G(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- F S TIUC1=$O(^TIU(8925,"DAD",TIUC,TIUC1)) Q:+TIUC1'>0 D
- . S TIUI=0 F S TIUI=$O(^TIU(8925,+TIUC1,"TEXT",TIUI)) Q:+TIUI'>0 D
- . . S TIUJ=+$G(TIUJ)+1
- . . S ^TIU(8925,+TIUDA,"TEMP",TIUJ,0)=$G(^TIU(8925,+TIUC1,"TEXT",TIUI,0))
- . . K ^TIU(8925,+TIUC1,"TEXT",TIUI,0) ; Clear the way for edits
- . . S ^TIU(8925,+TIUC1,"TEXT",0)="^^^^"_DT_"^^"
- . . S ^TIU(8925,+TIUDA,"TEMP",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- . I +$O(^TIU(8925,"DAD",+TIUC1,0)) D MERGGRAN(TIUDA,+TIUC1)
- . S TIUJ=+$P($G(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- Q
- MERGTEXT(TIUDA,TIU) ; Merge TEMP node from parent document into components
- N TIUTYP
- S TIUTYP=+$P(^TIU(8925,+TIUDA,0),U)
- ; -- If document has components, add/update them
- I +$O(^TIU(8925.1,+TIUTYP,10,0))>0 D
- . N TIUC,TIUI,TIUJ,TIUX,TIUCMP S (TIUI,TIUJ,TIUCMP)=0
- . F S TIUI=$O(^TIU(8925,+TIUDA,"TEMP",TIUI)) Q:+TIUI'>0 D
- . . S TIUX=$G(^TIU(8925,+TIUDA,"TEMP",TIUI,0))
- . . S TIUC=+$$ISCOMP(TIUTYP,$P(TIUX,":"))
- . . I TIUX[":",+TIUC D
- . . . S TIUJ=0 ; Reinitialize line count for new component
- . . . S TIUCMP=$$GETCOMP(TIUC,TIUDA,.TIU,DFN)
- . . S TIUJ=+$G(TIUJ)+1
- . . I +TIUCMP>0 D
- . . . S ^TIU(8925,+TIUCMP,"TEXT",TIUJ,0)=$G(^TIU(8925,+TIUDA,"TEMP",+TIUI,0))
- . . . S ^TIU(8925,+TIUCMP,"TEXT",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- . . E D
- . . . S ^TIU(8925,+TIUDA,"TEXT",TIUJ,0)=$G(^TIU(8925,+TIUDA,"TEMP",TIUJ,0))
- . . . S ^TIU(8925,+TIUDA,"TEXT",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- ; -- If no components, merge "TEMP" into "TEXT" for current document
- I +$O(^TIU(8925.1,+TIUTYP,10,0))'>0 M ^TIU(8925,+TIUDA,"TEXT")=^TIU(8925,+TIUDA,"TEMP")
- Q
- GETTMPL(TIUTYP) ; Get edit template, enforce inheritance
- N TIUDAD,TIUY S TIUDAD=0
- S TIUY=$G(^TIU(8925.1,+TIUTYP,5))
- I TIUY']"",($P(^TIU(8925.1,+TIUTYP,0),U)["ADDENDUM") D
- . S TIUDAD=+$P($G(^TIU(8925,+$P($G(^TIU(8925,+$G(TIUDA),0)),U,6),0)),U)
- . I +TIUDAD S TIUY=$$GETTMPL(TIUDAD)
- I TIUY']"" S TIUDAD=$O(^TIU(8925.1,"AD",+TIUTYP,0))
- I +TIUDAD S TIUY=$$GETTMPL(TIUDAD)
- Q TIUY
- AUDIT(TIUDA,TIUCKSM0,TIUCKSM1) ; Update audit trail
- N DIC,DIE,DA,DR,X,Y
- S X=""""_"`"_TIUDA_"""",(DIC,DLAYGO)=8925.5,DIC(0)="FLX" D ^DIC Q:+Y'>0
- S DIE=DIC,DR=".02////"_$$NOW^TIULC_";.03////"_DUZ_";.04////"_TIUCKSM0_";.05////"_TIUCKSM1
- S DA=+Y D ^DIE
- Q
- GETLMETH(TIUTYP) ; Get Visit Linkage method, enforce inheritance
- N TIUDAD,TIUY S TIUDAD=0
- S TIUY=$G(^TIU(8925.1,+TIUTYP,7))
- I TIUY']"" S TIUDAD=$O(^TIU(8925.1,"AD",+TIUTYP,0))
- I +TIUDAD S TIUY=$$GETLMETH(TIUDAD)
- Q TIUY
- GETVMETH(TIUTYP) ; Get Validation method, enforce enheritance
- N TIUDAD,TIUY S TIUDAD=0
- S TIUY=$G(^TIU(8925.1,+TIUTYP,8))
- I TIUY']"" S TIUDAD=$O(^TIU(8925.1,"AD",+TIUTYP,0))
- I +TIUDAD S TIUY=$$GETVMETH(TIUDAD)
- Q TIUY
- ;
- TIUEDI1 ; SLC/MAM - Additional Edit Code ;March 25, 2004
- +1 ;;1.0;TEXT INTEGRATION UTILITIES;**7,22,66,61,100,166**;Jun 20, 1997
- GETREC(DFN,TIU,TIUCREAT,TIUNEW,TIUDPRM,TIUINQ,TIUPERSN) ;Returns
- +1 ;new or existing document DA.
- +2 ; Receives TIUPERSN (optional) = person asking to edit/create docmt,
- +3 ; or for upload, = author of document.
- +4 ; If not received, assumed to be DUZ.
- +5 ; New **ID** parameter, backward compatible
- +6 ; Requires array TIUTYP where
- +7 ; TIUTYP = title DA
- +8 ; TIUTYP(1) = 1^title DA^Name
- +9 ; Receives TIUCREAT for backward compatibility place holder only
- +10 SET TIUPERSN=$GET(TIUPERSN,DUZ)
- +11 SET DA=$$GETRECNW^TIUEDI3(DFN,.TIU,TIUTYP(1),.TIUNEW,.TIUDPRM,+$GET(TIUINQ),TIUPERSN)
- +12 QUIT +$GET(DA)
- +13 ;
- INQUIRE() ; Ask user whether to create a new note anyway
- +1 NEW TIUY,TIUPRMT
- +2 SET TIUY=0
- SET TIUPRMT="Do you want to create a new record anyway"
- +3 SET TIUY=+$$READ^TIUU("Y",TIUPRMT,"NO")
- +4 QUIT TIUY
- SCANDAD(TIUTYP,TIUDA) ; Search "DAD" index for component record
- +1 NEW TIUC,TIUY
- +2 SET (TIUY,TIUC)=0
- +3 FOR
- SET TIUC=$ORDER(^TIU(8925,"DAD",+TIUDA,TIUC))
- IF +TIUC'>0!(+TIUY>0)
- QUIT
- Begin DoDot:1
- +4 IF +TIUTYP=+$GET(^TIU(8925,+TIUC,0))
- SET TIUY=TIUC
- QUIT
- +5 IF +$ORDER(^TIU(8925,"DAD",+TIUC,0))
- SET TIUY=$$SCANDAD(TIUTYP,TIUC)
- End DoDot:1
- +6 QUIT TIUY
- GETCOMP(TIUTYP,TIUDA,TIU,DFN) ; Adds components to document
- +1 NEW DIC,DA,X,Y,DIE,DR,TIUC,TIUCMP,TIUMOM,TIUMTYP,TIUY,TIUFPRIV
- +2 ;10/3/00
- NEW DLAYGO
- +3 SET TIUFPRIV=1
- SET (TIUY,TIUC)=0
- +4 SET TIUY=$$SCANDAD(TIUTYP,TIUDA)
- +5 IF +TIUY
- GOTO GETCX
- +6 SET (DIC,DLAYGO)=8925
- SET DIC(0)="FL"
- +7 SET X="""`"_+TIUTYP_""""
- +8 DO ^DIC
- +9 IF +Y'>0
- WRITE !,X," component could not be created.",!
- GOTO GETCX
- +10 SET (TIUY,DA)=+Y
- SET DIE=DIC
- +11 SET TIUMOM=+$$RUMYMTHR(TIUDA,DA,+TIUTYP,+$GET(^TIU(8925,+DA,0)))
- +12 SET TIUMTYP=+$GET(^TIU(8925,+TIUMOM,0))
- +13 SET DR=".02////"_DFN_";.03////"_$PIECE($GET(TIU("VISIT")),U)_";.04////"_TIUMTYP_";.06////"_TIUMOM
- +14 DO ^DIE
- WRITE "."
- GETCX QUIT TIUY
- RUMYMTHR(MOM,BRAT,MOMTYP,BRATYP) ; Get appropriate parent for component
- +1 NEW TIUI,GOTMOM,CNDMOM,CNDTYP,TIUMOM
- SET (GOTMOM,TIUI)=0
- +2 IF +$ORDER(^TIU(8925.1,"AD",+BRATYP,MOMTYP,0))
- SET GOTMOM=1
- GOTO RUMYX
- +3 SET CNDMOM=0
- +4 FOR
- SET CNDMOM=$ORDER(^TIU(8925,"DAD",+MOM,+CNDMOM))
- IF +CNDMOM'>0
- QUIT
- Begin DoDot:1
- +5 SET CNDTYP=+$GET(^TIU(8925,+CNDMOM,0))
- +6 SET TIUMOM=$$RUMYMTHR(CNDMOM,BRAT,CNDTYP,BRATYP)
- IF $PIECE(TIUMOM,U,2)=1
- SET MOM=+TIUMOM
- SET GOTMOM=1
- QUIT
- End DoDot:1
- RUMYX QUIT MOM_U_GOTMOM
- DELCOMP(TIUDA) ; Cleans up all components of a document
- +1 NEW DA,DIE,DR,TIUCDA
- SET TIUCDA=0
- SET DIE="^TIU(8925,"
- +2 FOR
- SET TIUCDA=$ORDER(^TIU(8925,"DAD",TIUDA,TIUCDA))
- IF +TIUCDA'>0
- QUIT
- Begin DoDot:1
- +3 WRITE !,$PIECE(^TIU(8925.1,+^TIU(8925,TIUCDA,0),0),U)_" Component Deleted"
- +4 SET DR=".01///@"
- SET DA=TIUCDA
- DO ^DIE
- WRITE "."
- +5 IF +$ORDER(^TIU(8925,"DAD",TIUCDA,0))>0
- DO DELCOMP(TIUCDA)
- End DoDot:1
- +6 QUIT
- DELAUDIT(TIUDA) ; Cleans up all AUDIT TRAIL entries for a document
- +1 NEW DA,DIK,DR,TIUADA
- SET TIUADA=0
- SET DIK="^TIU(8925.5,"
- +2 FOR
- SET TIUADA=$ORDER(^TIU(8925.5,"B",TIUDA,TIUADA))
- IF +TIUADA'>0
- QUIT
- Begin DoDot:1
- +3 ; W !," Audit trail record #",TIUADA," Deleted"
- +4 ; W "."
- SET DA=TIUADA
- DO ^DIK
- End DoDot:1
- +5 IF $LENGTH($TEXT(DEL^PXRMGECU))
- DO DEL^PXRMGECU(+TIUDA)
- +6 QUIT
- ISCOMP(TIUTYP,X) ; Is the text provided a component tag
- +1 NEW DIC,TIULEVEL,TIUY,Y,TIUFPRIV
- SET TIULEVEL=0
- SET TIUFPRIV=1
- +2 SET DIC=8925.1
- SET DIC(0)="FX"
- +3 SET DIC("S")="I $P(^TIU(8925.1,+Y,0),U,4)=""CO"""
- +4 DO ^DIC
- KILL DIC("S")
- +5 IF +Y'>0
- SET TIUY=0
- GOTO ISCMPX
- +6 IF +$ORDER(^TIU(8925.1,+TIUTYP,10,"B",+Y,0))'>0
- SET TIUY=0
- GOTO ISCMPX
- +7 SET TIUY=Y
- ISCMPX QUIT TIUY
- MERGTEMP(TIUDA) ; Merge text from components into TEMP node for edit
- +1 NEW TIUC,TIUI,TIUJ,TIULINE
- +2 SET (TIUC,TIULINE)=0
- SET TIUJ=+$PIECE($GET(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- +3 FOR
- SET TIUC=$ORDER(^TIU(8925,"DAD",TIUDA,TIUC))
- IF +TIUC'>0
- QUIT
- Begin DoDot:1
- +4 IF +$$ISADDNDM^TIULC1(+TIUC)
- QUIT
- +5 SET TIUI=0
- FOR
- SET TIUI=$ORDER(^TIU(8925,+TIUC,"TEXT",TIUI))
- IF +TIUI'>0
- QUIT
- Begin DoDot:2
- +6 SET TIUJ=+$GET(TIUJ)+1
- +7 SET ^TIU(8925,+TIUDA,"TEMP",TIUJ,0)=$GET(^TIU(8925,+TIUC,"TEXT",TIUI,0))
- +8 ; Clear the way for edits
- KILL ^TIU(8925,+TIUC,"TEXT",TIUI,0)
- +9 SET ^TIU(8925,+TIUC,"TEXT",0)="^^^^"_DT_"^^"
- +10 SET ^TIU(8925,+TIUDA,"TEMP",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- End DoDot:2
- +11 IF +$ORDER(^TIU(8925,"DAD",+TIUC,0))
- DO MERGGRAN(TIUDA,+TIUC)
- +12 SET TIUJ=+$PIECE($GET(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- End DoDot:1
- +13 IF $DATA(^TIU(8925,+TIUDA,"TEMP",1))>9
- MERGE ^TIU(8925,+TIUDA,"TEXT")=^TIU(8925,+TIUDA,"TEMP")
- +14 QUIT
- MERGGRAN(TIUDA,TIUC) ; Merge sub-components into TEMP node of original
- +1 NEW TIUC1,TIUI,TIUJ,TIULINE
- +2 SET (TIUC1,TIULINE)=0
- SET TIUJ=+$PIECE($GET(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- +3 FOR
- SET TIUC1=$ORDER(^TIU(8925,"DAD",TIUC,TIUC1))
- IF +TIUC1'>0
- QUIT
- Begin DoDot:1
- +4 SET TIUI=0
- FOR
- SET TIUI=$ORDER(^TIU(8925,+TIUC1,"TEXT",TIUI))
- IF +TIUI'>0
- QUIT
- Begin DoDot:2
- +5 SET TIUJ=+$GET(TIUJ)+1
- +6 SET ^TIU(8925,+TIUDA,"TEMP",TIUJ,0)=$GET(^TIU(8925,+TIUC1,"TEXT",TIUI,0))
- +7 ; Clear the way for edits
- KILL ^TIU(8925,+TIUC1,"TEXT",TIUI,0)
- +8 SET ^TIU(8925,+TIUC1,"TEXT",0)="^^^^"_DT_"^^"
- +9 SET ^TIU(8925,+TIUDA,"TEMP",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- End DoDot:2
- +10 IF +$ORDER(^TIU(8925,"DAD",+TIUC1,0))
- DO MERGGRAN(TIUDA,+TIUC1)
- +11 SET TIUJ=+$PIECE($GET(^TIU(8925,+TIUDA,"TEMP",0)),U,3)
- End DoDot:1
- +12 QUIT
- MERGTEXT(TIUDA,TIU) ; Merge TEMP node from parent document into components
- +1 NEW TIUTYP
- +2 SET TIUTYP=+$PIECE(^TIU(8925,+TIUDA,0),U)
- +3 ; -- If document has components, add/update them
- +4 IF +$ORDER(^TIU(8925.1,+TIUTYP,10,0))>0
- Begin DoDot:1
- +5 NEW TIUC,TIUI,TIUJ,TIUX,TIUCMP
- SET (TIUI,TIUJ,TIUCMP)=0
- +6 FOR
- SET TIUI=$ORDER(^TIU(8925,+TIUDA,"TEMP",TIUI))
- IF +TIUI'>0
- QUIT
- Begin DoDot:2
- +7 SET TIUX=$GET(^TIU(8925,+TIUDA,"TEMP",TIUI,0))
- +8 SET TIUC=+$$ISCOMP(TIUTYP,$PIECE(TIUX,":"))
- +9 IF TIUX[":"
- IF +TIUC
- Begin DoDot:3
- +10 ; Reinitialize line count for new component
- SET TIUJ=0
- +11 SET TIUCMP=$$GETCOMP(TIUC,TIUDA,.TIU,DFN)
- End DoDot:3
- +12 SET TIUJ=+$GET(TIUJ)+1
- +13 IF +TIUCMP>0
- Begin DoDot:3
- +14 SET ^TIU(8925,+TIUCMP,"TEXT",TIUJ,0)=$GET(^TIU(8925,+TIUDA,"TEMP",+TIUI,0))
- +15 SET ^TIU(8925,+TIUCMP,"TEXT",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- End DoDot:3
- +16 IF '$TEST
- Begin DoDot:3
- +17 SET ^TIU(8925,+TIUDA,"TEXT",TIUJ,0)=$GET(^TIU(8925,+TIUDA,"TEMP",TIUJ,0))
- +18 SET ^TIU(8925,+TIUDA,"TEXT",0)="^^"_TIUJ_"^"_TIUJ_"^"_DT_"^^"
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +19 ; -- If no components, merge "TEMP" into "TEXT" for current document
- +20 IF +$ORDER(^TIU(8925.1,+TIUTYP,10,0))'>0
- MERGE ^TIU(8925,+TIUDA,"TEXT")=^TIU(8925,+TIUDA,"TEMP")
- +21 QUIT
- GETTMPL(TIUTYP) ; Get edit template, enforce inheritance
- +1 NEW TIUDAD,TIUY
- SET TIUDAD=0
- +2 SET TIUY=$GET(^TIU(8925.1,+TIUTYP,5))
- +3 IF TIUY']""
- IF ($PIECE(^TIU(8925.1,+TIUTYP,0),U)["ADDENDUM")
- Begin DoDot:1
- +4 SET TIUDAD=+$PIECE($GET(^TIU(8925,+$PIECE($GET(^TIU(8925,+$GET(TIUDA),0)),U,6),0)),U)
- +5 IF +TIUDAD
- SET TIUY=$$GETTMPL(TIUDAD)
- End DoDot:1
- +6 IF TIUY']""
- SET TIUDAD=$ORDER(^TIU(8925.1,"AD",+TIUTYP,0))
- +7 IF +TIUDAD
- SET TIUY=$$GETTMPL(TIUDAD)
- +8 QUIT TIUY
- AUDIT(TIUDA,TIUCKSM0,TIUCKSM1) ; Update audit trail
- +1 NEW DIC,DIE,DA,DR,X,Y
- +2 SET X=""""_"`"_TIUDA_""""
- SET (DIC,DLAYGO)=8925.5
- SET DIC(0)="FLX"
- DO ^DIC
- IF +Y'>0
- QUIT
- +3 SET DIE=DIC
- SET DR=".02////"_$$NOW^TIULC_";.03////"_DUZ_";.04////"_TIUCKSM0_";.05////"_TIUCKSM1
- +4 SET DA=+Y
- DO ^DIE
- +5 QUIT
- GETLMETH(TIUTYP) ; Get Visit Linkage method, enforce inheritance
- +1 NEW TIUDAD,TIUY
- SET TIUDAD=0
- +2 SET TIUY=$GET(^TIU(8925.1,+TIUTYP,7))
- +3 IF TIUY']""
- SET TIUDAD=$ORDER(^TIU(8925.1,"AD",+TIUTYP,0))
- +4 IF +TIUDAD
- SET TIUY=$$GETLMETH(TIUDAD)
- +5 QUIT TIUY
- GETVMETH(TIUTYP) ; Get Validation method, enforce enheritance
- +1 NEW TIUDAD,TIUY
- SET TIUDAD=0
- +2 SET TIUY=$GET(^TIU(8925.1,+TIUTYP,8))
- +3 IF TIUY']""
- SET TIUDAD=$ORDER(^TIU(8925.1,"AD",+TIUTYP,0))
- +4 IF +TIUDAD
- SET TIUY=$$GETVMETH(TIUDAD)
- +5 QUIT TIUY
- +6 ;