#
Patient
#
1. Save patient data
- id: datatype - string, description uuid will be required if a resource is created using the bundle,
- firstName: datatype - string containing name first name of the person,
- middleName: datatype - string containing name middle name of the person,
- lastName: datatype - string containing name last name of the person,
- identifier:
- identifierType: datatype - string, description - url of the identifier that contains a link to refer to unique indetifiecation of the id type,
- identifierNumber: datatype - string, description - id number ,
- code: code of the identification category from list (http://hl7.org/fhir/R4B/valueset-identifier-type.html)
- gender: datatype - string, description - gender of the person (male|female|other|unknown)
- active: datatype - boolean, description - if the user is active (true|false),
- birthDate: datatype - date, description - date of birth in yyyy-mm-dd format,
- permanentAddress: contains permanent address
- addressLine1: datatype - string, description - house no, buliding no, society name etc,
- addressLine2: datatype - string, description - locality, area or street number details,
- district: datatype - string, description - district name,
- city: datatype - string, description - city name,
- state: datatype - string, description - state name,
- postalCode: datatype - integer, description - pin code of 6 digits,
- country: datatype - string, description - country name
- tempAddress: contains temporary address
- addressLine1: datatype - string, description - house no, buliding no, society name etc,
- addressLine2: datatype - string, description - locality, area or street number details,
- district: datatype - string, description - district name,
- city: datatype - string, description - city name,
- state: datatype - string, description - state name,
- postalCode: datatype - integer, description - pin code of 6 digits,
- country: datatype - string, description - country name
- email: datatype - string, description - email address of person,
- mobileNumber: datatype - integer, description - mobile number of person
If the user does not want to provide any detail for a particular field, he/she can send it as null.
POST: /sync/Patient
Request body
[
{
"id": "b79266ec-bcb6-11ed-9ef5-325096b39f47",
"resourceType": "Patient",
"firstName": "Sudhanshu",
"lastName": "Sharma",
"identifier": [
{
"identifierType": "http://hospital.smarthealthit.org",
"identifierNumber": "afac0bae-bcb6-11ed-bd14-325096b39f47",
"code": "MR"
},
{
"identifierType": "https://www.pan.utiitsl.com",
"identifierNumber": "GAFDI4894F"
}
],
"gender": "male",
"active": true,
"birthDate": "1993-10-11",
"permanentAddress": {
"addressLine1": "C 13, near c complex",
"addressLine2": "Shankar Vihar",
"district": "South West Delhi",
"city": "New Delhi",
"state": "Delhi",
"postalCode": "110010",
"country": "India"
},
"tempAddress": {
"addressLine1": "C 22, near c complex",
"district": "South West Delhi",
"city": "New Delhi",
"state": "Delhi",
"postalCode": "110020",
"country": "India"
},
"email": "sudhanshu12@yahoo.co.in",
"mobileNumber": "9887584498"
}
]
Response
{
"status": 1,
"message": "Data saved successfully.",
"data": [
{
"status": "200 OK",
"fhirId": "116",
"id": "urn:uuid:urn:uuid:b79266ec-bcb6-11ed-9ef5-325096b39f47",
"err": null
}
]
}
#
2. Get patient list
Get the list of all the patients created.
GET: /Patient?_sort=-_id
- Query params
_sort
: to sort according to id. ex -_id_offset
,_count
parameters can be used for syncing the data using pagination
Response
{
"status": 1,
"message": "details fetched successfully",
"total": 1,
"data": [
{
"fhirId": "1",
"firstName": "Prateek",
"lastName": "Sharma",
"identifier": [
{
"identifierType": "http://hospital.smarthealthit.org",
"identifierNumber": "274cc178-133a-4393-95e6-cad2ca6574cc",
"code": "MR"
}
],
"id": "274cc178-133a-4393-95e6-cad2ca6574cc",
"active": true,
"gender": "male",
"birthDate": "1984-11-21",
"mobileNumber": "9955556473",
"email": "prateek@yahoo.co.in",
"permanentAddress": {
"city": "PleasantVille",
"district": "Rainbow",
"state": "Vic",
"postalCode": "3999",
"addressLine1": "534 Erewhon St"
},
"tempAddress": {
"city": "PleasantVille",
"district": "Rainbow",
"state": "Vic",
"postalCode": "3999",
"addressLine1": "534 Erewhon St"
}
}
]
}
#
Get patient by id
Get the details of a patient by adding search parameter id
.
GET: /Patient?_id=2214
- Query params
_id
: id of the patient that needs to be fetched.
Response
{
"status": 1,
"message": "details fetched successfully",
"total": 1,
"data": [
{
"fhirId": "2214",
"firstName": "Prajakta",
"lastName": "V",
"identifier": [
{
"identifierType": "https://www.thelattice.in/",
"identifierNumber": "2c710171-df3b-4912-a4e1-5d021483d99d",
"code": "MR"
},
{
"identifierType": "https://www.passportindia.gov.in",
"identifierNumber": "222222222222",
"code": null
}
],
"id": "2c710171-df3b-4912-a4e1-5d021483d99d",
"active": true,
"gender": "female",
"birthDate": "1977-11-28",
"mobileNumber": "9999872345",
"email": "prajaktav@gmail.com",
"permanentAddress": {
"city": "New Delhi",
"district": "South West Delhi",
"state": "Delhi",
"postalCode": "110010",
"country": "India",
"addressLine1": "P 111-D4, near c complex",
"addressLine2": "Shankar Vihar"
},
"tempAddress": {
"city": "New Delhi",
"district": "South West Delhi",
"state": "Delhi",
"postalCode": "110020",
"country": "India",
"addressLine1": "P 111-D4, near c complex"
}
}
]
}
#
3. Patch patient data
Operations:
- add - performed to add a detail which is not already present in the resource
- remove - removes any field or detail from the resource
- replace - replace any existing data in the field
There can be only 3 types of values in the value field :
- A variable (string or integer, boolean or decimal, char etc)
- An object such as permanent address
- An array
If any field in patch api is to be removed such as district in parmanentAddress then it should be provided as null, not as an empty string. For example
"permanentAddress": {
"operation": "replace",
"value": {
"addressLine1": "C-416",
"addressLine2": "Sarita Vihar",
"city": "South Delhi",
"country": "India",
"district": null,
"postalCode": "989898",
"state": "Andhra Pradesh"
}
}
PATCH: /sync/Patient
Request body
[
{
"resourceType": "Patient",
"id": 108,
"firstName": {
"operation": "replace",
"value": "Arpita"
},
"lastName": {
"operation": "replace",
"value": "Ghosh"
},
"middleName": {
"operation": "replace",
"value": "Sen"
},
"gender": {
"operation": "replace",
"value": "female"
},
"active": {
"operation": "replace",
"value": true
},
"birthDate": {
"operation": "replace",
"value": "1996-05-12"
},
"permanentAddress": {
"operation": "replace",
"value": {
"addressLine1": "C 64, near c complex",
"addressLine2": "Shankar Vihar",
"district": "South West Delhi",
"city": "New Delhi",
"state": "Delhi",
"postalCode": "110020",
"country": "India"
}
},
"email": {
"operation": "replace",
"value": "arpita@gmail.com"
},
"mobileNumber": {
"operation": "replace",
"value": "9985643276"
}
}
]
Response
{
"status": 1,
"message": "Data updated successfully.",
"data": [
{
"status": "200 OK",
"fhirId": "108",
"id": null,
"err": null
}
]
}