Patient API

Table of Contents

List Patients

Current Implementation

When the user logs in, a list of all the patients the user can 'see' is retrieved from PS. The idea is to have a local cache so we don't need to retrieve patient information from PS any more. Latest changes in the way patients and users are assigned to each others made the creation of this cache obsolete. A similar cache is being used now containing only the associated patients of the user that is logged in into the device. 
This cache is going to be removed in the future.

Parameters

Base URL: /getPatients

Parameters:

NameTypeMandatoryDescription
tokenStringYesSecurity Token obtained before.
userIdStringYesThe id of the logged in user.
locationENUMNo

Possible values: ['ORGANIZATION', 'FACILITY', 'WORKSPACE', 'ROOM'].

The location that we want to use as filter.

If this value is not specified the operation will return all the patients the user can 'see' according to the permission he/she has: LIST_PATIENTS_FROM_ALL_ORGANIZATIONS, LIST_PATIENTS_FROM_CURRENT_ORGANIZATION, LIST_PATIENTS_FROM_CURRENT_FACILITY.

locationIdStringNo, unless 'location' is specified The id of the location that we want to use as filter.

API Sample

curl 'http://192.168.2.102:8080/PresentationServices/getPatients?userId=poda&token=d2360c39-637b-41da-988d-f031db5affbb&_=1395133673254' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed

Result
 {
  "patientsFact": {
    "statusFact": {
      "success": true
    },
    "patients": [
      { "admissionDate" : "2013-04-12",
            "age" : "32",
            "ageUnit" : "wks",
            "chartId" : "7",
            "deliveryType" : "Inborn",
            "facilityId" : "Vidant",
            "facilityName" : "Vidant",
            "headCircumference" : "33.00",
            "length" : "33.00",
            "organizationId" : "UNC",
            "organizationName" : "UNC",
            "patientId" : "777777773d8f5de2013dff67a76e00f6",
            "roomId" : "vidant_poda",
            "roomName" : "Pod A",
            "weight" : "1110.000",
            "weightUnit" : "g",
            "workspaceId" : "vidant_nursery",
            "workspaceName" : "Nursery"
          },
          { "admissionDate" : "2013-04-12",
            "age" : "32",
            "ageUnit" : "wks",
            "chartId" : "8",
            "deliveryType" : "Inborn",
            "facilityId" : "Vidant",
            "facilityName" : "Vidant",
            "headCircumference" : "33.00",
            "length" : "33.00",
            "organizationId" : "UNC",
            "organizationName" : "UNC",
            "patientId" : "888888883d8f5de2013dff67a76e00f6",
            "roomId" : "(Discharged)",
            "roomName" : "Pod A",
            "weight" : "1110.000",
            "weightUnit" : "g",
            "workspaceId" : "vidant_nursery",
            "workspaceName" : "Nursery"
          },
		  ....
  ]}}

Patients Assignment

Current Implementation

A patient can be currently assigned to a user by selecting it from the drop down present in Patients Assignment view, or via NFC or bar code scanning. The association between a patient and a user is used to determine the potential receivers of an alert that is generated for a patient. 
Forms can only be submitted for currently assigned patients. This restriction is not enforced in PS but in the client application.

Parameters

Base URL: /associatePatientToProvider

Parameters:

NameTypeMandatoryDescription
tokenStringYesSecurity Token obtained before.
userIdStringYesThe id of the logged in user.
patientIdStringYesThe id of the patient we want to associate with userId

API Sample

curl 'http://192.168.2.102:8080/PresentationServices/associatePatientToProvider?patientId=000000003f59c2aa013f6898a5470043&userId=poda&token=d2360c39-637b-41da-988d-f031db5affbb&_=1395133673258' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed

Result
{

   "statusFact":{

      "success":true

   }

}