Index: /ccr/trunk/rxnorm/trunk/routines/C0CRXNAD.m
===================================================================
--- /ccr/trunk/rxnorm/trunk/routines/C0CRXNAD.m	(revision 1769)
+++ /ccr/trunk/rxnorm/trunk/routines/C0CRXNAD.m	(revision 1770)
@@ -1,6 +1,29 @@
 C0CRXNAD ; VEN/SMH - Add a drug to VISTA from RxNorm;2013-04-19  5:39 PM
  ;;2.5;RXNORM FOR VISTA;;Apr 27, 2016;Build 17
- ; (C) 2013 Sam Habiel
- ; Proprietary Code. Don't use if license terms aren't supplied.
+ ; (C) 2016 Sam Habiel
+ ;
+ N X
+ R "Enter GCNSEQNO (with leading zeros): ",X:DTIME,!
+ E  QUIT
+ I X="" QUIT
+ I X="^" QUIT
+ N URL S URL="https://rxnav.nlm.nih.gov/REST/rxcui.json?idtype=GCN_SEQNO&id="_X
+ K ^TMP("C0CJSON",$J),^TMP("C0CARR1",$J)
+ N STATUS S STATUS=$$GETURL^XTHC10(URL,1,$NA(^TMP("C0CJSON",$J)))
+ I +STATUS'=200 W "ERROR",! QUIT
+ D DECODE^VPRJSON($NA(^TMP("C0CJSON",$J)),$NA(^TMP("C0CARR1",$J)))
+ N I F I=0:0 S I=$O(^TMP("C0CARR1",$J,"idGroup","rxnormId",I)) Q:'I  D
+ . N RXN S RXN=^TMP("C0CARR1",$J,"idGroup","rxnormId",I)
+ . S URL="https://rxnav.nlm.nih.gov/REST/rxcui/{RXN}/property.json?propName=VUID"
+ . N % S %("{RXN}")=RXN
+ . S URL=$$REPLACE^XLFSTR(URL,.%)
+ . K ^TMP("C0CJSON",$J),^TMP("C0CARR2",$J)
+ . N STATUS S STATUS=$$GETURL^XTHC10(URL,1,$NA(^TMP("C0CJSON",$J)))
+ . D DECODE^VPRJSON($NA(^TMP("C0CJSON",$J)),$NA(^TMP("C0CARR2",$J)))
+ . N DONE S DONE=0
+ . N J F J=0:0 S J=$O(^TMP("C0CARR2",$J,"propConceptGroup","propConcept",J)) Q:'J  D  Q:DONE
+ .. N VAPRDVUID S VAPRDVUID=^TMP("C0CARR2",$J,"propConceptGroup","propConcept",J,"propValue")
+ .. S DONE=$$ADDDRUG2(RXN,VAPRDVUID)
+ QUIT
  ;
 ADDDRUG(RXN,NDC,BARCODE) ; Public Proc; Add Drug to Drug File
@@ -14,6 +37,4 @@
  I $L($G(NDC)),$L(NDC)'=11 S $EC=",U1,"
  ;
- N PSSZ S PSSZ=1    ; Needed for the drug file to let me in!
- ;
  ; If RXN refers to a brand drug, get the generic instead.
  I $$ISBRAND^C0CRXNLK(RXN) S RXN=$$BR2GEN^C0CRXNLK(RXN)
@@ -23,4 +44,9 @@
  N VUID S VUID=+$$RXN2VUI^C0CRXNLK(RXN)
  Q:'VUID
+ G NEXT
+ADDDRUG2(RXN,VUID) ;
+NEXT ;
+ N PSSZ S PSSZ=1    ; Needed for the drug file to let me in!
+ ;
  W "(debug) VUID for RxNorm CUI "_RXN_" is "_VUID,!
  ;
@@ -45,5 +71,5 @@
  ;
  ; Brand Names
- N BNS S BNS=$$RXN2BNS^C0CRXNLK(RXN) ; Brands
+ N BNS S BNS="" ; S BNS=$$RXN2BNS^C0CRXNLK(RXN) ; Brands
  I $L(BNS) N I F I=1:1:$L(BNS,U) D
  . N IENS S IENS=I+2
