Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RAHLRPT2

RAHLRPT2.m

Go to the documentation of this file.
  1. RAHLRPT2 ;HISC/GJC-Compiles HL7 'ORU' Message Type ; 4/26/01 10:40am
  1. ;;5.0;Radiology/Nuclear Medicine;**47**;Mar 16, 1998;Build 21
  1. ;
  1. ;called from RAHLRPT1
  1. ;
  1. ;Integration Agreements
  1. ;----------------------
  1. ; ^DIWP(10011)
  1. ;
  1. OBXTCOM ;Compile 'OBX' segment for tech comments
  1. S RAOBX(2)=$G(RAXX)
  1. S RAOBX(3)="TX",RAOBX(4)="TCM"_$E(HLECH)_"TECH COMMENT"_$E(HLECH)_"L"
  1. S RAOBX(12)=$$OBX11(+$P(RAZXAM,U,17)),(RAI,RAJ)=0
  1. F S RAI=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"L",RAI)) Q:'RAI D
  1. .Q:'$D(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"L",RAI,"TCOM"))
  1. .S RAJ=RAJ+1,RAFT=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"L",RAI,"TCOM"))
  1. .S RAOBX(2)=$G(RAXX)+RAJ,RAOBX(6)=$$ESCAPE^RAHLRU(RAFT)
  1. .D BLSEG^RAHLRU1("OBX",.RAOBX)
  1. .Q
  1. S RAXX=$G(RAOBX(2))
  1. K RAFT,RAOBX Q
  1. ;
  1. OBXCPTM ;Compile 'OBX' segment for CPT modifiers
  1. S RAOBX(2)=$G(RAXX)
  1. S RAOBX(3)="CE",RAOBX(4)="C4"_$E(HLECH)_"CPT MODIFIERS"_$E(HLECH)_"L"
  1. S RAOBX(12)=$$OBX11(+$P(RAZXAM,U,17)),(RAI,RAJ)=0
  1. F S RAI=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CMOD",RAI)) Q:'RAI D
  1. .S RAJ=RAJ+1,RAPTR=+$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CMOD",RAI,0))
  1. .S RAOBX(2)=RAXX+RAJ,RAOBX(6)=$$CPTMOD^RAHLRU(RAPTR,HLECH,DT)
  1. .D BLSEG^RAHLRU1("OBX",.RAOBX)
  1. .Q
  1. S RAXX=$G(RAOBX(2))
  1. Q
  1. ;
  1. OBXRPT ;Compile the 'OBX' segment for Report Text
  1. S RAOBX(2)=$G(RAXX)
  1. I $O(^RARPT(+$P(RAZXAM,U,17),"R",0)) D
  1. .S RAOBX(3)="TX",RAOBX(4)="R"_$E(HLECH)_"REPORT"_$E(HLECH)_"L"
  1. .S RAOBX(12)=$$OBX11^RAHLRPT2(+$P(RAZXAM,U,17))
  1. .K ^UTILITY($J,"W") S DIWF="",DIWR=75,(DIWL,RADIWL)=1
  1. .S RAI=0 F S RAI=$O(^RARPT(+$P(RAZXAM,U,17),"R",RAI)) Q:'RAI D
  1. ..S X=$G(^RARPT(+$P(RAZXAM,U,17),"R",RAI,0)) D ^DIWP
  1. ..Q
  1. .S (RAI,RAJ)=0 F S RAI=$O(^UTILITY($J,"W",RADIWL,RAI)) Q:'RAI D
  1. ..S RAJ=RAJ+1,RAOBX(2)=RAXX+RAJ
  1. ..S RAOBX(6)=$$ESCAPE^RAHLRU($G(^UTILITY($J,"W",RADIWL,RAI,0)))
  1. ..D BLSEG^RAHLRU1("OBX",.RAOBX)
  1. ..Q
  1. .S RAXX=$G(RAOBX(2))
  1. .Q
  1. K DIW,DIWF,DIWI,DIWL,DIWR,DIWT,DIWTC,DIWX,RADIWL,RAOBX,^UTILITY($J,"W")
  1. Q
  1. ;
  1. OBX11(RARPT) ;set OBX-11 (Observ. Rslt Status) correctly
  1. ;input : RARPT =IEN of the RAD/NUC MED REPORT record
  1. ; RAZRPT=zero node of the RAD/NUC MED REPORT record
  1. ;return: OBX-11 (as 'Y')
  1. Q:RARPT=0 ""
  1. N Y S:$D(^RARPT(RARPT,"ERR",1,0))#2 Y="C" ;corrected result
  1. S:'$D(Y)#2 Y=$S(($P(^RARPT(RARPT,0),U,5)="V")!($P(^RARPT(RARPT,0),U,5)="EF"):"F",1:"R") ;"EF" reports send "F" (Final) in OBX-11
  1. ;S:'$D(Y)#2 Y=$S($P(^RARPT(RARPT,0),U,5)="V":"F",1:"R")
  1. Q Y
  1. ;