| 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
 | 
|---|