source: FOIAVistA/trunk/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RAO7UTL1.m@ 794

Last change on this file since 794 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 2.1 KB
Line 
1RAO7UTL1 ;HISC/GJC,FPT-Utilities for HL7 messages. ;9/14/98 08:00
2 ;;5.0;Radiology/Nuclear Medicine;**2,76**;Mar 16, 1998;Build 4
3BRKOUT ; Breakout the 'MSH', 'ORC' & 'PID' segments.
4 ; Called from: RAO7RON & RAO7RCH
5 N RADATA,RAHEAD,RASEG,X S X=0
6 F S X=$O(RAMSG(X)) Q:X'>0 D
7 . S RASEG=$G(RAMSG(X)),RAHEAD=$P(RASEG,RAHLFS)
8 . Q:RAHEAD'="PID"&(RAHEAD'="ORC")&(RAHEAD'="MSH")
9 . S RADATA=$P(RASEG,RAHLFS,2,999)
10 . S:RAHEAD="MSH" RAMSH3=$P(RADATA,RAHLFS,3)
11 . S:RAHEAD="ORC" RAORC2=$P(RADATA,RAHLFS,2),RAORC3=$P(RADATA,RAHLFS,3)
12 . S:RAHEAD="PID" RAPID3=$P(RADATA,RAHLFS,3),RAPID5=$P(RADATA,RAHLFS,5)
13 . Q
14 S RADIV(.119)=$P($G(^RA(79,RAMSH3,.1)),U,19)
15 S:RADIV(.119)="" RADIV(.119)="n"
16 Q
17ABNOR(RAOIFN,RADFN,RADTI) ; test code to find 'Diagnostic Code' for
18 ; descendents and adopted procedures. Called from RAO7CMP.
19 ; 'RAOIFN'-> ien of file 75.1
20 ; 'RADFN' -> ien of the Rad/Nuc Med Patient
21 ; 'RADTI' -> inverse date of the registered exam
22 Q:'($D(^RADPT("AO",RAOIFN,RADFN,RADTI))\10) ""
23 N RABN,RACNI,RAXAM S RABN="",RACNI=0
24 F S RACNI=$O(^RADPT("AO",RAOIFN,RADFN,RADTI,RACNI)) Q:RACNI'>0 D Q:RABN]""
25 . S RAXAM(0)=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))
26 . Q:'$P(RAXAM(0),"^",25) ; Quit if not part of the set.
27 . S RABN=$$DIAG^RAO7UTL(RADFN,RADTI,RACNI)
28 . Q
29 Q RABN
30 ;
31XAMDT(RADFN) ;Return exam date/time for interpreted non-cancelled case. The
32 ;'Cancelled' EXAMINATION STATUS record has an order number of zero.
33 ;IA#: 4875 Private w/MPI
34 ; input: RADFN=The DFN of the patient
35 ;return: RAXAMDT=The exam date/time (FM internal) of the most recent
36 ; non-cancelled interpreted case, else "0^an active exam
37 ; with interpretation was not found for this patient"
38 N RAXAMDT S RAXAMDT="0^an active exam with interpretation was not found for this patient"
39 S RADTI=0 F S RADTI=$O(^RADPT(RADFN,"DT",RADTI)) Q:'RADTI D Q:RAXAMDT
40 .S RACNI=0
41 .F S RACNI=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI)) Q:'RACNI D Q:RAXAMDT
42 ..S RAX=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)) Q:$P(RAX,U,17)="" ;no rpt
43 ..Q:$P($G(^RA(72,+$P(RAX,U,3),0)),U,3)=0 ;cancelled case
44 ..S RAXAMDT=(9999999.9999-RADTI)
45 ..Q
46 .Q
47 K RACNI,RADTI,RAX
48 Q RAXAMDT
49 ;
Note: See TracBrowser for help on using the repository browser.