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

BMXADOX.m

Go to the documentation of this file.
  1. BMXADOX ; IHS/CIHA/GIS - RPC CALL: GENERATE AN ADO SCHEMA STRING AND DATA SET ;
  1. ;;2.0;BMX;;FEB 26, 2007
  1. ; EXMAPLES OF RPMS SCHEMAE GENERATION
  1. ;
  1. ;
  1. DISP(OUT) ;EP - TEMP DISPLAY
  1. N I,X
  1. S I=0 W !
  1. F S I=$O(@OUT@(I)) Q:'I S X=@OUT@(I) S X=$TR(X,$C(30),"}") S X=$TR(X,$C(31),"{") W !,X
  1. Q
  1. ;
  1. SCHEMA(NAME) ; GIVEN SCHEMA NAME, RETURN THE IEN
  1. N IEN
  1. S IEN=$O(^BMXADO("B",NAME,0))
  1. Q IEN
  1. ;
  1. NEXTNUM(DFN,LOC) ; RETURN THE NEXT PROBLEM NUMBER FOR A PATIENT
  1. N X,LAST,MAX,NUM
  1. S NUM=0,MAX=""
  1. F S NUM=$O(^AUPNPROB("AA",DFN,LOC,NUM)) Q:NUM="" S X=$E(NUM,2,99) I +X>MAX S MAX=+X
  1. I 'MAX Q 1
  1. S X=X+1 S X=X\1
  1. Q X
  1. ;
  1. DEMOG ; VIEW DEMOGRAPHICS
  1. N OUT,%,DFN,MAX,SIEN
  1. S DFN=1,MAX=1000
  1. S SIEN=$$SCHEMA("UPDATE PATIENT DEMOGRAPHICS")
  1. D SS^BMXADO(.OUT,SIEN,"",("~"_DFN_"~"_DFN_"~"_MAX))
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. MEDICARE ; UPDATE MEDICARE DATES/INFO
  1. N OUT,%,DAS,PIEN,JIEN,DFN,MAX
  1. S DFN=1,MAX=1000
  1. S DAS=DFN_","
  1. S PIEN=$$SCHEMA("UPDATE MEDICARE DATES")
  1. S JIEN=$$SCHEMA("UPDATE MEDICARE INFO")
  1. D SS^BMXADO(.OUT,PIEN,DAS,("~"_DFN_"~"_DFN_"~"_MAX_"~~"_"MEDICARE~BMXADOV2~~"_JIEN_",PARENT"))
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. MEDICAID ; VIEW MEDICAID DATES/INFO
  1. N OUT,%,DAS,PIEN,JIEN,DFN,DA
  1. S DFN=3
  1. S DA(1)=$$MCDIEN^BMXADOV2(DFN) I 'DA(1) Q
  1. S DAS=DA(1)_","
  1. S PIEN=$$SCHEMA("UPDATE MEDICAID DATES")
  1. S JIEN=$$SCHEMA("UPDATE MEDICAID INFO")
  1. D SS^BMXADO(.OUT,PIEN,DAS,("~~~~~MEDICAID~BMXADOV2~~"_JIEN_",PARENT"))
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. PVTINS ; VIEW PRIVATE INSURANCE DATES/INFO
  1. N OUT,%,DAS,SIEN,DFN
  1. S DFN=1
  1. S DAS=DFN_","
  1. S SIEN=$$SCHEMA("UPDATE PVT INSURANCE INFO")
  1. D SS^BMXADO(.OUT,SIEN,DAS,"~~~~~PVTINS~BMXADOV2~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. VISIT ; VIEW VISITS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VISITS")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~3/21/1985~6/4/1986~100~~~~1|R")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. DUPVIS ; DISPLAY POSSIBLE DUPLICATE VISITS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VISITS")
  1. D SS^BMXADO(.OUT,SIEN,"","~~~~~DUPV~BMXADOV2~1|4/19/04@1PM|I|4585|A~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDVIS ; ADD A NEW VISIT
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=3
  1. S SIEN=$$SCHEMA("VISITS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^JUN 03, 2004@09:32^I^`3^`4585^A^`1"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. POV ; DISPLAY POVS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VIEW POVS")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~3/21/1985~6/4/1986~100~~~~1|C")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. FLDS ; GET FILEMAN FIELDS
  1. N OUT,%,SIEN,DFN
  1. S SIEN=$$SCHEMA("FIELDS")
  1. D SS^BMXADO(.OUT,SIEN,"","~~~~~FLDIT~BMXADOS1~3.7~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. FINFO ; GET FILEMAN FILEINFO
  1. N OUT,%,SIEN,DFN
  1. S SIEN=$$SCHEMA("FILEMAN FILEINFO")
  1. D SS^BMXADO(.OUT,SIEN,"","~~~~~FNIT~BMXADOS1~3.7~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDPOV ; ADD A POV TO AN EXISITING VISIT
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE POVS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`8718^`1^`71164^DM II ON NEW MEDS^2^P"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. EDITPOV ; ADD A POV TO AN EXISITING VISIT
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE POVS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="100123^`8718^`1^`71164^DM II ON SPECIAL MEDS^2^P"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. PROB ; DISPLAY PROBLEMS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VIEW PROBLEMS")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~"_DFN_"~"_DFN_"~~~~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDPROB ; ADD A PROBLEM TO THE PROBLEM LIST
  1. N OUT,%,SIEN,DFN,NODE,NUM,LOC,ICD,TEXT,AIR,IEN
  1. S ICD=2477
  1. S TEXT="HYPERTENSION ON SPECIAL MEDS"
  1. S DFN=1,LOC=DUZ(2),AIR="A"
  1. S SIEN=$$SCHEMA("UPDATE PROBLEMS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)=U_"`"_ICD_U_"`"_DFN_U_DT_U_U_TEXT_U_"`"_LOC_U_DT_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. S IEN=+$P(OUT(1),"|",2) I '$D(^AUPNPROB(IEN,0)) Q
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. K OUT
  1. S NUM=$$NEXTNUM(DFN,LOC) I 'NUM Q ; PROBLEM NUMBER & STATUS MUST BE ADDED SEPARATELY
  1. S SIEN=$$SCHEMA("UPDATE PROBLEM NUMBER")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)=IEN_U_NUM_U_"A"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. MEAS ; DISPLAY MEASUREMENTS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VIEW MEASUREMENTS")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~3/21/1985~6/4/1986~10~~~~"_DFN_"|WT|C")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDMEAS ; UPDATE V MEASUREMENT FILE
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE MEASUREMENTS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`2^`"_DFN_"^`71164^177.5^`6"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. MEDS ; DISPLAY MEDS
  1. N OUT,%,SIEN,DFN
  1. S DFN=3
  1. S SIEN=$$SCHEMA("VIEW MEDS")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1989~12/31/1990~10~~~~"_DFN_"|C")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDMEDS ; UPDATE V MED FILE
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=3
  1. S SIEN=$$SCHEMA("UPDATE MEDS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`305^`"_DFN_"^`71164^T1T QID^40"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. LAB ; DISPLAY LAB TEST RESULTS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VIEW LABS")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1985~12/31/1987~10~~~~"_DFN_"|175|C")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDLAB ; UPDATE V LAB
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE LABS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`175^`"_DFN_"^`71164^216"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. EXAMS ; DISPLAY EXAMS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VIEW EXAMS")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1986~12/31/1990~10~~~~"_DFN_"|6|C")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDEXAMS ; UPDATE V EXAM
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE EXAMS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`6^`"_DFN_"^`71164^NORMAL"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. IMM ; DISPLAY IMMUNIZATIONS
  1. N OUT,%,SIEN,DFN
  1. S DFN=2
  1. S SIEN=$$SCHEMA("VIEW IMM")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1986~12/31/1988~10~~~~"_DFN_"|12|C")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDIMM ; UPDATE V IMMUNIZATION FILE
  1. S DFN=2
  1. S SIEN=$$SCHEMA("UPDATE IMM")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`12^`"_DFN_"^`71164^2"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. PROV ; DISPLAY PROVIDERS FOR A VISIT
  1. N OUT,%,SIEN,VIEN
  1. S VIEN=11
  1. S SIEN=$$SCHEMA("VIEW PROV")
  1. D SS^BMXADO(.OUT,SIEN,"","AD~"_VIEN_"~"_VIEN_"~10~~~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDPROV ; UPDATE V PROVIDER FILE
  1. N OUT,%,SIEN,NODE,PIEN,DFN
  1. S PIEN=5,DFN=1
  1. I $P(^DD(9000010.06,.01,0),U,3)["DIC(6" S PIEN=$P(^VA(200,PIEN,0),U,16) ; CONVERT FILE 200 TO FILE 16 IF NECESS.
  1. S SIEN=$$SCHEMA("UPDATE PROV")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`"_PIEN_"^`"_DFN_"^`71164^P"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. PROC ; DISPLAY PROCEDURES
  1. N OUT,%,SIEN,DFN
  1. S DFN=4
  1. S SIEN=$$SCHEMA("VIEW PROCEDURES")
  1. D SS^BMXADO(.OUT,SIEN,"","AA~1/1/1985~12/31/1985~10~~~~"_DFN_"|C")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDPROC ; UPDATE V PROCEDURES FILE
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE PROCEDURES")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`2198^`"_DFN_"^`71164^`8718"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. CPT ; DISPLAY CPT CODES
  1. N OUT,%,SIEN,DFN
  1. S VIEN=71164
  1. S SIEN=$$SCHEMA("VIEW CPT")
  1. D SS^BMXADO(.OUT,SIEN,"","AD~"_VIEN_"~"_VIEN_"~10~~~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDCPT ; UPDATE V CPT FILE
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE CPT")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`10000^`"_DFN_"^`71164^WOUND CARE"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. PH ; DISPLAY PERSONAL HISTORY
  1. N OUT,%,SIEN,DFN
  1. S DFN=632
  1. S SIEN=$$SCHEMA("VIEW PERSONAL HISTORY")
  1. D SS^BMXADO(.OUT,SIEN,"","AC~"_DFN_"~"_DFN_"~~~~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDPH ; UPDATE PERSONAL HX
  1. N OUT,%,SIEN,DFN,NODE,ICD,TEXT
  1. S ICD=2477
  1. S TEXT="PERSONAL HISTORY OF SERIOUS PROBLEMS"
  1. S DFN=632
  1. S SIEN=$$SCHEMA("UPDATE PERSONAL HISTORY")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`11353^`"_DFN_"^2851219^"_TEXT_"^2810303"_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. FH ; DISPLAY FAMILY HX
  1. N OUT,%,SIEN,DFN
  1. S DFN=631
  1. S SIEN=$$SCHEMA("VIEW FAMILY HISTORY")
  1. D SS^BMXADO(.OUT,SIEN,"","AC~"_DFN_"~"_DFN_"~~~~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDFH ; UPDATE FAMILY HISTORY
  1. N OUT,%,SIEN,DFN,NODE,ICD,TEXT
  1. S ICD=2477
  1. S TEXT="FAMILY HISTORY OF SERIOUS PROBLEMS"
  1. S DFN=631
  1. S SIEN=$$SCHEMA("UPDATE FAMILY HISTORY")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`7571^`"_DFN_"^2851219^"_TEXT_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. HF ; DISPLAY HEALTH FACTORS
  1. N OUT,%,SIEN,DFN
  1. S DFN=1
  1. S SIEN=$$SCHEMA("VIEW HEALTH FACTORS")
  1. D SS^BMXADO(.OUT,SIEN,"","AC"_"~"_DFN_"~"_DFN_"~~~~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDHF ; UPDATE HEALTH FACTORS FILE
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=1
  1. S SIEN=$$SCHEMA("UPDATE HEALTH FACTORS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`3^`"_DFN_U_DT_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. REPRO ; DISPLAY REPRODUCTIVE FACTORS
  1. N OUT,%,SIEN,DFN
  1. S DFN=5
  1. S SIEN=$$SCHEMA("VIEW REPRODUCTIVE FACTORS")
  1. D SS^BMXADO(.OUT,SIEN,"","B"_"~"_DFN_"~"_DFN_"~~~~~")
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. ADDREPRO ; UPDATE REPRODUCTIVE FACTORS
  1. ; THE .O1 FIELD IS DINUMED
  1. ; THEREFORE, THE FILER WILL AUTOMATICALLY SWITCH TO MOD MODE IF A RECORD ALREADY EXISTS FOR THIS PATIENT
  1. N OUT,%,SIEN,DFN,NODE
  1. S DFN=5
  1. ; I $D(^AUPNREP(DFN)) G ERF
  1. S SIEN=$$SCHEMA("ADD REPRODUCTIVE FACTORS")
  1. D SS^BMXADO(.OUT,SIEN,"","") ; GET SCHEMA
  1. S NODE=$O(^TMP("BMX ADO",$J,999999),-1)+1
  1. S ^TMP("BMX ADO",$J,NODE)="^`"_DFN_"^G5P4LC3SA1TA0^"_DT_"^2^3040101^"_DT_$C(30)
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. D BAFM^BMXADOF1(.OUT,$NA(^TMP("BMX ADO",$J)))
  1. K ^TMP("BMX ADO",$J)
  1. W !!,OUT S %=0 F S %=$O(OUT(%)) Q:'% W !,OUT(%)
  1. Q
  1. ;
  1. ; ---------------------------------- GRIDS ---------------------------------------------
  1. ;
  1. GRID ; POPULATE THE INTRO GRID
  1. N OUT,%,SIEN,NODE,NEXT
  1. S NEXT="70470;0"
  1. S SIEN=$$SCHEMA("VEN MOJO DE INTRO")
  1. D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. MGRID ; POPULATE THE MEASUREMENT GRID
  1. N OUT,%,SIEN,NODE,NEXT,START,STOP
  1. S NEXT="70470;2"
  1. S SIEN=$$SCHEMA("VEN MOJO DE MEASUREMENT")
  1. ; D SS^BMXADO(.OUT,SIEN,"","~~~~~GRIDIT~VENPCCTG~"_NEXT) ; GET SCHEMA
  1. D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. ; K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. PRVGRID ; POPULATE THE PROVIDER GRID
  1. N OUT,%,SIEN,NODE,NEXT
  1. S NEXT="70470;4"
  1. S SIEN=$$SCHEMA("VEN MOJO DE PROVIDER")
  1. D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. CLGRID ; POPULATE THE CLINIC GRID
  1. N OUT,%,SIEN,NODE,NEXT
  1. S NEXT="70470;8"
  1. S SIEN=$$SCHEMA("VEN MOJO DE CLINIC")
  1. D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;
  1. DXGRID ; POPULATE THE DX GRID
  1. N OUT,%,SIEN,NODE,NEXT
  1. S NEXT="70470;1"
  1. S SIEN=$$SCHEMA("VEN MOJO DE DX DXHX")
  1. D SS^BMXADO(.OUT,SIEN,"","ASEG~"_NEXT_"~"_NEXT) ; GET SCHEMA
  1. D DISP(OUT) R %:$G(DTIME,60)
  1. K ^TMP("BMX ADO",$J)
  1. Q
  1. ;