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

AMER1.m

Go to the documentation of this file.
  1. AMER1 ; IHS/ANMC/GIS - ER ADMISSION QUESTIONS ;
  1. ;;3.0;ER VISIT SYSTEM;**8**;MAR 03, 2009;Build 23
  1. ;
  1. Q
  1. QA1 D QA1^AMER1A ; PATIENT NAME
  1. Q
  1. ;
  1. QA2 ; DATE AND TIME OF ADMISSION TO ER
  1. I $D(^TMP("AMER",$J,1,2)) S Y=^(2) X ^DD("DD") S DIR("B")=Y
  1. E S DIR("B")=$S($D(AMERBCH):"",1:"NOW")
  1. S DIR(0)="D^::ER",DIR("A")="*Date and time of admission to ER",DIR("?")="Enter date and time in the usual Fileman format (e.g. 1/1/2000@1PM)" D ^DIR K DIR
  1. D NOW^%DTC
  1. I Y>% D EN^DDIOL("FUTURE DATES NOT ALLOWED","","!!") G QA2
  1. I $D(AMEREFLG),X=U S AMERRUN=999 Q
  1. D OUT^AMER
  1. Q:$D(AMERQUIT)
  1. D APPNTMNT^AMERBSDU(AMERDFN,1,Y)
  1. ;
  1. Q
  1. ;
  1. QA3 ; PRESENTING COMPLAINT
  1. K DIR("B") I $D(^TMP("AMER",$J,1,3)) S DIR("B")=^(3)
  1. I $D(AMERDOA) S DIR("B")="DOA"
  1. ;AMER*3.0*8;Raised maximum field length
  1. ;S DIR(0)="F^1:80",DIR("A")="*Presenting complaint",DIR("?")="Enter free text chief complaint (80 characters max.)" D ^DIR K DIR
  1. S DIR(0)="F^2:240",DIR("A")="*Presenting complaint",DIR("?")="Enter free text chief complaint (240 characters max.)" D ^DIR K DIR
  1. D CKSC I $D(AMERCKSC)!($TR(Y," ")="") K AMERCKSC G QA3
  1. D OUT^AMER
  1. Q
  1. ;
  1. QA4 ; FULL REG EDIT
  1. N SDSEX
  1. S SDFN=AMERDFN,SDAMTYP="P"
  1. D ^BSDREG
  1. K SDFN,SDAMTYP
  1. S (X,Y)=""
  1. I $D(DUOUT) S X="^"
  1. I $D(DIROUT) S X="^^"
  1. K AMER1,AMER2
  1. I $D(AMERDOA) D
  1. . S AMERRUN=9,AMEROPT=""
  1. . S ^TMP("AMER",$J,1,4)=$$OPT^AMER0("EMERG","CLINIC TYPE")_U_"EMERG"
  1. . S ^TMP("AMER",$J,1,5)=$$OPT^AMER0("UNSCHEDULED REVISIT","VISIT TYPE")_U_"UNSCHEDULED REVISIT"
  1. . S ^TMP("AMER",$J,1,9)=$$OPT^AMER0("EMERGENT","TRIAGE CAT")_U_"EMERGENT"
  1. . Q
  1. Q
  1. ;
  1. QA5 ; VISIT TYPE
  1. N AMERVTYP
  1. S DIC("B")=""
  1. S DIC("A")="*Visit type: "
  1. S AMERVTYP=$O(^AMER(3,"B","UNSCHEDULED VISIT",0))
  1. S:AMERVTYP="" AMERVTYP=$O(^AMER(3,"B","UNSCHEDULED",0)) ;IHS/OIT/SCR 10/10/08 - CHANGED TO MATCH NEW OPTION
  1. ;S:AMERVTYP="" AMERVTYP=$O(^AMER(3,"B","FIRST VISIT",0))
  1. I $D(^TMP("AMER",$J,1,5)) S %=+^(5),DIC("B")=$P(^AMER(3,%,0),U)
  1. I DIC("B")=""&(AMERVTYP'="") S DIC("B")=$P($G(^AMER(3,AMERVTYP,0)),U,1) ;IF 'FIRST VISIT' exists, set it to default if original entry doesn't exist
  1. S DIC="^AMER(3,",DIC("S")="I $P(^(0),U,2)="_$$CAT^AMER0("VISIT TYPE"),DIC(0)="AEQ"
  1. D ^DIC K DIC
  1. D OUT^AMER
  1. Q
  1. ;
  1. QA10 ; MODE OF TRANSPORT TO HOSPITAL
  1. S DIC("A")="*Mode of transport to the ER: " K DIC("B")
  1. I $D(^TMP("AMER",$J,1,10)) S %=+^(10),DIC("B")=$P(^AMER(3,%,0),U)
  1. E S DIC("B")="PRIVATE VEHICLE/WALK IN"
  1. S DIC="^AMER(3,",DIC("S")="I $P(^(0),U,2)="_$$CAT^AMER0("MODE OF TRANSPORT"),DIC(0)="AEQ"
  1. D ^DIC K DIC
  1. D OUT^AMER I $D(AMERQUIT) Q
  1. I Y'["AMBULANCE",X'?1."^" S AMERRUN=99 K ^TMP("AMER",$J,1,11),^(12),^(13),^(14)
  1. Q
  1. ;
  1. QA11 ; AMBULANCE NUMBER
  1. S DIR("A")="Ambulance number" D QAXX
  1. Q
  1. ;
  1. QA12 ; AMBULANCE HRCN/BILLING NUMBER
  1. S DIR("A")="Ambulance HRCN/billing number" D QAXX
  1. I $D(AMERDOA) S AMERRUN=13 Q
  1. Q
  1. ;
  1. QA14 ; AMBULANCE COMPANY
  1. S DIC("A")="Ambulance company: " K DIC("B")
  1. I $D(^TMP("AMER",$J,1,14)) S %=+^(14),DIC("B")=$P(^AMER(3,%,0),U)
  1. S DIC="^AMER(3,",DIC("S")="I $P(^(0),U,2)="_$$CAT^AMER0("AMBULANCE COMPANY"),DIC(0)="AEQ"
  1. D ^DIC K DIC
  1. D OUT^AMER I $D(AMERQUIT) Q
  1. I '$D(AMERDOA) S AMERRUN=20 Q
  1. S AMERRUN=99
  1. Q
  1. ;
  1. QAXX ; TEXT CAPTURE
  1. K DIR("B") I $D(^TMP("AMER",$J,1,AMERRUN)) S DIR("B")=^(AMERRUN)
  1. S DIR(0)="FO^1:20",DIR("?")="Enter free text (30 characters max.)" D ^DIR K DIR
  1. D CKSC I $D(AMERCKSC) K AMERCKSC G QAXX
  1. D OUT^AMER
  1. Q
  1. ;
  1. CKSC ; ENTRY POINT FROM SEVERAL ROUTINES
  1. N X
  1. S X=$S(Y[";":"semi-colon",Y[":":"colon",1:"") K AMERCKSC
  1. I X'="" S AMERCKSC="" W !!,*7,"Sorry, you can't use a ",X," in your answer...Try again",!!
  1. Q
  1. ;
  1. CHKINGO(CLINIC) ; return 1 if okay to proceed with checkin
  1. NEW GO,DATE,END
  1. S DATE=DT,END=DT+.24,GO=1
  1. F S DATE=$O(^DPT(DFN,"S",DATE)) Q:DATE="" Q:DATE>END D
  1. . I +$G(^DPT(DFN,"S",DATE,0))=CLINIC D S GO=0
  1. .. W !!,"*** Patient already checked in at "_$$FMTE^XLFDT(DATE)_" ***"
  1. I GO Q 1
  1. Q +$$READ("Y","Want to Check Patient In Again")
  1. ;
  1. READ(TYPE,PROMPT,DEFAULT,HELP,SCREEN,DIRA) ; EP; calls reader, returns response
  1. NEW DIR,Y,DIRUT
  1. S DIR(0)=TYPE
  1. I $E(TYPE,1)="P",$P(TYPE,":",2)["L" S DLAYGO=+$P(TYPE,U,2)
  1. I $D(SCREEN) S DIR("S")=SCREEN
  1. I $G(PROMPT)]"" S DIR("A")=PROMPT
  1. I $G(DEFAULT)]"" S DIR("B")=DEFAULT
  1. I $D(HELP) S DIR("?")=HELP
  1. I $D(DIRA(1)) S Y=0 F S Y=$O(DIRA(Y)) Q:Y="" S DIR("A",Y)=DIRA(Y)
  1. D ^DIR
  1. Q Y