source: WorldVistAEHR/trunk/r/TEXT_INTEGRATION_UTILITIES-GMRP-TIU/TIUFLT.m@ 1500

Last change on this file since 1500 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 2.7 KB
Line 
1TIUFLT ; SLC/MAM - Library; Template T (Items) Related: BUFITEMS(CONTENT,EINFO,LASTLIN), ITEMS(FILEDA) ;4/6/95 11:02
2 ;;1.0;TEXT INTEGRATION UTILITIES;;Jun 20, 1997
3 ;
4BUFITEMS(CONTENT,EINFO,LASTLIN) ; Set items of Entry EINFO into
5 ;Buffer array in proper order.
6 ; Requires CONTENT = String containing some or all of: 80, H, C, A, D, T, W. See BUFENTRY^TIUFLLM2.
7 ; Requires EINFO, where EINFO is either as set in NINFO^TIUFLLM or
8 ;is = ^TMP("TIUFIDX,$J,LINENO).
9 ; Requires LASTLIN=LM array line before item insertion point.
10 ; Requires all of the entry's items to exist in the file: check before calling this module.
11 ; Updates LASTLIN to last line set in buffer array, ie
12 ;buffer array starts with line [received LASTLIN+1] and ends with
13 ;line [returned LASTLIN].
14 N FILEDA,TIUFITEM,LINENO,TIUFI,IFILEDA,ITENDA,INFO,INODE0
15 S FILEDA=$P(EINFO,U,2)
16 I TIUFTMPL="C",TIUFCLPS S TIUFITEM(1)=TIUFCDA_U_TIUFCTDA
17 E D ITEMS(FILEDA)
18 K ^TMP("TIUFB",$J),^TMP("TIUFBIDX",$J)
19 S LINENO=LASTLIN
20 F TIUFI=1:1 Q:'$G(TIUFITEM(TIUFI)) D Q:$D(DTOUT)
21 . S IFILEDA=$P(TIUFITEM(TIUFI),U),ITENDA=$P(TIUFITEM(TIUFI),U,2) Q:'IFILEDA Q:'ITENDA
22 . S LINENO=LINENO+1 ;Needed by NINFO.
23 . D NINFO^TIUFLLM(LINENO,IFILEDA,.INFO,EINFO,ITENDA),PARSE^TIUFLLM(.INFO)
24 . D NODE0ARR^TIUFLF(IFILEDA,.INODE0,FILEDA) Q:$D(DTOUT)
25 . I INODE0="" S LINENO=LINENO-1 Q
26 . D BUFENTRY^TIUFLLM2(.INFO,.INODE0,CONTENT,FILEDA) I TIUFI>5 W "."
27 . Q
28 S LASTLIN=LINENO
29 Q
30 ;
31ITEMS(FILEDA) ; Sets items of FILEDA into array TIUFITEM in proper order.
32 ; TIUFITEM(TIUFI)=Item's 8925.1 IFN^Item's IFN in Item multiple
33 ; Requires FILEDA = Entry's 8925.1 IFN
34 N TIUFI,SEQ,TENDA,TENODE0,NAME
35 S (TIUFI,SEQ,TENDA)=0
36 F S SEQ=$O(^TIU(8925.1,FILEDA,10,"AC",SEQ)) Q:'SEQ D
37 . ; Set items having sequence into TIUFITEM in sequence order
38 . F S TENDA=$O(^TIU(8925.1,FILEDA,10,"AC",SEQ,TENDA)) Q:'TENDA D
39 . . S TENODE0=^TIU(8925.1,FILEDA,10,TENDA,0) Q:'TENODE0
40 . . S TIUFI=TIUFI+1,TIUFITEM(TIUFI)=+TENODE0_"^"_TENDA
41 S NAME=""
42 F S NAME=$O(^TIU(8925.1,FILEDA,10,"C",NAME)) Q:NAME="" D
43 . ; Set items with no sequence into TIUFITEM in alpha order by Display Name.
44 . S TENDA=0
45 . F S TENDA=$O(^TIU(8925.1,FILEDA,10,"C",NAME,TENDA)) Q:'TENDA D
46 . . S TENODE0=^TIU(8925.1,FILEDA,10,TENDA,0) Q:'TENODE0
47 . . Q:$P(TENODE0,U,3) ;If has sequence, already in TIUFITEM.
48 . . S TIUFI=TIUFI+1,TIUFITEM(TIUFI)=+TENODE0_"^"_TENDA
49 S TENDA=0
50 F S TENDA=$O(^TIU(8925.1,FILEDA,10,TENDA)) Q:'TENDA D
51 . ; Set items with no sequence, no display name into buffer in item order
52 . S TENODE0=^TIU(8925.1,FILEDA,10,TENDA,0) Q:'TENODE0
53 . Q:$P(TENODE0,U,3) ;If has sequence, already in TIUFITEM.
54 . Q:$P(TENODE0,U,4)'="" ;If has Display Name, already in TIUFITEM.
55 . S TIUFI=TIUFI+1,TIUFITEM(TIUFI)=+TENODE0_"^"_TENDA
56 Q
57 ;
Note: See TracBrowser for help on using the repository browser.