[613] | 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
|
---|