Changeset 636 for FOIAVistA/tag/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RAHLRPC.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RAHLRPC.m
r628 r636 1 1 RAHLRPC ;HIRMFO/BNT-Rad/NM HL7 Protocol calls ;05/21/99 14:50 2 ;;5.0;Radiology/Nuclear Medicine;**12,25,54,71,82,81 ,84**;Mar 16, 1998;Build 132 ;;5.0;Radiology/Nuclear Medicine;**12,25,54,71,82,81**;Mar 16, 1998;Build 12 3 3 ; 03/16/2006 *71 Rem Call 124379 allow exam updates to create HL7 msg 4 ;5 ;Integration Agreements6 ;----------------------7 ;$$FIND1^DIC(2051); GETS^DIQ(2056)8 ;all access to ^ORD(101 to maintain application specific protocols(872)9 ;read w/FileMan HL7 APPLICATION PARAMETER(10136)10 ;11 4 REG ; register exam 12 N X,RA 101Z,RAEID13 S RA 101Z="RA REF" ; get all protocols beginning RA REG14 F S RA 101Z=$O(^ORD(101,"B",RA101Z)) Q:RA101Z'["RA REG" D15 .S RAEID=$O(^ORD(101,"B",RA 101Z,0))5 N X,RAPID,RAEID 6 S RAPID="RA REF" ; get all protocols beginning RA REG 7 F S RAPID=$O(^ORD(101,"B",RAPID)) Q:RAPID'["RA REG" D 8 .S RAEID=$O(^ORD(101,"B",RAPID,0)) 16 9 .I RAEID,'$L($P(^ORD(101,RAEID,0),"^",3)) D EN^RAHLR 17 10 Q 18 11 CANCEL ; cancel exam 19 N X,RA 101Z,RAEID20 S RA 101Z="RA CANCEK" ; get all protocols beginning RA CANCEL21 F S RA 101Z=$O(^ORD(101,"B",RA101Z)) Q:RA101Z'["RA CANCEL" D22 .S RAEID=$O(^ORD(101,"B",RA 101Z,0))12 N X,RAPID,RAEID 13 S RAPID="RA CANCEK" ; get all protocols beginning RA CANCEL 14 F S RAPID=$O(^ORD(101,"B",RAPID)) Q:RAPID'["RA CANCEL" D 15 .S RAEID=$O(^ORD(101,"B",RAPID,0)) 23 16 .I RAEID,'$L($P(^ORD(101,RAEID,0),"^",3)) D EN^RAHLR 24 17 Q 25 18 ; 26 19 RPT ; report verified or released/not verified 27 N X,RA 101Z,RAEID,RASSS ; RASSS subcriber array to be passed to HLL for GENERATE^HLMA20 N X,RAPID,RAEID,RASSS ; RASSS subcriber array to be passed to HLL for GENERATE^HLMA 28 21 ;S X="^%ET",@^%ZOSF("TRAP") 29 S RA 101Z="RA RPS" ; get all protocols beginning RA RPT30 F S RA 101Z=$O(^ORD(101,"B",RA101Z)) Q:RA101Z'["RA RPT" D31 .S RAEID=$O(^ORD(101,"B",RA 101Z,0)) K RASSS ; RA*5*8122 S RAPID="RA RPS" ; get all protocols beginning RA RPT 23 F S RAPID=$O(^ORD(101,"B",RAPID)) Q:RAPID'["RA RPT" D 24 .S RAEID=$O(^ORD(101,"B",RAPID,0)) K RASSS ; RA*5*81 32 25 .S:$L($G(RANOSEND)) RAEID=$$GETEID(RAEID,RANOSEND,.RASSS) ;RA*5*81 33 26 .I RAEID,'$L($P(^ORD(101,RAEID,0),"^",3)) D EN^RAHLRPT … … 51 44 ; RAEXEDT = Indication of editing of: proc, proc mod, req phys, CPT mod, Tech comm... 52 45 ; RAGENHL7 = Indication that sending ORU is due... 53 ; RASSSX1(IENs) = Array of subscribers from 771, the message will be sent (SCIMGE)54 46 ; 55 N RAIMGTYI,RAIMGTYJ,RALOWER,RANEWST,RAEXMDUN,RAGENHL7 ,RASSSX147 N RAIMGTYI,RAIMGTYJ,RALOWER,RANEWST,RAEXMDUN,RAGENHL7 56 48 S RAIMGTYI=$P($G(^RADPT(RADFN,"DT",RADTI,0)),U,2),RAIMGTYJ=$P(^RA(79.2,RAIMGTYI,0),U),RANEWST=$P($G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)),U,3) 57 49 S:$P(^RA(72,RANEWST,0),U,8)="Y" RAGENHL7=1 ;this status has GEN HL7 marked Y … … 61 53 ;?? none of the lower status levels have GEN HL7 marked Y 62 54 K:$P(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0),U,30)="Y" RAGENHL7 ;already sent 63 ;Q:'$G(RAEXEDT)&'$G(RAGENHL7) 64 ; Business Rule: RA*5*84 sends an examined message to ScImage unconditionally 65 I '$G(RAEXEDT),'$G(RAGENHL7) Q:'$O(^RA(79.7,0)) D Q:'$O(RASSSX1(0)) 66 .N X,RASSS,RASSSL S X=0 F S X=$O(^RA(79.7,X)) Q:'X S:$P(^(X,0),U,2) RASSS(X)="" 67 .D:$D(RASSS) GETSUB^RAHLRS1(.RASSS,.RASSSX1,.RASSSL) 55 Q:'$G(RAEXEDT)&'$G(RAGENHL7) 56 ; 68 57 1 N RAEXMDUN 69 58 S RAEXMDUN=1 70 A1 N X,RA 101Z,RAEID71 S RA 101Z="RA EXAMINEC" ; get all protocols beginning RA EXAMINED72 F S RA 101Z=$O(^ORD(101,"B",RA101Z)) Q:RA101Z'["RA EXAMINED" D73 .N RAGENHL7 S RAEID=$O(^ORD(101,"B",RA 101Z,0))59 A1 N X,RAPID,RAEID 60 S RAPID="RA EXAMINEC" ; get all protocols beginning RA EXAMINED 61 F S RAPID=$O(^ORD(101,"B",RAPID)) Q:RAPID'["RA EXAMINED" D 62 .N RAGENHL7 S RAEID=$O(^ORD(101,"B",RAPID,0)) 74 63 .I RAEID,'$L($P(^ORD(101,RAEID,0),"^",3)) D EN^RAHLR 75 64 S:$G(RAGENHL7) $P(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0),U,30)="Y" … … 82 71 ; 0 (zero) returned if No subscriber exist or all subscribers associated with RANOSEND application. 83 72 S RAEID=$G(RAEID) Q:'RAEID!'$L($G(RANOSEND))!'$D(^ORD(101,+RAEID,0)) RAEID 84 N RAXX,ERR,X1,Y1,YY,RAPL,RANEW,RAPIDS,RAIEDS,DIERR,RAERR 85 S RAPL=$S(+RANOSEND:+RANOSEND,1:$$FIND1^DIC(771,"","X",RANOSEND,"","","RAERR")) 86 Q:'RAPL!($D(RAERR)#2) RAEID 73 N RAXX,ERR,X1,Y1,YY,RAPL,RANEW,RAPIDS,RAIEDS 74 S RAPL=$S(+RANOSEND:+RANOSEND,1:$O(^HL(771,"B",RANOSEND,0))) Q:'RAPL RAEID 87 75 D GETS^DIQ(101,RAEID_",","**","I","RAXX","ERR") 88 76 Q:$D(ERR) RAEID ; Was not able get Event driver info... so just pass event driver...
Note:
See TracChangeset
for help on using the changeset viewer.