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

ORY42306.m

Go to the documentation of this file.
  1. ORY42306 ;SLC/RJS,CLA - OCX PACKAGE RULE TRANSPORT ROUTINE (Delete after Install of OR*3*423) ;JUN 29,2016 at 06:15
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**423**;Dec 17,1997;Build 19
  1. ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
  1. ;
  1. S ;
  1. ;
  1. D DOT^ORY423ES
  1. ;
  1. ;
  1. K REMOTE,LOCAL,OPCODE,REF
  1. F LINE=1:1:500 S TEXT=$P($T(DATA+LINE),";",2,999) Q:TEXT I $L(TEXT) D Q:QUIT
  1. .S ^TMP("OCXRULE",$J,$O(^TMP("OCXRULE",$J,"A"),-1)+1)=TEXT
  1. ;
  1. G ^ORY42307
  1. ;
  1. Q
  1. ;
  1. DATA ;
  1. ;
  1. ;;R^"860.8:",100,39
  1. ;;D^ ; S OCXGR=OCXGR_","_OCXRUL_",1"
  1. ;;R^"860.8:",100,40
  1. ;;D^T+; D SETAP(OCXGR_")","860.712","Relation",OCXREL,.OCXDATA,OCXREL)
  1. ;;R^"860.8:",100,41
  1. ;;D^T-; D SETAP(OCXGR_")","860.712",.OCXDATA,OCXREL)
  1. ;;R^"860.8:",100,42
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,43
  1. ;;D^ ; S OCXELE=0 F S OCXELE=$O(^OCXS(860.2,OCXRUL,"C","C",OCXELE)) Q:'OCXELE D
  1. ;;R^"860.8:",100,44
  1. ;;D^ ; .;
  1. ;;R^"860.8:",100,45
  1. ;;D^ ; .N OCXGR1
  1. ;;R^"860.8:",100,46
  1. ;;D^ ; .S OCXGR1=OCXGR_","_OCXREL_",1"
  1. ;;R^"860.8:",100,47
  1. ;;D^ ; .K OCXDATA
  1. ;;R^"860.8:",100,48
  1. ;;D^ ; .S OCXDATA(OCXELE,0)=OCXELE
  1. ;;R^"860.8:",100,49
  1. ;;D^ ; .S OCXDATA(OCXELE,"TIME")=OCXTIME
  1. ;;R^"860.8:",100,50
  1. ;;D^ ; .S OCXDATA(OCXELE,"LOG")=$G(OCXOLOG)
  1. ;;R^"860.8:",100,51
  1. ;;D^ ; .S OCXDATA("B",OCXELE,OCXELE)=""
  1. ;;R^"860.8:",100,52
  1. ;;D^ ; .K ^OCXD(860.7,OCXDFN,1,OCXRUL,1,OCXREL,1,OCXELE)
  1. ;;R^"860.8:",100,53
  1. ;;D^T+; .D SETAP(OCXGR1_")","860.7122P","Element",$P($G(^OCXS(860.3,OCXELE,0)),U,1),.OCXDATA,OCXELE)
  1. ;;R^"860.8:",100,54
  1. ;;D^T-; .D SETAP(OCXGR1_")","860.7122P",.OCXDATA,OCXELE)
  1. ;;R^"860.8:",100,55
  1. ;;D^ ; .;
  1. ;;R^"860.8:",100,56
  1. ;;D^ ; .S OCXDFI=0 F S OCXDFI=$O(^TMP("OCXCHK",$J,OCXDFN,OCXELE,OCXDFI)) Q:'OCXDFI D
  1. ;;R^"860.8:",100,57
  1. ;;D^ ; ..N OCXGR2
  1. ;;R^"860.8:",100,58
  1. ;;D^ ; ..S OCXGR2=OCXGR1_","_OCXELE_",1"
  1. ;;R^"860.8:",100,59
  1. ;;D^ ; ..K OCXDATA
  1. ;;R^"860.8:",100,60
  1. ;;D^ ; ..S OCXDATA(OCXDFI,0)=OCXDFI
  1. ;;R^"860.8:",100,61
  1. ;;D^ ; ..S OCXDATA(OCXDFI,"VAL")=^TMP("OCXCHK",$J,OCXDFN,OCXELE,OCXDFI)
  1. ;;R^"860.8:",100,62
  1. ;;D^ ; ..S OCXDATA("B",OCXDFI,OCXDFI)=""
  1. ;;R^"860.8:",100,63
  1. ;;D^T+; ..D SETAP(OCXGR2_")","860.71223P","Data Field",$P($G(^OCXS(860.4,OCXDFI,0)),U,1),.OCXDATA,OCXDFI)
  1. ;;R^"860.8:",100,64
  1. ;;D^T-; ..D SETAP(OCXGR2_")","860.71223P",.OCXDATA,OCXDFI)
  1. ;;R^"860.8:",100,65
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,66
  1. ;;D^ ; Q 1
  1. ;;R^"860.8:",100,67
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,68
  1. ;;D^T+;SETAP(ROOT,DD,ITEM,ITEMNAME,DATA,DA) ; Set Rule Event data
  1. ;;R^"860.8:",100,69
  1. ;;D^T-;SETAP(ROOT,DD,DATA,DA) ; Set Rule Event data
  1. ;;R^"860.8:",100,70
  1. ;;D^ ; M @ROOT=DATA
  1. ;;R^"860.8:",100,71
  1. ;;D^ ; I +$G(DD) S @ROOT@(0)="^"_($G(DD))_"^"_($P($G(@ROOT@(0)),U,3)+1)_"^"_$G(DA)
  1. ;;R^"860.8:",100,72
  1. ;;D^ ; I '$G(DD) S $P(@ROOT@(0),U,3,4)=($P($G(@ROOT@(0)),U,3)+1)_"^"_$G(DA)
  1. ;;R^"860.8:",100,73
  1. ;;D^T+; W:$G(OCXTRACE) !,"File Active Data ",$G(ITEM),": ",$G(ITEMNAME)
  1. ;;R^"860.8:",100,74
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,75
  1. ;;D^ ; Q
  1. ;;R^"860.8:",100,76
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,77
  1. ;;D^ ; ;
  1. ;;EOR^
  1. ;;KEY^860.8:^PATIENT LOCATION
  1. ;;R^"860.8:",.01,"E"
  1. ;;D^PATIENT LOCATION
  1. ;;R^"860.8:",.02,"E"
  1. ;;D^PATLOC
  1. ;;R^"860.8:",1,1
  1. ;;D^Returns the Inpatient or Outpatient location for the patient.
  1. ;;R^"860.8:",1,2
  1. ;;D^
  1. ;;R^"860.8:",1,3
  1. ;;D^ Input: DFN
  1. ;;R^"860.8:",1,4
  1. ;;D^ Output: Patient Status (I/O) Inpatient/Outpatient
  1. ;;R^"860.8:",1,5
  1. ;;D^ Patient Location (Free text name)
  1. ;;R^"860.8:",100,1
  1. ;;D^ ;PATLOC(DFN) ;
  1. ;;R^"860.8:",100,2
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,3
  1. ;;D^ ; N OCXP1,OCXP2
  1. ;;R^"860.8:",100,4
  1. ;;D^ ; S OCXP1=$G(^TMP("OCXSWAP",$J,"OCXODATA","PV1",2))
  1. ;;R^"860.8:",100,5
  1. ;;D^ ; S OCXP2=$P($G(^TMP("OCXSWAP",$J,"OCXODATA","PV1",3)),"^",1)
  1. ;;R^"860.8:",100,6
  1. ;;D^T+; W:$G(OCXTRACE) !,"OCXP2: ",$G(OCXP1)
  1. ;;R^"860.8:",100,7
  1. ;;D^T+; W:$G(OCXTRACE) !,"OCXP2: ",$G(OCXP2)
  1. ;;R^"860.8:",100,8
  1. ;;D^ ; I OCXP2 D
  1. ;;R^"860.8:",100,9
  1. ;;D^ ; .S OCXP2=$P($G(^SC(+OCXP2,0)),"^",1,2)
  1. ;;R^"860.8:",100,10
  1. ;;D^ ; .I $L($P(OCXP2,"^",2)) S OCXP2=$P(OCXP2,"^",2)
  1. ;;R^"860.8:",100,11
  1. ;;D^ ; .E S OCXP2=$P(OCXP2,"^",1)
  1. ;;R^"860.8:",100,12
  1. ;;D^ ; .S:'$L(OCXP2) OCXP2="NO LOC"
  1. ;;R^"860.8:",100,13
  1. ;;D^ ; I $L(OCXP1),$L(OCXP2) Q OCXP1_"^"_OCXP2
  1. ;;R^"860.8:",100,14
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,15
  1. ;;D^ ; S OCXP2=$G(^DPT(+$G(DFN),.1))
  1. ;;R^"860.8:",100,16
  1. ;;D^ ; I $L(OCXP2) Q "I^"_OCXP2
  1. ;;R^"860.8:",100,17
  1. ;;D^ ; Q "O^OUTPT"
  1. ;;R^"860.8:",100,18
  1. ;;D^ ; ;
  1. ;;EOR^
  1. ;;KEY^860.8:^RETURN POINTED TO VALUE
  1. ;;R^"860.8:",.01,"E"
  1. ;;D^RETURN POINTED TO VALUE
  1. ;;R^"860.8:",.02,"E"
  1. ;;D^POINTER
  1. ;;R^"860.8:",1,1
  1. ;;D^ ;POINTER(OCXFILE,D0) ; This Local Extrinsic Function gets the value of the name field
  1. ;;R^"860.8:",1,2
  1. ;;D^ ; ; of record D0 in file OCXFILE
  1. ;;R^"860.8:",100,1
  1. ;;D^ ;POINTER(OCXFILE,D0) ; This Local Extrinsic Function gets the value of the name field
  1. ;;R^"860.8:",100,2
  1. ;;D^ ; ; of record D0 in file OCXFILE
  1. ;;R^"860.8:",100,3
  1. ;;D^T+; I $G(OCXTRACE) W !,"%%%%",?20," FILE: ",$G(OCXFILE)," D0: ",$G(D0)
  1. ;;R^"860.8:",100,4
  1. ;;D^ ; Q:'$G(D0) "" Q:'$L($G(OCXFILE)) ""
  1. ;;R^"860.8:",100,5
  1. ;;D^ ; N GLREF
  1. ;;R^"860.8:",100,6
  1. ;;D^ ; I '(OCXFILE=(+OCXFILE)) S GLREF=U_OCXFILE
  1. ;;R^"860.8:",100,7
  1. ;;D^ ; E S GLREF=$$FILE^OCXBDTD(+OCXFILE,"GLOBAL NAME") Q:'$L(GLREF) ""
  1. ;;R^"860.8:",100,8
  1. ;;D^T+; I $G(OCXTRACE) W !,"%%%%",?20," GLREF: ",GLREF," RESOLVES TO: ",$P($G(@(GLREF_(+D0)_",0)")),U,1)
  1. ;;R^"860.8:",100,9
  1. ;;D^ ; Q $P($G(@(GLREF_(+D0)_",0)")),U,1)
  1. ;;R^"860.8:",100,10
  1. ;;D^ ; ;
  1. ;;EOR^
  1. ;;KEY^860.8:^STRING CONTAINS ONE OF A LIST OF VALUES
  1. ;;R^"860.8:",.01,"E"
  1. ;;D^STRING CONTAINS ONE OF A LIST OF VALUES
  1. ;;R^"860.8:",.02,"E"
  1. ;;D^CLIST
  1. ;;R^"860.8:",100,1
  1. ;;D^ ;CLIST(DATA,LIST) ; DOES THE DATA FIELD CONTAIN AN ELEMENT IN THE LIST
  1. ;;R^"860.8:",100,2
  1. ;;D^ ; ;
  1. ;;R^"860.8:",100,3
  1. ;;D^T+; W:$G(OCXTRACE) !!,"$$CLIST(",DATA,",""",LIST,""")"
  1. ;;R^"860.8:",100,4
  1. ;;D^ ; N PC F PC=1:1:$L(LIST,","),0 I PC,$L($P(LIST,",",PC)),(DATA[$P(LIST,",",PC)) Q
  1. ;;R^"860.8:",100,5
  1. ;;D^ ; Q ''PC
  1. ;;EOR^
  1. ;;EOF^OCXS(860.8)^1
  1. ;;SOF^860.6 ORDER CHECK DATA CONTEXT
  1. ;;KEY^860.6:^CPRS ORDER PRESCAN
  1. ;;R^"860.6:",.01,"E"
  1. ;;D^CPRS ORDER PRESCAN
  1. ;;R^"860.6:",.02,"E"
  1. ;;D^OEPS
  1. ;;R^"860.6:",1,"E"
  1. ;;D^DATA DRIVEN
  1. ;;EOR^
  1. ;;KEY^860.6:^CPRS ORDER PROTOCOL
  1. ;;R^"860.6:",.01,"E"
  1. ;;D^CPRS ORDER PROTOCOL
  1. ;;R^"860.6:",.02,"E"
  1. ;;D^OERR
  1. ;;R^"860.6:",1,"E"
  1. ;;D^DATA DRIVEN
  1. ;;EOR^
  1. ;;KEY^860.6:^DATABASE LOOKUP
  1. ;;R^"860.6:",.01,"E"
  1. ;;D^DATABASE LOOKUP
  1. ;;R^"860.6:",.02,"E"
  1. ;;D^DL
  1. ;;R^"860.6:",1,"E"
  1. ;;D^PACKAGE LOOKUP
  1. ;;EOR^
  1. ;;KEY^860.6:^GENERIC HL7 MESSAGE ARRAY
  1. ;;R^"860.6:",.01,"E"
  1. ;;D^GENERIC HL7 MESSAGE ARRAY
  1. ;;R^"860.6:",.02,"E"
  1. ;;D^HL7
  1. ;;R^"860.6:",1,"E"
  1. ;;D^DATA DRIVEN
  1. ;;EOR^
  1. ;;EOF^OCXS(860.6)^1
  1. ;;SOF^860.5 ORDER CHECK DATA SOURCE
  1. ;;KEY^860.5:^DATABASE LOOKUP
  1. ;;R^"860.5:",.01,"E"
  1. ;;D^DATABASE LOOKUP
  1. ;;R^"860.5:",.02,"E"
  1. ;;D^DATABASE LOOKUP
  1. ;;EOR^
  1. ;;KEY^860.5:^HL7 COMMON ORDER SEGMENT
  1. ;;R^"860.5:",.01,"E"
  1. ;;D^HL7 COMMON ORDER SEGMENT
  1. ;;R^"860.5:",.02,"E"
  1. ;;D^GENERIC HL7 MESSAGE ARRAY
  1. ;;EOR^
  1. ;;KEY^860.5:^HL7 PATIENT ID SEGMENT
  1. ;;R^"860.5:",.01,"E"
  1. ;;D^HL7 PATIENT ID SEGMENT
  1. ;;R^"860.5:",.02,"E"
  1. ;;D^GENERIC HL7 MESSAGE ARRAY
  1. ;;EOR^
  1. ;;KEY^860.5:^OERR ORDER EVENT FLAG PROTOCOL
  1. ;;R^"860.5:",.01,"E"
  1. ;;D^OERR ORDER EVENT FLAG PROTOCOL
  1. ;;R^"860.5:",.02,"E"
  1. ;;D^CPRS ORDER PROTOCOL
  1. ;;EOR^
  1. ;;KEY^860.5:^ORDER ENTRY ORDER PRESCAN
  1. ;;R^"860.5:",.01,"E"
  1. ;;D^ORDER ENTRY ORDER PRESCAN
  1. ;1;
  1. ;