Skip to content

Commit ea12f8b

Browse files
authored
Add docs for queue module: Queue resource (#175)
1 parent 4d2269e commit ea12f8b

File tree

2 files changed

+351
-1
lines changed

2 files changed

+351
-1
lines changed

source/includes/Queue/queue.md

+349
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,349 @@
1+
# Queue
2+
3+
## Queue Overview
4+
5+
* A queue in OpenMRS represents a line of patients waiting for a particular service in a specific location. For example, queues might be used for services such as triage, clinical consultation, lab or pharmacy.
6+
7+
## Available operations for Queues
8+
9+
1. [List queues](#list-queues)
10+
2. [Create queue](#create-queue)
11+
3. [Update queue](#update-queue)
12+
4. [Void queue](#void-queue)
13+
14+
## List queues
15+
16+
> List queues
17+
18+
```shell
19+
GET /
20+
```
21+
22+
```java
23+
24+
OkHttpClient client = new OkHttpClient().newBuilder()
25+
.build();
26+
Request request = new Request.Builder()
27+
.url("/openmrs/ws/rest/v1/queue)
28+
.method("GET", null)
29+
.addHeader("Authorization", "Basic YWRtaW46QWRtaW4xMjM=")
30+
.addHeader("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C")
31+
.build();
32+
Response response = client.newCall(request).execute();
33+
34+
```
35+
36+
```javascript
37+
38+
var requestHeaders = new Headers();
39+
requestHeaders.append("Authorization", "Basic YWRtaW46QWRtaW4xMjM=");
40+
requestHeaders.append("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C");
41+
42+
var requestOptions = {
43+
method: 'GET',
44+
headers: requestHeaders,
45+
redirect: 'follow'
46+
};
47+
48+
fetch("/openmrs/ws/rest/v1/queue, requestOptions)
49+
.then(response => response.text())
50+
.then(result => console.log(result))
51+
.catch(error => console.log('error', error));
52+
53+
```
54+
55+
> Success Response
56+
57+
```response
58+
{
59+
"results": [
60+
{
61+
"uuid": "4890b934-73c3-4c91-a93b-ce48f728b520",
62+
"display": "Clinical consultation",
63+
"name": "Clinical consultation",
64+
"description": "Clinical consultation",
65+
"links": [
66+
{
67+
"rel": "self",
68+
"uri": "http://qa-refapp.openmrs.org/openmrs/ws/rest/v1/queue/4890b934-73c3-4c91-a93b-ce48f728b520"
69+
},
70+
{
71+
"rel": "full",
72+
"uri": "http://qa-refapp.openmrs.org/openmrs/ws/rest/v1/queue/4890b934-73c3-4c91-a93b-ce48f728b520?v=full"
73+
}
74+
]
75+
},
76+
{
77+
"uuid": "ae0e1ad7-08ba-4a3d-aeed-a757591faf83",
78+
"display": "Triage service",
79+
"name": "Triage service",
80+
"description": "Triage service",
81+
"links": [
82+
{
83+
"rel": "self",
84+
"uri": "http://qa-refapp.openmrs.org/openmrs/ws/rest/v1/queue/ae0e1ad7-08ba-4a3d-aeed-a757591faf83"
85+
},
86+
{
87+
"rel": "full",
88+
"uri": "http://qa-refapp.openmrs.org/openmrs/ws/rest/v1/queue/ae0e1ad7-08ba-4a3d-aeed-a757591faf83?v=full"
89+
}
90+
]
91+
},
92+
{
93+
"uuid": "501b135b-1733-445e-9616-a4a05cee1bdd",
94+
"display": "Lab service",
95+
"name": "Lab service",
96+
"description": "Lab service",
97+
"links": [
98+
{
99+
"rel": "self",
100+
"uri": "http://qa-refapp.openmrs.org/openmrs/ws/rest/v1/queue/501b135b-1733-445e-9616-a4a05cee1bdd"
101+
},
102+
{
103+
"rel": "full",
104+
"uri": "http://qa-refapp.openmrs.org/openmrs/ws/rest/v1/queue/501b135b-1733-445e-9616-a4a05cee1bdd?v=full"
105+
}
106+
]
107+
}
108+
]
109+
}
110+
```
111+
112+
- If user not logged in to perform this action, a `401 Unauthorized` status returned.
113+
114+
## List queue by UUID
115+
116+
> List queue by UUID
117+
118+
```shell
119+
GET /queue/:target_queue_uuid
120+
```
121+
122+
```java
123+
124+
OkHttpClient client = new OkHttpClient().newBuilder()
125+
.build();
126+
Request request = new Request.Builder()
127+
.url("/openmrs/ws/rest/v1/queue/36475629-6652-44e9-a42b-c2b3b7438f72")
128+
.method("GET", null)
129+
.addHeader("Authorization", "Basic YWRtaW46QWRtaW4xMjM=")
130+
.addHeader("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C")
131+
.build();
132+
Response response = client.newCall(request).execute();
133+
134+
```
135+
136+
```javascript
137+
var requestHeaders = new Headers();
138+
requestHeaders.append("Authorization", "Basic YWRtaW46QWRtaW4xMjM=");
139+
requestHeaders.append("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C");
140+
141+
var requestOptions = {
142+
method: "GET",
143+
headers: requestHeaders,
144+
redirect: "follow",
145+
};
146+
147+
fetch(
148+
"/openmrs/ws/rest/v1/queue/36475629-6652-44e9-a42b-c2b3b7438f72",
149+
requestOptions
150+
)
151+
.then((response) => response.text())
152+
.then((result) => console.log(result))
153+
.catch((error) => console.log("error", error));
154+
```
155+
156+
- Retrieve a queue by its UUID. Returns a `404 Not Found` if queue to be retrieved not exist. If user not logged in to perform this action, a `401 Unauthorized` status returned.
157+
158+
## Create queue
159+
160+
> Create queue
161+
162+
```shell
163+
POST /queue
164+
{
165+
"name": "Triage queue",
166+
"description": "This triage queue description",
167+
"service": {
168+
"uuid": "d3db3805-2b90-4330-9064-eb6d42cbf582"
169+
},
170+
"location": {
171+
"uuid": "8d6c993e-c2cc-11de-8d13-0010c6dffd0f"
172+
}
173+
}
174+
```
175+
176+
```java
177+
178+
OkHttpClient client = new OkHttpClient().newBuilder()
179+
.build();
180+
MediaType mediaType = MediaType.parse("application/json");
181+
RequestBody body = RequestBody.create(mediaType, "{\n \"name\": \"Triage queue\",\n \"description\": \"This triage queue description\",\n \"service\": {\n \"uuid\": \"d3db3805-2b90-4330-9064-eb6d42cbf582\"\n },\n \"location\": {\n \"uuid\": \"8d6c993e-c2cc-11de-8d13-0010c6dffd0f\"\n }\n}");
182+
Request request = new Request.Builder()
183+
.url("/openmrs/ws/rest/v1/queue")
184+
.method("POST", body)
185+
.addHeader("Authorization", "Basic YWRtaW46QWRtaW4xMjM=")
186+
.addHeader("Content-Type", "application/json")
187+
.addHeader("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C")
188+
.build();
189+
Response response = client.newCall(request).execute();
190+
191+
```
192+
193+
```javascript
194+
var requestHeaders = new Headers();
195+
requestHeaders.append("Authorization", "Basic YWRtaW46QWRtaW4xMjM=");
196+
requestHeaders.append("Content-Type", "application/json");
197+
requestHeaders.append("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C");
198+
199+
var raw = JSON.stringify({
200+
name: "Triage queue",
201+
description: "This triage queue description",
202+
service: {
203+
uuid: "d3db3805-2b90-4330-9064-eb6d42cbf582",
204+
},
205+
location: {
206+
uuid: "8d6c993e-c2cc-11de-8d13-0010c6dffd0f",
207+
},
208+
});
209+
210+
var requestOptions = {
211+
method: "POST",
212+
headers: requestHeaders,
213+
body: raw,
214+
redirect: "follow",
215+
};
216+
217+
fetch("/openmrs/ws/rest/v1/queue", requestOptions)
218+
.then((response) => response.text())
219+
.then((result) => console.log(result))
220+
.catch((error) => console.log("error", error));
221+
```
222+
223+
- To create a queue you need to specify below attributes in the request body. If you are not logged in to perform this action, a `401 Unauthorized` status returned.
224+
225+
### Attributes
226+
227+
Parameter | Type | Description
228+
--- | --- | ---
229+
*name* | `String` | Name of the queue
230+
*description* | `String` | Description of the queue
231+
*service* | `Concept_UUID` |Concept UUID describing this queue/service
232+
*[location](#location)* | `Location UUID` | Location resource UUID
233+
234+
## Update queue
235+
236+
> Update queue
237+
238+
```shell
239+
POST /queue/:target_queue_uuid
240+
{
241+
"name": "TRIAGE QUEUE (updated)",
242+
"description": "Queue for patients waiting for triage(updated)"
243+
}
244+
```
245+
246+
```java
247+
248+
OkHttpClient client = new OkHttpClient().newBuilder()
249+
.build();
250+
MediaType mediaType = MediaType.parse("application/json");
251+
RequestBody body = RequestBody.create(mediaType, "{\n \"name\": \"TRIAGE QUEUE (updated)\",\n \"description\": \"Queue for patients waiting for triage(updated)\"\n}");
252+
Request request = new Request.Builder()
253+
.url("/openmrs/ws/rest/v1/queue/c298d3e1-6def-422a-9d0a-e18906a4ae73")
254+
.method("POST", body)
255+
.addHeader("Authorization", "Basic YWRtaW46QWRtaW4xMjM=")
256+
.addHeader("Content-Type", "application/json")
257+
.addHeader("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C")
258+
.build();
259+
Response response = client.newCall(request).execute();
260+
261+
```
262+
263+
```javascript
264+
var requestHeaders = new Headers();
265+
requestHeaders.append("Authorization", "Basic YWRtaW46QWRtaW4xMjM=");
266+
requestHeaders.append("Content-Type", "application/json");
267+
requestHeaders.append("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C");
268+
269+
var raw = JSON.stringify({
270+
name: "TRIAGE QUEUE (updated)",
271+
description: "Queue for patients waiting for triage(updated)",
272+
});
273+
274+
var requestOptions = {
275+
method: "POST",
276+
headers: requestHeaders,
277+
body: raw,
278+
redirect: "follow",
279+
};
280+
281+
fetch(
282+
"/openmrs/ws/rest/v1/queue/c298d3e1-6def-422a-9d0a-e18906a4ae73",
283+
requestOptions
284+
)
285+
.then((response) => response.text())
286+
.then((result) => console.log(result))
287+
.catch((error) => console.log("error", error));
288+
```
289+
290+
- Updates the queue record. Only modifies the properties specified in the request. Returns a 404 Not found status if the queue(to be updated) doesn't exist. If not authenticated, 401 Unauthorized status is returned.
291+
292+
### Attributes
293+
294+
| Parameter | Type | Description |
295+
| --------- | ------------ | --------------------------- |
296+
| UUID | `Queue UUID` | UUID of queue to be updated |
297+
298+
## Delete queue
299+
300+
> Delete the target queue
301+
302+
```shell
303+
DELETE /queue/<UUID>?purge=false
304+
```
305+
306+
```java
307+
308+
OkHttpClient client = new OkHttpClient().newBuilder()
309+
.build();
310+
MediaType mediaType = MediaType.parse("text/plain");
311+
RequestBody body = RequestBody.create(mediaType, "");
312+
Request request = new Request.Builder()
313+
.url("/openmrs/ws/rest/v1/queue/c298d3e1-6def-422a-9d0a-e18906a4ae73?purge=false")
314+
.method("DELETE", body)
315+
.addHeader("Authorization", "Basic YWRtaW46QWRtaW4xMjM=")
316+
.addHeader("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C")
317+
.build();
318+
Response response = client.newCall(request).execute();
319+
320+
```
321+
322+
```javascript
323+
var requestHeaders = new Headers();
324+
requestHeaders.append("Authorization", "Basic YWRtaW46QWRtaW4xMjM=");
325+
requestHeaders.append("Cookie", "JSESSIONID=1B06650EB0428F51EC119C909F58327C");
326+
327+
var requestOptions = {
328+
method: "DELETE",
329+
headers: requestHeaders,
330+
redirect: "follow",
331+
};
332+
333+
fetch(
334+
"/openmrs/ws/rest/v1/queue/c298d3e1-6def-422a-9d0a-e18906a4ae73?purge=false",
335+
requestOptions
336+
)
337+
.then((response) => response.text())
338+
.then((result) => console.log(result))
339+
.catch((error) => console.log("error", error));
340+
```
341+
342+
- Voids or delete the target queue. Returns a 404 Not found status if the queue(to be voided) doesn't exist. If not authenticated, 401 Unauthorized status is returned.
343+
344+
### Query Parameters
345+
346+
Parameter | Type | Description
347+
--- | --- | ---
348+
*purge* | `Boolean` | The resource will be voided/retired unless purge = ‘true’
349+
UUID | `Queue UUID` | Queue resource UUID

source/index.html.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ includes:
6060
- Forms/Forms
6161
- Forms/field_type
6262
- AddressTemplate/address_template
63-
- Alerts/alerts
63+
- Alerts/alerts
64+
- Queue/queue
6465
- SystemSettings/system_settings
6566
- SystemInformation/system_information
6667
- SystemInformation/loggedin_users

0 commit comments

Comments
 (0)