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

PXCEHF.m

Go to the documentation of this file.
  1. PXCEHF ;ISL/dee,PKR - Used to edit and display V HEALTH FACTORS ;04/25/2022
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**27,22,211,217**;Aug 12, 1996;Build 134
  1. ;; ;
  1. Q
  1. ;
  1. ;Line with the line label "FORMAT"
  1. ;;Long name~File Number~Node Subscripts~Allow Duplicate entries (1=yes, 0=no)~File global name
  1. ; 1 2 3 4 5
  1. ;
  1. ;Following lines:
  1. ;;Node~Piece~,Field Number~Edit Label~Display Label~Display Routine~Edit Routine~Help Text for DIR("?")~Set of PXCEKEYS that can Edit~D if Detail Display Only~
  1. ; 1 ~ 2 ~ 3 ~ 4 ~ 5 ~ 6 ~ 7 ~ 8 ~ 9 ~ 10
  1. ;The Display & Edit routines are for special cases.
  1. ; (The .01 field cannot have a special edit.)
  1. ;
  1. FORMAT ;;Health Factors~9000010.23~0,12,220,811,812~1~^AUPNVHF
  1. ;;0~1~.01~Health Factor: ~Health Factor: ~~~~~B
  1. ;;0~4~.04~Level/Severity: ~Level/Severity: ~~~~~D
  1. ;;12~1~1201~Event Date and Time: ~Event Date and Time: ~~EVENTDT^PXCEHF(.PXCEAFTR)~~~D
  1. ;;220~1~220~Magnitude: ~Magnitude: ~~MEAS^PXCEHF(.PXCEAFTR)~~~D
  1. ;;220~2~221~UCUM Code: ~UCUM Description: ~~SKIP^PXCEHF~~~D
  1. ;;811~1~81101~Comments: ~Comments: ~~~~~D
  1. ;;812~2~81202~Package: ~Package: ~~SKIP^PXCEHF~~~D
  1. ;;812~3~81203~Data Source: ~Data Source: ~~SKIP^PXCEHF~~~D
  1. ;;
  1. ;Do not ask the following.
  1. ;;12~2~1202~Ordering Provider: ~Ordering Provider: ~~EPROV12^PXCEPRV~~P~D
  1. ;;12~4~1204~Encounter Provider: ~Encounter Provider: ~~EPROV12^PXCEPRV~~~D
  1. ;
  1. ;The interface for AICS to get list on form for help.
  1. INTRFACE ;;PX SELECT HEALTH FACTORS
  1. ;
  1. ;********************************
  1. ;Special cases for display.
  1. ;
  1. ;********************************
  1. ;Special cases for edit.
  1. ;
  1. ;
  1. ;********************************
  1. ;Display text for the .01 field which is a pointer to Skin Test.
  1. ;(Must have is called by ASK^PXCEVFI2 and DEL^PXCEVFI2.)
  1. DISPLY01(PXCEHF,PXCEDT) ;
  1. N DIERR,PXCEDILF,PXCEEXT,PXCEINT
  1. S PXCEINT=$P(PXCEHF,"^",1)
  1. S PXCEEXT=$$EXTERNAL^DILFD(9000010.23,.01,"",PXCEINT,"PXCEDILF")
  1. Q $S('$D(DIERR):PXCEEXT,1:PXCEINT)
  1. ;
  1. ;********************************
  1. EVENTDT(PXCEAFTR) ;Edit the Event Date and Time.
  1. N DEFAULT,EVENTDT,HELP,IEN,PROMPT
  1. S IEN=+$P(^TMP("PXK",$J,"HF",1,0,"BEFORE"),U,1)
  1. I (IEN>0),$$ISMAPPED^PXHFMGR(IEN) D Q
  1. . W !,"The health factor has mapped codes so the Event Date and Time cannot be edited.",!
  1. S DEFAULT=$P(^TMP("PXK",$J,"HF",1,12,"BEFORE"),U,1)
  1. S HELP="D EVDTHELP^PXCEHF"
  1. S PROMPT="Enter the Event Date and Time"
  1. S EVENTDT=$$GETDT^PXDATE(-1,-1,-1,DEFAULT,PROMPT,HELP)
  1. S $P(PXCEAFTR(12),U,1)=EVENTDT
  1. Q
  1. ;
  1. ;********************************
  1. EVDTHELP ;Event Date and Time help.
  1. N ERR,RESULT,TEXT
  1. S RESULT=$$GET1^DID(9000010.23,1201,"","DESCRIPTION","TEXT","ERR")
  1. D BROWSE^DDBR("TEXT(""DESCRIPTION"")","NR","V Health Factors Event Date and Time Help")
  1. I $D(DDS) D REFRESH^DDSUTL S DY=IOSL-7,DX=0 X IOXY S $Y=DY,$X=DX
  1. Q
  1. ;
  1. ;********************************
  1. MEAS(PXCEAFTR) ;Edit the measurement.
  1. N HFCHG,HFIEN,HFIENO,MAX,MAXDEC,MIN,MPARMS,UCUMCODE,UCUMIEN,UNITS
  1. S HFIENO=$P(PXCEVFIN(0),U,1)
  1. S HFIEN=$P(PXCEAFTR(0),U,1)
  1. S HFCHG=$S(HFIEN'=HFIENO:1,1:0)
  1. S MPARMS=$G(^AUTTHF(HFIEN,220))
  1. I MPARMS="" Q
  1. S MIN=$P(MPARMS,U,1)
  1. I MIN="" Q
  1. S MAX=$P(MPARMS,U,2)
  1. I MAX="" Q
  1. S MAXDEC=+$P(MPARMS,U,3)
  1. S UCUMIEN=$P(MPARMS,U,4)
  1. S UCUMCODE=$$UCUMCODE^LEXMUCUM(UCUMIEN)
  1. S UNITS=$$UCUMFIELDS^PXUCUM(UCUMIEN,"DESCRIPTION")
  1. N DIR,DIRUT,X,Y
  1. I UCUMCODE="{clock_time}" D
  1. . S DIR(0)="FAO^6:7^K:'$$MAG^PXAIVAL(X,MPARMS,.PXAERR) X"
  1. . S DIR("A",1)="Enter clock time as HH:MMAM or HH:MMPM"
  1. I UCUMCODE="{mm/dd/yyyy}" D
  1. . S DIR(0)="FAO^10:10^K:'$$MAG^PXAIVAL(X,MPARMS,.PXAERR) X"
  1. . S DIR("A",1)="Enter month-day-year as MM/DD/YYYY"
  1. I (UCUMCODE'="{clock_time}"),(UCUMCODE'="{mm/dd/yyyy}") D
  1. . S DIR(0)="NAO^"_MIN_":"_MAX_":"_MAXDEC_"^K:$$MAXDECEX^PXMEASUREMENT(X,MAXDEC) X"
  1. . S DIR("A",1)="Enter the magnitude, the allowed range is "_MIN_" to "_MAX
  1. . S DIR("A",2)="The maximum number of decimal digits is "_MAXDEC
  1. . S DIR("A",3)="The units are: "_UNITS
  1. S DIR("A")="The current value is: "
  1. I HFCHG S $P(PXCEAFTR(220),U,1)=""
  1. S DIR("B")=$P(PXCEAFTR(220),U,1)
  1. D ^DIR
  1. I $D(DIRUT) Q
  1. S X=$$MAGFORMAT^PXMEASUREMENT(X)
  1. S PXCEAFTR(220)=X_U_UCUMIEN
  1. Q
  1. ;
  1. ;********************************
  1. SKIP ;Used to by-pass roll and scroll editing of a field.
  1. S (X,Y)=""
  1. Q
  1. ;