Hey all, I've come to that time in my life where someone needs to sit me down and tell me all about.... well... fileman cross-references. And I specifically want to know how to fill them with the data I want.
Let me set up my situation first. I am trying to understand the linkages between files etc. that make up the pharmacy package. Currently, with Dave Whitten's help, I have one drug that shows up when I try to add a new drug in CPRS. Here is an overview of the steps that go behind getting information about the drug to show up in CPRS. 1. CPRS is given a list of available drugs. This list is stored in File 101.44 (ORDER QUICK VIEW). In my example, diltiazem is stored as an option like this: 44^DILTIAZEM. This 44 is the IEN of the Rx in file 101.43 (ORDERABLE ITEM). 2. During lookup, it uses record/entry# 44 from 101.43, and gets the ID field (field 2). This is supposed to have a format like this: 'package code;99XXX' where XXX indicates the package table originating this item (i.e. RAP,LRT,etc.). In my example, the code was 1. 3. This package code is then used to access a cross reference in file #50 (DRUG file, ^PSDRUG). It accesses it like this: $order(^PSDRUG("ASP",1,0)), where 1 is the package code from above. Because I have only one drug installed, there is only one item in this cross-reference. This is 3819. Thus ^PSDRUG("ASP",1,3819)="". 4. This "3819" from above is the IEN of the drug in the DRUG file. From this entry, the available dosages etc. are available. 5. So to make drugs available in CPRS, file #50 (DRUG file) must not only have the drug defined, but there must also be entries entries in the "ASP" cross reference. -------------- OK, that's the setting. Now, what I have been able to figure out 1. When I lookup information about the "ASP" cross-reference in VPE, I see only this info about the index: Index File Fields *ASP 50 PHARMACY ORDERABLE ITEM (#2.1) So I look it up in the Fileman data dictionary utilities and get this information: ASP REGULAR Field: PHARMACY ORDERABLE ITEM (50,2.1) Description: Cross-reference to PHARMACY ORDERABLE ITEM file #50.7. 1)= S ^PSDRUG("ASP",$E(X,1,30),DA)="" 2)= K ^PSDRUG("ASP",$E(X,1,30),DA) 3)= Do not delete ------------- So here are my questions: 1. Apparently there is some M code associated with each cross-reference. When is this code executed? 2. Where is this code stored? When I look in ^DD, I find only ^DD(50,0,"IX","ASP",50,2.1)="" and ^DD(50,"IX",2.1)="" 3. From above, it looks like there is separate 'setting' code and 'killing' code. Is this true? 4. How is the cross-reference filled? -- I think I just figured out the answer on this one. It occurs when a value is put into field 2.1 in one of the file #50 records. I think I have more questions, but that's enough for now.. Thanks Kevin __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members