FHIR Complete

Patient

Patient resource CRUD operations and search

Search Patients

GET /Patient?name={name}&_count={limit}&_offset={offset}

Parameters

ParameterTypeDescription
namestringSearch by patient name
identifierstringSearch by identifier (e.g., national ID)
birthdatedateFilter by birth date
genderstringFilter by gender (male, female, other)
_countnumberPage size (default: 20)
_offsetnumberPagination offset

Response

{
  "resourceType": "Bundle",
  "type": "searchset",
  "total": 150,
  "entry": [
    {
      "resource": {
        "resourceType": "Patient",
        "id": "ZCT_patient_001",
        "name": [
          {
            "use": "official",
            "family": "Novak",
            "given": ["Jan"]
          }
        ],
        "gender": "male",
        "birthDate": "1985-03-15",
        "telecom": [
          { "system": "phone", "value": "+421901234567" },
          { "system": "email", "value": "jan.novak@email.com" }
        ],
        "address": [
          {
            "line": ["Hlavna 15"],
            "city": "Bratislava",
            "postalCode": "81101",
            "country": "SK"
          }
        ]
      }
    }
  ]
}

Read Patient

GET /Patient/{resource_id}

Returns the full Patient FHIR resource.

Create Patient

POST /Patient
Content-Type: application/json
{
  "resourceType": "Patient",
  "name": [
    {
      "use": "official",
      "family": "Novak",
      "given": ["Jan"]
    }
  ],
  "gender": "male",
  "birthDate": "1985-03-15",
  "telecom": [
    { "system": "phone", "value": "+421901234567" }
  ]
}

Update Patient

PUT /Patient/{resource_id}
Content-Type: application/json

Delete Patient

DELETE /Patient/{resource_id}

Patient $everything

Returns all data associated with a patient (encounters, conditions, medications, etc.):

GET /Patient/{resource_id}/$everything

Response

A Bundle containing all related resources: Encounters, Conditions, Observations, MedicationRequests, CarePlans, CareTeams, AllergyIntolerances, Procedures, DiagnosticReports, and DocumentReferences.

Notes

  • Patient data is scoped to the organization in your token; there is no parameter that can widen it
  • resource_id is the FHIR logical ID (not the internal UUID)
  • Doctors can filter "My Patients" via CareTeam membership