Package | ng.gov.nphcda.immunization |
Resource Type | CapabilityStatement |
Id | NgImmCapabilityStatementServer |
FHIR Version | R4 |
Source | http://nphcda.gov.ng/ig/immunization/https://build.fhir.org/ig/Nigeria-FHIR-Community/ImmunizationIG/CapabilityStatement-NgImmCapabilityStatementServer.html |
URL | http://nphcda.gov.ng/ig/immunization/CapabilityStatement/NgImmCapabilityStatementServer |
Version | 1.0.0 |
Status | active |
Date | 2025-08-03 |
Title | NG-Imm Server CapabilityStatement |
Description | This CapabilityStatement describes the expected behavior of FHIR servers implementing Nigeria’s Immunization Implementation Guide (NG-IMM). It includes full RESTful support for key profiles (`NgImmPatient`, `NgImmImmunization`, and `NgImmBundle`) and logical model transformations. The server also supports data submission, export, and validation via custom operations, as well as tracking updates through `Provenance`. #### Use of HTTP Methods: - **POST**: Used to create a new resource. The server assigns the resource ID. - **PUT**: Used to fully replace an existing resource identified by a known ID. - **PATCH**: Used for partial updates to existing resources. #### Provenance: Clients MUST include a `Provenance` resource when performing GET, PUT, or PATCH on Server Resources (`NgImmPatient`, `NgImmImmunization`, and `NgImmBundle`) to ensure traceability and support audit trails. |
Kind | requirements |
No resources found
StructureDefinition | |
NgImmBundle | Nigeria Immunization Bundle |
NgImmImmunization | NG-Imm Immunization |
NgImmPatient | NG-Imm Patient |
Note: links and images are rebased to the (stated) source
Generated Narrative: CapabilityStatement NgImmCapabilityStatementServer
xml
Note to Implementers: FHIR Capabilities
Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.
server
The server supports RESTful create, read, update, and search for immunization-related records using the Nigeria Immunization Implementation Guide (NG-IMM).
The summary table lists the resources that are part of this configuration, and for each resource it lists:
_include
_revinclude
Resource Type | Profile | R | S | U | P | C | Searches | _include | _revinclude | Operations |
---|---|---|---|---|---|---|---|---|---|---|
Patient | http://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmPatient | y | y | y | y | y | identifier, firstname, lastname, birthdate, gender, state | $submit , $export , $validate | ||
Immunization | http://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmImmunization | y | y | y | y | y | patient, status, vaccine-code, date | $submit , $export , $validate | ||
Bundle | http://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmBundle | y | y | y | y | type, timestamp, identifier | $submit , $export , $validate | |||
Provenance | y | y | y | target |
read
, search-type
, create
, update
, patch
.The
NgImmPatient
profile is used for managing client demographic data.
- POST: Creates a new patient record.
- PUT: Replaces an existing patient record.
- PATCH: Updates specific fields.
Clients MUST include a corresponding
Provenance
resource with updates for audit and traceability.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | identifier | token | |
SHALL | firstname | string | |
SHALL | lastname | string | |
SHALL | birthdate | date | |
SHALL | gender | token | |
SHALL | state | token |
Conformance | Operation | Documentation |
---|---|---|
SHALL | $submit | |
SHALL | $export | |
SHALL | $validate |
read
, search-type
, create
, update
, patch
.The
NgImmImmunization
profile is used to record administered vaccine doses.
- POST: Submits a new immunization event.
- PUT: Replaces an existing record, e.g. to correct a mistake.
- PATCH: Updates specific fields such as status or encounter.
Provenance SHOULD be included for automated or third-party updates.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | |
SHALL | status | token | |
SHALL | vaccine-code | token | |
SHALL | date | date |
Conformance | Operation | Documentation |
---|---|---|
SHALL | $submit | |
SHALL | $export | |
SHALL | $validate |
read
, search-type
, create
, update
.The
NgImmBundle
profile is used to group Patient, Immunization, and related resources into a single package.
- POST: Submits a new Bundle (e.g. during mobile sync).
- PUT: Replaces the entire bundle for corrected batch uploads.
PATCH is not supported on Bundles.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | type | token | |
SHALL | timestamp | date | |
SHALL | identifier | token |
Conformance | Operation | Documentation |
---|---|---|
SHALL | $submit | |
SHALL | $export | |
SHALL | $validate |
Used to track and audit updates made to Patient or Immunization resources. Clients are expected to include this when submitting PUT or PATCH requests for sensitive records.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | target | reference |
{ "resourceType": "CapabilityStatement", "id": "NgImmCapabilityStatementServer", "text": { "status": "extensions", "div": "<!-- snip (see above) -->" }, "url": "http://nphcda.gov.ng/ig/immunization/CapabilityStatement/NgImmCapabilityStatementServer", "version": "1.0.0", "title": "NG-Imm Server CapabilityStatement", "status": "active", "date": "2025-08-03", "publisher": "https://nphcda.gov.ng", "contact": [ { "name": "https://nphcda.gov.ng", "telecom": [ { "system": "url", "value": "https://nphcda.gov.ng" }, { "system": "email", "value": "kasim.sani@nphcda.gov.ng" } ] }, { "name": "Nigeria Primary Healthcare Development Agency.", "telecom": [ { "system": "email", "value": "ig@nphcda.gov.ng", "use": "work" } ] } ], "description": "This CapabilityStatement describes the expected behavior of FHIR servers implementing Nigeria’s Immunization Implementation Guide (NG-IMM).\n\nIt includes full RESTful support for key profiles (`NgImmPatient`, `NgImmImmunization`, and `NgImmBundle`) and logical model transformations. The server also supports data submission, export, and validation via custom operations, as well as tracking updates through `Provenance`.\n\n#### Use of HTTP Methods:\n- **POST**: Used to create a new resource. The server assigns the resource ID.\n- **PUT**: Used to fully replace an existing resource identified by a known ID.\n- **PATCH**: Used for partial updates to existing resources.\n\n#### Provenance:\nClients MUST include a `Provenance` resource when performing GET, PUT, or PATCH on Server Resources (`NgImmPatient`, `NgImmImmunization`, and `NgImmBundle`) to ensure traceability and support audit trails.", "jurisdiction": [ { "coding": [ { "system": "urn:iso:std:iso:3166", "code": "NG", "display": "Nigeria" } ] } ], "kind": "requirements", "implementation": { "description": "NG-IMM Immunization Server Implementation", "url": "https://nphcda.gov.ng/IG" }, "fhirVersion": "4.0.1", "format": [ "xml" ], "rest": [ { "mode": "server", "documentation": "The server supports RESTful create, read, update, and search for immunization-related records using the Nigeria Immunization Implementation Guide (NG-IMM).", "resource": [ { "type": "Patient", "profile": "http://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmPatient", "documentation": "The `NgImmPatient` profile is used for managing client demographic data.\n\n- **POST**: Creates a new patient record.\n- **PUT**: Replaces an existing patient record.\n- **PATCH**: Updates specific fields.\n\nClients MUST include a corresponding `Provenance` resource with updates for audit and traceability.", "interaction": [ { "code": "read" }, { "code": "search-type" }, { "code": "create" }, { "code": "update" }, { "code": "patch" } ], "searchParam": [ { "name": "identifier", "definition": "SearchParameter/Patient-identifier", "type": "token" }, { "name": "firstname", "definition": "SearchParameter/Patient-firstname", "type": "string" }, { "name": "lastname", "definition": "SearchParameter/Patient-lastname", "type": "string" }, { "name": "birthdate", "definition": "SearchParameter/Patient-birthdate", "type": "date" }, { "name": "gender", "definition": "SearchParameter/Patient-gender", "type": "token" }, { "name": "state", "definition": "SearchParameter/Patient-state", "type": "token" } ], "operation": [ { "name": "submit", "definition": "OperationDefinition/submit-ngimm-patient" }, { "name": "export", "definition": "OperationDefinition/export-ngimm-patient" }, { "name": "validate", "definition": "OperationDefinition/validate-ngimm-patient" } ] }, { "type": "Immunization", "profile": "http://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmImmunization", "documentation": "The `NgImmImmunization` profile is used to record administered vaccine doses.\n\n- **POST**: Submits a new immunization event.\n- **PUT**: Replaces an existing record, e.g. to correct a mistake.\n- **PATCH**: Updates specific fields such as status or encounter.\n\nProvenance SHOULD be included for automated or third-party updates.", "interaction": [ { "code": "read" }, { "code": "search-type" }, { "code": "create" }, { "code": "update" }, { "code": "patch" } ], "searchParam": [ { "name": "patient", "definition": "SearchParameter/Immunization-patient", "type": "reference" }, { "name": "status", "definition": "SearchParameter/Immunization-status", "type": "token" }, { "name": "vaccine-code", "definition": "SearchParameter/Immunization-vaccine-code", "type": "token" }, { "name": "date", "definition": "SearchParameter/Immunization-date", "type": "date" } ], "operation": [ { "name": "submit", "definition": "OperationDefinition/submit-ngimm-immunization" }, { "name": "export", "definition": "OperationDefinition/export-ngimm-immunization" }, { "name": "validate", "definition": "OperationDefinition/validate-ngimm-immunization" } ] }, { "type": "Bundle", "profile": "http://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmBundle", "documentation": "The `NgImmBundle` profile is used to group Patient, Immunization, and related resources into a single package.\n\n- **POST**: Submits a new Bundle (e.g. during mobile sync).\n- **PUT**: Replaces the entire bundle for corrected batch uploads.\n\nPATCH is not supported on Bundles.", "interaction": [ { "code": "read" }, { "code": "search-type" }, { "code": "create" }, { "code": "update" } ], "searchParam": [ { "name": "type", "definition": "SearchParameter/Bundle-type", "type": "token" }, { "name": "timestamp", "definition": "SearchParameter/Bundle-timestamp", "type": "date" }, { "name": "identifier", "definition": "SearchParameter/Bundle-identifier", "type": "token" } ], "operation": [ { "name": "submit", "definition": "OperationDefinition/submit-ngimm-bundle" }, { "name": "export", "definition": "OperationDefinition/export-ngimm-bundle" }, { "name": "validate", "definition": "OperationDefinition/validate-ngimm-bundle" } ] }, { "type": "Provenance", "documentation": "Used to track and audit updates made to Patient or Immunization resources. Clients are expected to include this when submitting PUT or PATCH requests for sensitive records.", "interaction": [ { "code": "create" }, { "code": "read" }, { "code": "search-type" } ], "searchParam": [ { "name": "target", "definition": "http://hl7.org/fhir/SearchParameter/Provenance-target", "type": "reference" } ] } ], "operation": [ { "name": "transformRegisterClientModelToNgImmPatient", "definition": "OperationDefinition/transform-ngimm-patient" }, { "name": "transformAdministerVaccineToImmunization", "definition": "OperationDefinition/transform-administervaccine-to-immunization" }, { "name": "transformAdministerVaccineToAllergy", "definition": "OperationDefinition/transform-administervaccine-to-allergyintolerance" }, { "name": "getMetadata", "definition": "http://hl7.org/fhir/OperationDefinition/CapabilityStatement" } ] } ] }