1--$Revision: 1.2 $
2--********************************************************************
3--
4--  Network MEDLINE Archive message formats
5--  Ostell 1993
6--
7--
8--*********************************************************************
9--
10--  mla.asn
11--
12--     messages for medline archive data access
13--
14--*********************************************************************
15
16NCBI-MedArchive DEFINITIONS ::=
17BEGIN
18
19IMPORTS Medline-entry FROM NCBI-Medline
20        Medlars-entry FROM NCBI-Medlars
21        Pubmed-entry FROM NCBI-PubMed
22        Medline-si FROM NCBI-Medline
23        Pub FROM NCBI-Pub
24        Title, PubMedId FROM NCBI-Biblio;
25
26        --**********************************
27        -- requests
28        --
29
30Mla-request ::= CHOICE {
31    init [0] NULL,              -- DlInit
32    getmle [1] INTEGER,         -- get MedlineEntry
33    getpub [2] INTEGER,         -- get citation by muid
34    gettitle [3] Title-msg,     -- match titles
35    citmatch [4] Pub,           --
36    fini [5] NULL,              -- DlFini
37    getmriuids [6] INTEGER,     -- Get MUIDs for an MRI
38    getaccuids [7] Medline-si,  -- Get MUIDs for an Accessions
39    uidtopmid [8] INTEGER,      -- get PMID for MUID
40    pmidtouid [9] PubMedId,     -- get MUID for PMID
41    getmlepmid [10] PubMedId,   -- get MedlineEntry by PubMed id
42    getpubpmid [11] PubMedId,   -- get citation by PubMed id
43    citmatchpmid [12] Pub,      -- citation match, PMID on out
44    getmripmids [13] INTEGER,   -- get PMIDs for an MRI
45    getaccpmids [14] Medline-si,-- get PMIDs for an Accessions
46    citlstpmids [15] Pub,       -- generate list of PMID for Pub
47    getmleuid [16] INTEGER,     -- get MedlineEntry by Medline id
48    getmlrpmid [17] PubMedId,   -- get MedlarsEntry by PubMed id
49    getmlruid [18] INTEGER      -- get MedlarsEntry by Medline id
50    }
51
52--**********************************************************************
53--
54--  if request = all
55--	if one row returned
56--	   reply=all, return every column
57--	else
58--	   reply=ml-jta for each row
59--
60--  if request = not-set, reply=ml-jta
61--
62--  otherwise,
63--	if request != ml-jta
64--	   if column exist, reply=column, else reply=ml-jta
65--
66--**********************************************************************
67
68Title-type ::= ENUMERATED {
69    not-set (0),                -- request=ml-jta (default), reply=not-found
70    name (1),
71    tsub (2),
72    trans (3),
73    jta (4),
74    iso-jta (5),
75    ml-jta (6),
76    coden (7),
77    issn (8),
78    abr (9),
79    isbn (10),
80    all (255)
81    }
82
83Title-msg ::= SEQUENCE {         -- Title match request/response
84    type Title-type,             -- type to get, or type returned
85    title Title                  -- title(s) to look up, or title(s) found
86    }
87
88Title-msg-list ::= SEQUENCE {
89    num INTEGER,                 -- number of titles
90    titles SEQUENCE OF Title-msg
91    }
92
93Error-val ::= ENUMERATED {
94    not-found (0),               -- Entry was not found
95    operational-error (1),       -- A run-time operation error was occurred
96    cannot-connect-jrsrv (2),    -- Cannot connect to Journal server
97    cannot-connect-pmdb (3),     -- Cannot connect to PubMed
98    journal-not-found (4),       -- Journal title not found
99    citation-not-found (5),      -- Volume, Page and Author do not match any
100                                 -- article
101    citation-ambiguous (6),      -- More than one article found
102    citation-too-many (7),       -- Too many article was found
103
104    cannot-connect-searchbackend-jrsrv(8),	-- Cannot connect to searchbackend Journals db
105    cannot-connect-searchbackend-pmdb(9),	-- Cannot connect to searchbackend PubMed db
106    cannot-connect-docsumbackend(10)		-- Cannot connect to docsumbackend
107    }
108
109Mla-back ::= CHOICE {
110    init [0] NULL,                   -- DlInit
111    error [1] Error-val,             -- not found for getmle/getpub/citmatch
112    getmle [2] Medline-entry,        -- got Medline Entry
113    getpub [3] Pub,
114    gettitle [4] Title-msg-list,     -- match titles
115    citmatch [5] INTEGER,            -- citation lookup muid or 0
116    fini [6] NULL,                   -- DlFini
117    getuids [7] SEQUENCE OF INTEGER, -- got a set of MUIDs
118    getpmids [8] SEQUENCE OF INTEGER,-- got a set of PMIDs
119    outuid [9] INTEGER,              -- result muid or 0 if not found
120    outpmid [10] PubMedId,           -- result pmid or 0 if not found
121    getpme [11] Pubmed-entry,        -- got Pubmed Entry
122    getmlr [12] Medlars-entry        -- got Medlars Entry
123    }
124
125END
126