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

APCDFHS.m

Go to the documentation of this file.
  1. APCDFHS ;IHS/CMI/LAB - LIST MANAGER SNOMED SELECTION FOR FAMILY HISTORY AND API FOR REP FACTORS
  1. ;;2.0;IHS PCC SUITE;**10,11,13,16**;MAY 14, 2009;Build 9
  1. ;; ;
  1. EN ;EP -- main entry point for
  1. NEW APCDFHSN,APCDHIGH,APCDTCI,APCDTDI,I
  1. D EN^VALM("APCD FH SNOMED VIEW")
  1. D CLEAR^VALM1
  1. D FULL^VALM1
  1. W:$D(IOF) @IOF
  1. D EOJ
  1. Q
  1. EOJ ;
  1. K ^TMP($J,"APCDFHSNOMED"),APCDFHSN
  1. Q
  1. ;
  1. HDR ; -- header code
  1. S VALMHDR(1)="SELECT FAMILY HISTORY SNOMED TERM"
  1. Q
  1. ;
  1. INIT ;EP --
  1. NEW OUT,IN,C,J,Y,X,I
  1. K ^TMP($J,"APCDFHSNOMED")
  1. S OUT=$NA(^TMP($J,"APCDFHSNOMED")),IN="SRCH Family History"
  1. S X=$$SUBLST^BSTSAPI(OUT,IN)
  1. S APCDHIGH="",C=0,J=0
  1. F S J=$O(^TMP($J,"APCDFHSNOMED",J)) Q:J="" D
  1. .S Y=^TMP($J,"APCDFHSNOMED",J)
  1. .S C=C+1 ;counter
  1. .S APCDTCI=$P(Y,U,1),APCDTDI=$P(Y,U,2),APCDTPT=$P(Y,U,3)
  1. .S I=$P($P($$CONC^AUPNSICD(APCDTCI_"^^"_$S($G(APCDDATE):APCDDATE,1:DT)_"^1"),U,5),";")
  1. .S X=""
  1. .S X=C_") ",$E(X,7)=APCDTCI,$E(X,23)=APCDTPT_" ("_I_")"
  1. .S APCDFHSN(C,0)=X
  1. .S APCDFHSN("IDX",C,C)=J_U_APCDTCI_U_APCDTDI
  1. .Q
  1. S (VALMCNT,APCDHIGH)=C
  1. Q
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. BACK ;go back to listman
  1. D TERM^VALM0
  1. S VALMBCK="R"
  1. D INIT
  1. D HDR
  1. K DIR
  1. K X,Y,Z,I
  1. Q
  1. ;
  1. SELECT ;EP - add an item to the selected list - called from a protocol
  1. W !
  1. S DIR(0)="NO^1:"_APCDHIGH,DIR("A")="Which SNOMED Term"
  1. D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I Y="" W !,"No SNOMED selected." G DISPX
  1. I $D(DIRUT) W !,"No SNOMED selected." G DISPX
  1. S APCDCI=$P(APCDFHSN("IDX",Y,Y),U,2)
  1. S APCDDI=$P(APCDFHSN("IDX",Y,Y),U,3)
  1. ;W !!,$$CONC^AUPNSICD(APCDCI_"^^"_$S($G(APCDDATE):APCDDATE,1:DT)_"^1") H 10
  1. S APCDICD=$P($P($$CONC^AUPNSICD(APCDCI_"^^"_$S($G(APCDDATE):APCDDATE,1:DT)_"^1"),U,5),";")
  1. K ^TMP($J,"APCDFHSNOMED"),APCDFHSN
  1. Q
  1. ;
  1. DISPX ;
  1. D BACK
  1. Q
  1. GETNARR(APCDDEFV) ;EP - called to get a narrative
  1. ;because I have absolutely no idea where this call is coming from
  1. ;I am going to do an exclusive new to preserve the callers
  1. ;symbol table
  1. NEW APCDNQV
  1. S APCDNQV=""
  1. S APCDDEFV=$G(APCDDEFV)
  1. D EN^XBNEW("GETNARR1^APCDFHS","APCDNQV;APCDDEFV")
  1. Q APCDNQV
  1. GETNARR1 ;EP
  1. ;if user enters "=" use T IF T is not null
  1. ;do not allow "|"
  1. ;do not allow "@"
  1. NEW DA,DIR
  1. S T=$G(T)
  1. S DIR(0)="FO^1:160",DIR("A")="PROVIDER NARRATIVE" S:APCDDEFV]"" DIR("B")=APCDDEFV KILL DA D ^DIR KILL DIR
  1. ;I $D(DIRUT),X="^" W !!," ^ is Not Allowed. Response is required.",! G GETNARR1
  1. I $D(DIRUT) Q ""
  1. I X="" Q ""
  1. I $L(X)>160!($L(X)<2)!'((X'?1P.E)!(X?1"|".E))!(X'?.ANP) W " ????" G GETNARR1
  1. I X["|" W !!,"You cannot enter a narrative that contains a '|' (vertical bar).",! K X G GETNARR1
  1. S APCDNQV=X
  1. Q