1 /*  tomedlin.h
2 * ===========================================================================
3 *
4 *                            PUBLIC DOMAIN NOTICE
5 *               National Center for Biotechnology Information
6 *
7 *  This software/database is a "United States Government Work" under the
8 *  terms of the United States Copyright Act.  It was written as part of
9 *  the author's official duties as a United States Government employee and
10 *  thus cannot be copyrighted.  This software/database is freely available
11 *  to the public for use. The National Library of Medicine and the U.S.
12 *  Government have not placed any restriction on its use or reproduction.
13 *
14 *  Although all reasonable efforts have been taken to ensure the accuracy
15 *  and reliability of the software and data, the NLM and the U.S.
16 *  Government do not and cannot warrant the performance or results that
17 *  may be obtained by using this software or data. The NLM and the U.S.
18 *  Government disclaim all warranties, express or implied, including
19 *  warranties of performance, merchantability or fitness for any particular
20 *  purpose.
21 *
22 *  Please cite the author in any work or product based on this material.
23 *
24 * ===========================================================================
25 *
26 * File Name:  tomedlin.h
27 *
28 * Author:  Jonathan Kans
29 *
30 * Version Creation Date: 10/15/91
31 *
32 * $Revision: 6.2 $
33 *
34 * File Description:  conversion to medlars format
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * Date	   Name        Description of modification
39 * -------  ----------  -----------------------------------------------------
40 *
41 *
42 * $Log: tomedlin.h,v $
43 * Revision 6.2  2003/09/28 20:22:47  kans
44 * added PubmedEntryToXXXFile functions
45 *
46 * Revision 6.1  1997/12/22 18:51:23  grisha
47 * update unit-record number for PmId to 969
48 *
49 * Revision 6.0  1997/08/25 18:07:58  madden
50 * Revision changed to 6.0
51 *
52 * Revision 5.4  1997/06/19 18:39:30  vakatov
53 * [WIN32,MSVC++]  Adopted for the "NCBIOBJ.LIB" DLL'ization
54 *
55 * Revision 5.3  1997/04/10 20:29:25  levitsky
56 * MEDLINE fields codes added
57 *
58  * Revision 5.2  1997/02/20  21:25:17  kans
59  * added MedlineEntryToAbsFile and MedlarsEntryToAbsFile
60  *
61  * Revision 5.1  1997/02/12  21:30:02  grisha
62  * add code to support MEDLARS report generation
63  * for MedlarsEntry
64  *
65  * Revision 5.0  1996/05/28  13:23:23  ostell
66  * Set to revision 5.0
67  *
68  * Revision 4.0  1995/07/26  13:49:01  ostell
69  * force revision to 4.0
70  *
71  * Revision 2.2  1995/05/15  21:46:05  ostell
72  * added Log line
73  *
74 *
75 *
76 * ==========================================================================
77 */
78 
79 #ifndef _NCBI_Tomedlin_
80 #define _NCBI_Tomedlin_
81 
82 #include <objmedli.h>
83 #include <objmdrs.h>
84 #include <objpubme.h>
85 
86 #define MEDLINE_BADCODE 0 /* BAD                             */
87 #define MEDLINE_EOF -1  /* END OF ENTRY                      */
88 #define MEDLINE_DA 100 /* DATE OF ENTRY                     */
89 #define MEDLINE_RO 101 /* RECORD ORIGINATOR                 */
90 #define MEDLINE_LR 102 /* LAST REVISION DATE                */
91 #define MEDLINE_CU 103 /* CLASSUP DATE                      */
92 #define MEDLINE_RN 261 /* CAS REGISTRY NUMBER               */
93 #define MEDLINE_IS 301 /* INTL STAND SER NO                 */
94 #define MEDLINE_TA 305 /* TITLE ABBREVIATION                */
95 #define MEDLINE_LA 306 /* LANGUAGE                          */
96 #define MEDLINE_CY 307 /* COUNTRY NAME                      */
97 #define MEDLINE_ZN 308 /* MESH Z TREE NUMBER                */
98 #define MEDLINE_JC 320 /* JOURNAL TITLE CODE                */
99 #define MEDLINE_PY 323 /* INDEXING PRIORITY                 */
100 #define MEDLINE_SB 324 /* JOURNAL SUBSET                    */
101 #define MEDLINE_GS 328 /* GENE SYMBOL                       */
102 #define MEDLINE_LI 329 /* SPECIAL LIST IND                  */
103 #define MEDLINE_UI 350 /* UNIQUE IDENTIFIER                 */
104 #define MEDLINE_MH 351 /* MESH HEADING                      */
105 #define MEDLINE_TI 352 /* TITLE                             */
106 #define MEDLINE_PG 353 /* PAGINATION                        */
107 #define MEDLINE_DP 354 /* DATE OF PUBLICATION               */
108 #define MEDLINE_PT 360 /* PUBLICATION TYPE                  */
109 #define MEDLINE_MRI 368 /* MACHINE-READABLE ID               */
110 #define MEDLINE_NP 369 /* NOT FOR PUBLICATION               */
111 #define MEDLINE_AB 370 /* ABSTRACT                          */
112 #define MEDLINE_AA 371 /* ABSTRACT AUTHOR                   */
113 #define MEDLINE_AU 372 /* AUTHOR                            */
114 #define MEDLINE_IP 373 /* ISSUE/PART/SUPP                   */
115 #define MEDLINE_NI 376 /* NO-AUTHOR INDICATOR               */
116 #define MEDLINE_RF 377 /* NUMBER OF REFS                    */
117 #define MEDLINE_AD 378 /* ADDRESS                           */
118 #define MEDLINE_PS 379 /* PERSONAL NAME AS SUBJECT          */
119 #define MEDLINE_TT 380 /* TRANSLIT/VERNAC TITLE             */
120 #define MEDLINE_VI 381 /* VOLUME/ISSUE                      */
121 #define MEDLINE_EA 382 /* ENGLISH ABSTRACT INDEX            */
122 #define MEDLINE_EM 383 /* ENTRY MONTH                       */
123 #define MEDLINE_CM 440 /* COMMENTS                          */
124 #define MEDLINE_CA 525 /* CALL NUMBER                       */
125 #define MEDLINE_SI 606 /* SECONDARY SOURCE ID               */
126 #define MEDLINE_ID 640 /* ID NUMBER                         */
127 #define MEDLINE_PM 969 /* PUBMED ARTICLE ID                 */
128 #define MEDLINE_PMOFF   4096    /* ALL INTERNAL PUBMED IDS STARTED FROM HERE */
129 #define MEDLINE_PAID 4097 /* PUBLISHER ARTICLE ID              */
130 
131 /* Define the codes specific to identifying Monographs in the JC/TA fields */
132 #define MEDLINE_MONOGRAPH_JC "IDM"
133 #define MEDLINE_MONOGRAPH_TA "(Monograph)"
134 
135 #undef NLM_EXTERN
136 #ifdef NLM_IMPORT
137 #define NLM_EXTERN NLM_IMPORT
138 #else
139 #define NLM_EXTERN extern
140 #endif
141 
142 #ifdef __cplusplus
143 extern "C" {
144 #endif
145 
146 typedef struct medlinedata {
147   CharPtr  journal;
148   CharPtr  volume;
149   CharPtr  pages;
150   CharPtr  year;
151   CharPtr  title;
152   CharPtr  transl;
153   CharPtr  authors;
154   CharPtr  affil;
155   CharPtr  abstract;
156   CharPtr  mesh;
157   CharPtr  gene;
158   CharPtr  substance;
159   CharPtr  uid;
160 } MedlineData, PNTR MedlinePtr;
161 
162 NLM_EXTERN Boolean MedlineEntryToDataFile PROTO((MedlineEntryPtr mep, FILE *fp));
163 NLM_EXTERN Boolean MedlineEntryToDocFile PROTO((MedlineEntryPtr mep, FILE *fp));
164 NLM_EXTERN Boolean MedlineEntryToAbsFile PROTO((MedlineEntryPtr mep, FILE *fp));
165 
166 NLM_EXTERN Boolean MedlarsEntryToDataFile PROTO((MedlarsEntryPtr mep, FILE *fp));
167 NLM_EXTERN Boolean MedlarsEntryToDocFile PROTO((MedlarsEntryPtr mep, FILE *fp));
168 NLM_EXTERN Boolean MedlarsEntryToAbsFile PROTO((MedlarsEntryPtr mep, FILE *fp));
169 
170 NLM_EXTERN Boolean PubmedEntryToDataFile PROTO((PubmedEntryPtr pep, FILE *fp));
171 NLM_EXTERN Boolean PubmedEntryToDocFile PROTO((PubmedEntryPtr pep, FILE *fp));
172 NLM_EXTERN Boolean PubmedEntryToAbsFile PROTO((PubmedEntryPtr pep, FILE *fp));
173 
174 NLM_EXTERN MedlinePtr ParseMedline PROTO((MedlineEntryPtr mep));
175 NLM_EXTERN MedlinePtr FreeMedline PROTO((MedlinePtr mPtr));
176 
177 #ifdef __cplusplus
178 }
179 #endif
180 
181 #undef NLM_EXTERN
182 #ifdef NLM_EXPORT
183 #define NLM_EXTERN NLM_EXPORT
184 #else
185 #define NLM_EXTERN
186 #endif
187 
188 #endif
189