| 1 | ONCGENED ;Hines OIFO/GWB - EDITS API ; 3/7/07 4:21pm
 | 
|---|
| 2 |  ;;2.11;ONCOLOGY;**47**;Mar 07,1995;Build 19
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | NAACCR D CLEAR^ONCSAPIE(1)
 | 
|---|
| 5 |  K ^TMP("ONC",$J)
 | 
|---|
| 6 |  K ^TMP("ONC1",$J)
 | 
|---|
| 7 |  K ONCEDLST
 | 
|---|
| 8 |  N BLANK,NINE,ZERO,ZNINE,X
 | 
|---|
| 9 |  S BLANK=" "
 | 
|---|
| 10 |  S ZERO=0
 | 
|---|
| 11 |  S NINE=9
 | 
|---|
| 12 |  S ZNINE="09"
 | 
|---|
| 13 |  S EXTRACT=$O(^ONCO(160.16,"B","VACCR EXTRACT V11.1",0))
 | 
|---|
| 14 |  S EXT="VACCR"
 | 
|---|
| 15 |  S DEVICE=0,OIEN=0,PAGE=1,HDRIEN=12,OUT=0
 | 
|---|
| 16 |  S OSP=$O(^ONCO(160.1,"C",DUZ(2),0))
 | 
|---|
| 17 |  I OSP="" S OSP=$O(^ONCO(160.1,0))
 | 
|---|
| 18 |  S IINPNT=$P($G(^ONCO(160.1,OSP,1)),U,4)
 | 
|---|
| 19 |  S DXH=$$GET1^DIQ(160.19,IINPNT,.01,"I")
 | 
|---|
| 20 |  S STAT1=DXH
 | 
|---|
| 21 |  S PAGE=1
 | 
|---|
| 22 |  S IEN=D0
 | 
|---|
| 23 |  S ONCDST=$NA(^TMP("ONC",$J))
 | 
|---|
| 24 |  S MSGLST=$NA(^TMP("ONC1",$J))
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 |  ;S RC=$$RBQPREP^ONCSED01(.ONCSAPI,.ONCDST,"DEBUG")
 | 
|---|
| 27 |  S RC=$$RBQPREP^ONCSED01(.ONCSAPI,.ONCDST)
 | 
|---|
| 28 |  ;S ERRFLG=RC
 | 
|---|
| 29 |  I RC<0 D PRTERRS^ONCSAPIE() Q
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  N D0
 | 
|---|
| 32 |  D OUTPUT(IEN,EXTRACT,.OUT)
 | 
|---|
| 33 |  I $G(EDITS)="NO" D END^ONCSNACR(.ONCDST) Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | EDITS S RC=$$RBQEXEC^ONCSED01(.ONCSAPI,.ONCDST,MSGLST)
 | 
|---|
| 36 |  S ERRFLG=RC
 | 
|---|
| 37 |  I RC<0 D PRTERRS^ONCSAPIE()
 | 
|---|
| 38 |  I RC>0 D  Q:RC<0
 | 
|---|
| 39 |  . N %ZIS,IOP,POP
 | 
|---|
| 40 |  . S %ZIS("B")="HOME"
 | 
|---|
| 41 |  . D ^%ZIS  Q:$G(POP)  U IO
 | 
|---|
| 42 |  . S RC=$$REPORT^ONCSED01(.ONCSAPI,MSGLST,"MT")
 | 
|---|
| 43 |  . D ^%ZISC
 | 
|---|
| 44 |  Q
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 | OUTPUT(IEN,EXTRACT,OUT) ;
 | 
|---|
| 47 |  N POS
 | 
|---|
| 48 |  S ACD160=$P(^ONCO(165.5,IEN,0),U,2)
 | 
|---|
| 49 |  S POS=0
 | 
|---|
| 50 |  F  S POS=$O(^ONCO(160.16,EXTRACT,"FIELD","B",POS)) Q:POS<1  D  Q:OUT
 | 
|---|
| 51 |  .N NODE
 | 
|---|
| 52 |  .S NODE=0
 | 
|---|
| 53 |  .F  S NODE=$O(^ONCO(160.16,EXTRACT,"FIELD","B",POS,NODE)) Q:NODE<1  D  Q:OUT
 | 
|---|
| 54 |  ..N STRING,DEFAULT,FILL,LEN
 | 
|---|
| 55 |  ..Q:$G(^ONCO(160.16,EXTRACT,"FIELD",NODE,0))=""
 | 
|---|
| 56 |  ..S STRING=$TR(^ONCO(160.16,EXTRACT,"FIELD",NODE,1),"~","^")
 | 
|---|
| 57 |  ..S DEFAULT=^ONCO(160.16,EXTRACT,"FIELD",NODE,2)
 | 
|---|
| 58 |  ..S FILL=$P(^ONCO(160.16,EXTRACT,"FIELD",NODE,3),U,1)
 | 
|---|
| 59 |  ..S LEN=$P(^ONCO(160.16,EXTRACT,"FIELD",NODE,0),U,2)
 | 
|---|
| 60 |  ..D DATA(IEN,ACD160,STRING,DEFAULT,FILL,LEN,NODE,POS)
 | 
|---|
| 61 |  Q
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 | DATA(IEN,ACD160,STRING,DEFAULT,FILL,LEN,NODE,POS) ;Data print
 | 
|---|
| 64 |  N ACDANS
 | 
|---|
| 65 |  X STRING
 | 
|---|
| 66 |  I ACDANS="" D  Q
 | 
|---|
| 67 |  .N X,I
 | 
|---|
| 68 |  .S X=""
 | 
|---|
| 69 |  .I DEFAULT=8 D  Q
 | 
|---|
| 70 |  ..F I=1:1:LEN D WRITE^ONCSNACR(.ONCDST,DEFAULT)
 | 
|---|
| 71 |  .I @DEFAULT="09" D WRITE^ONCSNACR(.ONCDST,@DEFAULT) Q
 | 
|---|
| 72 |  .F I=1:1:LEN D WRITE^ONCSNACR(.ONCDST,@DEFAULT)
 | 
|---|
| 73 |  I $L(ACDANS)=LEN D WRITE^ONCSNACR(.ONCDST,ACDANS) Q
 | 
|---|
| 74 |  I $L(ACDANS)>LEN D WRITE^ONCSNACR(.ONCDST,$E(ACDANS,1,LEN)) Q
 | 
|---|
| 75 |  E  D  Q
 | 
|---|
| 76 |  .N JUST,STUFF,I,REM,CAL
 | 
|---|
| 77 |  .S JUST=$P(FILL,","),STUFF=$P(FILL,",",2)
 | 
|---|
| 78 |  .S REM=LEN-$L(ACDANS)
 | 
|---|
| 79 |  .I JUST="R" D WRITE^ONCSNACR(.ONCDST,ACDANS)
 | 
|---|
| 80 |  .F I=1:1:REM D WRITE^ONCSNACR(.ONCDST,@STUFF)
 | 
|---|
| 81 |  .I JUST="L" D WRITE^ONCSNACR(.ONCDST,ACDANS)
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 | CHKSUM ;Compute checksum
 | 
|---|
| 85 |  Q:'$D(ONCDST)
 | 
|---|
| 86 |  Q:$P($G(^ONCO(165.5,D0,7)),U,2)'=3
 | 
|---|
| 87 |  W !," Computing checksum value for this abstract..."
 | 
|---|
| 88 |  S CHECKSUM=$$CRC32^ONCSNACR(.ONCDST)
 | 
|---|
| 89 |  S $P(^ONCO(165.5,D0,"EDITS"),U,1)=CHECKSUM
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 | CHANGE ;Check for change to ONCOLOGY PRIMARY (165.5) record
 | 
|---|
| 93 |  S EDITS="NO" D NAACCR K EDITS
 | 
|---|
| 94 |  S CHECKSUM=$$CRC32^ONCSNACR(.ONCDST)
 | 
|---|
| 95 |  Q:$P($G(^ONCO(165.5,ONCOD0P,"EDITS")),U,1)=""
 | 
|---|
| 96 |  I CHECKSUM'=$P($G(^ONCO(165.5,ONCOD0P,"EDITS")),U,1) D
 | 
|---|
| 97 |  .W !
 | 
|---|
| 98 |  .W !," You have made a change to a 'Completed' abstract."
 | 
|---|
| 99 |  .W !," This abstract needs to be re-run through the EDITS API."
 | 
|---|
| 100 |  .W !!," Calling EDITS API..."
 | 
|---|
| 101 |  .D ^ONCGENED
 | 
|---|
| 102 |  .I ERRFLG'=0 D  Q
 | 
|---|
| 103 |  ..W !!," EDITS errors were encountered."
 | 
|---|
| 104 |  ..W !!," The ABSTRACT STATUS has been changed to 0 (Incomplete)."
 | 
|---|
| 105 |  ..S DIE="^ONCO(165.5,"
 | 
|---|
| 106 |  ..S DA=ONCOD0P
 | 
|---|
| 107 |  ..S DR="91///0;197///@;198///^S X=DT;199///^S X=DUZ"
 | 
|---|
| 108 |  ..D ^DIE
 | 
|---|
| 109 |  ..W !
 | 
|---|
| 110 |  ..K DIR S DIR(0)="YA"
 | 
|---|
| 111 |  ..S DIR("A")=" Do you wish to return to the Primary Menu Options? "
 | 
|---|
| 112 |  ..S DIR("B")="Yes" D ^DIR K DIR
 | 
|---|
| 113 |  ..I Y=1 S Y="@0"
 | 
|---|
| 114 |  .W !!," No EDITS errors or warnings.  ABSTRACT STATUS = 3 (Complete)."
 | 
|---|
| 115 |  .S DIE="^ONCO(165.5,"
 | 
|---|
| 116 |  .S DA=ONCOD0P
 | 
|---|
| 117 |  .S DR="197///^S X=CHECKSUM;198///^S X=DT;199///^S X=DUZ"
 | 
|---|
| 118 |  .D ^DIE
 | 
|---|
| 119 |  .S EDITS="NO" D NAACCR K EDITS
 | 
|---|
| 120 |  .S CHECKSUM=$$CRC32^ONCSNACR(.ONCDST)
 | 
|---|
| 121 |  .S $P(^ONCO(165.5,D0,"EDITS"),U,1)=CHECKSUM
 | 
|---|
| 122 |  .W !
 | 
|---|
| 123 |  .K DIR S DIR(0)="E" D ^DIR
 | 
|---|
| 124 |  Q
 | 
|---|