51 lines
2.7 KiB
Mathematica
51 lines
2.7 KiB
Mathematica
IMRBPT1 ;HCIOFO-NCA,FT/FAI-DATA EXTRACTION (cont.) ; 12/24/02 9:25am
|
|
;;2.1;IMMUNOLOGY CASE REGISTRY;**13,16,19**;Feb 09, 1998
|
|
Q
|
|
;
|
|
GETDAT ; Get All Ancillary Package Data. Called from IMRDAT
|
|
RX ; Get Outpatient Pharmacy Data
|
|
S IMRLD=+$P(IMR101,"^",6) ;LAST OPT PHARMACY DATE NOTED
|
|
D GET^IMRRX(IMRSD,IMRED)
|
|
S IMRLD=$S(IMRRX>IMRLD:IMRRX,1:IMRLD) S:'IMRLD IMRLD="" ;check FILL DATE against LAST OPT PHARMACY DATE NOTED
|
|
S $P(IMR101,"^",6,8)=$S(IMRLD>0:IMRLD,1:"")_"^^",$P(IMR101,"^",12)=$S(IMRLD>0:IMRLD,1:"") ;piece 6=LAST OPT PHARMACY DATE NOTED,piece 7=LAST INPT PHARMACY DATE NOTED,piece 8=LAST IV PHARMACY DATE NOTED,piece 12=LAST LIMITED Rx dATE
|
|
K IMRLD
|
|
LAB ; Get Lab Data
|
|
S IMRLD=+$P(IMR101,"^",9),IMRLD1=+$P(IMR101,"^",10) ;piece 9=LAST LABORATORY DATE NOTED,piece 10=LAST MICROBIOLOGY DATE NOTED
|
|
D CHK^IMRLAB
|
|
S IMRLD=$S(IMRLAB>IMRLD:IMRLAB,1:IMRLD),IMRLD1=$S(IMRMI>IMRLD1:IMRMI,1:IMRLD1) S:'IMRLD IMRLD=""
|
|
S $P(IMR101,"^",9,10)=IMRLD_"^"_IMRLD1,$P(IMR101,"^",13)=IMRLD,$P(IMR101,"^",17)=IMRLD1 K IMRLD,IMRLD1 ;piece 13=last limited lab date, piece 17=last limited micro date
|
|
RAD ; Get Radiology Data
|
|
S IMRLD=+$P(IMR101,"^",11) D ^IMRRAD S:'IMRLD IMRLD="" ;LAST RADIOLOGY DATE NOTED
|
|
S $P(IMR101,"^",11)=$S(IMRRAD>IMRLD:IMRRAD,1:IMRLD) K IMRLD ;check latest EXAM DATE against last radiology date noted
|
|
DENT ; Get Dental Data
|
|
S IMRLD=+$P(IMR101,"^",15) D DENT^IMRRAD S:'IMRLD IMRLD="" ;last dental appt date
|
|
S $P(IMR101,"^",15)=$S(IMRDENT>IMRLD:IMRDENT,1:IMRLD) K IMRLD
|
|
OP ; Get Outpatient Activity Data
|
|
S IMRLD=+$P(IMR101,"^",16) D OP^IMRSCH S:'IMRLD IMRLD="" ;last OP date
|
|
S $P(IMR101,"^",16)=$S(IMROP>IMRLD:IMROP,1:IMRLD) K IMRLD ;check latest scheduling date/time against last OP date
|
|
WRAP S:'$D(^IMR(158.9,1,"NXT")) ^("NXT")=0 S IMRNXT2=+$P(^("NXT"),"^",2),IMRNXT1=+^("NXT")
|
|
S:IMRT2="NEW"!(IMRNXT2<IMRFN) IMRNXT2=IMRFN ;IMRNXT2=last new case
|
|
S ^IMR(158,IMRFN,101)=IMRDT_"^"_$P(IMR101,"^",2,99) ;IMRDT=LAST DATE DATA SURVEYED
|
|
Q
|
|
;
|
|
MOVCDC0 ; Send nodes File 158 nodes if CDC form was generated.
|
|
Q:'IMRSEND
|
|
F IMRI=0,1,2,102,108:1:112 I $G(^IMR(158,IMRFN,IMRI))'="" S IMRC=IMRC+1,^TMP($J,"IMRX",IMRC)="CDC"_IMRI_"^"_^IMR(158,IMRFN,IMRI) D
|
|
.I IMRI=1 D
|
|
..S IMRNODE1=$G(^TMP($J,"IMRX",IMRC))
|
|
..S IMRSTATE=$P(IMRNODE1,U,13) ;state at onset of illness/aids
|
|
..I IMRSTATE'="" S IMRSTATE=$$GET1^DIQ(5,IMRSTATE,1,"E") ;state abbr
|
|
..S $P(IMRNODE1,U,13)=IMRSTATE
|
|
..S IMRSTATE=$P(IMRNODE1,U,18) ;state of hospital - aids dx
|
|
..I IMRSTATE'="" S IMRSTATE=$$GET1^DIQ(5,IMRSTATE,1,"E") ;state abbr
|
|
..S $P(IMRNODE1,U,18)=IMRSTATE
|
|
..S IMRSTATN=$P(IMRNODE1,U,8)
|
|
..I IMRSTATN'="" S IMRSTATN=$$GET1^DIQ(4,IMRSTATN,99,"I") ;station #
|
|
..S $P(IMRNODE1,U,8)=IMRSTATN
|
|
..S $P(IMRNODE1,U,2)="*1*"
|
|
..S ^TMP($J,"IMRX",IMRC)=IMRNODE1
|
|
..K IMRNODE1,IMRSTATE
|
|
..Q
|
|
.Q
|
|
Q
|