This document includes the API calls that will be used to create an order based on Ideal Stock Amounts in OpenLMIS. This information will be used to generate the flows in Nifi for the demo.
This section defines the steps for creating an order in OpenLMIS from the API, converting the order to a shipment in the OpenLMIS UI and querying OpenLMIS for the shipment information. All transactions are made against the OpenLMIS UAT server at https://uat.openlmis.org These steps are triggered after Nifi has identified that there is a new order from a facility in OpenSRP server. After that business logic is complete, we perform the following:
Get an access token for the divo1 user
Credentials: divo1/password
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic dXNlci1jbGllbnQ6Y2hhbmdlbWU=' 'https://uat.openlmis.org/api/oauth/token?grant_type=password&username=divo1&password=password' |
Store the access_token that's returned and use it in other requests
{ "access_token" : "1dfd46c9-c2d0-480d-9640-17ae1437833f", "token_type" : "bearer", "expires_in" : 1799, "scope" : "read write", "referenceDataUserId" : "560be32a-ea2e-4d12-ae00-1f69376ad535", "username" : "divo1" } |
Post the order to the /api/orders/ endpoint (Make sure to update the access_token)
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d @test_order.json 'https://uat.openlmis.org/api/orders?access_token=1dfd46c9-c2d0-480d-9640-17ae1437833f' |
Check if the access token has expired.
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic dXNlci1jbGllbnQ6Y2hhbmdlbWU=' 'https://demo-v3.openlmis.org/api/oauth/check_token?token=1dfd46c9-c2d0-480d-9640-17ae1437833f' |
If it has expired, (Response Code 400) get another access token using the steps in step 1 above
{ "error": "invalid_token", "error_description": "Token was not recognised" } |
Search for Shipments by orderId
curl -X GET --header 'Content-Type: application/json' --header 'Accept: application/json' 'https://uat.openlmis.org/api/shipments?orderId=83080768-7df2-4c54-a4fe-66961d9c327d&access_token=1dfd46c9-c2d0-480d-9640-17ae1437833f' |
Extract the "id"
{ "content" : [ { "id" : "132d10f7-1cba-486f-b637-3f0262439cce", "order" : { "id" : "83080768-7df2-4c54-a4fe-66961d9c327d", "href" : "https://uat.openlmis.org/api/orders/83080768-7df2-4c54-a4fe-66961d9c327d" }, "shippedBy" : { "id" : "560be32a-ea2e-4d12-ae00-1f69376ad535", "href" : "https://uat.openlmis.org/api/users/560be32a-ea2e-4d12-ae00-1f69376ad535", "username" : null }, "shippedDate" : "2018-02-23T23:47:47.311Z", "notes" : null, "lineItems" : [ { "id" : "8b651e95-04f2-4a7a-a95a-4d897bc8602b", "orderable" : { "id" : "9c3bea84-487b-4e22-8759-3fe93f8201d9", "href" : "https://uat.openlmis.org/api/orderables/9c3bea84-487b-4e22-8759-3fe93f8201d9" }, "lot" : { "id" : "f08d3db1-9132-487c-ba58-15ea12302aee", "href" : "https://uat.openlmis.org/api/lots/f08d3db1-9132-487c-ba58-15ea12302aee" }, "quantityShipped" : 2 }, { "id" : "e4d4edc9-b566-4abb-bdd2-80e381891f36", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : { "id" : "edd308be-dcdc-4841-be05-d577a668fd09", "href" : "https://uat.openlmis.org/api/lots/edd308be-dcdc-4841-be05-d577a668fd09" }, "quantityShipped" : 10 }, { "id" : "282ae0f7-96a8-4073-8929-211b52c2cc38", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : { "id" : "f9f9bb7c-7636-40c1-a548-b45e918a512a", "href" : "https://uat.openlmis.org/api/lots/f9f9bb7c-7636-40c1-a548-b45e918a512a" }, "quantityShipped" : 0 }, { "id" : "ec353a1f-47be-44b5-af8b-2a5f96f0b374", "orderable" : { "id" : "9c3bea84-487b-4e22-8759-3fe93f8201d9", "href" : "https://uat.openlmis.org/api/orderables/9c3bea84-487b-4e22-8759-3fe93f8201d9" }, "lot" : { "id" : "9d0cd7cb-5739-491b-8d6b-890fd17ec810", "href" : "https://uat.openlmis.org/api/lots/9d0cd7cb-5739-491b-8d6b-890fd17ec810" }, "quantityShipped" : 1 }, { "id" : "f8adabe6-67c1-4587-bae4-61ced1f00760", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : { "id" : "06f86552-1aa9-47d6-8857-6b7ad824f805", "href" : "https://uat.openlmis.org/api/lots/06f86552-1aa9-47d6-8857-6b7ad824f805" }, "quantityShipped" : 180 }, { "id" : "b467f4d0-9d09-4ad4-839d-c0fad5251c13", "orderable" : { "id" : "7c58f053-0ca5-46ad-8209-98cff0c79b42", "href" : "https://uat.openlmis.org/api/orderables/7c58f053-0ca5-46ad-8209-98cff0c79b42" }, "lot" : null, "quantityShipped" : 2 }, { "id" : "2c612d5a-2ce8-439a-8ef3-5ee18a6ee42b", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : null, "quantityShipped" : 0 }, { "id" : "dedc1d81-e552-4dd7-bdd8-b3e752b71af3", "orderable" : { "id" : "a852f785-d82e-4afe-bc6a-04f3236caf90", "href" : "https://uat.openlmis.org/api/orderables/a852f785-d82e-4afe-bc6a-04f3236caf90" }, "lot" : null, "quantityShipped" : 2 }, { "id" : "fb89d4c1-984f-4d36-bc02-0aa6909d5044", "orderable" : { "id" : "b75a88c7-70fa-4bab-9785-3dd980a5ffc3", "href" : "https://uat.openlmis.org/api/orderables/b75a88c7-70fa-4bab-9785-3dd980a5ffc3" }, "lot" : null, "quantityShipped" : 23 } ], "extraData" : null } ], "last" : true, "totalElements" : 1, "totalPages" : 1, "sort" : null, "numberOfElements" : 1, "first" : true, "size" : 2000, "number" : 0 } |
Query for the shipment with the "expand=order" request parameter to get the order and shipment details in a single response
curl -X GET --header 'Content-Type: application/json' --header 'Accept: application/json' 'https://uat.openlmis.org/api/shipments/{shipmentId}?access_token=1dfd46c9-c2d0-480d-9640-17ae1437833f&expand=order' |
Perform business logic on the response
{ "id" : "70c104f4-6531-49f8-b8c0-3a6fa1d3301c", "order" : { "externalId" : "131b00b9-2a7e-43c1-aead-bbd6b12b8540", "emergency" : false, "facility" : { "code" : "N007", "name" : "Lurio, Cuamba", "description" : null, "active" : true, "goLiveDate" : "2010-09-01", "goDownDate" : null, "comment" : null, "enabled" : true, "openLmisAccessible" : true, "supportedPrograms" : [ { "code" : "PRG004", "name" : "EPI", "description" : null, "active" : null, "periodsSkippable" : false, "showNonFullSupplyTab" : false, "supportLocallyFulfilled" : true, "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" } ], "geographicZone" : { "code" : "cuamba", "name" : "Cuamba", "level" : { "code" : "District", "name" : null, "levelNumber" : 3, "id" : "93c05138-4550-4461-9e8a-79d5f050c223" }, "parent" : { "code" : "niassa", "name" : "Niassa", "level" : { "code" : "Region", "name" : null, "levelNumber" : 2, "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" }, "parent" : { "code" : "moz", "name" : "Mozambique", "level" : { "code" : "Country", "name" : null, "levelNumber" : 1, "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" }, "parent" : null, "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" }, "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" }, "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" }, "operator" : { "code" : "moh", "name" : "Ministry of Health", "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" }, "type" : { "code" : "health_center", "name" : "Health Center", "description" : null, "displayOrder" : 2, "active" : true, "id" : "ac1d268b-ce10-455f-bf87-9c667da8f060" }, "id" : "4774fc63-a0c8-4a29-a01d-5b6b48632175" }, "processingPeriod" : { "processingSchedule" : { "code" : "SCH001", "description" : null, "modifiedDate" : null, "name" : "Monthly", "id" : "9c15bd6e-3f6b-4b91-b53a-36c199d35eac" }, "name" : "Jan2017", "description" : null, "startDate" : "2017-01-01", "endDate" : "2017-01-31", "id" : "516ac930-0d28-49f5-a178-64764e22b236" }, "createdDate" : "2018-03-12T15:39:36.577Z", "createdBy" : { "username" : "divo1", "firstName" : "Alan", "lastName" : "Ehrenfreund", "email" : "divo1@openlmis.org", "verified" : true, "active" : true, "loginRestricted" : false, "homeFacilityId" : "c62dea9b-6974-4101-ba39-b09914165967", "roleAssignments" : [ { "role" : null, "user" : null, "id" : null }, { "role" : null, "user" : null, "id" : null }, { "role" : null, "user" : null, "id" : null }, { "role" : null, "user" : null, "id" : null }, { "role" : null, "user" : null, "id" : null }, { "role" : null, "user" : null, "id" : null }, { "role" : null, "user" : null, "id" : null }, { "role" : null, "user" : null, "id" : null } ], "id" : "560be32a-ea2e-4d12-ae00-1f69376ad535" }, "program" : { "code" : "PRG004", "name" : "EPI", "description" : null, "active" : true, "periodsSkippable" : false, "showNonFullSupplyTab" : false, "supportLocallyFulfilled" : false, "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" }, "requestingFacility" : { "code" : "N007", "name" : "Lurio, Cuamba", "description" : null, "active" : true, "goLiveDate" : "2010-09-01", "goDownDate" : null, "comment" : null, "enabled" : true, "openLmisAccessible" : true, "supportedPrograms" : [ { "code" : "PRG004", "name" : "EPI", "description" : null, "active" : null, "periodsSkippable" : false, "showNonFullSupplyTab" : false, "supportLocallyFulfilled" : true, "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" } ], "geographicZone" : { "code" : "cuamba", "name" : "Cuamba", "level" : { "code" : "District", "name" : null, "levelNumber" : 3, "id" : "93c05138-4550-4461-9e8a-79d5f050c223" }, "parent" : { "code" : "niassa", "name" : "Niassa", "level" : { "code" : "Region", "name" : null, "levelNumber" : 2, "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" }, "parent" : { "code" : "moz", "name" : "Mozambique", "level" : { "code" : "Country", "name" : null, "levelNumber" : 1, "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" }, "parent" : null, "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" }, "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" }, "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" }, "operator" : { "code" : "moh", "name" : "Ministry of Health", "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" }, "type" : { "code" : "health_center", "name" : "Health Center", "description" : null, "displayOrder" : 2, "active" : true, "id" : "ac1d268b-ce10-455f-bf87-9c667da8f060" }, "id" : "4774fc63-a0c8-4a29-a01d-5b6b48632175" }, "receivingFacility" : { "code" : "N007", "name" : "Lurio, Cuamba", "description" : null, "active" : true, "goLiveDate" : "2010-09-01", "goDownDate" : null, "comment" : null, "enabled" : true, "openLmisAccessible" : true, "supportedPrograms" : [ { "code" : "PRG004", "name" : "EPI", "description" : null, "active" : null, "periodsSkippable" : false, "showNonFullSupplyTab" : false, "supportLocallyFulfilled" : true, "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" } ], "geographicZone" : { "code" : "cuamba", "name" : "Cuamba", "level" : { "code" : "District", "name" : null, "levelNumber" : 3, "id" : "93c05138-4550-4461-9e8a-79d5f050c223" }, "parent" : { "code" : "niassa", "name" : "Niassa", "level" : { "code" : "Region", "name" : null, "levelNumber" : 2, "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" }, "parent" : { "code" : "moz", "name" : "Mozambique", "level" : { "code" : "Country", "name" : null, "levelNumber" : 1, "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" }, "parent" : null, "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" }, "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" }, "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" }, "operator" : { "code" : "moh", "name" : "Ministry of Health", "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" }, "type" : { "code" : "health_center", "name" : "Health Center", "description" : null, "displayOrder" : 2, "active" : true, "id" : "ac1d268b-ce10-455f-bf87-9c667da8f060" }, "id" : "4774fc63-a0c8-4a29-a01d-5b6b48632175" }, "supplyingFacility" : { "code" : "D001", "name" : "Depósito Distrital Cuamba", "description" : null, "active" : true, "goLiveDate" : "2010-09-01", "goDownDate" : null, "comment" : null, "enabled" : true, "openLmisAccessible" : true, "supportedPrograms" : [ { "code" : "PRG004", "name" : "EPI", "description" : null, "active" : null, "periodsSkippable" : false, "showNonFullSupplyTab" : false, "supportLocallyFulfilled" : true, "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" } ], "geographicZone" : { "code" : "cuamba", "name" : "Cuamba", "level" : { "code" : "District", "name" : null, "levelNumber" : 3, "id" : "93c05138-4550-4461-9e8a-79d5f050c223" }, "parent" : { "code" : "niassa", "name" : "Niassa", "level" : { "code" : "Region", "name" : null, "levelNumber" : 2, "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" }, "parent" : { "code" : "moz", "name" : "Mozambique", "level" : { "code" : "Country", "name" : null, "levelNumber" : 1, "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" }, "parent" : null, "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" }, "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" }, "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" }, "operator" : { "code" : "moh", "name" : "Ministry of Health", "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" }, "type" : { "code" : "dist_store", "name" : "District Store", "description" : null, "displayOrder" : 4, "active" : true, "id" : "5fc213c6-1bd7-46f0-9883-57c05250ca90" }, "id" : "c62dea9b-6974-4101-ba39-b09914165967" }, "orderCode" : "ORDER-14PW5XVYR", "status" : "SHIPPED", "quotedCost" : 0.00, "orderLineItems" : [ { "id" : "d2802dbd-1404-4c95-b39c-034d2beb27c3", "orderable" : { "productCode" : "MRK-MEASLESDIL-10-1234", "fullProductName" : "MMR II Diluent (10 dose)", "netContent" : 10, "packRoundingThreshold" : 1, "roundToZero" : true, "programs" : [ { "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", "orderableCategoryDisplayName" : "Vaccines", "orderableCategoryDisplayOrder" : 5, "active" : true, "fullSupply" : true, "displayOrder" : 5, "dosesPerPatient" : 1, "pricePerPack" : 20.00 } ], "dispensable" : { "dispensingUnit" : null }, "extraData" : null, "id" : "7c58f053-0ca5-46ad-8209-98cff0c79b42" }, "orderedQuantity" : 10, "totalDispensingUnits" : 100 }, { "id" : "916000bd-43a6-400c-bf0b-aa832b3c3391", "orderable" : { "productCode" : "IVX-BCG-20-1234", "fullProductName" : "Intervax BCG (20 dose)", "netContent" : 20, "packRoundingThreshold" : 1, "roundToZero" : true, "programs" : [ { "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", "orderableCategoryDisplayName" : "Vaccines", "orderableCategoryDisplayOrder" : 5, "active" : true, "fullSupply" : true, "displayOrder" : 5, "dosesPerPatient" : 1, "pricePerPack" : 12.00 } ], "dispensable" : { "dispensingUnit" : null }, "extraData" : { "useVVM" : "true" }, "id" : "9c3bea84-487b-4e22-8759-3fe93f8201d9" }, "orderedQuantity" : 10, "totalDispensingUnits" : 200 }, { "id" : "a6409bf8-1f4d-4aff-a84e-8a0c7cff0d80", "orderable" : { "productCode" : "MRK-ROTA-1-1234", "fullProductName" : "RotaTeq (1 dose)", "netContent" : 1, "packRoundingThreshold" : 1, "roundToZero" : true, "programs" : [ { "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", "orderableCategoryDisplayName" : "Vaccines", "orderableCategoryDisplayOrder" : 5, "active" : true, "fullSupply" : true, "displayOrder" : 5, "dosesPerPatient" : 1, "pricePerPack" : 8.50 } ], "dispensable" : { "dispensingUnit" : null }, "extraData" : { "useVVM" : "true" }, "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "orderedQuantity" : 10, "totalDispensingUnits" : 10 }, { "id" : "0adb0c19-c150-4250-906c-188936c3db9d", "orderable" : { "productCode" : "SII-PENTA-10-1234", "fullProductName" : "Pentavac PFS (10 dose)", "netContent" : 10, "packRoundingThreshold" : 1, "roundToZero" : true, "programs" : [ { "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", "orderableCategoryDisplayName" : "Vaccines", "orderableCategoryDisplayOrder" : 5, "active" : true, "fullSupply" : true, "displayOrder" : 5, "dosesPerPatient" : 1, "pricePerPack" : 3.13 } ], "dispensable" : { "dispensingUnit" : null }, "extraData" : { "useVVM" : "true" }, "id" : "a852f785-d82e-4afe-bc6a-04f3236caf90" }, "orderedQuantity" : 10, "totalDispensingUnits" : 100 }, { "id" : "a5decde1-c5f4-4d2d-a72d-ed0e0148a80e", "orderable" : { "productCode" : "GSK-PCV10-2-1234", "fullProductName" : "Synflorix PCV10 (2 dose)", "netContent" : 2, "packRoundingThreshold" : 1, "roundToZero" : true, "programs" : [ { "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", "orderableCategoryDisplayName" : "Vaccines", "orderableCategoryDisplayOrder" : 5, "active" : true, "fullSupply" : true, "displayOrder" : 5, "dosesPerPatient" : 1, "pricePerPack" : 4.60 } ], "dispensable" : { "dispensingUnit" : null }, "extraData" : { "useVVM" : "true" }, "id" : "b75a88c7-70fa-4bab-9785-3dd980a5ffc3" }, "orderedQuantity" : 10, "totalDispensingUnits" : 20 } ], "statusMessages" : [ ], "statusChanges" : [ ], "lastUpdater" : { "id" : "560be32a-ea2e-4d12-ae00-1f69376ad535", "href" : "https://uat.openlmis.org/api/users/560be32a-ea2e-4d12-ae00-1f69376ad535", "username" : null }, "lastUpdatedDate" : "2018-03-12T15:41:49.493Z", "id" : "1305428f-5d49-43f8-b243-9fca765ee74c", "href" : "https://uat.openlmis.org/api/orders/1305428f-5d49-43f8-b243-9fca765ee74c" }, "shippedBy" : { "id" : "560be32a-ea2e-4d12-ae00-1f69376ad535", "href" : "https://uat.openlmis.org/api/users/560be32a-ea2e-4d12-ae00-1f69376ad535", "username" : null }, "shippedDate" : "2018-03-12T15:41:49.3Z", "notes" : null, "lineItems" : [ { "id" : "446c6a5f-6835-462c-9961-9d466e5dff8f", "orderable" : { "id" : "9c3bea84-487b-4e22-8759-3fe93f8201d9", "href" : "https://uat.openlmis.org/api/orderables/9c3bea84-487b-4e22-8759-3fe93f8201d9" }, "lot" : { "id" : "f08d3db1-9132-487c-ba58-15ea12302aee", "href" : "https://uat.openlmis.org/api/lots/f08d3db1-9132-487c-ba58-15ea12302aee" }, "quantityShipped" : 1 }, { "id" : "63b46ed4-307d-47c6-ba9a-a39949efc4e1", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : { "id" : "edd308be-dcdc-4841-be05-d577a668fd09", "href" : "https://uat.openlmis.org/api/lots/edd308be-dcdc-4841-be05-d577a668fd09" }, "quantityShipped" : 1 }, { "id" : "af8779c9-e31f-49d0-9e0a-e047552a3dba", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : { "id" : "f9f9bb7c-7636-40c1-a548-b45e918a512a", "href" : "https://uat.openlmis.org/api/lots/f9f9bb7c-7636-40c1-a548-b45e918a512a" }, "quantityShipped" : 0 }, { "id" : "73dff27e-cdda-4caa-9972-7e82cb8705d9", "orderable" : { "id" : "9c3bea84-487b-4e22-8759-3fe93f8201d9", "href" : "https://uat.openlmis.org/api/orderables/9c3bea84-487b-4e22-8759-3fe93f8201d9" }, "lot" : { "id" : "9d0cd7cb-5739-491b-8d6b-890fd17ec810", "href" : "https://uat.openlmis.org/api/lots/9d0cd7cb-5739-491b-8d6b-890fd17ec810" }, "quantityShipped" : 0 }, { "id" : "fe149f2e-e556-49bf-9a30-e5bc2e61a46b", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : { "id" : "06f86552-1aa9-47d6-8857-6b7ad824f805", "href" : "https://uat.openlmis.org/api/lots/06f86552-1aa9-47d6-8857-6b7ad824f805" }, "quantityShipped" : 0 }, { "id" : "026a8493-8eb5-41cb-aa15-2ef5f4a59c2c", "orderable" : { "id" : "7c58f053-0ca5-46ad-8209-98cff0c79b42", "href" : "https://uat.openlmis.org/api/orderables/7c58f053-0ca5-46ad-8209-98cff0c79b42" }, "lot" : null, "quantityShipped" : 1 }, { "id" : "f3321b6a-f022-40ea-b69d-3b502f32ab74", "orderable" : { "id" : "047638fa-92ce-4adf-9bbd-3bcb3216897a", "href" : "https://uat.openlmis.org/api/orderables/047638fa-92ce-4adf-9bbd-3bcb3216897a" }, "lot" : null, "quantityShipped" : 0 }, { "id" : "9c8e4ea1-a9f7-4be6-9de9-d6a3e9677825", "orderable" : { "id" : "a852f785-d82e-4afe-bc6a-04f3236caf90", "href" : "https://uat.openlmis.org/api/orderables/a852f785-d82e-4afe-bc6a-04f3236caf90" }, "lot" : null, "quantityShipped" : 1 }, { "id" : "4329f0d5-8de8-4919-a63c-ab75e8fcfda8", "orderable" : { "id" : "b75a88c7-70fa-4bab-9785-3dd980a5ffc3", "href" : "https://uat.openlmis.org/api/orderables/b75a88c7-70fa-4bab-9785-3dd980a5ffc3" }, "lot" : null, "quantityShipped" : 1 } ], "extraData" : null } |
Business Logic:
Here's a mapping file by orderable name.
"openlmisOrderableProductCode","opensrpAntigenType" "MRK-MEASLESDIL-10-1234","M/MR" "IVX-BCG-20-1234","BCG" "SII-PENTA-10-1234","Penta" "GSK-PCV10-2-1234","PCV" "MRK-ROTA-1-1234","Rota" |
This means that all orderables that are received in the shipment should be mapped to the associated opensrpAntigenType. We will use this information to post
Note: We do not currently have demo data for the "OPV" antigenType in OpenLMIS and have excluded it from the order.
Here's the template to be posted to OpenSRP
{ "orderedDate": "", "orderCode": "", "shippedDate": "" "receivingFacility": { "code": "", "name": "" }, "supplyingFacility": { "code": "", "name": "" }, "processingPeriod": { "name": "", "startDate": "", "endDate": "" }, "lineItems": [ { "antigenType": "", "orderedQuantity": 0, "shippedQuantity": 0, "numDoses": 0 } ] } |
receivingFacility - This comes from the order's receivingFacility
"receivingFacility" : { "code" : "N007", "name" : "Lurio, Cuamba" |
supplyingFacility - This comes from the order's supplyingFacility
"supplyingFacility" : { "code" : "D001", "name" : "Dep—sito Distrital Cuamba" |
processingPeriod - This comes from the order's processingPeriod
"processingPeriod" : { "processingSchedule" : { "code" : "SCH001", "description" : null, "modifiedDate" : null, "name" : "Monthly", "id" : "9c15bd6e-3f6b-4b91-b53a-36c199d35eac" }, "name" : "Jan2017", "description" : null, "startDate" : "2017-01-01", "endDate" : "2017-01-31" |
Sample: Linking order information to shipment information
The first block below is from the Order that was posted to OpenLMIS in the previous steps. The second block is from the Shipment. The shipment doesn't store information about the line items, so we need to extract specific information from the order to generate the information that needs to be posted to OpenSRP server. The link is the "id" field from the shipment (second code block below). That orderable id (line#4) "7c58f053-0ca5-46ad-8209-98cff0c79b42" directly relates to the order line item (first clode block line#24)
{ "id" : "b103fc4c-c81f-4a92-abe7-724f85d5ed9e", "orderable" : { "productCode" : "MRK-MEASLESDIL-10-1234", "fullProductName" : "MMR II Diluent (10 dose)", "netContent" : 10, "packRoundingThreshold" : 1, "roundToZero" : true, "programs" : [ { "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", "orderableCategoryDisplayName" : "Vaccines", "orderableCategoryDisplayOrder" : 5, "active" : true, "fullSupply" : true, "displayOrder" : 5, "dosesPerPatient" : 1, "pricePerPack" : 20.00 } ], "dispensable" : { "dispensingUnit" : null }, "extraData" : null, "id" : "7c58f053-0ca5-46ad-8209-98cff0c79b42" }, "orderedQuantity" : 10, "totalDispensingUnits" : 100 }, |
{ "id" : "bbe3c2f8-99ce-4e92-a35b-0be39b796f39", "orderable" : { "id" : "7c58f053-0ca5-46ad-8209-98cff0c79b42", "href" : "https://uat.openlmis.org/api/orderables/7c58f053-0ca5-46ad-8209-98cff0c79b42" }, "lot" : null, "quantityShipped" : 1 } |
Post this JSON to OpenSRP Server
{ "orderedDate": "2018-02-23T23:43:27.982Z", "orderCode": "ORDER-CVRNFHVWR", "shippedDate": "2018-02-23T23:47:47.311Z", "receivingFacility": { "code": "N007", "name": "Lurio, Cuamba" }, "supplyingFacility": { "code": "D001", "name": "Dep—sito Distrital Cuamba" }, "processingPeriod": { "name": "Jan2017", "startDate": "2017-01-01", "endDate": "2017-01-31" }, "lineItems": [ { "antigenType": "M/MR", "orderedQuantity": 10, "shippedQuantity": 2, "numDoses": 10 }, { "antigenType": "BCG", "orderedQuantity": 10, "shippedQuantity": 3, "numDoses": 20 }, { "antigenType": "Penta", "orderedQuantity": 10, "shippedQuantity": 2, "numDoses": 10 }, { "antigenType": "PCV", "orderedQuantity": 10, "shippedQuantity": 23, "numDoses": 2 }, { "antigenType": "Rota", "orderedQuantity": 10, "shippedQuantity": 190, "numDoses": 1 } ] } |
The OpenLMIS UAT server has been setup with demo data. This section defines what was setup so it can be replicated on demo-v3.openlmis.org.
Target Facility: Lurio, Cuamba Facility Code N007
Target Program: EPI
Fulfilling Facility: Dep—sito Distrital Cuamba
Immunization products have been created in the EPI program with available stock on hand at the fulfilling facility
We will interact with the OpenLMIS UAT server. (NOTE: This server's database refreshes every hour on the hour, so any changes need to be done regularly.)
URL: uat.openlmis.org
Credentials: divo1/password
Program: EPI
Program Code: PRG004
Program ID: 418bdc1d-c303-4bd0-b2d3-d8901150a983
Other API Endpoints and Sample Curl Statements (You have to get your own access_token
Authenticate
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic dXNlci1jbGllbnQ6Y2hhbmdlbWU=' 'https://uat.openlmis.org/api/oauth/token?grant_type=password&username=administrator&password=password' |
Get the Facility information:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"name":"Dep—sito Distrital Cuamba"}' 'https://uat.openlmis.org/api/facilities/search?access_token=8b34302b-6c11-4207-b3cb-ccf6314a4077' |
Result:
{ "content": [ { "code": "D001", "name": "Dep—sito Distrital Cuamba", "active": true, "enabled": true, "type": { "code": "dist_store", "name": "District Store", "displayOrder": 4, "active": true, "id": "5fc213c6-1bd7-46f0-9883-57c05250ca90" }, "geographicZone": { "code": "cuamba", "name": "Cuamba", "level": { "code": "District", "levelNumber": 3, "id": "93c05138-4550-4461-9e8a-79d5f050c223" }, "latitude": 36.545, "longitude": -14.747, "parent": { "code": "niassa", "name": "Niassa", "level": { "code": "Region", "levelNumber": 2, "id": "9b497d87-cdd9-400e-bb04-fae0bf6a9491" }, "latitude": 36.20455, "longitude": -13.17497, "parent": { "code": "moz", "name": "Mozambique", "level": { "code": "Country", "levelNumber": 1, "id": "6b78e6c6-292e-4733-bb9c-3d802ad61206" }, "latitude": 35.83495, "longitude": -18.77371, "id": "d22d86fb-9123-437a-9eae-da2b31b77e34" }, "id": "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" }, "id": "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" }, "id": "c62dea9b-6974-4101-ba39-b09914165967" } ], "last": true, "totalElements": 1, "totalPages": 1, "sort": null, "numberOfElements": 1, "first": true, "size": 2000, "number": 0 } |
Get the Program Information:
curl -X GET --header 'Accept: application/json' 'https://uat.openlmis.org/api/programs/search?access_token=8b34302b-6c11-4207-b3cb-ccf6314a4077&name=EPI' |
Result:
[ { "code": "PRG004", "name": "EPI", "description": null, "active": true, "periodsSkippable": false, "showNonFullSupplyTab": null, "enableDatePhysicalStockCountCompleted": false, "id": "418bdc1d-c303-4bd0-b2d3-d8901150a983" } ] |
Get Order Information
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ "externalId" : "d9999999-89a6-4973-a47b-cee0d1bf7e36", \ "emergency" : false, \ "facility" : { \ "code" : "N007", \ "name" : "Lurio, Cuamba", \ "description" : null, \ "active" : true, \ "goLiveDate" : "2010-09-01", \ "goDownDate" : null, \ "comment" : null, \ "enabled" : true, \ "openLmisAccessible" : true, \ "supportedPrograms" : [ { \ "code" : "PRG004", \ "name" : "EPI", \ "description" : null, \ "active" : null, \ "periodsSkippable" : false, \ "showNonFullSupplyTab" : false, \ "supportLocallyFulfilled" : true, \ "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" \ } ], \ "geographicZone" : { \ "code" : "cuamba", \ "name" : "Cuamba", \ "level" : { \ "code" : "District", \ "name" : null, \ "levelNumber" : 3, \ "id" : "93c05138-4550-4461-9e8a-79d5f050c223" \ }, \ "parent" : { \ "code" : "niassa", \ "name" : "Niassa", \ "level" : { \ "code" : "Region", \ "name" : null, \ "levelNumber" : 2, \ "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" \ }, \ "parent" : { \ "code" : "moz", \ "name" : "Mozambique", \ "level" : { \ "code" : "Country", \ "name" : null, \ "levelNumber" : 1, \ "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" \ }, \ "parent" : null, \ "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" \ }, \ "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" \ }, \ "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" \ }, \ "operator" : { \ "code" : "moh", \ "name" : "Ministry of Health", \ "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" \ }, \ "type" : { \ "code" : "health_center", \ "name" : "Health Center", \ "description" : null, \ "displayOrder" : 2, \ "active" : true, \ "id" : "ac1d268b-ce10-455f-bf87-9c667da8f060" \ }, \ "id" : "4774fc63-a0c8-4a29-a01d-5b6b48632175" \ }, \ "processingPeriod" : { \ "processingSchedule" : { \ "code" : "SCH001", \ "description" : null, \ "modifiedDate" : null, \ "name" : "Monthly", \ "id" : "9c15bd6e-3f6b-4b91-b53a-36c199d35eac" \ }, \ "name" : "Jan2017", \ "description" : null, \ "startDate" : "2017-01-01", \ "endDate" : "2017-01-31", \ "id" : "516ac930-0d28-49f5-a178-64764e22b236" \ }, \ "createdBy" : { \ "username" : "divo1", \ "firstName" : "Alan", \ "lastName" : "Ehrenfreund", \ "email" : "divo1%40openlmis.org", \ "verified" : true, \ "active" : true, \ "loginRestricted" : false, \ "homeFacilityId" : "c62dea9b-6974-4101-ba39-b09914165967", \ "roleAssignments" : [ { \ "role" : null, \ "user" : null, \ "id" : null \ }, { \ "role" : null, \ "user" : null, \ "id" : null \ }, { \ "role" : null, \ "user" : null, \ "id" : null \ }, { \ "role" : null, \ "user" : null, \ "id" : null \ }, { \ "role" : null, \ "user" : null, \ "id" : null \ }, { \ "role" : null, \ "user" : null, \ "id" : null \ }, { \ "role" : null, \ "user" : null, \ "id" : null \ } ], \ "id" : "560be32a-ea2e-4d12-ae00-1f69376ad535" \ }, \ "program" : { \ "code" : "PRG004", \ "name" : "EPI", \ "description" : null, \ "active" : true, \ "periodsSkippable" : false, \ "showNonFullSupplyTab" : null, \ "supportLocallyFulfilled" : false, \ "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" \ }, \ "requestingFacility" : { \ "code" : "N007", \ "name" : "Lurio, Cuamba", \ "description" : null, \ "active" : true, \ "goLiveDate" : "2010-09-01", \ "goDownDate" : null, \ "comment" : null, \ "enabled" : true, \ "openLmisAccessible" : true, \ "supportedPrograms" : [ { \ "code" : "PRG004", \ "name" : "EPI", \ "description" : null, \ "active" : null, \ "periodsSkippable" : false, \ "showNonFullSupplyTab" : false, \ "supportLocallyFulfilled" : true, \ "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" \ } ], \ "geographicZone" : { \ "code" : "cuamba", \ "name" : "Cuamba", \ "level" : { \ "code" : "District", \ "name" : null, \ "levelNumber" : 3, \ "id" : "93c05138-4550-4461-9e8a-79d5f050c223" \ }, \ "parent" : { \ "code" : "niassa", \ "name" : "Niassa", \ "level" : { \ "code" : "Region", \ "name" : null, \ "levelNumber" : 2, \ "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" \ }, \ "parent" : { \ "code" : "moz", \ "name" : "Mozambique", \ "level" : { \ "code" : "Country", \ "name" : null, \ "levelNumber" : 1, \ "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" \ }, \ "parent" : null, \ "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" \ }, \ "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" \ }, \ "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" \ }, \ "operator" : { \ "code" : "moh", \ "name" : "Ministry of Health", \ "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" \ }, \ "type" : { \ "code" : "health_center", \ "name" : "Health Center", \ "description" : null, \ "displayOrder" : 2, \ "active" : true, \ "id" : "ac1d268b-ce10-455f-bf87-9c667da8f060" \ }, \ "id" : "4774fc63-a0c8-4a29-a01d-5b6b48632175" \ }, \ "receivingFacility" : { \ "code" : "N007", \ "name" : "Lurio, Cuamba", \ "description" : null, \ "active" : true, \ "goLiveDate" : "2010-09-01", \ "goDownDate" : null, \ "comment" : null, \ "enabled" : true, \ "openLmisAccessible" : true, \ "supportedPrograms" : [ { \ "code" : "PRG004", \ "name" : "EPI", \ "description" : null, \ "active" : null, \ "periodsSkippable" : false, \ "showNonFullSupplyTab" : false, \ "supportLocallyFulfilled" : true, \ "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" \ } ], \ "geographicZone" : { \ "code" : "cuamba", \ "name" : "Cuamba", \ "level" : { \ "code" : "District", \ "name" : null, \ "levelNumber" : 3, \ "id" : "93c05138-4550-4461-9e8a-79d5f050c223" \ }, \ "parent" : { \ "code" : "niassa", \ "name" : "Niassa", \ "level" : { \ "code" : "Region", \ "name" : null, \ "levelNumber" : 2, \ "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" \ }, \ "parent" : { \ "code" : "moz", \ "name" : "Mozambique", \ "level" : { \ "code" : "Country", \ "name" : null, \ "levelNumber" : 1, \ "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" \ }, \ "parent" : null, \ "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" \ }, \ "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" \ }, \ "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" \ }, \ "operator" : { \ "code" : "moh", \ "name" : "Ministry of Health", \ "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" \ }, \ "type" : { \ "code" : "health_center", \ "name" : "Health Center", \ "description" : null, \ "displayOrder" : 2, \ "active" : true, \ "id" : "ac1d268b-ce10-455f-bf87-9c667da8f060" \ }, \ "id" : "4774fc63-a0c8-4a29-a01d-5b6b48632175" \ }, \ "supplyingFacility" : { \ "code" : "D001", \ "name" : "Dep—sito Distrital Cuamba", \ "description" : null, \ "active" : true, \ "goLiveDate" : "2010-09-01", \ "goDownDate" : null, \ "comment" : null, \ "enabled" : true, \ "openLmisAccessible" : true, \ "supportedPrograms" : [ { \ "code" : "PRG004", \ "name" : "EPI", \ "description" : null, \ "active" : null, \ "periodsSkippable" : false, \ "showNonFullSupplyTab" : false, \ "supportLocallyFulfilled" : true, \ "id" : "418bdc1d-c303-4bd0-b2d3-d8901150a983" \ } ], \ "geographicZone" : { \ "code" : "cuamba", \ "name" : "Cuamba", \ "level" : { \ "code" : "District", \ "name" : null, \ "levelNumber" : 3, \ "id" : "93c05138-4550-4461-9e8a-79d5f050c223" \ }, \ "parent" : { \ "code" : "niassa", \ "name" : "Niassa", \ "level" : { \ "code" : "Region", \ "name" : null, \ "levelNumber" : 2, \ "id" : "9b497d87-cdd9-400e-bb04-fae0bf6a9491" \ }, \ "parent" : { \ "code" : "moz", \ "name" : "Mozambique", \ "level" : { \ "code" : "Country", \ "name" : null, \ "levelNumber" : 1, \ "id" : "6b78e6c6-292e-4733-bb9c-3d802ad61206" \ }, \ "parent" : null, \ "id" : "d22d86fb-9123-437a-9eae-da2b31b77e34" \ }, \ "id" : "0d4eb5ee-ae7f-42e7-89e1-d0f276090755" \ }, \ "id" : "9b8cfb5a-217a-4261-a64f-16ca06ae79fa" \ }, \ "operator" : { \ "code" : "moh", \ "name" : "Ministry of Health", \ "id" : "9456c3e9-c4a6-4a28-9e08-47ceb16a4121" \ }, \ "type" : { \ "code" : "dist_store", \ "name" : "District Store", \ "description" : null, \ "displayOrder" : 4, \ "active" : true, \ "id" : "5fc213c6-1bd7-46f0-9883-57c05250ca90" \ }, \ "id" : "c62dea9b-6974-4101-ba39-b09914165967" \ }, \ "quotedCost" : 0.00, \ "orderLineItems" : [ { \ "id" : "12441d3c-3be6-43d1-bb2d-169369d83c71", \ "orderable" : { \ "productCode" : "bcg20", \ "fullProductName" : "BCG", \ "netContent" : 20, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 12.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "8ef9d4da-b6e5-401c-b433-765a5fd8a0cc" \ }, \ "orderedQuantity" : 5, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "c3f04d37-6f90-4792-996c-880d005c7a9e", \ "orderable" : { \ "productCode" : "IVX-BCGDIL-20-1234", \ "fullProductName" : "Intervax BCG Diluent (20 dose)", \ "netContent" : 20, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 15.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : null, \ "id" : "c75152ee-ebed-47ed-bb87-0930aee18320" \ }, \ "orderedQuantity" : 5, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "28fd83ef-70e9-4745-977a-73179ccda857", \ "orderable" : { \ "productCode" : "ACM-GAS-1234", \ "fullProductName" : "Acme Gas (Cylinder)", \ "netContent" : 1, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 4.80 \ } ], \ "dispensable" : { \ "dispensingUnit" : "each" \ }, \ "extraData" : null, \ "id" : "4a05482a-68b8-4064-979f-6bfadf464481" \ }, \ "orderedQuantity" : 100, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "7a872650-4a46-4781-ac6b-6e04e823fbfe", \ "orderable" : { \ "productCode" : "rota1", \ "fullProductName" : "Rotavirus", \ "netContent" : 1, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 8.50 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "b61c652d-2259-41d7-8bb6-fc5fcdd95626" \ }, \ "orderedQuantity" : 50, \ "totalDispensingUnits" : 50 \ }, { \ "id" : "7da98901-65a5-487d-aa86-7a4eb2310f99", \ "orderable" : { \ "productCode" : "measles10", \ "fullProductName" : "Measles", \ "netContent" : 10, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 12.50 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "b918c3a4-7d12-4be3-854d-d1792cf3b33b" \ }, \ "orderedQuantity" : 10, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "b29c4c0f-8291-4772-b7a5-a4687cdf6aad", \ "orderable" : { \ "productCode" : "MRK-MEASLESDIL-10-1234", \ "fullProductName" : "MMR II Diluent (10 dose)", \ "netContent" : 10, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 20.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : null, \ "id" : "7c58f053-0ca5-46ad-8209-98cff0c79b42" \ }, \ "orderedQuantity" : 10, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "bee95eea-9bd2-4242-8cfc-8c46eacfdef5", \ "orderable" : { \ "productCode" : "pcv10", \ "fullProductName" : "PCV10", \ "netContent" : 2, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 4.60 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "72971f1d-dd20-4373-aa94-f9615777581b" \ }, \ "orderedQuantity" : 50, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "554fe21c-bcb8-471b-936b-45e05be889f8", \ "orderable" : { \ "productCode" : "penta1", \ "fullProductName" : "Pentavalent (1 dose)", \ "netContent" : 1, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 2.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "5f0dd194-aae1-490c-8b51-3cf0c87af983" \ }, \ "orderedQuantity" : 100, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "dbd4943b-2a59-4869-b9d5-90f9386af0fb", \ "orderable" : { \ "productCode" : "penta10", \ "fullProductName" : "Pentavalent (10 dose)", \ "netContent" : 10, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 3.13 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "c0d41166-01fd-4a28-ae2f-46f867ffb368" \ }, \ "orderedQuantity" : 10, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "a489ac50-412d-4391-8523-f2a72f1c6cb2", \ "orderable" : { \ "productCode" : "ipv5", \ "fullProductName" : "IPV", \ "netContent" : 5, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 13.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "b8ff7c36-2003-46d6-a687-551bdd521a9e" \ }, \ "orderedQuantity" : 10, \ "totalDispensingUnits" : 50 \ }, { \ "id" : "0c8cb97c-b653-4f1c-bf76-301acc8a1b8f", \ "orderable" : { \ "productCode" : "polio20", \ "fullProductName" : "Polio (20 dose)", \ "netContent" : 20, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 5.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "f8e6ea34-0ad8-43d5-96d7-a6f8b14ff210" \ }, \ "orderedQuantity" : 5, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "73a021f3-8023-47fe-9f52-8edd5ae9d7f4", \ "orderable" : { \ "productCode" : "ACM-SAFETYBOX-1234", \ "fullProductName" : "Acme Safety Box", \ "netContent" : 1, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 1.35 \ } ], \ "dispensable" : { \ "dispensingUnit" : "each" \ }, \ "extraData" : null, \ "id" : "7d5a1795-b219-465c-ba78-f5187b65d7f9" \ }, \ "orderedQuantity" : 100, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "f0d71690-7898-487b-8212-c25e688f1d8d", \ "orderable" : { \ "productCode" : "ACM-SYRINGE005ML-1234", \ "fullProductName" : "Acme Syringe 0.05ml", \ "netContent" : 1, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 4.20 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : null, \ "id" : "4457d688-9617-4594-bb54-03f98cabf84d" \ }, \ "orderedQuantity" : 100, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "f082e931-499e-417a-a68a-bb1e14f6575a", \ "orderable" : { \ "productCode" : "ACM-SYRINGE05ML-1234", \ "fullProductName" : "Acme Syringe 0.5ml", \ "netContent" : 1, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 4.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : null, \ "id" : "bfc1bfee-d6bb-4254-8bc9-5a0d962fce97" \ }, \ "orderedQuantity" : 100, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "ab2adc6e-5097-4239-af96-05232b31da56", \ "orderable" : { \ "productCode" : "ACM-SYRINGE5ML-1234", \ "fullProductName" : "Acme Syringe 5ml", \ "netContent" : 1, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 9.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : null, \ "id" : "170738eb-6364-4d2a-98cf-1ea54cc5a61a" \ }, \ "orderedQuantity" : 100, \ "totalDispensingUnits" : 100 \ }, { \ "id" : "c3b8c3e7-5877-4bd8-9486-a74cc61a4e22", \ "orderable" : { \ "productCode" : "tetanus10", \ "fullProductName" : "VAT", \ "netContent" : 10, \ "packRoundingThreshold" : 1, \ "roundToZero" : true, \ "programs" : [ { \ "programId" : "418bdc1d-c303-4bd0-b2d3-d8901150a983", \ "orderableDisplayCategoryId" : "16173fd0-f439-4222-931e-91c413a495c3", \ "orderableCategoryDisplayName" : "Vaccines", \ "orderableCategoryDisplayOrder" : 5, \ "active" : true, \ "fullSupply" : true, \ "displayOrder" : 5, \ "dosesPerPatient" : 1, \ "pricePerPack" : 6.00 \ } ], \ "dispensable" : { \ "dispensingUnit" : null \ }, \ "extraData" : { \ "useVVM" : "true" \ }, \ "id" : "e217910c-3364-46b3-92cd-8dd8acf0c557" \ }, \ "orderedQuantity" : 10, \ "totalDispensingUnits" : 100 \ } ] \ }' 'https://demo-v3.openlmis.org/api/orders?access_token=50565042-ace0-408c-ba1b-fda74bcd8353' |