This page describes the basic REST API for working with reviews stored in Archie. This API is interfacing with Archie's XML review document store and is therefore also XML based and works on whole reviews (in RM5 format).
A more granular API, where review sections can be accessed individually, is being designed to interface with the new review database. The new API is expected to replace this API at some point.
Endpoints
All endpoints require a secure connection (HTTPS). If a plain HTTP connection is attempted an error status code 403 (forbidden) is returned.
Authentication must be provided as either HTTP Basic authentication or as Bearer authentication using an OAuth 2.0 access token. If authentication is missing an error status code 401 (unauthorized) is returned.
Possible error codes are:
- 400 (bad request): If there is a problem with syntax of the request.
- 401 (unauthorized): If authentication is missing or incorrect.
- 403 (forbidden): If the user is not authorized to access the review, if the connection is not secure, or if the user is denied access for other reasons than authentication.
- 404 (not found): If no review with the given ID exists.
- 409 (conflict): In case of a check in/out conflict, e.g. if a user tries to check out a review that another user has checked out already.
- 500 (internal server error): In case of an unexpected problem on the server.
For the test version of each endpoint, replace archie.cochrane.org with test-archie.cochrane.org.
Encoding of response
You can specify an Accept header to control the returned encoding, e.g:
Accept: application/xml;charset=iso-8859-1
or
Accept: application/xml;charset=utf-8
If you don't specify an Accept header you must be able to deal with either encoding.
Getting a review
Returned MIME type is "application/xml". The response body contains the review in XML format.
Last published version using CD number
GET https://archie.cochrane.org/rest/reviews/{CD Number}
Example:
GET https://archie.cochrane.org/rest/reviews/CD000004
Last published version using Review ID
GET https://archie.cochrane.org/rest/reviews/{Review ID}
Example:
GET https://archie.cochrane.org/rest/reviews/047199081020060395
Latest version using Review ID
GET https://archie.cochrane.org/rest/reviews/{Review ID}/latest
Example:
GET https://archie.cochrane.org/rest/reviews/047199081020060395/latest
Specific version using Review ID
GET https://archie.cochrane.org/rest/reviews/{Review ID}/{Version}
Example:
GET https://archie.cochrane.org/rest/reviews/047199081020060395/7.0
Checking a review out
Returned MIME type is "application/xml".
PUT https://archie.cochrane.org/rest/reviews/{Review ID}/latest
The body of the request should be empty.
Example:
PUT https://archie.cochrane.org/rest/reviews/047199081020060395/latest
The response body contains the review in XML format.
Note: this is a PUT request since it is changing the state of the review.
Checking a review in
Returned MIME type is "application/json".
PUT https://archie.cochrane.org/rest/reviews/{Review ID}?tag={version description}
The review in XML (RM5) format must be provided in the body of the request.
The response body contains a plain text report from the check-in.
Example
PUT https://archie.cochrane.org/rest/reviews/047199081020060395?tag=New%20studies%20added
Undoing a check-out
PUT https://archie.cochrane.org/rest/reviews/{Review ID}/latest/undo
The body of the request should be empty.
The response body will be empty.
Example
PUT https://archie.cochrane.org/rest/reviews/047199081020060395/latest/undo
Getting lists of reviews / searching
The base request for getting a list of reviews is:
GET https://archie.cochrane.org/rest/reviews
This will return all published reviews in Archie, so for most purposes a filter based on XPath or additional query parameters is required.
The response is an XML document listing the key attributes and properties of each review, and a link for accessing the full review, e.g.:
<reviews count="15">
<review cdNumber="CD000243" groupId="ARI" reviewId="482299081614134252" searchDate="2013-03-20" stage="R" status="A"checkedOut="true">
<link href="https://test-archie.cochrane.org/rest/reviews/CD000243" rel="self" type="application/xml"/>
<title>Antibiotics for acute maxillary sinusitis in adults</title>
<byline>Ahovuo-Saloranta A, Rautakorpi U-M, Borisenko OV, Liira H, Williams Jr JW, Mäkelä M</byline>
<group>Acute Respiratory Infections Group</group>
</review>
...
</reviews>
Query parameters
The following query parameters can be used to restrict the search:
- groupId (e.g. ARI for Acute Respiratory, see Review Group IDs below): Restrict search to reviews belonging to the specified review group. Default is any group.
- stage (R = full Review, P = Protocol, T = Title): Restrict search by review stage. Default is any stage. T is only relevant in combination with published=false.
- status (A = Active, W = Withdrawn): Restrict search by status. Default is any status.
- phase (A=Authoring, E=Editorial): Restrict search by phase. Default is any phase.
- myRole (e.g. myRole=Author): Restrict search to reviews for which the authenticated user has the given role. Default is that roles are not considered.
- myPermission (e.g myPermission=write_authoring, see Permission below): Restrict search to reviews for which the authenticated user has the given permission. Default is View permission (view).
- startSearchDate (format {yyyy-MM-dd}, e.g. startSearchDate=2014-05-31): Restrict search to reviews with a search date on or after the specified date. Default is any date.
- published (true or false). Default is true, which means that only published reviews are returned. If published=false, titles and unpublished protocols are also returned.
- issueId (e.g. 2014-1). Limit search to reviews appearing in a specific issue of The Cochrane Library (needs testing).
XPath/XQuery
In addition to query parameters, an XPath or XQuery expression can also be used to restrict the search.
The base URL is:
https://archie.cochrane.org/rest/reviews/xpath/{count expression | exist expression}
The default is exist, which can be left out.
Example 1, reviews that contain a Summary of Findings table:
https://archie.cochrane.org/rest/reviews/xpath/exist(//SOF_TABLE)
Example 2, reviews from the ARI group with more than one Summary of Findings table:
https://archie.cochrane.org/rest/reviews/xpath/count(//SOF_TABLE)>1?groupId=ARI
Example 3, reviews with at least 10 included studies:
https://archie.cochrane.org/rest/reviews/xpath/count(//INCLUDED_STUDIES/STUDY)>=10
Example 4, reviews with at least one forest plot figure (exist is implied):
https://archie.cochrane.org/rest/reviews/xpath//FIGURE%5B@TYPE="FOREST_PLOT"%5D
Note: [ and ] have to be escaped as %5B and %5D.
Example 5, reviews assessed as up-to-date in 2010:
https://archie.cochrane.org/rest/reviews/xpath/COVER_SHEET/DATES/UP_TO_DATE/DATE%5B@YEAR="2010"%5D
Searching within a specific review
https://archie.cochrane.org/rest/reviews/CD000004/xpath//STUDY%5B@YEAR>"1970"%5D
This will return the STUDY elements of the XML only (i.e. not a full review document) where the year is greater than 1970. The returned XML document will include the path of parent elements leading up to the root element (COCHRANE_REVIEW) but any siblings will be excluded, e.g.:
<?xml version="1.0" encoding="iso-8859-1"?>
<COCHRANE_REVIEW DESCRIPTION="For publication" DOI="10.1002/14651858.CD000004.pub2" GROUP_ID="PREG" ID="047199081020060395" MERGED_FROM="" MODIFIED="2012-05-09 15:44:58 +0100" MODIFIED_BY="Sonja Henderson" NOTES="" NOTES_MODIFIED="2012-05-09 15:42:11 +0100" NOTES_MODIFIED_BY="Sonja Henderson" REVIEW_NO="0065" REVMAN_SUB_VERSION="5.1.6" REVMAN_VERSION="5" SPLIT_FROM="" STAGE="R" STATUS="A" TYPE="INTERVENTION" VERSION_NO="8.0">
<STUDIES_AND_REFERENCES MODIFIED="2008-10-29 16:24:14 +0000" MODIFIED_BY="">
<STUDIES MODIFIED="2008-10-29 16:13:04 +0000" MODIFIED_BY="">
<INCLUDED_STUDIES MODIFIED="2008-10-29 16:12:42 +0000" MODIFIED_BY="">
<STUDY DATA_SOURCE="PUB" ID="STD-MacRae-1971" MODIFIED="2008-10-29 16:12:12 +0000" MODIFIED_BY="" NAME="MacRae 1971" YEAR="1971">
<REFERENCE MODIFIED="2008-10-29 16:12:12 +0000" MODIFIED_BY="" NOTES="<p>[0711].</p>" NOTES_MODIFIED="2008-10-29 16:12:12 +0000" NOTES_MODIFIED_BY="" PRIMARY="NO" TYPE="JOURNAL_ARTICLE">
<AU>MacRae DJ, Mohamedally SM, Willmott MP</AU>
<TI>Clinical and endocrinological aspects of dysmaturity and the use of intermittent abdominal decompression in pregnancy</TI>
<SO>Journal of Obstetrics and Gynaecology of the British Commonwealth</SO>
<YR>1971</YR>
<VL>78</VL>
<PG>636-41</PG>
<IDENTIFIERS/>
</REFERENCE>
<IDENTIFIERS/>
</STUDY>
<STUDY DATA_SOURCE="PUB" ID="STD-Varma-1973" MODIFIED="2008-10-29 16:12:42 +0000" MODIFIED_BY="" NAME="Varma 1973" YEAR="1973">
<REFERENCE MODIFIED="2008-10-29 16:12:42 +0000" MODIFIED_BY="" NOTES="<p>[0884].</p>" NOTES_MODIFIED="2008-10-29 16:12:42 +0000" NOTES_MODIFIED_BY="" PRIMARY="NO" TYPE="JOURNAL_ARTICLE">
<AU>Varma TR, Curzen P</AU>
<TI>The effects of abdominal decompression on pregnancy complicated by the small-for-dates fetus</TI>
<SO>Journal of Obstetrics and Gynaecology of the British Commonwealth</SO>
<YR>1973</YR>
<VL>80</VL>
<PG>1086-94</PG>
<IDENTIFIERS/>
</REFERENCE>
<IDENTIFIERS/>
</STUDY>
</INCLUDED_STUDIES>
<EXCLUDED_STUDIES MODIFIED="2008-10-29 16:13:04 +0000" MODIFIED_BY="">
<STUDY DATA_SOURCE="PUB" ID="STD-Coppola-1985" MODIFIED="2008-10-29 16:13:04 +0000" MODIFIED_BY="" NAME="Coppola 1985" YEAR="1985">
<REFERENCE MODIFIED="2008-10-29 16:13:04 +0000" MODIFIED_BY="" PRIMARY="NO" TYPE="OTHER">
<AU>Coppola F, Battioni M, Vessichelli R, Daoh KS, Bacchi-Modena A</AU>
<TI>Auxologic results of abdominal decompression in growth disorders of the fetus</TI>
<SO>Minerva Ginecologica</SO>
<YR>1985</YR>
<VL>37</VL>
<NO>11</NO>
<PG>645-52</PG>
<IDENTIFIERS MODIFIED="2008-10-29 16:11:15 +0000" MODIFIED_BY="">
<IDENTIFIER TYPE="OTHER" VALUE="CN-00279572"/>
</IDENTIFIERS>
</REFERENCE>
<IDENTIFIERS/>
</STUDY>
</EXCLUDED_STUDIES>
</STUDIES>
</STUDIES_AND_REFERENCES>
</COCHRANE_REVIEW>
Additional endpoints
Get metadata about review
GET https://archie.cochrane.org/rest/reviews/{Review ID}/metadata
Returned MIME type is "application/json".
Get metadata about all versions of a review
GET https://archie.cochrane.org/rest/reviews/{Review ID}/versions
Returned MIME type is "application/json".
Get the document roles associated with a review
GET https://archie.cochrane.org/rest/reviews/{Review ID}/roles
Returned MIME type is "application/json".
Get the workflow and availability status of a review
GET https://archie.cochrane.org/rest/reviews/{Review ID}/status
Returned MIME type is "application/json".
The field "reviewDBSyncStatus" can have the folllowing values:
- NONE: the review is not being synchronized to ReviewDB. This may be because synchronization is disabled globally, or the review type is not supported in ReviewDB.
- PUBLISHED_ONLY: all published versions of the review are available in ReviewDB - this value may also be returned if there are no published versions of the review.
- PUBLISHED_AND_DRAFTS: synchronization is fully enabled for this review, all published versions and (at least) the most recent draft will be available in ReviewDB.
Generate a forest plot
GET https://archie.cochrane.org/rest/reviews/{CD Number}/graphics/forestplot/{Comparison ID}/{Outcome ID}
Returned MIME type is "image/png".
Review Groups IDs
For use with the groupId parameter.
Group Name | ID |
---|---|
Acute Respiratory Infections Group | ARI |
Airways Group | AIRWAYS |
Anaesthesia Group | ANAESTH |
Back Group | BACK |
Bone, Joint and Muscle Trauma Group | MUSKINJ |
Breast Cancer Group | BREASTCA |
Childhood Cancer Group | CHILDCA |
Colorectal Cancer Group | COLOCA |
Consumers and Communication Group | COMMUN |
Cystic Fibrosis and Genetic Disorders Group | CF |
Dementia and Cognitive Improvement Group | DEMENTIA |
Depression, Anxiety and Neurosis Group | DEPRESSN |
Developmental, Psychosocial and Learning Problems Group | BEHAV |
Drugs and Alcohol Group | ADDICTN |
Ear, Nose and Throat Disorders Group | ENT |
Effective Practice and Organisation of Care Group | EPOC |
Epilepsy Group | EPILEPSY |
Eyes and Vision Group | EYES |
Fertility Regulation Group | FERTILREG |
Gynaecological Cancer Group | GYNAECA |
Haematological Malignancies Group | HAEMATOL |
Heart Group | VASC |
Hepato-Biliary Group | LIVER |
HIV/AIDS Group | HIV |
Hypertension Group | HTN |
Incontinence Group | INCONT |
Infectious Diseases Group | INFECTN |
Inflammatory Bowel Disease and Functional Bowel Disorders Group | IBD |
Injuries Group | INJ |
Lung Cancer Group | LUNGCA |
Menstrual Disorders and Subfertility Group | MENSTR |
Metabolic and Endocrine Disorders Group | ENDOC |
Methodology Review Group | METHOD |
Movement Disorders Group | MOVEMENT |
Multiple Sclerosis and Rare Diseases of the Central Nervous System Group | MS |
Musculoskeletal Group | MUSKEL |
Neonatal Group | NEONATAL |
Neuromuscular Disease Group | NEUROMUSC |
Occupational Safety and Health Group | OCCHEALTH |
Oral Health Group | ORAL |
Pain, Palliative and Supportive Care Group | SYMPT |
Peripheral Vascular Diseases Group | PVD |
Pregnancy and Childbirth Group | PREG |
Prostatic Diseases and Urologic Cancers Group | PROSTATE |
Public Health Group | PUBHLTH |
Renal Group | RENAL |
Schizophrenia Group | SCHIZ |
Sexually Transmitted Infections Group | STI |
Skin Group | SKIN |
Stroke Group | STROKE |
Tobacco Addiction Group | TOBACCO |
Upper Gastrointestinal and Pancreatic Diseases Group | UPPERGI |
Wounds Group | WOUNDS |
Permissions
For use with the myPermission parameter.
Permission Name | Parameter Value |
---|---|
Delete Document | delete |