Sample REST calls

Authenticate and get a session ID and whether the authentication was successful or not. This is useful to verify connectivity and credentials.

 

 

/ws/rest/v1/session

 

Create Person

   The minium required fields are gender and names

          PHP Code Example:-

   // PERSON
    
   $name        = array();
   $names       = array();
   $person_data = array(); 

   $name['givenName']  = "givenName";
   $name['middleName'] = "middleName";
   $name['familyName'] = "familyName";

   array_push($names,$name); 
   
   $person_data['gender']    = "gender";    // Say "M"
   $person_data['names']     = $names;
       
   $person_data = json_encode($person_data);

   $person_curL = curl_init('http://localhost/openmrs-standalone/ws/rest/v1/person');
   curl_setopt($person_curL, CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
   curl_setopt($person_curL, CURLOPT_USERPWD,"admin:Admin123");
   curl_setopt($person_curL, CURLOPT_RETURNTRANSFER,true);
   curl_setopt($person_curL, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); 
   curl_setopt($person_curL, CURLOPT_POST,1);
   curl_setopt($person_curL, CURLOPT_POSTFIELDS,$person_data);
   $output   = curl_exec($person_curL);
   $status   = curl_getinfo($person_curL,CURLINFO_HTTP_CODE);
   curl_close($person_curL);

          

Create Patient
 
     To create a patient, we can use the existing person or we can create a new person
 

PHP Example:-

// PATIENT

$identifiers           = array();
$person_data           = array();
$person_identification = array();

$identifiers['identifier']     = "identifier";                   // user defined
$identifiers['identifierType'] = "uuid of the identifier type"; // Either Old Identification number or OpenMRS Identification Number
$identifiers['location']       = "uuid of the location";
$identifiers['preferred']      = true;
       
array_push($person_identification,$identifiers);
       
$patient_data['person']      = "uuid of the person";          // Existing person's uuid or newly created person's uuid  
$patient_data['identifiers'] = $person_identification;

$patient_data = json_encode($patient_data);

$patient_curL = curl_init('http://localhost/openmrs-standalone/ws/rest/v1/patient');
curl_setopt($patient_curL, CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
curl_setopt($patient_curL, CURLOPT_USERPWD,"admin:Admin123");
curl_setopt($patient_curL, CURLOPT_RETURNTRANSFER,true);
curl_setopt($patient_curL, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); 
curl_setopt($patient_curL, CURLOPT_POST,1);
curl_setopt($patient_curL, CURLOPT_POSTFIELDS,$patient_data);
$patientoutput  = curl_exec($patient_curL);
$patientstatus  = curl_getinfo($patient_curL,CURLINFO_HTTP_CODE);
curl_close($patient_curL);

 


     

  1. Get people by name
/ws/rest/v1/person?q=Akshika

Please add your own REST calls that you find useful.

You can find more examples in our controller tests at https://github.com/openmrs/openmrs-module-webservices.rest/search?q=Controller+test&type=Code

 

Concept

Call Type
Sample URL
Output
GET/ws/rest/v1/conceptReturns a list of top 50 (whatever is configured in settings (formerly Global Properties from 1.8 downwards)) concepts with uuid, display and links
GET/ws/rest/v1/concept?v=custom:(uuid,name)Returns a list of top 50 (whatever is configured in settings (formerly Global Properties from 1.8 downwards)) concepts
GET/ws/rest/v1/concept/cbec024a-8bb4-4fcc-b59b-c7b706bb432e

Returns full description of a concept, including:
uuid, name, display, datatype, conceptClass, set, version, retired, names, mappings, etc.

GET/ws/rest/v1/concept?q=YesReturns list of concepts matching "Yes" with uuid, display and links
GET/ws/rest/v1/concept?q=COUGH&v=custom:(uuid,name)

Returns list of concepts matching "COUGH" with uuid and name

 

Encounter Type

Call Type
Sample URL
Output
GET/ws/rest/v1/encountertypeReturns a list of top 50 encounter types with uuid, display and links
GET/ws/rest/v1/encountertype?q=admissionReturns encounter type admission with uuid, display and links