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

HMPDJ09.m

Go to the documentation of this file.
  1. HMPDJ09 ;SLC/MKB,ASMR/RRB,OB,MAT,CPC,HM - PCE;Apr 13, 2016 16:04:25
  1. ;;2.0;ENTERPRISE HEALTH MANAGEMENT PLATFORM;**1,2**;May 15, 2016;Build 28
  1. ;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. ;DE4068 - reworked all PCRMINDX references to include ICD10
  1. ;
  1. ; External References DBIA#
  1. ; ------------------- -----
  1. ; ^AUPNVSIT 2028
  1. ; ^PXRMINDX 4290
  1. ; ^SC 10040
  1. ; ^VA(200 10060
  1. ; DIC 2051
  1. ; DILFD 2055
  1. ; DIQ 2056
  1. ; PXAPI,^TMP("PXKENC" 1894
  1. ; VALM1 10116
  1. ; XUAF4 2171
  1. ;
  1. ; All tags expect DFN, ID, [HMPSTART, HMPSTOP, HMPMAX, HMPTEXT]
  1. Q
  1. ;
  1. PX(FNUM) ; -- PCE item(s)
  1. I $G(HMPID) D PXA(HMPID) Q
  1. N HMPIDT,ID D SORT ;sort ^PXRMINDX into ^TMP("HMPPX",$J,IDT)
  1. S HMPIDT=0 F S HMPIDT=$O(^TMP("HMPPX",$J,HMPIDT)) Q:HMPIDT<1 D Q:HMPI'<HMPMAX
  1. . S ID=0 F S ID=$O(^TMP("HMPPX",$J,HMPIDT,ID)) Q:ID<1 D PX1 Q:HMPI'<HMPMAX
  1. K ^TMP("HMPPX",$J)
  1. Q
  1. ;
  1. PXA(ID) ; -- find ID in ^PXRMINDX(FNUM), fall thru to PX1 if successful
  1. N N,ROOT,IDX,P,ITEM,DATE,HMPIDT,ICDSYS
  1. S N=+$P(FNUM,".",2) K ^TMP("HMPPX",$J)
  1. I N=7!(N=18) S ROOT="^PXRMINDX("_FNUM_",""PPI"","_+$G(DFN)
  1. E S ROOT="^PXRMINDX("_FNUM_",""PI"","_+$G(DFN)
  1. S IDX=ROOT_")" F S IDX=$Q(@IDX) Q:$P(IDX,",",1,3)'=ROOT D
  1. . S P=$L(IDX,",") Q:ID'=+$P(IDX,",",P) ;last subscript
  1. . S DATE=+$P(IDX,",",P-1),ITEM=+$P(IDX,",",P-2)
  1. . S HMPIDT=9999999-DATE,^TMP("HMPPX",$J,HMPIDT,ID)=ITEM_U_DATE
  1. ;DE4068 also check for ICD10
  1. I N=7 S ROOT="^PXRMINDX("_FNUM_",""10D"",""PPI"","_+$G(DFN) D
  1. . S IDX=ROOT_")" F S IDX=$Q(@IDX) Q:$P(IDX,",",1,4)'=ROOT D
  1. .. S P=$L(IDX,",") Q:ID'=+$P(IDX,",",P) ;last subscript
  1. .. S DATE=+$P(IDX,",",P-1),ITEM=+$P(IDX,",",P-2)
  1. .. S HMPIDT=9999999-DATE,^TMP("HMPPX",$J,HMPIDT,ID)=ITEM_U_DATE
  1. Q:'$D(^TMP("HMPPX",$J)) ;not found
  1. PX1 ; -- PCE ^TMP("HMPPX",$J,HMPIDT,ID)=ITM^DATE for FNUM
  1. N N,COLL,FAC,FLD,HMPF,I,LOC,LOTIEN,PCE,TAG,TMP,VISIT,X,X0,X12,Y
  1. N $ES,$ET,ERRPAT,ERRMSG
  1. N ERR,FLDS,FLG,VISITIEN
  1. S $ET="D ERRHDLR^HMPDERRH",ERRPAT=DFN
  1. S N=+$P(FNUM,".",2),TAG=$S(N=7:"VPOV",N=11:"VIMM",N=12:"VSKIN",N=13:"VXAM",N=16:"VPEDU",N=18:"VCPT",1:"VHF")
  1. S ERRMSG="A problem occurred converting record "_ID_" for "_TAG
  1. D @(TAG_"^PXPXRM(ID,.HMPF)")
  1. ;
  1. S PCE("localId")=ID,TMP=$G(^TMP("HMPPX",$J,HMPIDT,ID))
  1. S COLL=$S(N=7:"pov",N=11:"immunization",N=12:"skin",N=13:"exam",N=16:"education",N=18:"cpt",1:"factor")
  1. S PCE("uid")=$$SETUID^HMPUTILS(COLL,DFN,ID)
  1. ; TAG=$S(N=23:"recorded",N=11:"administeredDateTime",1:"dateTimeEntered")
  1. S TAG=$S(N=11:"administeredDateTime",1:"entered")
  1. S PCE(TAG)=$$JSONDT^HMPUTILS($P(TMP,U,2)) I $L(PCE(TAG))<14 S PCE(TAG)=$E(PCE(TAG)_"000000",1,14)
  1. I N=7!(N=18) I $G(FILTER("freshnessDateTime")) S PCE(TAG)=$$JSONDT^HMPUTILS(FILTER("freshnessDateTime")) ;DE4068
  1. S PCE("name")=$$EXTERNAL^DILFD(FNUM,.01,,+TMP)
  1. S VISIT=+$G(HMPF("VISIT")),PCE("encounterUid")=$$SETUID^HMPUTILS("visit",DFN,VISIT)
  1. S PCE("encounterName")=$$NAME^HMPDJ04(VISIT)
  1. ;DE2818, ^AUPNVSIT - ICR 2028
  1. ; get VISIT information 0th node
  1. ; 9000010 - Visit
  1. S VISITIEN=VISIT_",",FLG="I",FLDS=".06;.22;"
  1. D GETS^DIQ(9000010,VISITIEN,FLDS,FLG,"X0","ERR")
  1. S FAC=$G(X0(9000010,VISITIEN,.06,"I")),LOC=$G(X0(9000010,VISITIEN,.22,"I"))
  1. ;
  1. S:FAC X=$$STA^XUAF4(FAC)_U_$P($$NS^XUAF4(FAC),U)
  1. S:'FAC X=$$FAC^HMPD(LOC)
  1. D FACILITY^HMPUTILS(X,"PCE")
  1. ;DE2818 ^SC global reference changed to FileMan
  1. S:LOC PCE("locationUid")=$$SETUID^HMPUTILS("location",,LOC),PCE("locationName")=$$GET1^DIQ(44,LOC_",",.01)
  1. S:$L($G(HMPF("COMMENTS"))) PCE("comment")=HMPF("COMMENTS")
  1. POV I FNUM=9000010.07 D G PXQ
  1. . S X=$G(HMPF("PRIMARY/SECONDARY")),PCE("type")=$S($L(X):X,1:"U")
  1. . S X=PCE("name"),PCE("icdCode")=$$SETNCS^HMPUTILS("icd",X)
  1. . S X=$G(HMPF("PROVIDER NARRATIVE")),PCE("name")=$$EXTERNAL^DILFD(9000010.07,.04,,X)
  1. CPT I FNUM=9000010.18 D G PXQ
  1. . S X=$G(HMPF("PRINCIPAL PROCEDURE")),PCE("type")=$S($L(X):X,1:"U")
  1. . S X=PCE("name"),PCE("cptCode")=$$SETNCS^HMPUTILS("cpt",X)
  1. . S X=$G(HMPF("PROVIDER NARRATIVE")),PCE("name")=$$EXTERNAL^DILFD(9000010.18,.04,,X)
  1. . S PCE("quantity")=HMPF("QUANTITY")
  1. S X=$G(HMPF("VALUE")),FLD=$S(FNUM=9000010.16:.06,1:.04)
  1. S Y=$$EXTERNAL^DILFD(FNUM,FLD,,X)
  1. IM I FNUM=9000010.11 D G PXQ ;immunization
  1. . D VIMM(ID,.HMPF,VISIT)
  1. . D:$L($G(HMPF("IMMCODE"))) VIMIMM(HMPF("IMMCODE"),.HMPF)
  1. . I $L($G(HMPF("LOTNUMBER"))) D
  1. .. S LOTIEN=$$FIND1^DIC(9999999.41,,"MX",HMPF("LOTNUMBER"),"B",,"ERR")
  1. .. D VIML(LOTIEN,.HMPF)
  1. .. S PCE("lotNumber")=HMPF("LOTNUMBER")
  1. .. S PCE("manufacturer")=HMPF("MANUFACTURER")
  1. .. S PCE("expirationDate")=$E($$JSONDT^HMPUTILS(HMPF("EXPDATE"))_"000000",1,14)
  1. . S:$L($G(HMPF("INFOSRC"))) PCE("eventInformationSource")=HMPF("INFOSRC")
  1. . S:$L($G(HMPF("ENCLOC"))) PCE("encounterLocation")=HMPF("ENCLOC")
  1. . S:$L($G(HMPF("ORDPRV"))) PCE("orderingProvider")=HMPF("ORDPRV")
  1. . S:$L($G(HMPF("CVXCODE"))) PCE("cvxCode")=HMPF("CVXCODE")
  1. . S:$L($G(HMPF("ROUTE"))) PCE("routeOfAdministration")=HMPF("ROUTE")
  1. . S:$L($G(HMPF("ADMNSITE"))) PCE("siteOfAdministration")=HMPF("ADMNSITE")
  1. . I $L($G(HMPF("EVNTDAT"))) D
  1. .. S PCE("eventDate")=$E($$JSONDT^HMPUTILS(HMPF("EVNTDAT"))_"000000",1,14)
  1. . S:$L($G(HMPF("DOSE"))) PCE("dosage")=HMPF("DOSE")
  1. . S:$L($G(HMPF("DOSEUNITS"))) PCE("dosageUnits")=HMPF("DOSEUNITS")
  1. . S:$L($G(HMPF("VISDAT"))) PCE("visData")=HMPF("VISDAT")
  1. . S:$L($G(HMPF("REMARKS"))) PCE("remarks")=HMPF("REMARKS")
  1. . S:$L(Y) PCE("seriesName")=Y,PCE("seriesCode")=$$SETUID^HMPUTILS("series",DFN,Y)
  1. . I $L($G(HMPF("REACTION"))) D
  1. .. S PCE("reactionName")=$$EXTERNAL^DILFD(9000010.11,.06,,HMPF("REACTION"))
  1. .. S PCE("reactionCode")=$$SETUID^HMPUTILS("reaction",DFN,HMPF("REACTION"))
  1. . S PCE("contraindicated")=$S(+$G(HMPF("CONTRAINDICATED")):"true",1:"false")
  1. . I '$D(^TMP("PXKENC",$J,VISIT)) D ENCEVENT^PXAPI(VISIT,1)
  1. . S X12=$G(^TMP("PXKENC",$J,VISIT,"IMM",ID,12))
  1. . S X=$P(X12,U,4) S:'X X=$P(X12,U,2)
  1. . I 'X S I=0 F S I=$O(^TMP("PXKENC",$J,VISIT,"PRV",I)) Q:I<1 I $P($G(^TMP("PXKENC",$J,VISIT,"PRV",I,0)),U,4)="P" S X=+^TMP("PXKENC",$J,VISIT,"PRV",I,0) Q
  1. . ;DE2818, ^VA(200 reference changed to FileMan
  1. . S:X PCE("performerUid")=$$SETUID^HMPUTILS("user",,+X),PCE("performerName")=$$GET1^DIQ(200,X_",",.01)
  1. . ; CPT mapping
  1. . S X=+$$FIND1^DIC(811.1,,"QX",+TMP_";AUTTIMM(","B") I X>0 D
  1. .. S Y=$$GET1^DIQ(811.1,X_",",.02,"I") Q:Y<1
  1. .. N CPT S CPT=$G(@(U_$P(Y,";",2)_+Y_",0)"))
  1. .. S PCE("cptCode")=$$SETNCS^HMPUTILS("cpt",+CPT)
  1. .. S (PCE("summary"),PCE("cptName"))=$P(CPT,U,2)
  1. . ; US14129 - Add cdc full vaccine name to return
  1. . M:$D(HMPF("CDCNAME")) PCE("cdcFullVaccineName","\")=HMPF("CDCNAME")
  1. . N I S I="" F S I=$O(HMPF("VIS",I)) Q:'I D
  1. . . S PCE("vis",I,"visName")=$G(HMPF("VIS",I,"VISNAME"))
  1. . . S PCE("vis",I,"editionDate")=$G(HMPF("VIS",I,"EDITIONDATE"))
  1. . . S PCE("vis",I,"language")=$G(HMPF("VIS",I,"LANGUAGE"))
  1. . . S PCE("vis",I,"offeredDate")=$G(HMPF("VIS",I,"OFFEREDDATE"))
  1. HF I FNUM=9000010.23 D G PXQ ;health factor
  1. . S:$L(X) PCE("severityUid")=$$SETVURN^HMPUTILS("factor-severity",X),PCE("severityName")=$$LOWER^VALM1(Y)
  1. . S X=$$GET1^DIQ(9999999.64,+TMP_",",.03,"I") I X D
  1. .. S PCE("categoryUid")=$$SETVURN^HMPUTILS("factor-category",X)
  1. .. S PCE("categoryName")=$$EXTERNAL^DILFD(9999999.64,.03,"",X)
  1. . S X=$$GET1^DIQ(9999999.64,+TMP_",",.08)
  1. . I $E(X)="Y" S PCE("display")="true"
  1. . S PCE("kind")="Health Factor",PCE("summary")=PCE("name")
  1. SK I FNUM=9000010.12 D ;skin test [fall thru to set result]
  1. . S:$L($G(HMPF("READING"))) PCE("reading")=HMPF("READING")
  1. . S:$G(HMPF("DATE READ")) PCE("dateRead")=$$JSONDT^HMPUTILS(HMPF("DATE READ"))
  1. S:$L(Y) PCE("result")=Y
  1. PXQ ;finish
  1. S PCE("lastUpdateTime")=$$EN^HMPSTMP(COLL) ; RHL 20150115
  1. S PCE("stampTime")=PCE("lastUpdateTime") ; RHL 20150115
  1. ;US6734 - pre-compile metastamp
  1. I $G(HMPMETA) D ADD^HMPMETA(COLL,PCE("uid"),PCE("stampTime")) Q:HMPMETA=1 ;US11019/US6734
  1. D ADD^HMPDJ("PCE",COLL)
  1. Q
  1. ;
  1. SORT ; -- build ^TMP("HMPPX",$J,9999999-DATE,DA)=ITEM^DATE in range
  1. N TYPE,ITEM,DATE,DA,IDT K ^TMP("HMPPX",$J)
  1. I FNUM=9000010.07!(FNUM=9000010.18) G PPI
  1. PI ; from ^PXRMINDX(FNUM,"PI",DFN,ITEM,DATE,DA)
  1. ;DE2818, ^PXRMINDX - ICR 4290
  1. S ITEM=0 F S ITEM=$O(^PXRMINDX(FNUM,"PI",+$G(DFN),ITEM)) Q:ITEM<1 D
  1. . S DATE=0 F S DATE=$O(^PXRMINDX(FNUM,"PI",+$G(DFN),ITEM,DATE)) Q:DATE<1 D
  1. .. Q:DATE<HMPSTART Q:DATE>HMPSTOP S IDT=9999999-DATE
  1. .. S DA=0 F S DA=$O(^PXRMINDX(FNUM,"PI",+$G(DFN),ITEM,DATE,DA)) Q:DA<1 S ^TMP("HMPPX",$J,IDT,DA)=ITEM_U_DATE
  1. Q
  1. PPI ; from ^PXRMINDX(FNUM,"PPI",DFN,TYPE,ITEM,DATE,DA)
  1. S TYPE="" F S TYPE=$O(^PXRMINDX(FNUM,"PPI",+$G(DFN),TYPE)) Q:TYPE="" D
  1. . S ITEM=0 F S ITEM=$O(^PXRMINDX(FNUM,"PPI",+$G(DFN),TYPE,ITEM)) Q:ITEM<1 D
  1. .. S DATE=0 F S DATE=$O(^PXRMINDX(FNUM,"PPI",+$G(DFN),TYPE,ITEM,DATE)) Q:DATE<1 D
  1. ... Q:DATE<HMPSTART Q:DATE>HMPSTOP S IDT=9999999-DATE
  1. ... S DA=0 F S DA=$O(^PXRMINDX(FNUM,"PPI",+$G(DFN),TYPE,ITEM,DATE,DA)) Q:DA<1 S ^TMP("HMPPX",$J,IDT,DA)=ITEM_U_DATE
  1. Q:FNUM=9000010.18 ;
  1. ;for POV also check ICD10 CODES
  1. S TYPE="" F S TYPE=$O(^PXRMINDX(FNUM,"10D","PPI",+$G(DFN),TYPE)) Q:TYPE="" D
  1. . S ITEM="" F S ITEM=$O(^PXRMINDX(FNUM,"10D","PPI",+$G(DFN),TYPE,ITEM)) Q:ITEM="" D
  1. .. S DATE=0 F S DATE=$O(^PXRMINDX(FNUM,"10D","PPI",+$G(DFN),TYPE,ITEM,DATE)) Q:DATE<1 D
  1. ... Q:DATE<HMPSTART Q:DATE>HMPSTOP S IDT=9999999-DATE
  1. ... S DA=0 F S DA=$O(^PXRMINDX(FNUM,"10D","PPI",+$G(DFN),TYPE,ITEM,DATE,DA)) Q:DA<1 S ^TMP("HMPPX",$J,IDT,DA)=ITEM_U_DATE
  1. Q
  1. PTF ; from ^PXRMINDX(45,"ICD9","PNI",DFN,TYPE,ITEM,DATE,DA)
  1. ;Purpose - Build ^TMP("HMPPX") from ^PXRMINDX(45,HMPISYS,"PNI",DFN)
  1. ;
  1. ;Called by - PTF^HMPDJ0 (if HMPID is not set)
  1. ;
  1. ;Assumptions -
  1. ;1. DFN, HMPSTART and HMPSTOP variables have been set in prior code
  1. ;2. ^TMP("HMPPX") does not exist and needs to be built
  1. ;3. '$G(HMPID)
  1. ;
  1. ;Modification History -
  1. ;US5630 (TW) - HMPISYS can be either "ICD" or "10D" (ICD-10)
  1. ;
  1. N HMPISYS,HMPTYP,HMPDX,HMPDT,HMPITEM,HMPRDT
  1. S HMPISYS="" F S HMPISYS=$O(^PXRMINDX(45,HMPISYS)) Q:HMPISYS="" D
  1. . Q:'$D(^PXRMINDX(45,HMPISYS,"PNI",+$G(DFN)))
  1. . S HMPTYP="" F S HMPTYP=$O(^PXRMINDX(45,HMPISYS,"PNI",+$G(DFN),HMPTYP)) Q:HMPTYP="" D
  1. .. S HMPDX=0 F S HMPDX=$O(^PXRMINDX(45,HMPISYS,"PNI",+$G(DFN),HMPTYP,HMPDX)) Q:HMPDX="" D
  1. ... S HMPDT=0 F S HMPDT=$O(^PXRMINDX(45,HMPISYS,"PNI",+$G(DFN),HMPTYP,HMPDX,HMPDT)) Q:HMPDT<1 D
  1. .... Q:HMPDT<HMPSTART Q:HMPDT>HMPSTOP S HMPRDT=9999999-HMPDT
  1. .... S HMPITEM="" F S HMPITEM=$O(^PXRMINDX(45,HMPISYS,"PNI",+$G(DFN),HMPTYP,HMPDX,HMPDT,HMPITEM)) Q:HMPITEM="" S ^TMP("HMPPX",$J,HMPRDT,HMPITEM_";"_HMPTYP)=HMPDX_U_HMPDT_U_HMPISYS
  1. Q
  1. VIML(LOT,IMDATA) ;VIMM2.0 Return IMMUNIZATION LOT data (Lot #, Expiration Date, and Mfr. can also be in COMMENTS)
  1. N ARR,DATA,ERR,FILE,FLDS,FLGS,IEN
  1. S FILE=9999999.41 ;IMMUNIZATION LOT
  1. S IEN=LOT_",",FLDS=".02;.09",FLGS="IE",ARR="DATA",ERR="ERR"
  1. D GETS^DIQ(FILE,IEN,FLDS,FLGS,ARR,ERR)
  1. ;
  1. ; --- Expiration Date & Manufacturer
  1. S IMDATA("EXPDATE")=$G(DATA(FILE,IEN,.09,"I"))
  1. S IMDATA("MANUFACTURER")=$G(DATA(FILE,IEN,.02,"E"))
  1. Q
  1. VIMM(DA,IMDATA,VISIT) ;VIMM2.0 Return data for a specified V IMMUNIZATION entry.
  1. N ADMIN1,ARR,DATA,ERR,FLDS,FLGS,IEN,INFO1,ROUTE1,TEMP,TMPGBL,VIS,VISIEN
  1. ; 9000010.11 - V IMMUNIZATION
  1. S IEN=DA_",",FLDS=".01;.02;.03;.04;.05;.06;.07;.08;.09;.12;1101;1201;1202;1203;1204;1205;1206;1207;1301;1302;1303;1312;1313;80101;80102;81101;81201;81202;81203;2*"
  1. S FLGS="IE",ARR="DATA",ERR="ERR"
  1. D GETS^DIQ(9000010.11,IEN,FLDS,FLGS,ARR,ERR)
  1. ;
  1. ; Immunization Code
  1. ;US14129 - This line was causing VIMIMM to be sent the vaccine *name* not IEN. Had to fix it for the story.
  1. S IMDATA("IMMCODE")=$G(DATA(9000010.11,IEN,.01,"I"))
  1. ;
  1. ; Dosage & Units
  1. S IMDATA("DOSE")=$G(DATA(9000010.11,IEN,1312,"E"))
  1. S IMDATA("DOSEUNITS")=$G(DATA(9000010.11,IEN,1313,"E"))
  1. ;
  1. ; Lot Number
  1. S IMDATA("LOTNUMBER")=$G(DATA(9000010.11,IEN,1207,"E"))
  1. ;
  1. ; Ordering Provider
  1. S IMDATA("ORDPRV")=$G(DATA(9000010.11,IEN,1202,"E"))
  1. ;
  1. ; Admin / Encounter Provuder
  1. S IMDATA("ADMNPRV")=$G(DATA(9000010.11,IEN,1204,"E"))
  1. ;
  1. ; Event Date and Time
  1. S IMDATA("EVNTDAT")=$G(DATA(9000010.11,IEN,1201,"I"))
  1. ;
  1. ; Remarks
  1. ; DE3454 - added logic for word processing field data - HM
  1. N CT,X,WP,COUNT
  1. S X=$$GET1^DIQ(9000010.11,IEN,1101,"","WP"),COUNT=0
  1. I $D(WP(1)) S CT="" D
  1. . F S CT=$O(WP(CT)) Q:CT="" S COUNT=COUNT+1
  1. I COUNT>0 S IMDATA("REMARKS")="",CT="" D
  1. . F S CT=$O(WP(CT)) Q:CT="" D
  1. . . S IMDATA("REMARKS")=$S(CT'=COUNT:IMDATA("REMARKS")_WP(CT)_" "_$C(13)_$C(10),CT=COUNT:IMDATA("REMARKS")_WP(CT),1:0)
  1. ;
  1. ; Comments
  1. S IMDATA("COMMENTS")=$G(DATA(9000010.11,IEN,81101,"E"))
  1. ;
  1. ; Information Source
  1. S IMDATA("INFOSRC")=$G(DATA(9000010.11,IEN,1301,"E"))
  1. ;
  1. ; Route
  1. S IMDATA("ROUTE")=$G(DATA(9000010.11,IEN,1302,"E"))
  1. ;
  1. ; Administration Site
  1. S IMDATA("ADMNSITE")=$G(DATA(9000010.11,IEN,1303,"E"))
  1. ;
  1. ; Vaccine Information Statement (VIS)
  1. S IMDATA("VISDAT")=$$VIMVIS(.DATA)
  1. ;US14129 - Add More VIS data to extract
  1. D VIMVISNW(.DATA,.IMDATA)
  1. Q
  1. VIMIMM(IMMCODE,IMDATA) ;VIMM2.0 Return data for an IMMUNIZATION entry.
  1. N ARR,DATA,ERR,FLDS,FLGS,IEN
  1. ; 9999999.14 - Immunization
  1. S IEN=IMMCODE_",",FLDS=".03;2",FLGS="IE",ARR="DATA",ERR="ERR"
  1. D GETS^DIQ(9999999.14,IEN,FLDS,FLGS,ARR,ERR)
  1. ;
  1. ; CVX code
  1. S IMDATA("CVXCODE")=$G(DATA(9999999.14,IEN,.03,"E"))
  1. ; US14129 - Add cdc full vaccine name to return
  1. ; Use our existing API to format the Word Processing data for JSON
  1. D SETTEXT^HMPUTILS($NA(DATA(9999999.14,IEN,2)),$NA(IMDATA("CDCNAME")))
  1. Q
  1. VIMVIS(DATA) ;VIMM2.0 Return an IMMUNIZATION's VACCINE INFORMATION STATEMENT(s).
  1. N DT,SC,SL,VDX,VIS,VISALL,VISIEN
  1. S (DT,VIS,VISALL,VDX)="",SL="/",SC=";"
  1. S VISIEN="" F S VISIEN=$O(DATA(9000010.112,VISIEN)) Q:VISIEN="" D
  1. . S VIS=$G(DATA(9000010.112,VISIEN,".01","E"))
  1. . I $D(DATA(9000010.112,VISIEN,".02","I")) D
  1. . . S DT=$G(DATA(9000010.112,VISIEN,".02","I")),DT=$E($$JSONDT^HMPUTILS(DT)_"000000",1,14)
  1. . I $G(DT),$G(VIS)'="" S VISALL(VIS_SL_DT_SC)=""
  1. S (VDX,VIS)="" F S VDX=$O(VISALL(VDX)) Q:VDX="" S VIS=VIS_" "_$C(13)_$C(10)_VDX ; DE3454 - added logic for word processing field data - HM
  1. Q VIS
  1. ;
  1. VIMVISNW(DATA,IMDATA) ;US14129 - Add VIS data to extract
  1. N PTVISIEN,VISIEN,IEN,LANGIEN
  1. S PTVISIEN="" F I=1:1 S PTVISIEN=$O(DATA(9000010.112,PTVISIEN)) Q:PTVISIEN="" D
  1. . S VISIEN=$G(DATA(9000010.112,PTVISIEN,".01","I"))_"," Q:'VISIEN
  1. . I $D(DATA(9000010.112,PTVISIEN,".01","E")) S IMDATA("VIS",I,"VISNAME")=$G(DATA(9000010.112,PTVISIEN,".01","E"))
  1. . S:$G(DATA(9000010.112,PTVISIEN,".02","I")) IMDATA("VIS",I,"OFFEREDDATE")=$$JSONDT^HMPUTILS(DATA(9000010.112,PTVISIEN,".02","I"))
  1. . D GETS^DIQ(920,VISIEN,".01;.02;.04","IE","DATA","ERR")
  1. . S:$G(DATA(920,VISIEN,".02","I")) IMDATA("VIS",I,"EDITIONDATE")=$$JSONDT^HMPUTILS(DATA(920,VISIEN,".02","I"))
  1. . ;Need to pull NAME (#1), not CODE (#.01), field from language file.
  1. . S LANGIEN=$G(DATA(920,VISIEN,".04","I")) S:LANGIEN IMDATA("VIS",I,"LANGUAGE")=$$GET1^DIQ(.85,LANGIEN_",",1)
  1. Q