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

VAFCMS02.m

Go to the documentation of this file.
  1. VAFCMS02 ;BP-CIOFO/JRP-PIVOT FILE RETRANSMISSION ;8/3/1998
  1. ;;5.3;Registration;**209,149**;Aug 13, 1993
  1. ;
  1. PATIENT ;Transmit demographic data for user selected entry in PATIENT file (#2)
  1. ;Input : None
  1. ;Output : None
  1. ;Notes : Creates entry in ADT/HL7 PIVOT file (#391.71) and flags
  1. ; for transmission
  1. ;
  1. N DFN,PIVOTNUM,PIVOTPTR,VPTR
  1. F W !! S DFN=$$GETDFN^VAFCMS01() Q:(DFN<1) D
  1. .;Create entry in ADT/HL7 PIVOT file (returns pivot number)
  1. .S VPTR=DFN_";DPT("
  1. .S PIVOTNUM=+$$PIVNW^VAFHPIVT(DFN,$$NOW^XLFDT(),4,VPTR)
  1. .I ('PIVOTNUM) D Q
  1. ..W !!,"** UNABLE TO TRANSMIT DEMOGRAPHIC DATA **"
  1. ..W !," UNABLE TO CREATE ENTRY IN ADT/HL7 PIVOT FILE"
  1. ..W !!
  1. ..H 2
  1. .;Convert pivot number to pointer
  1. .S PIVOTPTR=+$O(^VAT(391.71,"D",PIVOTNUM,0))
  1. .I ('PIVOTPTR) D Q
  1. ..W !!,"** UNABLE TO TRANSMIT DEMOGRAPHIC DATA **"
  1. ..W !," UNABLE TO PROPERLY CREATE ENTRY IN ADT/HL7 PIVOT FILE"
  1. ..W !!
  1. ..H 2
  1. .;Transmit
  1. .D DEMO(PIVOTPTR)
  1. .W !,"Demographic data queued for transmission"
  1. Q
  1. ;
  1. PIVOT ;Retransmit user selected entry in ADT/HL7 PIVOT file (#391.71)
  1. ;Input : None
  1. ;Output : None
  1. ;
  1. N PIVOT
  1. F W !! S PIVOT=$$GETPIVOT() Q:(PIVOT<1) D
  1. .D RETRAN(PIVOT)
  1. .W !,"Selected entry queued for retransmission"
  1. Q
  1. ;
  1. GETPIVOT() ;Get pointer to ADT/HL7 PIVOT file (#391.71)
  1. ;Input : None
  1. ;Output : Pointer to ADT/HL7 PIVOT file
  1. ; -1 returned if no selection made
  1. ;Notes : Pivot file entry must point to a valid patient
  1. ; : Selection of event types 2 (outpatient) and 5 (treating
  1. ; facility update) are not supported/allowed
  1. ;
  1. N DIC,X,Y,DTOUT,DUOUT
  1. S DIC="^VAT(391.71,"
  1. S DIC(0)="AEMNQ"
  1. S DIC("S")="I "",1,3,4,""[+$P(^(0),""^"",4) I $D(^DPT(+$P(^(0),""^"",3),0))"
  1. D ^DIC
  1. Q +Y
  1. ;
  1. RETRAN(PIVOT) ;Retransmit entry in ADT/HL7 PIVOT file (#391.71)
  1. ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
  1. ;Output : None
  1. ;Notes : Support for pivot event types 2 (outpatient) and 5
  1. ; (treating facility update) not implemented
  1. ;
  1. ;
  1. N NODE,TYPE
  1. ;Get event type out of pivot file
  1. S NODE=$G(^VAT(391.71,PIVOT,0))
  1. S TYPE=+$P(NODE,"^",4)
  1. ;Inpatient (A/D/T)
  1. I TYPE=1 D Q
  1. .N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK
  1. .S ZTRTN="ADT^VAFCMS02("_PIVOT_")"
  1. .S ZTDESC="Retransmit admission history message(s) via HL7"
  1. .S ZTDTH=$H
  1. .S ZTIO=""
  1. .D ^%ZTLOAD
  1. ;Register
  1. I TYPE=3 D Q
  1. .N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK
  1. .S ZTRTN="REG^VAFCMS02("_PIVOT_")"
  1. .S ZTDESC="Retransmit registration message via HL7"
  1. .S ZTDTH=$H
  1. .S ZTIO=""
  1. .D ^%ZTLOAD
  1. ;Demographic update
  1. I TYPE=4 D DEMO(PIVOT) Q
  1. Q
  1. ;
  1. ADT(PIVOT) ;Transmit Admit/Discharge/Transfer entry in pivot file
  1. ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
  1. ;Output : None
  1. ;
  1. N NODE,DFN,ADMSSN,HISTORY
  1. ;Clean up HL7 variables
  1. K ^TMP("HLS",$J) D KILL^HLTRANS
  1. ;Get required info out of pivot file
  1. S NODE=$G(^VAT(391.71,PIVOT,0))
  1. S DFN=+$P(NODE,"^",3)
  1. S ADMSSN=+$P(NODE,"^",5)
  1. ;Build list of A/D/T events (i.e. movements) for related admission
  1. D BLDHIST^VAFCADT3(DFN,ADMSSN,"HISTORY")
  1. ;Transmit A/D/T history for related admission
  1. D ENTIRE^VAFCADT4(PIVOT)
  1. ;Clean up HL7 variables
  1. K ^TMP("HLS",$J) D KILL^HLTRANS
  1. S:($D(ZTQUEUED)) ZTREQ="@"
  1. Q
  1. REG(PIVOT) ;Transmit Registration entry in pivot file
  1. ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
  1. ;Output : None
  1. ;
  1. N NODE,DFN,DATE,RESULT
  1. ;Clean up HL7 variables
  1. K ^TMP("HLS",$J) D KILL^HLTRANS
  1. ;Get required info out of pivot file
  1. S NODE=$G(^VAT(391.71,PIVOT,0))
  1. S DFN=+$P(NODE,"^",3),USER=+$P(NODE,"^",9)
  1. S DATE=+NODE
  1. ;Generate/send message
  1. S RESULT=$$EN^VAFCA04(DFN,DATE,USER,PIVOT)
  1. ;Clean up HL7 variables
  1. K ^TMP("HLS",$J) D KILL^HLTRANS
  1. S:($D(ZTQUEUED)) ZTREQ="@"
  1. Q
  1. DEMO(PIVOT) ;Transmit Demographic Update entry in pivot file
  1. ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
  1. ;Output : None
  1. ;
  1. ;Flag entry in pivot file for transmission (let background job send it)
  1. D XMITFLAG^VAFCDD01(PIVOT)
  1. Q