| 1 | TIULQ ; SLC/JER - Record Extract Using FM Retriever ; 3/1/06 3:46pm
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**19,100,157,211**;Jun 20, 1997;Build 26
 | 
|---|
| 3 | EXTRACT(TIUDA,TIUROOT,TIUERR,DR,TIULINE,TIUTEXT,FORMAT,OVRRIDE,ORIGCHLD) ; Gets record & addenda and ID kids
 | 
|---|
| 4 |  ; Do we need a new DBIA here? MARGY
 | 
|---|
| 5 |  N DA,DIC,DIQ,TIULQ,X,Y
 | 
|---|
| 6 |  S TIUROOT=$G(TIUROOT,"^TMP(""TIULQ"",$J)")
 | 
|---|
| 7 |  S DA=TIUDA,DIC=8925,DIQ="TIULQ",DIQ(0)=$G(FORMAT,"IE")
 | 
|---|
| 8 |  I $G(DR)']"" S DR=".01:.1;1201:1701;89261"
 | 
|---|
| 9 |  D EN^DIQ1
 | 
|---|
| 10 |  I '$D(TIULQ) S TIUERR="1^ Record Extract Failed"
 | 
|---|
| 11 |  M @TIUROOT@(TIUDA)=TIULQ(8925,TIUDA)
 | 
|---|
| 12 |  D XTRASIGN(DA,+$G(TIULINE))
 | 
|---|
| 13 |  D PROBLEMS(DA,+$G(TIULINE))
 | 
|---|
| 14 |  I +$G(TIUTEXT) D TEXT(TIUDA,+$G(TIULINE),TIUDA,+$G(OVRRIDE),+$G(ORIGCHLD))
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 | XTRASIGN(TIUDA,TIUJ) ; Get Extra Signers
 | 
|---|
| 17 |  N TIUI,TIUXTRA,TIUC,DR,DIC,DIQ S TIUI=0
 | 
|---|
| 18 |  F  S TIUI=$O(^TIU(8925.7,"B",+TIUDA,TIUI)) Q:+TIUI'>0  D
 | 
|---|
| 19 |  . N TIUDT,TIUSGN,TIUSNM,TIUSTTL,TIUEIEN,TIUENAME
 | 
|---|
| 20 |  . S DA=TIUI,DR=".03:.07",DIC="^TIU(8925.7,",DIQ="TIUXTRA",DIQ(0)="IE"
 | 
|---|
| 21 |  . D EN^DIQ1 Q:$D(TIUXTRA)'>9
 | 
|---|
| 22 |  . S TIUC=+$G(TIUC)+1
 | 
|---|
| 23 |  . S TIUEIEN=$G(TIUXTRA(8925.7,DA,.03,"I"))
 | 
|---|
| 24 |  . S TIUENAME=$G(TIUXTRA(8925.7,DA,.03,"E"))
 | 
|---|
| 25 |  . S TIUDT=$G(TIUXTRA(8925.7,DA,.04,"I"))
 | 
|---|
| 26 |  . S TIUSGN=$G(TIUXTRA(8925.7,DA,.05,"I"))
 | 
|---|
| 27 |  . S TIUSNM=$G(TIUXTRA(8925.7,DA,.06,"E"))
 | 
|---|
| 28 |  . S TIUSTTL=$G(TIUXTRA(8925.7,DA,.07,"E"))
 | 
|---|
| 29 |  . S @TIUROOT@(TIUDA,"EXTRASGNR",(TIUJ+TIUC),"EXPIEN")=TIUEIEN
 | 
|---|
| 30 |  . S @TIUROOT@(TIUDA,"EXTRASGNR",(TIUJ+TIUC),"EXPNAME")=TIUENAME
 | 
|---|
| 31 |  . S @TIUROOT@(TIUDA,"EXTRASGNR",(TIUJ+TIUC),"DATE")=TIUDT
 | 
|---|
| 32 |  . S @TIUROOT@(TIUDA,"EXTRASGNR",(TIUJ+TIUC),"EXTRA")=TIUSGN
 | 
|---|
| 33 |  . S @TIUROOT@(TIUDA,"EXTRASGNR",(TIUJ+TIUC),"NAME")=TIUSNM
 | 
|---|
| 34 |  . S @TIUROOT@(TIUDA,"EXTRASGNR",(TIUJ+TIUC),"TITLE")=TIUSTTL
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 | PROBLEMS(TIUDA,TIUJ) ; Get associated problems
 | 
|---|
| 37 |  N TIUI,TIUP,TIUPROB,TIUC,TIUX,DR,DIC,DIQ S TIUI=0
 | 
|---|
| 38 |  F  S TIUI=$O(^TIU(8925.9,"B",+TIUDA,TIUI)) Q:+TIUI'>0  D
 | 
|---|
| 39 |  . S DA=TIUI,DR=".02;.05",DIC="^TIU(8925.9,",DIQ="TIUPROB"
 | 
|---|
| 40 |  . D EN^DIQ1 Q:$D(TIUPROB)'>9
 | 
|---|
| 41 |  . S TIUC=+$G(TIUC)+1
 | 
|---|
| 42 |  . S TIUP=$$MIXED^TIULS($G(TIUPROB(8925.9,TIUI,.05)))
 | 
|---|
| 43 |  . S TIUX=$$SETSTR^VALM1($J(TIUC,2)_".",$G(TIUX),1,3)
 | 
|---|
| 44 |  . S TIUX=$$SETSTR^VALM1(TIUP,$G(TIUX),5,35)
 | 
|---|
| 45 |  . S TIUP=$G(TIUPROB(8925.9,TIUI,.02))
 | 
|---|
| 46 |  . S TIUX=$$SETSTR^VALM1(TIUP,$G(TIUX),40,6)
 | 
|---|
| 47 |  . S @TIUROOT@(TIUDA,"PROBLEM",(TIUJ+TIUC),0)=TIUX
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | TEXT(TIUDA,TIUJ,TIUDAD,TIUOVR,ORIGCHLD) ; Get each component
 | 
|---|
| 50 |  N TIUKID,TIUDADT,TIUI,TIUD0,TIULVL,CANPRINT S TIUI=0
 | 
|---|
| 51 |  S TIUD0=$G(^TIU(8925,+TIUDA,0)),TIULVL=$P($G(^TIU(8925.1,+TIUD0,0)),U,4)
 | 
|---|
| 52 |  S CANPRINT=$S(TIULVL="DOC":$$CANDO^TIULP(TIUDA,"PRINT RECORD"),1:1)
 | 
|---|
| 53 |  I +TIUOVR'>0,(+CANPRINT'>0) D  Q
 | 
|---|
| 54 |  . S TIUJ=+$G(TIUJ)+1
 | 
|---|
| 55 |  . S @TIUROOT@(TIUDAD,"TEXT",TIUJ,0)=$P(CANPRINT,U,2)
 | 
|---|
| 56 |  . S @TIUROOT@(TIUDAD,"TEXT",0)="^^"_TIUJ_U_TIUJ_U_DT_"^^"
 | 
|---|
| 57 |  F  S TIUI=$O(^TIU(8925,+TIUDA,"TEXT",TIUI)) Q:+TIUI'>0  D
 | 
|---|
| 58 |  . S TIUJ=+$G(TIUJ)+1
 | 
|---|
| 59 |  . S @TIUROOT@(TIUDAD,"TEXT",TIUJ,0)=$G(^TIU(8925,+TIUDA,"TEXT",TIUI,0))
 | 
|---|
| 60 |  S @TIUROOT@(TIUDAD,"TEXT",0)="^^"_TIUJ_U_TIUJ_U_DT_"^^"
 | 
|---|
| 61 |  ; Iterate through children, and get their text fields
 | 
|---|
| 62 |  S TIUKID=0
 | 
|---|
| 63 |  F  S TIUKID=$O(^TIU(8925,"DAD",+TIUDA,TIUKID)) Q:+TIUKID'>0  D
 | 
|---|
| 64 |  . I +$$ISADDNDM^TIULC1(TIUKID) D
 | 
|---|
| 65 |  . . N TIUADRT
 | 
|---|
| 66 |  . . I TIUROOT[")" S TIUADRT=$P(TIUROOT,")")_","_TIUDAD_",""ZADD"")"
 | 
|---|
| 67 |  . . E  S TIUADRT=TIUROOT_"("_TIUDAD_",""ZADD"")"
 | 
|---|
| 68 |  . . D EXTRACT(TIUKID,TIUADRT,.TIUERR,DR,.TIUJ,1) I 1
 | 
|---|
| 69 |  . E  D TEXT(TIUKID,.TIUJ,TIUDAD,+$G(TIUOVR))
 | 
|---|
| 70 |  ; Get ID kids in correct sort order; extract data for each kid:
 | 
|---|
| 71 |  Q:'$O(^TIU(8925,"GDAD",TIUDA,0))
 | 
|---|
| 72 |  N TIUGDATA,TIUSORT,TIUK,TIUIDKID,TIUIDRT,CTR
 | 
|---|
| 73 |  S TIUGDATA=$$IDDATA^TIURECL1(TIUDA)
 | 
|---|
| 74 |  S TIUSORT=$P(TIUGDATA,U,4)
 | 
|---|
| 75 |  D GETIDKID^TIURECL2(TIUDA,TIUSORT)
 | 
|---|
| 76 |  S TIUK=0,CTR=0
 | 
|---|
| 77 |  F  S TIUK=$O(^TMP("TIUIDKID",$J,TIUDA,TIUK)) Q:'TIUK  D
 | 
|---|
| 78 |  . S TIUIDKID=^TMP("TIUIDKID",$J,TIUDA,TIUK)
 | 
|---|
| 79 |  . N TIUIDRT
 | 
|---|
| 80 |  . I TIUROOT[")" S TIUIDRT=$P(TIUROOT,")")_","_TIUDAD_",""ZZID"","_TIUK_")"
 | 
|---|
| 81 |  . E  S TIUIDRT=TIUROOT_"("_TIUDAD_",""ZZID"","_TIUK_")"
 | 
|---|
| 82 |  . D EXTRACT(TIUIDKID,TIUIDRT,.TIUERR,DR,.TIUJ,1)
 | 
|---|
| 83 |  . S CTR=CTR+1
 | 
|---|
| 84 |  I CTR S @TIUROOT@(TIUDAD,"ZZID",0)=CTR ; How many ID kids TIUDAD has
 | 
|---|
| 85 |  ;I CTR,$G(ORIGCHLD) S @TIUROOT@(TIUDAD,"REASON")="Note included because interdisciplinary child meets criteria."
 | 
|---|
| 86 |  K ^TMP("TIUIDKID",$J)
 | 
|---|
| 87 |  Q
 | 
|---|