You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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="CD002745" groupId="ARI" reviewId="780800041114324239" searchDate="2011-06-27" stage="R" status="A" checkedOut="false">
<link href="https://test-archie.cochrane.org/rest/reviews/CD002745" rel="self" type="application/xml"/>
  <title>Amantadine and rimantadine for influenza A in children and the elderly</title>
  <byline>Alves Galvão MG, Rocha Crispino Santos MA, Alves da Cunha AJL</byline>
<group>Acute Respiratory Infections Group</group>
</review>
  <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="&lt;p&gt;[0711].&lt;/p&gt;" 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="&lt;p&gt;[0884].&lt;/p&gt;" 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 NameID
Acute Respiratory Infections GroupARI
Airways GroupAIRWAYS
Anaesthesia GroupANAESTH
Back GroupBACK
Bone, Joint and Muscle Trauma GroupMUSKINJ
Breast Cancer GroupBREASTCA
Childhood Cancer GroupCHILDCA
Colorectal Cancer GroupCOLOCA
Consumers and Communication GroupCOMMUN
Cystic Fibrosis and Genetic Disorders GroupCF
Dementia and Cognitive Improvement GroupDEMENTIA
Depression, Anxiety and Neurosis GroupDEPRESSN
Developmental, Psychosocial and Learning Problems GroupBEHAV
Drugs and Alcohol GroupADDICTN
Ear, Nose and Throat Disorders GroupENT
Effective Practice and Organisation of Care GroupEPOC
Epilepsy GroupEPILEPSY
Eyes and Vision GroupEYES
Fertility Regulation GroupFERTILREG
Gynaecological Cancer GroupGYNAECA
Haematological Malignancies GroupHAEMATOL
Heart GroupVASC
Hepato-Biliary GroupLIVER
HIV/AIDS GroupHIV
Hypertension GroupHTN
Incontinence GroupINCONT
Infectious Diseases GroupINFECTN
Inflammatory Bowel Disease and Functional Bowel Disorders GroupIBD
Injuries GroupINJ
Lung Cancer GroupLUNGCA
Menstrual Disorders and Subfertility GroupMENSTR
Metabolic and Endocrine Disorders GroupENDOC
Methodology Review GroupMETHOD
Movement Disorders GroupMOVEMENT
Multiple Sclerosis and Rare Diseases of the Central Nervous System GroupMS
Musculoskeletal GroupMUSKEL
Neonatal GroupNEONATAL
Neuromuscular Disease GroupNEUROMUSC
Occupational Safety and Health GroupOCCHEALTH
Oral Health GroupORAL
Pain, Palliative and Supportive Care GroupSYMPT
Peripheral Vascular Diseases GroupPVD
Pregnancy and Childbirth GroupPREG
Prostatic Diseases and Urologic Cancers GroupPROSTATE
Public Health GroupPUBHLTH
Renal GroupRENAL
Schizophrenia GroupSCHIZ
Sexually Transmitted Infections GroupSTI
Skin GroupSKIN
Stroke GroupSTROKE
Tobacco Addiction GroupTOBACCO
Upper Gastrointestinal and Pancreatic Diseases GroupUPPERGI
Wounds GroupWOUNDS

Permissions

For use with the myPermission parameter.

Permission NameParameter Value

Delete Document
View
Read Published Versions
Read Versions to be Published
Read Author Draft Versions
Read Editorial Draft Versions
Read Shared Draft Versions
Write During Authoring Phase
Write During Editorial Phase
Revert
View Author Roles
Edit Author Roles
View Editor Roles
Edit Editor Roles
Publish
Select Review Topics
Edit Properties

delete
view
read_published
read_to_be_published
read_author_drafts
read_editorial_drafts
read_shared_drafts
write_authoring
write_editorial
revert
view_author_roles
edit_author_roles
view_editor_roles
edit_editor_roles
publish
select_topics
edit_properties

  • No labels