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

EDPMAIL.m

Go to the documentation of this file.
  1. EDPMAIL ;SLC/KCM - Process incoming mail for posted events ; 10/19/21 9:50am
  1. ;;2.0;EMERGENCY DEPARTMENT;**16**;May 2, 2012;Build 6
  1. ;
  1. MSG(MSG) ; parse message passed in from SEND^EDPFMON
  1. N I,PARAM,LOG,ORIFN,EDPDBUG
  1. S EDPDBUG=$$DEBUG^EDPCDBG("messages")
  1. I EDPDBUG D PUTREQ^EDPCDBG(EDPDBUG,.MSG)
  1. ;
  1. S I=0 F S I=$O(MSG(I)) Q:'I S PARAM($P(MSG(I),"="))=$P(MSG(I),"=",2,99)
  1. S LOG=$$VAL("id"),ORIFN=$$VAL("orifn")
  1. I $$VAL("command")="newOrder" D NEW
  1. I $$VAL("command")="updateOrder" D UPD
  1. I $$VAL("command")="deleteOrder" D DEL
  1. I $$VAL("command")="verifyOrder" D VER
  1. I $$VAL("command")="completeOrder" D COMP
  1. I $$VAL("command")="patientCheckIn" D CHKIN
  1. I $$VAL("command")="convertVisit" D VST^EDPCONV(.PARAM)
  1. I $$VAL("command")="convertConfiguration" D CONFIG^EDPCONV1(.PARAM)
  1. Q
  1. ;
  1. NEW ; add new order
  1. Q:'LOG Q:'ORIFN
  1. N X,Y,DIC,DA
  1. S DIC="^EDP(230,"_LOG_",8,",DIC(0)="LZ",DA(1)=LOG,X=+ORIFN
  1. S DIC("DR")=".02///"_$$VAL("pkg")_";.03///"_$$VAL("sts")_";.05///"_$$VAL("release")
  1. S:$$VAL("stat") DIC("DR")=DIC("DR")_";.04///1"
  1. D FILE^DICN
  1. Q
  1. UPD ; update order
  1. Q:'LOG Q:'ORIFN Q:'$L($$VAL("sts"))
  1. N IEN S IEN=$$FIND Q:IEN<1
  1. I $D(^EDP(230,LOG,8,+IEN,0)) S $P(^(0),U,3)=$$VAL("sts")
  1. Q
  1. DEL ; delete order
  1. Q:'LOG Q:'ORIFN
  1. N DIK,DA
  1. S DA=$$FIND Q:DA<1
  1. S DIK="^EDP(230,"_LOG_",8,",DA(1)=LOG
  1. D ^DIK
  1. Q
  1. VER ; verify order
  1. Q:'LOG Q:'ORIFN
  1. N IEN S IEN=$$FIND Q:IEN<1
  1. I $P($G(^EDP(230,LOG,8,IEN,0)),U,3)'="C" S $P(^(0),U,3)="A"
  1. Q
  1. COMP ; complete order
  1. Q:'LOG Q:'ORIFN
  1. N IEN S IEN=$$FIND Q:IEN<1
  1. S $P(^EDP(230,LOG,8,IEN,0),U,3)="C"
  1. Q
  1. ;
  1. FIND() ; -- return ien of ORIFN in multiple
  1. N Y S Y=+$O(^EDP(230,LOG,8,"B",+ORIFN,0))
  1. Q Y
  1. ;
  1. VAL(X) ; -- return parameter value or null if undefined
  1. Q $G(PARAM(X))
  1. ;
  1. CHKIN ; check in a patient
  1. Q:'$$VAL("dfn") Q:'$$VAL("ssn") Q:'$L($$VAL("ptNm")) Q:'$L($$VAL("site"))
  1. N NEWPT,EDPFAIL
  1. S NEWPT="dfn="_$$VAL("dfn")_$C(9)_"name="_$$VAL("ptNm")_$C(9)_"dob="_$$VAL("dob")_$C(9)_"ssn="_$$VAL("ssn")_$C(9)_"clinic="_$$VAL("hloc")
  1. S NEWPT=NEWPT_$C(9)_"create=1" ; set Creation Source to Scheduling
  1. N AREA
  1. S AREA=$O(^EDPB(231.9,"C",$$VAL("site"),0)) Q:'AREA
  1. N EDPXML,EDPSITE,EDPSTA
  1. S EDPUSER=DUZ,EDPSITE=DUZ(2),EDPSTA=$$STA^XUAF4(DUZ(2))
  1. S EDPFAIL=$$ADD^EDPLOGA(NEWPT,AREA,$$VAL("time"),0)
  1. Q