FHIR Immunization

Base Path: /fhir/4.0/Immunization

Version: 2.0.0

The FHIR Immunization API allows you to look up and retrieve a patient's immunization information.

The endpoint provides the ability to:

  • Retrieve all Immunization resources that match search criteria for a given patient.
  • Retrieve a specific Immunization resource based on its resource ID.
  • Retrieve the history of an Immunization resource based on its FHIR ID.
  • Retrieve a specific version of an Immunization resource based on its FHIR ID and Version ID.
  • Create a Immunization resource for a patient.
  • Update a Immunization resource based on its resource id.
  • Retrieve Immunization results from third-party sources.
  • Supports exporting resources via FHIR Bulk.

The data returned in this API is subject to privacy and permissions settings, refer to the Working with Privacy guide to learn how this might affect your application.

The Immunization API aggregates data from multiple sources, to learn about working with aggregated APIs refer to the Working with Aggregation guide in the Knowledge Hub.

This API is based on the R4 release of the FHIR standard, for more information on this API refer to the official FHIR documentation.


Methods

Retrieve Immunizations for a Patient

GET /fhir/4.0/Immunization/

This method returns all immunizations for the patient identified by patient resource id or patient identifier. Optionally, filtering the immunizations using the other parameters.


Parameters

Name

Type

Data Type

Description


Name:

patient

required

Type:

query

Data Type:

string

Description:

The patient resource id.

Note:

  • You must either define the patient.identifier or patient, not both.
  • In addition to having the required patient.identifier or patient, you can defined chained patient elements to define filters on the reference, each of the chained parameters can specify multiple comma separated values.

    Sample format of the query is

    • patient={patient FHIRID}
    • patient={patient FHIRID} & patient.gender=male & patient.birthdate=2002-05-01


Sample Value: IFAUCQJNGAYTENBNHBAE6USJJ5HA



Name:

patient.identifier

required

Type:

query

Data Type:

string

Description:

The patient identifier consists of patient identifier namespace, also known as the system, and identifier, separated using a URL encoded | character i.e. %7c.

Note:

  • You must either define the patient.identifier or patient, not both.
  • In addition to having the required patient.identifier or patient, you can defined chained patient elements to define filters on the reference, each of the chained parameters can specify multiple comma separated values.

Sample format of the query is

  • patient.identifier={namespace}|{identifier}
  • patient.identifier={namespace}|{identifier} & patient.gender=male & patient.birthdate=2002-05-01


Sample Value: SYS_A%7C31231-3647



Name:

date

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to those with a occurrence date on, before, or after a specific date or date-time. The supported prefixes are gt, ge, lt, le and eq. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B. Note: Date range searches are not supported in solutions containing Orion Health Problem List since the patient may have non-date onsets.

The format of the query is

  • date=gt{dateTimeValue}
  • date=ge{dateTimeValue}&date=le{dateTimeValue}


Sample Value: eq1995-09-20



Name:

status

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to those that match the specified status. The status may consists of a coding system and a code separated using a URL encoded | character i.e. %7c The supported values are:

  • completed
  • entered-in-error
  • not-done

Note:


Sample Value: not-done



Name:

identifier

optional

Type:

query

Data Type:

array

Description:

Filters immunizations by the identifier associated with this immunization.

Note: The identifier can be a single item or a comma separated list of identifiers. Each identifier is defined by system and value , separated using a URL encoded | character i.e. %7c.,


Sample Value: urn:oid:1.3.4.5.6.7|2345234234234, urn:text:sysA|2345



Name:

location

optional

Type:

query

Data Type:

array

Description:

Filters immunizations by source of the information about the immunization, identified by their Immunization.location reference.

Note: location can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: location.type=AMB&location.address-city=AUCKLAND



Name:

lot-number

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to those that match the specified lot number.

Note:

  • Supports passing in a comma-separated list of values.


Sample Value: PT123F, LTY43R



Name:

manufacturer

optional

Type:

query

Data Type:

array

Description:

Filters immunizations by vaccine manufacturer, identified by their Immunization.manufacturer reference.

Note: manufacturer can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: manufacturer:Organization.name=Auckland%20Hospital



Name:

performer

optional

Type:

query

Data Type:

array

Description:

Filters immunizations by who played a role in the vaccination, identified by their Immunization.performer.actor reference.

Note: performer can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: performer:Practitioner.family=Smith&performer:Practitioner.given=Bob,Robert



Name:

reaction

optional

Type:

query

Data Type:

array

Description:

Filters immunizations by ddditional information on reaction, identified by their Immunization.reaction.detail reference.

Note: reaction can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: reaction:Observation.code=http://loinc.org/|22735-5,22702-5



Name:

reaction-date

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to those with a reaction date on, before, or after a specific date or date-time. The supported prefixes are gt, ge, lt, le and eq. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B. Note: Date range searches are not supported in solutions containing Orion Health Problem List since the patient may have non-date onsets.

The format of the query is

  • reaction-date=gt{dateTimeValue}
  • reaction-date=ge{dateTimeValue}&reaction-date=le{dateTimeValue}


Sample Value: gt1990-01-01T01:00:00+13:00



Name:

reason-code

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified reason-code or reason-codes. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://snomed.info/sct|429060002



Name:

reason-reference

optional

Type:

query

Data Type:

array

Description:

Filters immunizations by why immunization occurred, identified by their Immunization.reasonReference reference.

Note: reason-reference can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: reason-reference:DiagnosticReport.code=http://loinc.org/|22735-5,22702-5



Name:

series

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to those that match with series being followed by the provider.

Note:

  • Supports passing in a comma-separated list of values.


Sample Value: 2-dose, 3-dose



Name:

status-reason

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified status-reason or status-reasons. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://terminology.hl7.org/CodeSystem/v3-ActReason|IMMUNE



Name:

target-disease

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified target-disease or target-diseases. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://snomed.info/sct|1857005



Name:

vaccine-code

optional

Type:

query

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified vaccine-code or vaccine-codes. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://hl7.org/fhir/sid/cvx|143



Name:

-include-sources

optional

Type:

query

Data Type:

array

Description:

The -include-sources parameter defines which sources should be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -include-sources is specified, ONLY the specified sources will be searched. Note that the sources specified should be enabled.


Sample Value: -include-sources=Orion%20Health%E2%84%A2%20R4%20HL7V2%20Generic%20Problems



Name:

-exclude-sources

optional

Type:

query

Data Type:

array

Description:

The -exclude-sources parameter defines which sources should NOT be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -exclude-sources is specified, the specified sources will NOT be searched. Note that the sources specified should be enabled.


Sample Value: -exclude-sources=Orion%20Health%E2%84%A2%20R4%20HL7V2%20Generic%20Problems



Name:

_summary

optional

Type:

query

Data Type:

string

Description:

Instructs the server to return a subset of the resource, reducing the size of the reponse payload. Possible values are

  • true: return summaries only
  • false: return full resources
  • count: return the count of search matches
  • text: return only the text, id, meta, and top-level mandatory elements
  • data: remove the text element


Sample Value: true



Name:

_lastUpdated

optional

Type:

query

Data Type:

array

Description:

Filters based on when the resource version was last changed, before, or after a specific date, date-time, or date range. The supported prefixes are gt, ge, lt, le and eq. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B.

The format of the query is

  • _lastUpdated=gt{dateTimeValue}
  • _lastUpdated=ge{dateTimeValue}&_lastUpdated=le{dateTimeValue}


Sample Value: ge2012-01-01T01:00:00+13:00



Name:

_elements

optional

Type:

query

Data Type:

array

Description:

Request a specific set of elements be returned, or excluded as part of a resource in the search results. Use _elements for the elements to include and _elements:exclude for the elements to exclude.


Sample Value: _elements=status,reaction,series,_elements:exclude=*.extension,*.series



Name:

-cursor

optional

Type:

query

Data Type:

string

Description:

A server internal parameter to navigate different pages.

This parameter is returned by the server as part of the Bundle 'next' link of a paginated query. And is used to retrieve the next page




Name:

_count

optional

Type:

query

Data Type:

integer

Description:

Limit the number of match results to the specified _count. When _count is specified, the query will be paginated, and only _count or less results will be returned.

The returned bundle may contain a next link if more results could be available.


Sample Value: 30



Name:

_sort

optional

Type:

query

Data Type:

array

Description:

Request which order results should be returned in.

Supported _sort parameters are:

  • date to sort by Immunization.occurrence ascending
  • -date to sort by Immunization.occurrence descending
  • _lastUpdated to sort by Immunization.Meta.lastUpdated ascending
  • -_lastUpdatedto sort by Immunization.Meta.lastUpdated descending

You can use any combination of the parameters


Default Value: -date

Sample Value: _sort=-date,_sort=-date, -_lastUpdated



Name:

X-Request-Id

optional

Type:

header

Data Type:

string

Description:

Supply a request Id to track the request.


Sample Value: adUEctf6urd



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response. Possible values are application/json and application/xml. If both _format and Accept are specified, _format takes precedence.


Default Value: application/json

Sample Value: application/json



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

Specifies the language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US



Name:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header. Possible values are json and xml.


Default Value: json

Sample Value: json



Name:

_pretty

optional

Type:

query

Data Type:

string

Description:

Ask for a pretty printed response for human convenience.


Default Value: true

Sample Value: true



Name:

CSRF-Token

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. The csrfToken from the OHP session must be included in this header.

System will validate the token and reject the request if the token is invalid or not present.

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.




Name:

X-Send-Open-API

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. This header is required to distinguish the api requests from known senders.

System will validate "X-Send-Open-API" request header is present or not. If it is not present, system will reject the request

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.



Responses


application/json+fhir

200

Returns a FHIR Bundle containing 0..* OperationOutcome resources and 0..* Immunizations resources


application/json+fhir

400

This response code is returned when the query is invalid e.g. an invalid parameter or a partial token in the search.

Sample Requests

Search for specific Immunizations for a Patient by patient identifier
curl -X GET "https://developer-solution/fhir/4.0/Immunization?patient.identifier=SYS_A%7C31231-3647&date=eq1995-09-20&status=not-done" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='

Create an Immunization for a Patient

POST /fhir/4.0/Immunization/

This method creates an immunization for a patient in the system. Note: The create API requires to have s data source available to store the Immunizations. Currently storage solution is not part of the offering.


Parameters

Name

Type

Data Type

Description


Name:

Content-Type

required

Type:

header

Data Type:

string

Description:

Specifies how to encode the form data. Possible values are application/json and application/xml.


Sample Value: application/json



Name:

Immunization

required

Type:

body

Data Type:

object

Description:

Contains the fields of the Immunization resource to be created. The following fields should be present:

  • Immunization.patient
  • Immunization.id
  • Immunization.status
  • Immunization.vaccineCode
  • Immunization.occurrence

Note: If the Immunization resource Id is present it will be ignored. The patient should be known to the system.

Sample Payload:

{
  "resourceType": "Immunization",
  "id": "shaRCKMH6OERV6XXHV2BUJWTURNDOHMWT3YTFEZIRDH2WJBUYYWVEGQ",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234"
    }
  ],
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "urn:oid:1.2.36.1.2001.1005.17",
        "code": "FLUVAX"
      }
    ],
    "text": "Fluvax (Influenza)"
  },
  "patient": {
    "reference": "Patient/GYZGCNDDMRSWMQCPJBBVA"
  },
  "encounter": {
    "reference": "Encounter/example"
  },
  "occurenceDateTime": "2013-01-10T00:00:00.000Z",
  "primarySource": true,
  "location": {
    "reference": "Location/1"
  },
  "doseQuantity": {
    "coding": [
      {
        "value": 5,
        "system": "https://unitsofmeasure.org",
        "code": "mg"
      }
    ]
  }
}




Name:

X-Request-Id

optional

Type:

header

Data Type:

string

Description:

Supply a request Id to track the request.


Sample Value: adUEctf6urd



Name:

CSRF-Token

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. The csrfToken from the OHP session must be included in this header.

System will validate the token and reject the request if the token is invalid or not present.

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.




Name:

X-Send-Open-API

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. This header is required to distinguish the api requests from known senders.

System will validate "X-Send-Open-API" request header is present or not. If it is not present, system will reject the request

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.



Responses


application/json+fhir

201

This response code is returned when a new Immunization is created successfully. The Immunization FHIR Id is in the header.


application/json+fhir

400

This response code is returned when the query is invalid e.g. an invalid parameter or a partial token in the search, required fields are missing from the Immunization or Immunization patient reference is unknown.


application/json+fhir

401

This response code is returned when the user is not authorized to perform the operation. This could be due to invalid login or not having enough access rights to perform the operation. In order to create or update immunizations the user should either be a member of the "FHIR Immunization Administrator" or the "FHIR Write Administrator" Group, or have full access to the immunization patient.

Sample Requests

Create an Immunization
curl -X POST "https://developer-solution/fhir/4.0/Immunization/" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8=' \
-H 'Content-Type: null' \
-d '{"resourceType":"Immunization","id":"shaRCKMH6OERV6XXHV2BUJWTURNDOHMWT3YTFEZIRDH2WJBUYYWVEGQ","identifier":[{"system":"urn:ietf:rfc:3986","value":"urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234"}],"status":"completed","vaccineCode":{"coding":[{"system":"urn:oid:1.2.36.1.2001.1005.17","code":"FLUVAX"}],"text":"Fluvax (Influenza)"},"patient":{"reference":"Patient/GYZGCNDDMRSWMQCPJBBVA"},"encounter":{"reference":"Encounter/example"},"occurenceDateTime":"2013-01-10T00:00:00.000Z","primarySource":true,"location":{"reference":"Location/1"},"doseQuantity":{"coding":[{"value":5,"system":"https://unitsofmeasure.org","code":"mg"}]}}'

Retrieve Immunizations for a Patient

POST /fhir/4.0/Immunization/_search

This method returns all immunizations for the patient identified by patient resource id or patient identifier. Optionally, filtering the immunizations using the other parameters. This is the secure alternative to the GET search.


Parameters

Name

Type

Data Type

Description


Name:

Content-Type

required

Type:

header

Data Type:

string

Description:

Specifies how to encode the form data. The Content-Type value must be application/x-www-form-urlencoded.


Sample Value: application/x-www-form-urlencoded



Name:

patient

required

Type:

formData

Data Type:

string

Description:

The patient resource id.

Note:

  • You must either define the patient.identifier or patient, not both.
  • In addition to having the required patient.identifier or patient, you can defined chained patient elements to define filters on the reference, each of the chained parameters can specify multiple comma separated values.

    Sample format of the query is

    • patient={patient FHIRID}
    • patient={patient FHIRID} & patient.gender=male & patient.birthdate=2002-05-01


Sample Value: GMYTEMZRFUZTMNBXIBJVSU27IE



Name:

patient.identifier

required

Type:

formData

Data Type:

string

Description:

The patient identifier consists of patient identifier namespace, also known as the system, and identifier, separated using a URL encoded | character i.e. %7c.

Note:

  • You must either define the patient.identifier or patient, not both.
  • In addition to having the required patient.identifier or patient, you can defined chained patient elements to define filters on the reference, each of the chained parameters can specify multiple comma separated values.

Sample format of the query is

  • patient.identifier={namespace}|{identifier}
  • patient.identifier={namespace}|{identifier} & patient.gender=male & patient.birthdate=2002-05-01


Sample Value: ORION|AAAA-0124-8



Name:

date

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to those with a occurrence date on, before, or after a specific date or date-time. The supported prefixes are gt, ge, lt, le and eq. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B. Note: Date range searches are not supported in solutions containing Orion Health Problem List since the patient may have non-date onsets.

The format of the query is

  • date=gt{dateTimeValue}
  • date=ge{dateTimeValue}&date=le{dateTimeValue}


Sample Value: gt1990-01-01T01:00:00+13:00



Name:

status

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to those that match the specified status. The status may consists of a coding system and a code separated using a URL encoded | character i.e. %7c The supported values are:

  • completed
  • entered-in-error
  • not-done

Note:


Sample Value: not-done



Name:

identifier

optional

Type:

formData

Data Type:

array

Description:

Filters immunizations by the identifier associated with this immunization.

Note: The identifier can be a single item or a comma separated list of identifiers. Each identifier is defined by system and value , separated using a URL encoded | character i.e. %7c.,


Sample Value: urn:oid:1.3.4.5.6.7|2345234234234, urn:text:sysA|2345



Name:

location

optional

Type:

formData

Data Type:

array

Description:

Filters immunizations by source of the information about the immunization, identified by their Immunization.location reference.

Note: location can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: location.type=AMB&location.address-city=AUCKLAND



Name:

lot-number

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to those that match the specified lot number.

Note:

  • Supports passing in a comma-separated list of values.


Sample Value: PT123F, LTY43R



Name:

manufacturer

optional

Type:

formData

Data Type:

array

Description:

Filters immunizations by vaccine manufacturer, identified by their Immunization.manufacturer reference.

Note: manufacturer can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: manufacturer:Organization.name=Auckland%20Hospital



Name:

performer

optional

Type:

formData

Data Type:

array

Description:

Filters immunizations by who played a role in the vaccination, identified by their Immunization.performer.actor reference.

Note: performer can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: performer:Practitioner.family=Smith&performer:Practitioner.given=Bob,Robert



Name:

reaction

optional

Type:

formData

Data Type:

array

Description:

Filters immunizations by ddditional information on reaction, identified by their Immunization.reaction.detail reference.

Note: reaction can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: reaction:Observation.code=http://loinc.org/|22735-5,22702-5



Name:

reaction-date

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to those with a reaction date on, before, or after a specific date or date-time. The supported prefixes are gt, ge, lt, le and eq. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B. Note: Date range searches are not supported in solutions containing Orion Health Problem List since the patient may have non-date onsets.

The format of the query is

  • reaction-date=gt{dateTimeValue}
  • reaction-date=ge{dateTimeValue}&reaction-date=le{dateTimeValue}


Sample Value: gt1990-01-01T01:00:00+13:00



Name:

reason-code

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified reason-code or reason-codes. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://snomed.info/sct|429060002



Name:

reason-reference

optional

Type:

formData

Data Type:

array

Description:

Filters immunizations by why immunization occurred, identified by their Immunization.reasonReference reference.

Note: reason-reference can be chained to define filters on the reference, each of the chained parameters can specify multiple comma separated values.


Sample Value: reason-reference:DiagnosticReport.code=http://loinc.org/|22735-5,22702-5



Name:

series

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to those that match with series being followed by the provider.

Note:

  • Supports passing in a comma-separated list of values.


Sample Value: 2-dose, 3-dose



Name:

status-reason

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified status-reason or status-reasons. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://terminology.hl7.org/CodeSystem/v3-ActReason|IMMUNE



Name:

target-disease

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified target-disease or target-diseases. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://snomed.info/sct|1857005



Name:

vaccine-code

optional

Type:

formData

Data Type:

array

Description:

Filters the immunizations to ones that matches the specified vaccine-code or vaccine-codes. The code value consists of a coding system and a code separated using a URL encoded | character i.e. %7c

Note: Supports passing in a comma-separated list of values


Sample Value: http://hl7.org/fhir/sid/cvx|143



Name:

-include-sources

optional

Type:

formData

Data Type:

array

Description:

The -include-sources parameter defines which sources should be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -include-sources is specified, ONLY the specified sources will be searched. Note that the sources specified should be enabled.


Sample Value: -include-sources=Orion%20Health%E2%84%A2%20R4%20HL7V2%20Generic%20Problems



Name:

-exclude-sources

optional

Type:

formData

Data Type:

array

Description:

The -exclude-sources parameter defines which sources should NOT be queried for the results.

Note: Either -include-sources or -exclude-sources parameter can be specified, not both. If -exclude-sources is specified, the specified sources will NOT be searched. Note that the sources specified should be enabled.


Sample Value: -exclude-sources=Orion%20Health%E2%84%A2%20R4%20HL7V2%20Generic%20Problems



Name:

_summary

optional

Type:

formData

Data Type:

string

Description:

Instructs the server to return a subset of the resource, reducing the size of the reponse payload. Possible values are

  • true: return summaries only
  • false: return full resources
  • count: return the count of search matches
  • text: return only the text, id, meta, and top-level mandatory elements
  • data: remove the text element


Sample Value: true



Name:

_lastUpdated

optional

Type:

formData

Data Type:

array

Description:

Filters based on when the resource version was last changed, before, or after a specific date, date-time, or date range. The supported prefixes are gt, ge, lt, le and eq. If no prefix is used, exact date or date-time matching is implied. Dates must be formatted according to ISO 8601 either as a date only (e.g. 1997-07-16) or as a date-time including the timezone (e.g. 1997-07-16T19:20:30+13:00). Ensure that special characters such as + are URL encoded i.e. %2B.

The format of the query is

  • _lastUpdated=gt{dateTimeValue}
  • _lastUpdated=ge{dateTimeValue}&_lastUpdated=le{dateTimeValue}


Sample Value: ge2012-01-01T01:00:00+13:00



Name:

_elements

optional

Type:

formData

Data Type:

array

Description:

Request a specific set of elements be returned, or excluded as part of a resource in the search results. Use _elements for the elements to include and _elements:exclude for the elements to exclude.


Sample Value: _elements=status,reaction,series,_elements:exclude=*.extension,*.series



Name:

-cursor

optional

Type:

formData

Data Type:

string

Description:

A server internal parameter to navigate different pages.

This parameter is returned by the server as part of the Bundle 'next' link of a paginated query. And is used to retrieve the next page




Name:

_count

optional

Type:

formData

Data Type:

integer

Description:

Limit the number of match results to the specified _count. When _count is specified, the query will be paginated, and only _count or less results will be returned.

The returned bundle may contain a next link if more results could be available.


Sample Value: 30



Name:

_sort

optional

Type:

formData

Data Type:

array

Description:

Request which order results should be returned in.

Supported _sort parameters are:

  • date to sort by Immunization.occurrence ascending
  • -date to sort by Immunization.occurrence descending
  • _lastUpdated to sort by Immunization.Meta.lastUpdated ascending
  • -_lastUpdatedto sort by Immunization.Meta.lastUpdated descending

You can use any combination of the parameters


Default Value: -date

Sample Value: _sort=-date,_sort=-date, -_lastUpdated



Name:

X-Request-Id

optional

Type:

header

Data Type:

string

Description:

Supply a request Id to track the request.


Sample Value: adUEctf6urd



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response. Possible values are application/json and application/xml. If both _format and Accept are specified, _format takes precedence.


Default Value: application/json

Sample Value: application/json



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

Specifies the language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US



Name:

_format

optional

Type:

formData

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header. Possible values are json and xml.


Default Value: json

Sample Value: json



Name:

_pretty

optional

Type:

formData

Data Type:

string

Description:

Ask for a pretty printed response for human convenience.


Default Value: true

Sample Value: true



Name:

CSRF-Token

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. The csrfToken from the OHP session must be included in this header.

System will validate the token and reject the request if the token is invalid or not present.

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.




Name:

X-Send-Open-API

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. This header is required to distinguish the api requests from known senders.

System will validate "X-Send-Open-API" request header is present or not. If it is not present, system will reject the request

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.



Responses


application/json+fhir

200

Returns a FHIR Bundle containing 0..* OperationOutcome resources and 0..* Immunizations resources


application/json+fhir

400

This response code is returned when the query is invalid e.g. an invalid parameter or a partial token in the search.

Sample Requests

Search for specific Immunizations for a Patient by patient identifier
curl -X POST "https://developer-solution/fhir/4.0/Immunization/_search" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8=' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'patient=GMYTEMZRFUZTMNBXIBJVSU27IE' \
-d 'date=gt1990-01-01T01:00:00+13:00' \
-d 'status=not-done'

Retrieve a single Immunization

GET /fhir/4.0/Immunization/{id}

This method returns the Immunization resource matching the requested resource ID.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The ID of the Immunization resource.


Sample Value: shaMG6WK4GWAZL2344CVA3LGH74CK4YAP5OLGGT6422LDV5S63AKDYA



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

The language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US



Name:

X-Request-Id

optional

Type:

header

Data Type:

string

Description:

Supply a request Id to track the request.


Sample Value: adUEctf6urd



Name:

_elements

optional

Type:

query

Data Type:

array

Description:

Request a specific set of elements be returned, or excluded as part of a resource in the search results. Use _elements for the elements to include and _elements:exclude for the elements to exclude.


Sample Value: _elements=status,reaction,series,_elements:exclude=*.extension,*.series



Name:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header. Possible values are json and xml.


Default Value: json

Sample Value: json



Name:

_pretty

optional

Type:

query

Data Type:

string

Description:

Ask for a pretty printed response for human convenience.


Default Value: true

Sample Value: true



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response. Possible values are application/json and application/xml. If both _format and Accept are specified, _format takes precedence.


Default Value: application/json

Sample Value: application/json



Name:

CSRF-Token

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. The csrfToken from the OHP session must be included in this header.

System will validate the token and reject the request if the token is invalid or not present.

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.




Name:

X-Send-Open-API

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. This header is required to distinguish the api requests from known senders.

System will validate "X-Send-Open-API" request header is present or not. If it is not present, system will reject the request

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.



Responses


application/json+fhir

200

Returns an Immunization resource matching the requested resource ID.


application/json+fhir

400

This code is returned when the FHIR ID is empty or not valid.


application/json+fhir

404

No Immunization resource found with the requested resource ID.

Sample Requests

Retrieve Immunization with a specific resource id
curl -X GET "https://developer-solution/fhir/4.0/Immunization/shaMG6WK4GWAZL2344CVA3LGH74CK4YAP5OLGGT6422LDV5S63AKDYA" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='

Update an Immunization

PUT /fhir/4.0/Immunization/{id}

This method updates the Immunization resource matching the requested resource ID. Note: The update API requires to have s data source available to store the Immunizations. Currently storage solution is not part of the offering.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The ID of the Immunization resource.


Sample Value: shaRCKMH6OERV6XXHV2BUJWTURNDOHMWT3YTFEZIRDH2WJBUYYWVEGQ



Name:

Immunization

required

Type:

body

Data Type:

object

Description:

Contains the fields of the Immunization resource to be updated. The following fields must be present:

  • Immunization.patient
  • Immunization.id
  • Immunization.status
  • Immunization.vaccineCode
  • Immunization.occurrence

Sample Payload:

{
  "resourceType": "Immunization",
  "id": "shaRCKMH6OERV6XXHV2BUJWTURNDOHMWT3YTFEZIRDH2WJBUYYWVEGQ",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234"
    }
  ],
  "status": "completed",
  "vaccineCode": {
    "coding": [
      {
        "system": "urn:oid:1.2.36.1.2001.1005.17",
        "code": "FLUVAX"
      }
    ],
    "text": "Fluvax (Influenza)"
  },
  "patient": {
    "reference": "Patient/GYZGCNDDMRSWMQCPJBBVA"
  },
  "encounter": {
    "reference": "Encounter/example"
  },
  "occurenceDateTime": "2013-01-10T00:00:00.000Z",
  "primarySource": true,
  "location": {
    "reference": "Location/1"
  },
  "doseQuantity": {
    "coding": [
      {
        "value": 5,
        "system": "https://unitsofmeasure.org",
        "code": "mg"
      }
    ]
  }
}




Name:

X-Request-Id

optional

Type:

header

Data Type:

string

Description:

Supply a request Id to track the request.


Sample Value: adUEctf6urd



Name:

CSRF-Token

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. The csrfToken from the OHP session must be included in this header.

System will validate the token and reject the request if the token is invalid or not present.

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.




Name:

X-Send-Open-API

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. This header is required to distinguish the api requests from known senders.

System will validate "X-Send-Open-API" request header is present or not. If it is not present, system will reject the request

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.



Responses


application/json+fhir

201

The Immunization was updated. The immunization FHIR ID is in the header.


application/json+fhir

400

The required fields are missing from the Immunization or Immunization Patient reference is not known.


application/json+fhir

401

This code is returned when the user is not authorized to perform the operation.


application/json+fhir

404

No Immunization resource found with the requested resource ID.

Sample Requests

Update an existing Immunization with a specific resource id
curl -X PUT "https://developer-solution/fhir/4.0/Immunization/shaRCKMH6OERV6XXHV2BUJWTURNDOHMWT3YTFEZIRDH2WJBUYYWVEGQ" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8=' \
-H 'Content-Type: null' \
-d '{"resourceType":"Immunization","id":"shaRCKMH6OERV6XXHV2BUJWTURNDOHMWT3YTFEZIRDH2WJBUYYWVEGQ","identifier":[{"system":"urn:ietf:rfc:3986","value":"urn:oid:1.3.6.1.4.1.21367.2005.3.7.1234"}],"status":"completed","vaccineCode":{"coding":[{"system":"urn:oid:1.2.36.1.2001.1005.17","code":"FLUVAX"}],"text":"Fluvax (Influenza)"},"patient":{"reference":"Patient/GYZGCNDDMRSWMQCPJBBVA"},"encounter":{"reference":"Encounter/example"},"occurenceDateTime":"2013-01-10T00:00:00.000Z","primarySource":true,"location":{"reference":"Location/1"},"doseQuantity":{"coding":[{"value":5,"system":"https://unitsofmeasure.org","code":"mg"}]}}'

Retrieve an Immunization's history

GET /fhir/4.0/Immunization/{id}/_history

This method returns the change history for an Immunization resource matching the requested resource ID. Immunization resources can be retrieved from multiple data sources, and not all sources are able to return history information. This operation will return an empty set of data if no versions of the specified Immunization can be found, which includes cases where:

  • The specified Immunization resource cannot be found.
  • The data source for the Immunization is unable to return history information.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The ID of the Immunization resource.


Sample Value: shaMG6WK4GWAZL2344CVA3LGH74CK4YAP5OLGGT6422LDV5S63AKDYA



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

The language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US



Name:

X-Request-Id

optional

Type:

header

Data Type:

string

Description:

Supply a request Id to track the request.


Sample Value: adUEctf6urd



Name:

_elements

optional

Type:

query

Data Type:

array

Description:

Request a specific set of elements be returned, or excluded as part of a resource in the search results. Use _elements for the elements to include and _elements:exclude for the elements to exclude.


Sample Value: _elements=status,reaction,series,_elements:exclude=*.extension,*.series



Name:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header. Possible values are json and xml.


Default Value: json

Sample Value: json



Name:

_pretty

optional

Type:

query

Data Type:

string

Description:

Ask for a pretty printed response for human convenience.


Default Value: true

Sample Value: true



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response. Possible values are application/json and application/xml. If both _format and Accept are specified, _format takes precedence.


Default Value: application/json

Sample Value: application/json



Name:

CSRF-Token

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. The csrfToken from the OHP session must be included in this header.

System will validate the token and reject the request if the token is invalid or not present.

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.




Name:

X-Send-Open-API

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. This header is required to distinguish the api requests from known senders.

System will validate "X-Send-Open-API" request header is present or not. If it is not present, system will reject the request

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.



Responses


application/json+fhir

200

Returns an Immunization resource matching the requested resource ID.


application/json+fhir

400

  • The source providing the Immunization resource is not capable of returning history of Immunization resources.


application/json+fhir

404

  • No Immunization resource found with the requested resource ID.

Sample Requests

Retrieve the history of an Immunization with a specific resource id
curl -X GET "https://developer-solution/fhir/4.0/Immunization/shaMG6WK4GWAZL2344CVA3LGH74CK4YAP5OLGGT6422LDV5S63AKDYA/_history" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='

Retrieve a specific version of an Immunization

GET /fhir/4.0/Immunization/{id}/_history/{versionid}

This method returns a specific version of the Immunization resource matching the requested resource ID. Immunization resources can be retrieved from multiple data sources. This operation will return an empty set of data if no versions of the specified Immunization can be found, which includes cases where:

  • The specified Immunization resource cannot be found.


Parameters

Name

Type

Data Type

Description


Name:

id

required

Type:

path

Data Type:

string

Description:

The ID of the Immunization resource.


Sample Value: shaMG6WK4GWAZL2344CVA3LGH74CK4YAP5OLGGT6422LDV5S63AKDYA



Name:

versionid

required

Type:

path

Data Type:

string

Description:

The version of the Immunization resource


Sample Value: 1



Name:

Accept-Language

optional

Type:

header

Data Type:

string

Description:

The language that the results will be translated to. If not specified it will default to the server's locale. (e.g. fr-FR for french)


Sample Value: en-US



Name:

X-Request-Id

optional

Type:

header

Data Type:

string

Description:

Supply a request Id to track the request.


Sample Value: adUEctf6urd



Name:

_elements

optional

Type:

query

Data Type:

array

Description:

Request a specific set of elements be returned, or excluded as part of a resource in the search results. Use _elements for the elements to include and _elements:exclude for the elements to exclude.


Sample Value: _elements=status,reaction,series,_elements:exclude=*.extension,*.series



Name:

_format

optional

Type:

query

Data Type:

string

Description:

Media type of the response. It takes precedence over the Accept header. Possible values are json and xml.


Default Value: json

Sample Value: json



Name:

_pretty

optional

Type:

query

Data Type:

string

Description:

Ask for a pretty printed response for human convenience.


Default Value: true

Sample Value: true



Name:

Accept

optional

Type:

header

Data Type:

string

Description:

Media type of the response. Possible values are application/json and application/xml. If both _format and Accept are specified, _format takes precedence.


Default Value: application/json

Sample Value: application/json



Name:

CSRF-Token

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. The csrfToken from the OHP session must be included in this header.

System will validate the token and reject the request if the token is invalid or not present.

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.




Name:

X-Send-Open-API

required

Type:

header

Data Type:

string

Description:

This header is required for CSRF protection. This header is required to distinguish the api requests from known senders.

System will validate "X-Send-Open-API" request header is present or not. If it is not present, system will reject the request

Note: Either CSRF-Token or X-Send-Open-API must be included in headers to do the CSRF protection.



Responses


application/json+fhir

200

Returns an Immunization resource matching the requested resource ID.


application/json+fhir

400

  • The source providing the Immunization resource is not capable of returning history of Immunization resources.


application/json+fhir

404

  • No Immunization resource found with the requested resource ID.
  • The version id specified does not exist for the Immunization resource with the requested resource ID.

Sample Requests

Retrieve the version of Immunization identified by a resource id and a version id
curl -X GET "https://developer-solution/fhir/4.0/Immunization/shaMG6WK4GWAZL2344CVA3LGH74CK4YAP5OLGGT6422LDV5S63AKDYA/_history/1" \
-H 'Accept: application/json' \
-H 'Authorization: Basic bGV2ZWwxLnN5c19hOk9yaW9uc3k1IT8='