FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: CapabilityStatement/NgImmCapabilityStatementServer

Packageng.gov.nphcda.immunization
Resource TypeCapabilityStatement
IdNgImmCapabilityStatementServer
FHIR VersionR4
Sourcehttp://nphcda.gov.ng/ig/immunization/https://build.fhir.org/ig/Nigeria-FHIR-Community/ImmunizationIG/CapabilityStatement-NgImmCapabilityStatementServer.html
URLhttp://nphcda.gov.ng/ig/immunization/CapabilityStatement/NgImmCapabilityStatementServer
Version1.0.0
Statusactive
Date2025-08-03
TitleNG-Imm Server CapabilityStatement
DescriptionThis 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.
Kindrequirements

Resources that use this resource

No resources found


Resources that this resource uses

StructureDefinition
NgImmBundleNigeria Immunization Bundle
NgImmImmunizationNG-Imm Immunization
NgImmPatientNG-Imm Patient

Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: CapabilityStatement NgImmCapabilityStatementServer

NG-Imm Server CapabilityStatement

  • Implementation Guide Version: 1.0.0
  • FHIR Version: 4.0.1
  • Supported Formats: xml
  • Supported Patch Formats:
  • Published on: 2025-08-03
  • Published by: https://nphcda.gov.ng

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.

FHIR RESTful Capabilities

Mode: server

The server supports RESTful create, read, update, and search for immunization-related records using the Nigeria Immunization Implementation Guide (NG-IMM).

Summary of System-wide Interactions

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)
Resource TypeProfileRSUPCSearches_include_revincludeOperations
Patienthttp://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmPatientyyyyyidentifier, firstname, lastname, birthdate, gender, state$submit, $export, $validate
Immunizationhttp://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmImmunizationyyyyypatient, status, vaccine-code, date$submit, $export, $validate
Bundlehttp://nphcda.gov.ng/ig/immunization/StructureDefinition/NgImmBundleyyyytype, timestamp, identifier$submit, $export, $validate
Provenance yyytarget

Resource Conformance: supported Patient

Base System Profile
NG-Imm Patient
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports read, search-type, create, update, patch.

Documentation

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.

Search Parameters
ConformanceParameterTypeDocumentation
SHALLidentifiertoken
SHALLfirstnamestring
SHALLlastnamestring
SHALLbirthdatedate
SHALLgendertoken
SHALLstatetoken
 
Extended Operations
ConformanceOperationDocumentation
SHALL$submit
SHALL$export
SHALL$validate

Resource Conformance: supported Immunization

Base System Profile
NG-Imm Immunization
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports read, search-type, create, update, patch.

Documentation

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.

Search Parameters
ConformanceParameterTypeDocumentation
SHALLpatientreference
SHALLstatustoken
SHALLvaccine-codetoken
SHALLdatedate
 
Extended Operations
ConformanceOperationDocumentation
SHALL$submit
SHALL$export
SHALL$validate

Resource Conformance: supported Bundle

Base System Profile
Nigeria Immunization Bundle
Profile Conformance
SHALL
Reference Policy

Interaction summary
  • Supports read, search-type, create, update.

Documentation

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.

Search Parameters
ConformanceParameterTypeDocumentation
SHALLtypetoken
SHALLtimestampdate
SHALLidentifiertoken
 
Extended Operations
ConformanceOperationDocumentation
SHALL$submit
SHALL$export
SHALL$validate

Resource Conformance: supported Provenance

Core FHIR Resource
Provenance
Reference Policy
Interaction summary
  • Supports create, read, search-type.

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.

Search Parameters
ConformanceParameterTypeDocumentation
SHALLtargetreference
 

Operations

Use


Source

{
  "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"
        }
      ]
    }
  ]
}