API Name: put-immunization


This API creates or updates an Immunization record documenting a vaccine administration event for a patient. The record captures the vaccine type, administration details (site, route, dose), performer, lot number, and any adverse reactions observed.

Specification


Endpoint [baseurl]/Immunization/$put-immunization
Protocol HTTPS
HTTP Method Post
HTTP Header Content-Type: application/fhir+json

Request Body

Remarks:

  • This is a type-level operation that operates on the Immunization resource type.
  • Immunization.occurrence[x] is restricted to occurrenceDateTime only (Period and string are not supported).
  • Immunization.doseQuantity requires value, unit, system, and code to all be present if the element is used.
  • Immunization.reason requires both concept and reference to be present if the element is used.
  • Immunization.reaction requires date, manifestation, and reported to be present if the element is used.
  • Immunization.protocolApplied.targetDisease.coding requires system, code, and display to all be present.
  • (All Slices) is an automatically generated section and should be ignored. Do not pass this as an input parameter. It will also not be part of response.

Immunization

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
containedC0..*Resource
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifierC1..1Identifier
basedOnΣ C0..0Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | ServiceRequest)
statusΣ ?!1..1codeBinding
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
administeredProduct0..0CodeableReference(Medication)
manufacturer0..1CodeableReference(Organization)
lotNumber0..1string
expirationDate0..1date
patientΣ C1..1Reference(Patient)
encounterC0..0Reference(Encounter)
supportingInformationC0..0Reference(Resource)
occurrenceDateTimedateTime
primarySourceΣ0..1boolean
informationSource0..0CodeableReference(Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
locationC0..0Reference(Location)
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..0string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..0string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
id0..0string
extensionC0..0Extension
valueΣ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ1..1string
systemΣ C1..1uri
codeΣ C1..1code
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
functionΣ0..1CodeableConceptBinding
actorΣ C1..1Reference(Practitioner)
noteΣ0..1Annotation
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
referenceΣ C1..1Reference
isSubpotentΣ ?!0..0boolean
subpotentReason0..0CodeableConcept
fundingSource0..0CodeableConcept
id0..0string
extensionC0..0Extension
modifierExtensionΣ ?! C0..0Extension
date1..1dateTime
id0..0string
extensionC0..0Extension
conceptΣ0..1CodeableConcept
referenceΣ C0..1Reference
reported1..1boolean
id0..0string
extensionC0..0Extension
modifierExtensionΣ ?! C0..0Extension
series0..1string
authorityC0..1Reference(Organization)
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
doseNumber1..1string
seriesDoses0..1string
{
"resourceType": "Immunization",
"meta": {
"profile": [
"https://fhir.synapxe.sg/StructureDefinition/profile-immunization"
]
},
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "IMM-2026-00345"
}
],
"status": "completed",
"coding": [
{
"system": "http://snomed.info/sct",
"code": "1119349007",
"display": "Vaccine product containing only Severe acute respiratory syndrome coronavirus 2 messenger ribonucleic acid"
}
],
"text": "Pfizer-BioNTech COVID-19 mRNA Vaccine (BNT162b2)"
},
"concept": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/mvx",
"code": "PFR",
"display": "Pfizer, Inc"
}
],
"text": "Pfizer, Inc"
}
},
"lotNumber": "EL9261",
"expirationDate": "2026-06-30",
"patient": {
"type": "Patient",
"system": "https://fhir.synapxe.sg/NamingSystem/nric",
"value": "S8765432A"
}
},
"occurrenceDateTime": "2026-02-20T10:30:00+08:00",
"primarySource": true,
"site": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "368209003",
"display": "Right arm"
}
],
"text": "Right deltoid muscle"
},
"route": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
"code": "IM",
"display": "Injection, intramuscular"
}
]
},
"value": 0.3,
"unit": "mL",
"system": "http://unitsofmeasure.org",
"code": "mL"
},
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0443",
"code": "AP",
"display": "Administering Provider"
}
]
},
"actor": {
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "N11223"
},
"display": "Nurse Siti Aminah"
}
},
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0443",
"code": "OP",
"display": "Ordering Provider"
}
]
},
"actor": {
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
}
}
],
"note": [
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "N11223"
},
"display": "Nurse Siti Aminah"
},
"time": "2026-02-20T10:45:00+08:00",
"text": "Vaccine administered in right deltoid. Patient observed for 30 minutes post-vaccination. No immediate adverse reactions noted. Patient advised on common side effects."
}
],
"reason": [
{
"concept": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "281647001",
"display": "Adverse reaction"
}
],
"text": "Routine COVID-19 booster vaccination as per national immunisation schedule"
},
"type": "Condition",
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "COND-2026-00123"
},
"display": "COVID-19 vaccination schedule"
}
}
],
{
"date": "2026-02-20T11:00:00+08:00",
"reported": true
}
],
{
"type": "Organization",
"system": "https://fhir.synapxe.sg/NamingSystem/hci-code",
"value": "HCI-MOHH"
},
"display": "Ministry of Health Holdings"
},
{
"coding": [
{
"system": "http://snomed.info/sct",
"code": "840539006",
"display": "COVID-19"
}
]
}
],
"doseNumber": "3"
}
]
}

Successful Response

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
containedC0..*Resource
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifierC1..1Identifier
basedOnΣ C0..0Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | ServiceRequest)
statusΣ ?!1..1codeBinding
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
administeredProduct0..0CodeableReference(Medication)
manufacturer0..1CodeableReference(Organization)
lotNumber0..1string
expirationDate0..1date
patientΣ C1..1Reference(Patient)
encounterC0..0Reference(Encounter)
supportingInformationC0..0Reference(Resource)
occurrenceDateTimedateTime
primarySourceΣ0..1boolean
informationSource0..0CodeableReference(Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
locationC0..0Reference(Location)
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..0string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..0string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
id0..0string
extensionC0..0Extension
valueΣ1..1decimal
comparatorΣ ?!0..0codeBinding
unitΣ1..1string
systemΣ C1..1uri
codeΣ C1..1code
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
functionΣ0..1CodeableConceptBinding
actorΣ C1..1Reference(Practitioner)
noteΣ0..1Annotation
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
referenceΣ C1..1Reference
isSubpotentΣ ?!0..0boolean
subpotentReason0..0CodeableConcept
fundingSource0..0CodeableConcept
id0..0string
extensionC0..0Extension
modifierExtensionΣ ?! C0..0Extension
date1..1dateTime
id0..0string
extensionC0..0Extension
conceptΣ0..1CodeableConcept
referenceΣ C0..1Reference
reported1..1boolean
id0..0string
extensionC0..0Extension
modifierExtensionΣ ?! C0..0Extension
series0..1string
authorityC0..1Reference(Organization)
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ C1..1code
displayΣ C1..1string
userSelectedΣ0..0boolean
textΣ0..0string
doseNumber1..1string
seriesDoses0..1string
{
"resourceType": "Immunization",
"id": "imm-2026-00345",
"meta": {
"versionId": "1",
"lastUpdated": "2026-02-20T10:30:00.1+08:00",
"profile": [
"https://fhir.synapxe.sg/StructureDefinition/profile-immunization"
]
},
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "IMM-2026-00345"
}
],
"status": "completed",
"coding": [
{
"system": "http://snomed.info/sct",
"code": "1119349007",
"display": "Vaccine product containing only Severe acute respiratory syndrome coronavirus 2 messenger ribonucleic acid"
}
],
"text": "Pfizer-BioNTech COVID-19 mRNA Vaccine (BNT162b2)"
},
"concept": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/mvx",
"code": "PFR",
"display": "Pfizer, Inc"
}
],
"text": "Pfizer, Inc"
}
},
"lotNumber": "EL9261",
"expirationDate": "2026-06-30",
"patient": {
"type": "Patient",
"system": "https://fhir.synapxe.sg/NamingSystem/nric",
"value": "S8765432A"
}
},
"occurrenceDateTime": "2026-02-20T10:30:00+08:00",
"primarySource": true,
"site": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "368209003",
"display": "Right arm"
}
],
"text": "Right deltoid muscle"
},
"route": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
"code": "IM",
"display": "Injection, intramuscular"
}
]
},
"value": 0.3,
"unit": "mL",
"system": "http://unitsofmeasure.org",
"code": "mL"
},
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0443",
"code": "AP",
"display": "Administering Provider"
}
]
},
"actor": {
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "N11223"
},
"display": "Nurse Siti Aminah"
}
},
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0443",
"code": "OP",
"display": "Ordering Provider"
}
]
},
"actor": {
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
}
}
],
"note": [
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "N11223"
},
"display": "Nurse Siti Aminah"
},
"time": "2026-02-20T10:45:00+08:00",
"text": "Vaccine administered in right deltoid. Patient observed for 30 minutes post-vaccination. No immediate adverse reactions noted. Patient advised on common side effects."
}
],
"reason": [
{
"concept": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "281647001",
"display": "Adverse reaction"
}
],
"text": "Routine COVID-19 booster vaccination as per national immunisation schedule"
},
"type": "Condition",
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "COND-2026-00123"
},
"display": "COVID-19 vaccination schedule"
}
}
],
{
"date": "2026-02-20T11:00:00+08:00",
"reported": true
}
],
{
"type": "Organization",
"system": "https://fhir.synapxe.sg/NamingSystem/hci-code",
"value": "HCI-MOHH"
},
"display": "Ministry of Health Holdings"
},
{
"coding": [
{
"system": "http://snomed.info/sct",
"code": "840539006",
"display": "COVID-19"
}
]
}
],
"doseNumber": "3"
}
]
}

Business Level Errors


This section details the business level errors exposed by OperationOutcome resource for this operation. Refer to API Error Handling for framework level errors.

For illustration only

http status code code details.coding.code details.text
404 not-found E-10000 No matching patient found based on NRIC, Date of Birth and Gender
404 not-found E-10001 Institution code for organization is not found
404 not-found E-10002 Organization code is not found
400 business-rule E-10003 Patient is not currently enrolled to the organization
400 duplicate E-10004 An attempt was made to create a duplicate record
400 invalid E-10005 Invalid immunization identifier
400 invalid E-10006 Invalid immunization status