1 | VAQFILE1 ;ALB/JRP/KLD - MESSAGE FILING;12-MAY-93 [ 09/16/96 9:44 AM ]
|
---|
2 | ;;1.5;PATIENT DATA EXCHANGE;**22,34**;NOV 17, 1993
|
---|
3 | NEWDATA() ;MAKE NEW ENTRY IN DATA FILE
|
---|
4 | ;INPUT : NONE
|
---|
5 | ;OUTPUT : IFN - Success
|
---|
6 | ; -1^Error_text - Error
|
---|
7 | ;
|
---|
8 | ;DECLARE VARIABLES
|
---|
9 | N DD,DIC,X,DINUM,Y,DLAYGO
|
---|
10 | S DIC="^VAT(394.62,",DLAYGO=394.62
|
---|
11 | S DIC(0)="L"
|
---|
12 | S X="+" ;-- auto numbering - see ^DD(394.62,.01,7.5). It involves $$AUTO^VAQXRF2(2) and file 394.86.
|
---|
13 | D ^DIC
|
---|
14 | I Y<0 Q "-1^Could not create entry in data file"
|
---|
15 | Q $P(Y,"^",1)
|
---|
16 | ;
|
---|
17 | DELDATA(DA) ;DELETE ENTRY IN DATA FILE
|
---|
18 | ;INPUT : DA - Pointer to VAQ - DATA file
|
---|
19 | ;OUTPUT : 0 - Success
|
---|
20 | ; -1^Error_text - Error
|
---|
21 | ;
|
---|
22 | ;CHECK INPUT
|
---|
23 | Q:('(+$G(DA))) "-1^Did not pass pointer to data"
|
---|
24 | ;IF DATA DOES NOT EXIST RETURN SUCCESS
|
---|
25 | ;Q:('$D(^VAT(394.62,DA))) 0
|
---|
26 | Q:('$D(^VAT(394.62,DA))) "-1^No Data Exist Record not Deleted"
|
---|
27 | ;DECLARE VARIABLES
|
---|
28 | N DIK
|
---|
29 | ;DELETE ENTRY
|
---|
30 | S DIK="^VAT(394.62,"
|
---|
31 | D ^DIK
|
---|
32 | Q:('$D(^VAT(394.62,DA))) 0
|
---|
33 | Q "-1^Unable to delete data"
|
---|
34 | ;
|
---|
35 | DELSEG(SEG,TRAN) ;DELETE SEGMENT IN DATA FILE FOR A TRANSACTION
|
---|
36 | ;INPUT : SEG - Segment abbreviation
|
---|
37 | ; TRAN - Pointer to VAQ - TRANSACTION file
|
---|
38 | ;OUTPUT : 0 - Success
|
---|
39 | ; -1^Error_Text - Error
|
---|
40 | ;
|
---|
41 | ;CHECK INPUT
|
---|
42 | Q:($G(SEG)="") "-1^Did not pass segment abbreviation"
|
---|
43 | S TRAN=+$G(TRAN)
|
---|
44 | Q:(('TRAN)!('$D(^VAT(394.61,TRAN)))) "-1^Did not pass valid transaction"
|
---|
45 | ;DECLARE VARIABLES
|
---|
46 | N DATAPTR,TMP,SEGPTR
|
---|
47 | ;GET SEGMENT POINTER
|
---|
48 | S SEGPTR=+$O(^VAT(394.71,"C",SEG,""))
|
---|
49 | Q:('SEGPTR) "-1^Did not pass valid segment abbreviation"
|
---|
50 | ;DELETE ENTRIES IN DATA FILE
|
---|
51 | S DATAPTR=""
|
---|
52 | F S DATAPTR=+$O(^VAT(394.62,"A-SEGMENT",TRAN,SEGPTR,"")) Q:('DATAPTR) S TMP=$$DELDATA(DATAPTR)
|
---|
53 | Q 0
|
---|
54 | ;
|
---|
55 | STUBDATA(SEG,TRAN) ;CREATE STUB ENTRY IN DATA FILE
|
---|
56 | ;INPUT : SEG - Segment abbreviation
|
---|
57 | ; TRAN - Pointer to VAQ - TRANSACTION file
|
---|
58 | ;OUTPUT : IFN - Success
|
---|
59 | ; -1^Error_text - Error
|
---|
60 | ;NOTES : The following fields (in addition to .01) will be filled in
|
---|
61 | ; .02 - Segment
|
---|
62 | ; .05 - Display Ready
|
---|
63 | ; 40 - Transaction Number
|
---|
64 | ;
|
---|
65 | ;CHECK INPUT
|
---|
66 | Q:($G(SEG)="") "-1^Did not pass segment abbreviation"
|
---|
67 | S TRAN=+$G(TRAN)
|
---|
68 | Q:(('TRAN)!('$D(^VAT(394.61,TRAN)))) "-1^Did not pass valid transaction"
|
---|
69 | ;DECLARE VARIABLES
|
---|
70 | N IFN,SEGNAME,TMP,TRANNUM,DIE,DR,Y,DA,DISPLAY
|
---|
71 | ;GET SEGMENT NAME
|
---|
72 | S TMP=+$O(^VAT(394.71,"C",SEG,""))
|
---|
73 | Q:('TMP) "-1^Did not pass valid segment abbreviation"
|
---|
74 | S TMP=$G(^VAT(394.71,TMP,0))
|
---|
75 | S SEGNAME=$P(TMP,"^",1)
|
---|
76 | Q:(SEGNAME="") "-1^Could not determine segment name"
|
---|
77 | ;DETERMINE IF SEGMENT IS DISPLAY READY
|
---|
78 | S DISPLAY=+$P(TMP,"^",3)
|
---|
79 | S DISPLAY=$S(DISPLAY:"YES",1:"NO")
|
---|
80 | ;GET TRANSACTION NUMBER
|
---|
81 | S TRANNUM=+$G(^VAT(394.61,TRAN,0))
|
---|
82 | Q:('TRANNUM) "-1^Could not determine transaction number"
|
---|
83 | ;MAKE ENTRY IN DATA FILE
|
---|
84 | S IFN=+$$NEWDATA
|
---|
85 | Q:(IFN<0) "-1^Could not create entry in data file"
|
---|
86 | ;PLACE INFO IN NEW ENTRY
|
---|
87 | L +^VAT(394.62,IFN):60 I ('$T) S TMP=$$DELDATA(IFN) Q "-1^Could not edit entry (locked by other user)"
|
---|
88 | ;PLACE SEGMENT NAME INTO DATA
|
---|
89 | S DIE="^VAT(394.62,"
|
---|
90 | S DA=IFN
|
---|
91 | S DR=".02///"_SEGNAME
|
---|
92 | D ^DIE
|
---|
93 | I ($D(Y)#2) L -^VAT(394.62,IFN) S TMP=$$DELDATA(IFN) Q "-1^Could not file segment name"
|
---|
94 | ;PLACE DISPLAY READY FLAG INTO DATA
|
---|
95 | S DIE="^VAT(394.62,"
|
---|
96 | S DA=IFN
|
---|
97 | S DR=".05///"_DISPLAY
|
---|
98 | D ^DIE
|
---|
99 | I ($D(Y)#2) L -^VAT(394.62,IFN) S TMP=$$DELDATA(IFN) Q "-1^Could not file display ready flag"
|
---|
100 | ;PLACE TRANSACTION NUBMER INTO DATA
|
---|
101 | S DIE="^VAT(394.62,"
|
---|
102 | S DA=IFN
|
---|
103 | S DR="40///"_TRANNUM
|
---|
104 | D ^DIE
|
---|
105 | I ($D(Y)#2) L -^VAT(394.62,IFN) S TMP=$$DELDATA(IFN) Q "-1^Could not file transaction number"
|
---|
106 | L -^VAT(394.62,IFN)
|
---|
107 | Q IFN
|
---|