Package | ng.gov.nphcda.immunization |
Resource Type | CapabilityStatement |
Id | NgImmCapabilityStatementClient |
FHIR Version | R4 |
Source | http://nphcda.gov.ng/ig/immunization/https://build.fhir.org/ig/Nigeria-FHIR-Community/ImmunizationIG/CapabilityStatement-NgImmCapabilityStatementClient.html |
URL | http://nphcda.gov.ng/ig/immunization/CapabilityStatement/NgImmCapabilityStatementClient |
Version | 1.0.0 |
Status | active |
Date | 2025-08-03 |
Title | NG-Imm Client CapabilityStatement |
Description | This CapabilityStatement defines the expected behavior of client systems that interact with NG-IMM FHIR servers in Nigeria’s immunization ecosystem. Clients must support standard RESTful interactions with NG-IMM-compliant FHIR APIs and use appropriate operations to submit, export, and validate structured data. They are also expected to initiate transformation of logical models (e.g. RegisterClientModel, AdministerVaccine) into formal FHIR resources using `$transform`. #### Use of HTTP Methods: - **POST**: Used by clients to create new Patient, Immunization, or Bundle resources. - **PUT**: Used to fully replace an existing resource with updated data. - **PATCH**: Used to update only specific elements of a resource. |
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 NgImmCapabilityStatementClient
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.
client
Client systems consuming NG-IMM immunization APIs must support reading, creating, updating, and transforming immunization-related resources via REST and custom operations.
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 |
read
, search-type
, create
, update
, patch
.Clients use the
NgImmPatient
profile to register new patients or update existing records.
- POST: Create new patient.
- PUT: Full replacement of a known patient.
- PATCH: Partial updates (e.g., birthDate, address).
Clients should also submit
Provenance
to attribute responsibility for updates.
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
.Clients use
NgImmImmunization
to record or correct vaccine administration events.
- POST: Create new immunization record.
- PUT: Replace an existing immunization resource.
- PATCH: Targeted update, e.g. status or performer.
Clients may include
Provenance
if updates are made on behalf of health workers.
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
.Used by clients for bulk data sync or submission, e.g. client + doses + allergy info.
- POST: Create and submit new bundled data.
- PUT: Replace an existing bundle submission.
- PATCH is not supported for bundles.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | type | token | |
SHALL | timestamp | date | |
SHALL | identifier | token |
Conformance | Operation | Documentation |
---|---|---|
SHALL | $submit | |
SHALL | $export | |
SHALL | $validate |
{ "resourceType": "CapabilityStatement", "id": "NgImmCapabilityStatementClient", "text": { "status": "extensions", "div": "<!-- snip (see above) -->" }, "url": "http://nphcda.gov.ng/ig/immunization/CapabilityStatement/NgImmCapabilityStatementClient", "version": "1.0.0", "title": "NG-Imm Client 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 defines the expected behavior of client systems that interact with NG-IMM FHIR servers in Nigeria’s immunization ecosystem.\n\nClients must support standard RESTful interactions with NG-IMM-compliant FHIR APIs and use appropriate operations to submit, export, and validate structured data. \nThey are also expected to initiate transformation of logical models (e.g. RegisterClientModel, AdministerVaccine) into formal FHIR resources using `$transform`.\n\n#### Use of HTTP Methods:\n- **POST**: Used by clients to create new Patient, Immunization, or Bundle resources.\n- **PUT**: Used to fully replace an existing resource with updated data.\n- **PATCH**: Used to update only specific elements of a resource.", "jurisdiction": [ { "coding": [ { "system": "urn:iso:std:iso:3166", "code": "NG", "display": "Nigeria" } ] } ], "kind": "requirements", "fhirVersion": "4.0.1", "format": [ "xml" ], "rest": [ { "mode": "client", "documentation": "Client systems consuming NG-IMM immunization APIs must support reading, creating, updating, and transforming immunization-related resources via REST and custom operations.", "resource": [ { "type": "Patient", "profile": "http://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmPatient", "documentation": "Clients use the `NgImmPatient` profile to register new patients or update existing records.\n\n- **POST**: Create new patient.\n- **PUT**: Full replacement of a known patient.\n- **PATCH**: Partial updates (e.g., birthDate, address).\n\nClients should also submit `Provenance` to attribute responsibility for updates.", "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": "Clients use `NgImmImmunization` to record or correct vaccine administration events.\n\n- **POST**: Create new immunization record.\n- **PUT**: Replace an existing immunization resource.\n- **PATCH**: Targeted update, e.g. status or performer.\n\nClients may include `Provenance` if updates are made on behalf of health workers.", "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": "Used by clients for bulk data sync or submission, e.g. client + doses + allergy info.\n\n- **POST**: Create and submit new bundled data.\n- **PUT**: Replace an existing bundle submission.\n- PATCH is not supported for 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" } ] } ], "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" } ] } ] }