API Name: put-enrollment


This API creates or updates a patient Enrollment record under the Healthier Singapore (HSG) programme. Enrollment is represented using the CarePlan resource, differentiated from a standard care plan by the category.coding.code value of pophealth-enrolment. The enrollment captures the patient's association with a population health programme, including the enrolment status reason and the providing institution.

Specification


Endpoint [baseurl]/CarePlan/$put-enrollment
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 CarePlan resource type.
  • CarePlan.category.coding.code must be set to pophealth-enrolment to differentiate enrollment records from standard care plans.
  • CarePlan.status is set to completed (active enrollment) or revoked (withdrawal). This value is internally decided by the system when creating an enrollment.
  • CarePlan.intent must be fixed to plan.
  • The enrollment-status-reason extension is required and indicates the reason for the enrollment status (e.g., enrollment, pcp-change, withdraw, nehr-optout).
  • CarePlan.careTeam must reference a contained CareTeam resource identifying the assigned primary care provider.
  • (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.

CarePlan

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
containedC0..*Resource
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifierΣ C1..1Identifier
instantiatesCanonicalΣ0..0canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire)
instantiatesUriΣ0..0uri
basedOnΣ C0..0Reference(CarePlan | NutritionOrder | RequestOrchestration | ServiceRequest)
replacesΣ C0..0Reference(CarePlan)
partOfΣ C0..0Reference(CarePlan)
statusΣ ?!1..1codeBinding
intentΣ ?!1..1codeBinding
categoryΣ0..*CodeableConcept
titleΣ0..0string
descriptionΣ0..0string
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBindingFixed Value
id0..0string
extensionC0..0Extension
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ C1..1string
periodΣ C0..0Period
assignerΣ C0..0Reference(Organization)
displayΣ C0..1string
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBinding
id0..0string
extensionC0..0Extension
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ C1..1string
periodΣ C0..0Period
assignerΣ C0..0Reference(Organization)
displayΣ C0..0string
periodΣ C0..1Period
createdΣ0..0dateTime
custodianΣ C0..0Reference(CareTeam | Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBinding
id0..0string
extensionC0..0Extension
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ C1..1string
periodΣ C0..0Period
assignerΣ C0..0Reference(Organization)
displayΣ C0..1string
id0..0string
extensionC0..0Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ C0..0Identifier
displayΣ C0..0string
id0..0string
extensionC0..0Extension
conceptΣ0..0CodeableConcept
referenceΣ C1..1Reference
supportingInfoC0..0Reference(Resource)
id0..0string
extensionC0..0Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ C0..0Identifier
displayΣ C0..0string
id0..0string
extensionC0..0Extension
modifierExtensionΣ ?! C0..0Extension
id0..0string
extensionC0..0Extension
conceptΣ1..1CodeableConcept
referenceΣ C0..0Reference
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBinding
identifierΣ C1..1Identifier
displayΣ C0..1string
timeΣ1..1dateTime
textΣ1..1markdown
plannedActivityReferenceC0..1Reference(Appointment | CommunicationRequest | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | RequestOrchestration | ServiceRequest | SupplyRequest | Task | VisionPrescription)
note0..*Annotation
{
"resourceType": "CarePlan",
"meta": {
"profile": [
"https://fhir.synapxe.sg/StructureDefinition/profile-careplan"
]
},
{
"resourceType": "CareTeam",
"id": "careteam-enrol-001",
"meta": {
"profile": [
"https://fhir.synapxe.sg/StructureDefinition/profile-careteam"
]
},
"status": "active",
"name": "Healthier SG Primary Care Team",
{
"member": {
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
}
}
]
}
],
{
"url": "http://ihis.sg/extension/enrollment-status-reason",
"coding": [
{
"system": "http://ihis.sg/ValueSet/hsg-enrollment-status-reason",
"code": "enrollment",
"display": "Enrollment"
}
]
}
},
{
"url": "http://ihis.sg/extension/enrollment-provided-by",
"coding": [
{
"system": "http://ihis.sg/ValueSet/hsg-provided-by",
"code": "clinic",
"display": "Clinic"
}
]
}
},
{
"url": "http://ihis.sg/extension/override-capacity-flag",
"valueBoolean": false
}
],
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "ENROL-2026-00123"
}
],
"status": "completed",
"intent": "plan",
{
"coding": [
{
"system": "http://ihis.sg/ValueSet/hsg-care-plan-category",
"code": "pophealth-enrolment",
"display": "Population Health Enrolment"
}
]
}
],
"subject": {
"type": "Patient",
"system": "https://fhir.synapxe.sg/NamingSystem/nric",
"value": "S9876543C"
}
},
"type": "Encounter",
"system": "https://fhir.synapxe.sg/NamingSystem/eventID",
"value": "ENC-2026-07890"
}
},
"period": {
"start": "2026-02-20"
},
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
}
],
{
"reference": "#careteam-enrol-001"
}
],
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "COND-2026-00789"
},
"display": "Hypertension"
}
},
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "COND-2026-00790"
},
"display": "Type 2 Diabetes Mellitus"
}
}
],
{
{
"concept": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "398162007",
"display": "Health screening"
}
],
"text": "Healthier SG enrolment health screening"
}
}
],
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
},
"time": "2026-02-20T09:30:00+08:00",
"text": "Patient enrolled in Healthier SG programme. Baseline health assessment completed. Patient assigned to Dr. Lim Boon Keng as primary care physician."
}
]
}
],
"note": [
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
},
"time": "2026-02-20T09:30:00+08:00",
"text": "Patient enrolled in Healthier SG programme for chronic disease management. Patient has existing conditions of hypertension and type 2 diabetes. Enrolled at patient's own initiative after HSG outreach."
}
]
}

Successful Response

idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textC0..1Narrative
containedC0..*Resource
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
identifierΣ C1..1Identifier
instantiatesCanonicalΣ0..0canonical(ActivityDefinition | Measure | OperationDefinition | PlanDefinition | Questionnaire)
instantiatesUriΣ0..0uri
basedOnΣ C0..0Reference(CarePlan | NutritionOrder | RequestOrchestration | ServiceRequest)
replacesΣ C0..0Reference(CarePlan)
partOfΣ C0..0Reference(CarePlan)
statusΣ ?!1..1codeBinding
intentΣ ?!1..1codeBinding
categoryΣ0..*CodeableConcept
titleΣ0..0string
descriptionΣ0..0string
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBindingFixed Value
id0..0string
extensionC0..0Extension
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ C1..1string
periodΣ C0..0Period
assignerΣ C0..0Reference(Organization)
displayΣ C0..1string
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBinding
id0..0string
extensionC0..0Extension
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ C1..1string
periodΣ C0..0Period
assignerΣ C0..0Reference(Organization)
displayΣ C0..0string
periodΣ C0..1Period
createdΣ0..0dateTime
custodianΣ C0..0Reference(CareTeam | Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBinding
id0..0string
extensionC0..0Extension
useΣ ?!0..0codeBinding
typeΣ0..0CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ C1..1string
periodΣ C0..0Period
assignerΣ C0..0Reference(Organization)
displayΣ C0..1string
id0..0string
extensionC0..0Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ C0..0Identifier
displayΣ C0..0string
id0..0string
extensionC0..0Extension
conceptΣ0..0CodeableConcept
referenceΣ C1..1Reference
supportingInfoC0..0Reference(Resource)
id0..0string
extensionC0..0Extension
referenceΣ C1..1string
typeΣ0..0uriBinding
identifierΣ C0..0Identifier
displayΣ C0..0string
id0..0string
extensionC0..0Extension
modifierExtensionΣ ?! C0..0Extension
id0..0string
extensionC0..0Extension
conceptΣ1..1CodeableConcept
referenceΣ C0..0Reference
id0..0string
extensionC0..0Extension
id0..0string
extensionC0..0Extension
referenceΣ C0..0string
typeΣ1..1uriBinding
identifierΣ C1..1Identifier
displayΣ C0..1string
timeΣ1..1dateTime
textΣ1..1markdown
plannedActivityReferenceC0..1Reference(Appointment | CommunicationRequest | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | RequestOrchestration | ServiceRequest | SupplyRequest | Task | VisionPrescription)
note0..*Annotation
{
"resourceType": "CarePlan",
"id": "enrol-2026-00123",
"meta": {
"versionId": "1",
"lastUpdated": "2026-02-20T09:30:00.1+08:00",
"profile": [
"https://fhir.synapxe.sg/StructureDefinition/profile-careplan"
]
},
{
"resourceType": "CareTeam",
"id": "careteam-enrol-001",
"meta": {
"profile": [
"https://fhir.synapxe.sg/StructureDefinition/profile-careteam"
]
},
"status": "active",
"name": "Healthier SG Primary Care Team",
{
"member": {
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
}
}
]
}
],
{
"url": "http://ihis.sg/extension/enrollment-status-reason",
"coding": [
{
"system": "http://ihis.sg/ValueSet/hsg-enrollment-status-reason",
"code": "enrollment",
"display": "Enrollment"
}
]
}
},
{
"url": "http://ihis.sg/extension/enrollment-provided-by",
"coding": [
{
"system": "http://ihis.sg/ValueSet/hsg-provided-by",
"code": "clinic",
"display": "Clinic"
}
]
}
},
{
"url": "http://ihis.sg/extension/override-capacity-flag",
"valueBoolean": false
}
],
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "ENROL-2026-00123"
}
],
"status": "completed",
"intent": "plan",
{
"coding": [
{
"system": "http://ihis.sg/ValueSet/hsg-care-plan-category",
"code": "pophealth-enrolment",
"display": "Population Health Enrolment"
}
]
}
],
"subject": {
"type": "Patient",
"system": "https://fhir.synapxe.sg/NamingSystem/nric",
"value": "S9876543C"
}
},
"type": "Encounter",
"system": "https://fhir.synapxe.sg/NamingSystem/eventID",
"value": "ENC-2026-07890"
}
},
"period": {
"start": "2026-02-20"
},
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
}
],
{
"reference": "#careteam-enrol-001"
}
],
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "COND-2026-00789"
},
"display": "Hypertension"
}
},
{
"system": "https://fhir.synapxe.sg/NamingSystem/record-id",
"value": "COND-2026-00790"
},
"display": "Type 2 Diabetes Mellitus"
}
}
],
{
{
"concept": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "398162007",
"display": "Health screening"
}
],
"text": "Healthier SG enrolment health screening"
}
}
],
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
},
"time": "2026-02-20T09:30:00+08:00",
"text": "Patient enrolled in Healthier SG programme. Baseline health assessment completed. Patient assigned to Dr. Lim Boon Keng as primary care physician."
}
]
}
],
"note": [
{
"type": "Practitioner",
"system": "https://fhir.synapxe.sg/NamingSystem/mcr",
"value": "M45678"
},
"display": "Dr. Lim Boon Keng"
},
"time": "2026-02-20T09:30:00+08:00",
"text": "Patient enrolled in Healthier SG programme for chronic disease management. Patient has existing conditions of hypertension and type 2 diabetes. Enrolled at patient's own initiative after HSG outreach."
}
]
}

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 enrollment record
400 invalid E-10005 Invalid enrollment identifier
400 invalid E-10006 Invalid enrollment status