| 376 | | * Package File Entry Name is C0CR |
| | 376 | The following are technical details. |
| | 377 | |
| | 378 | === Package File Entry === |
| | 379 | |
| | 380 | === Dependencies === |
| | 381 | * Kernel 8 |
| | 382 | * Fileman 22 |
| | 383 | |
| | 384 | === Routine list === |
| | 385 | |
| | 386 | === Description of routines and overall flow === |
| | 387 | |
| | 388 | === Modifications to National VA distributed routines === |
| | 389 | None. |
| | 390 | |
| | 391 | ### File list |
| | 392 | None included. |
| | 393 | |
| | 394 | ### Exported Options |
| | 395 | None included. |
| | 396 | |
| | 397 | ### Archiving and Purging |
| | 398 | Not supported. |
| | 399 | |
| | 400 | ### Supported APIs |
| | 401 | |
| | 402 | ### External Interfaces, External Relations |
| | 403 | None |
| | 404 | |
| | 405 | ### Internal relations |
| | 406 | None. |
| | 407 | |
| | 408 | ### Package wide-variables |
| | 409 | None. |
| | 410 | |
| | 411 | ### Security |
| | 412 | This software implements no security of its own. It inherits pharmacy security. |
| | 413 | |
| | 414 | ### File Structure |
| | 415 | All files have only a zero node for each entry and correspond as much as possible to the RxNorm file format, except that the '|' has been substitued with a "^". The exception to that rule is when a file's first field cannot be the .01 because it's missing for some entries. In this case, the first field and a key field are switch so that the key field can be the .01. |
| | 416 | |
| | 417 | {{{ |
| | 418 | CONDENSED DATA DICTIONARY---RXNORM CONCEPT NAMES AND SOURCES FILE (#176.001)UCI: F201303,ICARUS |
| | 419 | |
| | 420 | STORED IN: ^C0CRXN(176.001, 11/21/13 PAGE 1 |
| | 421 | ------------------------------------------------------------------------------------------------------------------------------------ |
| | 422 | |
| | 423 | FILE SECURITY |
| | 424 | DD SECURITY : @ DELETE SECURITY: |
| | 425 | READ SECURITY : LAYGO SECURITY : |
| | 426 | WRITE SECURITY : @ |
| | 427 | CROSS REFERENCED BY: |
| | 428 | |
| | 429 | |
| | 430 | FILE #176.001 |
| | 431 | INDEXED BY: RXCUI (B), CODE (CODE), SAB & TTY & CODE & RXCUI (STC), STR (STR), SAB & TTY & RXCUI & CODE (STX) |
| | 432 | |
| | 433 | |
| | 434 | FILE STRUCTURE |
| | 435 | |
| | 436 | FIELD FIELD |
| | 437 | NUMBER NAME |
| | 438 | |
| | 439 | .01 RXCUI (RFJ8), [0;1] |
| | 440 | .02 LAT (RFJ3), [0;2] |
| | 441 | .03 TS (FJ1), [0;3] |
| | 442 | .04 LUI (FJ8), [0;4] |
| | 443 | .05 STT (FJ3), [0;5] |
| | 444 | .06 SUI (FJ8), [0;6] |
| | 445 | .07 ISPREF (FJ1), [0;7] |
| | 446 | .08 RXAUI (RFJ8), [0;8] |
| | 447 | .09 SAUI (FJ50), [0;9] |
| | 448 | .1 SCUI (FJ50), [0;10] |
| | 449 | .11 SDUI (FJ50), [0;11] |
| | 450 | .12 SAB (RFJ20), [0;12] |
| | 451 | .13 TTY (RFJ20), [0;13] |
| | 452 | .14 CODE (RFJ50), [0;14] |
| | 453 | .15 STR (RFJ3000), [0;15] |
| | 454 | .16 SRL (FJ10), [0;16] |
| | 455 | .17 SUPPRESS (FJ1), [0;17] |
| | 456 | .18 CVF (FJ50), [0;18] |
| | 457 | 50 COMPUTED DRUGS (Cmp50), [ ; ] |
| | 458 | |
| | 459 | |
| | 460 | |
| | 461 | CONDENSED DATA DICTIONARY---RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES FILE (#176.002)UCI: F201303,ICARUS |
| | 462 | |
| | 463 | STORED IN: ^C0CRXN(176.002, 11/21/13 PAGE 1 |
| | 464 | ------------------------------------------------------------------------------------------------------------------------------------ |
| | 465 | |
| | 466 | FILE SECURITY |
| | 467 | DD SECURITY : @ DELETE SECURITY: @ |
| | 468 | READ SECURITY : LAYGO SECURITY : @ |
| | 469 | WRITE SECURITY : @ |
| | 470 | CROSS REFERENCED BY: |
| | 471 | ATN(XATN) ATV(XATV) |
| | 472 | |
| | 473 | FILE #176.002 |
| | 474 | INDEXED BY: RXCUI & SAB & ATN & ATV (ANDFRT), SAB & ATN & ATV & RXCUI (ASAA), SAB & ATN & RXCUI & ATV (ASAR), RXCUI (RXCUI) |
| | 475 | |
| | 476 | |
| | 477 | FILE STRUCTURE |
| | 478 | |
| | 479 | FIELD FIELD |
| | 480 | NUMBER NAME |
| | 481 | |
| | 482 | .01 ATN (RFJ1000), [0;1] |
| | 483 | .02 LUI (FJ8), [0;2] |
| | 484 | .03 SUI (FJ8), [0;3] |
| | 485 | .04 RXAUI (FJ8), [0;4] |
| | 486 | .05 STYPE (FJ50), [0;5] |
| | 487 | .06 CODE (FJ50), [0;6] |
| | 488 | .07 ATUI (FJ11), [0;7] |
| | 489 | .08 SATUI (FJ50), [0;8] |
| | 490 | .09 RXCUI (FJ8), [0;9] |
| | 491 | .1 SAB (RFJ20), [0;10] |
| | 492 | .11 ATV (FJ4000), [0;11] |
| | 493 | .12 SUPPRESS (FJ1), [0;12] |
| | 494 | .13 CVF (FJ50), [0;13] |
| | 495 | |
| | 496 | |
| | 497 | |
| | 498 | CONDENSED DATA DICTIONARY---RXNORM SOURCE INFORMATION FILE (#176.003)UCI: F201303,ICARUS |
| | 499 | |
| | 500 | STORED IN: ^C0CRXN(176.003, 11/21/13 PAGE 1 |
| | 501 | ------------------------------------------------------------------------------------------------------------------------------------ |
| | 502 | |
| | 503 | FILE SECURITY |
| | 504 | DD SECURITY : @ DELETE SECURITY: @ |
| | 505 | READ SECURITY : LAYGO SECURITY : @ |
| | 506 | WRITE SECURITY : @ |
| | 507 | CROSS REFERENCED BY: |
| | 508 | RSAB(B) |
| | 509 | |
| | 510 | |
| | 511 | FILE STRUCTURE |
| | 512 | |
| | 513 | FIELD FIELD |
| | 514 | NUMBER NAME |
| | 515 | |
| | 516 | .01 RSAB (RFJ20), [0;1] |
| | 517 | .02 RCUI (FJ8), [0;2] |
| | 518 | .03 VSAB (FJ40), [0;3] |
| | 519 | .04 VCUI (FJ8), [0;4] |
| | 520 | .05 SON (FJ3000), [0;5] |
| | 521 | .06 SF (FJ20), [0;6] |
| | 522 | .07 SVER (FJ20), [0;7] |
| | 523 | .08 VSTART (FJ10), [0;8] |
| | 524 | .09 VEND (FJ10), [0;9] |
| | 525 | .1 IMETA (FJ10), [0;10] |
| | 526 | .11 RMETA (FJ10), [0;11] |
| | 527 | .12 SLC (FJ1000), [0;12] |
| | 528 | .13 SCC (FJ1000), [0;13] |
| | 529 | .14 SRL (NJ10,0), [0;14] |
| | 530 | .15 TFR (NJ10,0), [0;15] |
| | 531 | .16 CFR (NJ10,0), [0;16] |
| | 532 | .17 CXTY (FJ50), [0;17] |
| | 533 | .18 TTYL (FJ300), [0;18] |
| | 534 | .19 ATNL (FJ1000), [0;19] |
| | 535 | .2 LAT (FJ3), [0;20] |
| | 536 | .21 CENC (FJ20), [0;21] |
| | 537 | .22 CURVER (FJ1), [0;22] |
| | 538 | .23 SABIN (FJ1), [0;23] |
| | 539 | .24 SSN (FJ3000), [0;24] |
| | 540 | .25 SCIT (FJ4000), [0;25] |
| | 541 | |
| | 542 | |
| | 543 | |
| | 544 | CONDENSED DATA DICTIONARY---RXNORM SEMANTIC TYPES FILE (#176.004)UCI: F201303,ICARUS |
| | 545 | |
| | 546 | STORED IN: ^C0CRXN(176.004, 11/21/13 PAGE 1 |
| | 547 | ------------------------------------------------------------------------------------------------------------------------------------ |
| | 548 | |
| | 549 | FILE SECURITY |
| | 550 | DD SECURITY : @ DELETE SECURITY: @ |
| | 551 | READ SECURITY : LAYGO SECURITY : @ |
| | 552 | WRITE SECURITY : @ |
| | 553 | CROSS REFERENCED BY: |
| | 554 | RXNCUI(B) |
| | 555 | |
| | 556 | |
| | 557 | FILE STRUCTURE |
| | 558 | |
| | 559 | FIELD FIELD |
| | 560 | NUMBER NAME |
| | 561 | |
| | 562 | .01 RXNCUI (RFJ8), [0;1] |
| | 563 | .02 TUI (FJ4), [0;2] |
| | 564 | .03 STN (FJ100), [0;3] |
| | 565 | .04 STY (FJ50), [0;4] |
| | 566 | .05 ATUI (FJ11), [0;5] |
| | 567 | .06 CVF (FJ50), [0;6] |
| | 568 | |
| | 569 | |
| | 570 | |
| | 571 | CONDENSED DATA DICTIONARY---RXNORM RELATED CONCEPTS FILE (#176.005)UCI: F201303,ICARUS |
| | 572 | |
| | 573 | STORED IN: ^C0CRXN(176.005, 11/21/13 PAGE 1 |
| | 574 | ------------------------------------------------------------------------------------------------------------------------------------ |
| | 575 | |
| | 576 | FILE SECURITY |
| | 577 | DD SECURITY : @ DELETE SECURITY: @ |
| | 578 | READ SECURITY : LAYGO SECURITY : @ |
| | 579 | WRITE SECURITY : @ |
| | 580 | CROSS REFERENCED BY: |
| | 581 | |
| | 582 | |
| | 583 | FILE #176.005 |
| | 584 | INDEXED BY: RXCUI1 & RELA & RXCUI2 (B) |
| | 585 | |
| | 586 | |
| | 587 | FILE STRUCTURE |
| | 588 | |
| | 589 | FIELD FIELD |
| | 590 | NUMBER NAME |
| | 591 | |
| | 592 | .01 SAB (RFJ20), [0;1] |
| | 593 | .02 RXAUI1 (FJ8), [0;2] |
| | 594 | .03 STYPE1 (FJ50), [0;3] |
| | 595 | .04 REL (FJ4), [0;4] |
| | 596 | .05 RXCUI2 (FJ8), [0;5] |
| | 597 | .06 RXAUI2 (FJ8), [0;6] |
| | 598 | .07 STYPE2 (FJ50), [0;7] |
| | 599 | .08 RELA (FJ100), [0;8] |
| | 600 | .09 RUI (FJ10), [0;9] |
| | 601 | .1 SRUI (FJ50), [0;10] |
| | 602 | .11 RXCUI1 (FJ8), [0;11] |
| | 603 | .12 SL (FJ1000), [0;12] |
| | 604 | .13 DIR (FJ1), [0;13] |
| | 605 | .14 RG (FJ10), [0;14] |
| | 606 | .15 SUPPRESS (FJ1), [0;15] |
| | 607 | .16 CVF (FJ50), [0;16] |
| | 608 | |
| | 609 | |
| | 610 | |
| | 611 | CONDENSED DATA DICTIONARY---RXNORM DOCUMENTATION FOR ABBREVIATED VALUES FILE (#176.006)UCI: F201303,ICARUS |
| | 612 | |
| | 613 | STORED IN: ^C0CRXN(176.006, 11/21/13 PAGE 1 |
| | 614 | ------------------------------------------------------------------------------------------------------------------------------------ |
| | 615 | |
| | 616 | FILE SECURITY |
| | 617 | DD SECURITY : @ DELETE SECURITY: @ |
| | 618 | READ SECURITY : LAYGO SECURITY : @ |
| | 619 | WRITE SECURITY : @ |
| | 620 | CROSS REFERENCED BY: |
| | 621 | DOCKEY(B) |
| | 622 | |
| | 623 | |
| | 624 | FILE STRUCTURE |
| | 625 | |
| | 626 | FIELD FIELD |
| | 627 | NUMBER NAME |
| | 628 | |
| | 629 | .01 DOCKEY (RFJ50), [0;1] |
| | 630 | .02 VALUE (FJ1000), [0;2] |
| | 631 | .03 TYPE (FJ50), [0;3] |
| | 632 | .04 EXPL (FJ1000), [0;4] |
| | 633 | |
| | 634 | }}} |
| | 635 | |
| | 636 | A crucial part of speed in the RxNorm operations is the extensive indexing on the files. What follows are the defined new-style |
| | 637 | indexes: |
| | 638 | |
| | 639 | {{{ |
| | 640 | NEW-STYLE INDEX LIST -- FILE #176.001 11/21/13 PAGE 1 |
| | 641 | ----------------------------------------------------------------------------------------------------------------------------------- |
| | 642 | |
| | 643 | File #176.001 |
| | 644 | |
| | 645 | New-Style Indexes: |
| | 646 | |
| | 647 | B (#983) FIELD REGULAR IR LOOKUP & SORTING |
| | 648 | Short Descr: Regular B Index |
| | 649 | Set Logic: S ^C0CRXN(176.001,"B",X,DA)="" |
| | 650 | Kill Logic: K ^C0CRXN(176.001,"B",X,DA) |
| | 651 | Whole Kill: K ^C0CRXN(176.001,"B") |
| | 652 | X(1): RXCUI (176.001,.01) (Subscr 1) (forwards) |
| | 653 | |
| | 654 | CODE (#1020) FIELD REGULAR IR LOOKUP & SORTING |
| | 655 | Short Descr: Code Index |
| | 656 | Set Logic: S ^C0CRXN(176.001,"CODE",X,DA)="" |
| | 657 | Kill Logic: K ^C0CRXN(176.001,"CODE",X,DA) |
| | 658 | Whole Kill: K ^C0CRXN(176.001,"CODE") |
| | 659 | X(1): CODE (176.001,.14) (Subscr 1) (forwards) |
| | 660 | |
| | 661 | STC (#1021) RECORD MUMPS IR LOOKUP & SORTING |
| | 662 | Short Descr: Source Term Type Code Index |
| | 663 | Description: Use this index to do compound searches on RxNorm Concepts. |
| | 664 | |
| | 665 | Examples: SAB="NDDF", TTY="CDC", CODE={GCN} will give you the entry a clinical drug in First Database with GCN |
| | 666 | Code {GCN}. |
| | 667 | |
| | 668 | SAB="RXNORM", TTY="SCD", CODE={RXNORM} will give you the entry that is the Semantic Clinical Drug for the |
| | 669 | RxNorm code. |
| | 670 | |
| | 671 | SAB="VANDF", TTY="CD", CODE={VUID} will give you a drug that has that VUID. |
| | 672 | Set Logic: S ^C0CRXN(176.001,"STC",X(1),X(2),X(3),DA)=X(4) |
| | 673 | Kill Logic: K ^C0CRXN(176.001,"STC",X(1),X(2),X(3),DA) |
| | 674 | Whole Kill: K ^C0CRXN(176.001,"STC") |
| | 675 | X(1): SAB (176.001,.12) (Subscr 1) (forwards) |
| | 676 | X(2): TTY (176.001,.13) (Subscr 2) (forwards) |
| | 677 | X(3): CODE (176.001,.14) (Subscr 3) (forwards) |
| | 678 | X(4): RXCUI (176.001,.01) (forwards) |
| | 679 | |
| | 680 | STR (#1022) FIELD REGULAR IR LOOKUP & SORTING |
| | 681 | Short Descr: String Lookup Index |
| | 682 | Set Logic: S ^C0CRXN(176.001,"STR",$E(X,1,30),DA)="" |
| | 683 | Kill Logic: K ^C0CRXN(176.001,"STR",$E(X,1,30),DA) |
| | 684 | Whole Kill: K ^C0CRXN(176.001,"STR") |
| | 685 | X(1): STR (176.001,.15) (Subscr 1) (Len 30) (forwards) |
| | 686 | Transform (Storage): S X=$$UP^XLFSTR(X) |
| | 687 | Transform (Lookup): S X=$$UP^XLFSTR(X) |
| | 688 | |
| | 689 | STX (#1023) RECORD MUMPS IR LOOKUP & SORTING |
| | 690 | Short Descr: Source Term Type RxCUI Code Index |
| | 691 | Description: Use this index as a reverse of the STC index. |
| | 692 | |
| | 693 | The STC index will give you an entry if you know the source and the type and the code. This index will give you |
| | 694 | the codes if you know the source, the type, but not the code, but rather the RxNorm code. |
| | 695 | Set Logic: S ^C0CRXN(176.001,"STX",X(1),X(2),X(3),DA)=X(4) |
| | 696 | Kill Logic: K ^C0CRXN(176.001,"STX",X(1),X(2),X(3),DA) |
| | 697 | Whole Kill: K ^C0CRXN(176.001,"STX") |
| | 698 | X(1): SAB (176.001,.12) (Subscr 1) (forwards) |
| | 699 | X(2): TTY (176.001,.13) (Subscr 2) (forwards) |
| | 700 | X(3): RXCUI (176.001,.01) (Subscr 3) (forwards) |
| | 701 | X(4): CODE (176.001,.14) (forwards) |
| | 702 | |
| | 703 | NEW-STYLE INDEX LIST -- FILE #176.002 11/21/13 PAGE 1 |
| | 704 | ----------------------------------------------------------------------------------------------------------------------------------- |
| | 705 | |
| | 706 | File #176.002 |
| | 707 | |
| | 708 | New-Style Indexes: |
| | 709 | |
| | 710 | ANDFRT (#1024) RECORD REGULAR IR SORTING ONLY |
| | 711 | Short Descr: RxNorm NDFRT Index |
| | 712 | Set Logic: S ^C0CRXN(176.002,"ANDFRT",X(1),$E(X(3),1,30),$E(X(4),1,30),DA)="" |
| | 713 | Set Cond: S X=X(2)="NDFRT" |
| | 714 | Kill Logic: K ^C0CRXN(176.002,"ANDFRT",X(1),$E(X(3),1,30),$E(X(4),1,30),DA) |
| | 715 | Kill Cond: S X=X(2)="NDFRT" |
| | 716 | Whole Kill: K ^C0CRXN(176.002,"ANDFRT") |
| | 717 | X(1): RXCUI (176.002,.09) (Subscr 1) (forwards) |
| | 718 | X(2): SAB (176.002,.1) (forwards) |
| | 719 | X(3): ATN (176.002,.01) (Subscr 2) (Len 30) (forwards) |
| | 720 | X(4): ATV (176.002,.11) (Subscr 3) (Len 30) (forwards) |
| | 721 | |
| | 722 | ASAA (#1025) RECORD MUMPS IR SORTING ONLY |
| | 723 | Short Descr: SAB (Source) ATN (Attribute Name) ATV (Value) Index |
| | 724 | Set Logic: S ^C0CRXN(176.002,"ASAA",X(1),$E(X(2),1,30),$E(X(3),1,30),DA)=X(4) |
| | 725 | Kill Logic: K ^C0CRXN(176.002,"ASAA",X(1),$E(X(2),1,30),$E(X(3),1,30),DA) |
| | 726 | Whole Kill: K ^C0CRXN(176.002,"ASAA") |
| | 727 | X(1): SAB (176.002,.1) (Subscr 1) (forwards) |
| | 728 | X(2): ATN (176.002,.01) (Subscr 2) (Len 30) (forwards) |
| | 729 | X(3): ATV (176.002,.11) (Subscr 3) (Len 30) (forwards) |
| | 730 | X(4): RXCUI (176.002,.09) (forwards) |
| | 731 | |
| | 732 | ASAR (#1026) RECORD MUMPS IR SORTING ONLY |
| | 733 | Short Descr: SAB (Source) ATN (Attribute Name) RxCUI Index |
| | 734 | Set Logic: S ^C0CRXN(176.002,"ASAR",X(1),$E(X(2),1,30),X(3),DA)=X(4) |
| | 735 | Kill Logic: K ^C0CRXN(176.002,"ASAR",X(1),$E(X(2),1,30),X(3),DA) |
| | 736 | Whole Kill: K ^C0CRXN(176.002,"ASAR") |
| | 737 | X(1): SAB (176.002,.1) (Subscr 1) (forwards) |
| | 738 | X(2): ATN (176.002,.01) (Subscr 2) (Len 30) (forwards) |
| | 739 | X(3): RXCUI (176.002,.09) (Subscr 3) (forwards) |
| | 740 | X(4): ATV (176.002,.11) (forwards) |
| | 741 | |
| | 742 | RXCUI (#1027) FIELD REGULAR IR LOOKUP & SORTING |
| | 743 | Short Descr: RXCUI Index |
| | 744 | Set Logic: S ^C0CRXN(176.002,"RXCUI",X,DA)="" |
| | 745 | Kill Logic: K ^C0CRXN(176.002,"RXCUI",X,DA) |
| | 746 | Whole Kill: K ^C0CRXN(176.002,"RXCUI") |
| | 747 | X(1): RXCUI (176.002,.09) (Subscr 1) (forwards) |
| | 748 | |
| | 749 | NEW-STYLE INDEX LIST -- FILE #176.003 11/21/13 PAGE 1 |
| | 750 | ----------------------------------------------------------------------------------------------------------------------------------- |
| | 751 | |
| | 752 | NEW-STYLE INDEX LIST -- FILE #176.004 11/21/13 PAGE 1 |
| | 753 | ----------------------------------------------------------------------------------------------------------------------------------- |
| | 754 | |
| | 755 | NEW-STYLE INDEX LIST -- FILE #176.005 11/21/13 PAGE 1 |
| | 756 | ----------------------------------------------------------------------------------------------------------------------------------- |
| | 757 | |
| | 758 | File #176.005 |
| | 759 | |
| | 760 | New-Style Indexes: |
| | 761 | |
| | 762 | B (#1028) RECORD REGULAR IR LOOKUP & SORTING |
| | 763 | Short Descr: Compound Index for RXCUI1/RELA/RXCUI2 |
| | 764 | Set Logic: S ^C0CRXN(176.005,"B",X(1),X(2),X(3),DA)="" |
| | 765 | Kill Logic: K ^C0CRXN(176.005,"B",X(1),X(2),X(3),DA) |
| | 766 | Whole Kill: K ^C0CRXN(176.005,"B") |
| | 767 | X(1): RXCUI1 (176.005,.11) (Subscr 1) (forwards) |
| | 768 | X(2): RELA (176.005,.08) (Subscr 2) (forwards) |
| | 769 | X(3): RXCUI2 (176.005,.05) (Subscr 3) (forwards) |
| | 770 | |
| | 771 | NEW-STYLE INDEX LIST -- FILE #176.006 11/21/13 PAGE 1 |
| | 772 | ----------------------------------------------------------------------------------------------------------------------------------- |
| | 773 | }}} |