1 | ONCOAIC ;Hines OIFO/GWB - CREATE FIRST PRIMARY RECORD ;7/20/93
|
---|
2 | ;;2.11;ONCOLOGY;**1,24,25,27,32,42,44,45**;Mar 07, 1995
|
---|
3 | ;
|
---|
4 | EN ;Create first ONCOLOGY PRINMARY (165.5) record
|
---|
5 | D KILL
|
---|
6 | W @IOF
|
---|
7 | W !!?5,"******** CREATE FIRST PRIMARY RECORD FOR THIS PATIENT*******",!!
|
---|
8 | W:$D(ONCONM) ?5,"PATIENT: ",ONCONM
|
---|
9 | ;
|
---|
10 | LOOK1 ;Select first primary
|
---|
11 | K DIC
|
---|
12 | S DIC="^ONCO(164.2,",DIC(0)="AEQM"
|
---|
13 | S DIC("A")=" Select first Primary SITE/GP: "
|
---|
14 | S DIC("S")="I '$P(^(0),U,3)"
|
---|
15 | W ! D ^DIC K DIC G EX:Y<0
|
---|
16 | S (XX,X,ONCOSIT)=+Y,ONCOPN=$P(Y,U,2),XD0=ONCOD0
|
---|
17 | D SEX^ONCOCKI G LOOK1:'$D(X)
|
---|
18 | ;
|
---|
19 | A2 ;Create first ONCOLOGY PRIMARY (165.5) record for this patient
|
---|
20 | L +(^ONCO(165.5,"ACAY"),^ONCO(165.5,"ACD"),^ONCO(165.5,"AF")):2
|
---|
21 | I '$T G ASK
|
---|
22 | W !
|
---|
23 | K DIR,ONCOD0P
|
---|
24 | S DIR("A")=" Ok to ADD:",DIR("B")="Yes",DIR(0)="Y" D ^DIR
|
---|
25 | G A:Y,EN:Y=0 Q
|
---|
26 | ;
|
---|
27 | A K DO
|
---|
28 | W !,?5,"Creating a new Primary record for ",ONCONM
|
---|
29 | S DIC="^ONCO(165.5,",DIC(0)="Z"
|
---|
30 | S X=ONCOSIT
|
---|
31 | S DIC("DR")="2000////^S X=DUZ(2)"
|
---|
32 | D FILE^DICN
|
---|
33 | K DIC,X G EX:Y<0
|
---|
34 | S ONCOD0P=+Y
|
---|
35 | S $P(^ONCO(165.5,+Y,0),U,2)=ONCOD0,$P(^(7),U,2)=0
|
---|
36 | S ^ONCO(165.5,"C",ONCOD0,ONCOD0P)=""
|
---|
37 | ;
|
---|
38 | NAN ;New ACCESSION NUMBER (165.5,.05)
|
---|
39 | K DIR
|
---|
40 | S DIR(0)="N^:2099",DIR("A")=" ACCESSION YEAR"
|
---|
41 | S DIR("B")=$E(DT,1)+17_$E(DT,2,3)
|
---|
42 | S Y=$G(^ONCO(165.5,"ACAY"))
|
---|
43 | W ! D ^DIR
|
---|
44 | I Y[U!(Y="") S Y=ONCOD0P D KLN Q
|
---|
45 | I $L(Y)'=4 W *7,!!?5,"ACCESSION YEAR must be 4 digits!" G NAN
|
---|
46 | S YR=Y,^ONCO(165.5,"ACAY")=YR,AC=$O(^ONCO(165.5,"ACD",Y,0))
|
---|
47 | I AC'="" S AC=Y_AC,SEQ="00" G DIE
|
---|
48 | NA S MR=YR_"00001",XR=999999999-((YR+1)_"00000")
|
---|
49 | S NR=$O(^ONCO(165.5,"AF",XR))
|
---|
50 | G AC:NR=""
|
---|
51 | I NR<(999900002-MR) W *7,!!?5,"SYSTEM appears out of numbers. Looking for unassigned ones" D FND G DIE:Y'="",EX
|
---|
52 | I NR>(999999999-MR) S NR=""
|
---|
53 | AC S AC=$S(NR="":YR_"00001",1:(1000000000-NR)),SEQ="00"
|
---|
54 | S AC=$S($L(AC)=1:"00000"_AC,$L(AC)=2:"0000"_AC,$L(AC)=3:"000"_AC,$L(AC)=4:"00"_AC,$L(AC)=5:"0"_AC,1:AC)
|
---|
55 | ;
|
---|
56 | DIE S DIE="^ONCO(165.5,",DA=ONCOD0P
|
---|
57 | S DR="W !,?5;.07///^S X=YR;.05//^S X=AC;.06//^S X=SEQ"
|
---|
58 | S ACN=AC_"/"_SEQ
|
---|
59 | D ^DIE
|
---|
60 | LOCK L -(^ONCO(165.5,"ACAY"),^ONCO(165.5,"ACD"),^ONCO(165.5,"AF")):1 G ASK:'$T,PID:$D(Y)=0 S Y=ONCOD0P D KLN G EX
|
---|
61 | ;
|
---|
62 | ASK W !
|
---|
63 | S DIR("A")=" Another user is accessioning. Try Again",DIR(0)="Y"
|
---|
64 | S DIR("B")="Y"
|
---|
65 | S DIR("?")=" "
|
---|
66 | S DIR("?",1)=" Another user is obtaining the next available ACCESSION NUMBER."
|
---|
67 | S DIR("?",2)=" Please wait a few seconds and try again."
|
---|
68 | D ^DIR G A2:Y=1
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | FND ;Search for unused accession numbers
|
---|
72 | S NR=YR_"00000",MR=(YR+1)_"00000"
|
---|
73 | NR S NR=NR+1 I NR<MR G:$D(^ONCO(165.5,"AA",NR)) NR S AC=NR,SEQ="00",Y=1 Q
|
---|
74 | W *7,!!?10,"OUT of ACCESSION Numbers for "_YR S Y=""
|
---|
75 | Q
|
---|
76 | ;
|
---|
77 | PID ;Continue defining Primary Record
|
---|
78 | S ONCOACN=AC_"/"_SEQ,Y=1 D KILL Q
|
---|
79 | ;
|
---|
80 | KLN ;KILL entry
|
---|
81 | S DA=+Y,DIK="^ONCO(165.5," D ^DIK,KILL
|
---|
82 | R !?5,"<ENTRY DELETED> - press RETURN to continue->",DA:DTIME
|
---|
83 | Q:'$T!(DA=U)
|
---|
84 | W !
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | KILL ;KILL variables
|
---|
88 | K AC,ACN,DA,DIC,DIE,DIK,DIR,D0,DR,DUOUT,DTOUT
|
---|
89 | K MR,NR,SEQ,X,XX,XD0,XR,YR
|
---|
90 | Q
|
---|
91 | ;
|
---|
92 | EX ;Exit
|
---|
93 | D KILL S Y=0
|
---|
94 | Q
|
---|