Tanzania NHIF → ZHSF Claims Submission FHIR IG
0.1.0 - ci-build Tanzania

Tanzania NHIF → ZHSF Claims Submission FHIR IG, published by Speedykom GmbH. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Speedykom/tanzania-nhif-zhsf-claims-ig/ and changes regularly. See the Directory of published versions

Logical Model: TZClaimSubmissionRequest - Detailed Descriptions

Active as of 2026-01-12

Definitions for the tz-claim-submission-request logical model.

Guidance on how to interpret the contents of this table can be foundhere

0. tz-claim-submission-request
Definition

Logical model representing the ZHSF Claim Submission JSON request payload. This model defines the facade contract and is validated before transformation to FHIR R5 resources.


Base definition for all types defined in FHIR type system.

ShortTZ Claim Submission Request (ZHSF JSON)Base for all types and resources
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. tz-claim-submission-request.facilityCode
Definition

ZHSF facility identifier code

ShortFacility code
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
4. tz-claim-submission-request.practitionerRegistrationNo
Definition

Registered practitioner identifier

ShortPractitioner registration number
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
6. tz-claim-submission-request.authorizationNumber
Definition

Authorization number issued during eligibility/approval

ShortAuthorization number
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
8. tz-claim-submission-request.clinicalNotes
Definition

Optional free-text clinical notes

ShortClinical notes
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. tz-claim-submission-request.referralNo
Definition

Referral number if applicable (often 0)

ShortReferral number
Control0..1
Typeinteger
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. tz-claim-submission-request.isAdmited
Definition

Admission flag (true if inpatient)

ShortIs admitted
Control1..1
Typeboolean
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. tz-claim-submission-request.mrn
Definition

Facility medical record number

ShortMedical Record Number
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
16. tz-claim-submission-request.claimsItems
Definition

List of claim line items

ShortClaim items
Control1..*
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
18. tz-claim-submission-request.claimsItems.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
This element is affected by the following invariants: ele-1
Typeidstring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
20. tz-claim-submission-request.claimsItems.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on tz-claim-submission-request.claimsItems.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 22. tz-claim-submission-request.claimsItems.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    24. tz-claim-submission-request.claimsItems.itemCode
    Definition

    Service, medication, or procedure code

    ShortItem code
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    26. tz-claim-submission-request.claimsItems.itemQuantity
    Definition

    Quantity for the claim item

    ShortItem quantity
    Control1..1
    Typeinteger
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    28. tz-claim-submission-request.claimsItems.frequency
    Definition

    Optional frequency information

    ShortFrequency
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    30. tz-claim-submission-request.claimsItems.issuedNo
    Definition

    Issued number when pre-approval is required

    ShortIssued number
    Control0..1
    Typeinteger
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    32. tz-claim-submission-request.preliminaryDiagnosisCode
    Definition

    Diagnosis codes captured during encounter

    ShortPreliminary diagnosis codes
    Control0..*
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    34. tz-claim-submission-request.finalDiagnosisCode
    Definition

    Diagnosis codes confirmed after encounter

    ShortFinal diagnosis codes
    Control0..*
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

    Guidance on how to interpret the contents of this table can be foundhere

    0. tz-claim-submission-request
    Definition

    Logical model representing the ZHSF Claim Submission JSON request payload. This model defines the facade contract and is validated before transformation to FHIR R5 resources.

    ShortTZ Claim Submission Request (ZHSF JSON)
    Logical ModelInstances of this logical model are not marked to be the target of a Reference
    2. tz-claim-submission-request.facilityCode
    Definition

    ZHSF facility identifier code

    ShortFacility code
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    4. tz-claim-submission-request.practitionerRegistrationNo
    Definition

    Registered practitioner identifier

    ShortPractitioner registration number
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    6. tz-claim-submission-request.authorizationNumber
    Definition

    Authorization number issued during eligibility/approval

    ShortAuthorization number
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    8. tz-claim-submission-request.clinicalNotes
    Definition

    Optional free-text clinical notes

    ShortClinical notes
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    10. tz-claim-submission-request.referralNo
    Definition

    Referral number if applicable (often 0)

    ShortReferral number
    Control0..1
    Typeinteger
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    12. tz-claim-submission-request.isAdmited
    Definition

    Admission flag (true if inpatient)

    ShortIs admitted
    Control1..1
    Typeboolean
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    14. tz-claim-submission-request.mrn
    Definition

    Facility medical record number

    ShortMedical Record Number
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    16. tz-claim-submission-request.claimsItems
    Definition

    List of claim line items

    ShortClaim items
    Control1..*
    TypeBackboneElement
    18. tz-claim-submission-request.claimsItems.itemCode
    Definition

    Service, medication, or procedure code

    ShortItem code
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    20. tz-claim-submission-request.claimsItems.itemQuantity
    Definition

    Quantity for the claim item

    ShortItem quantity
    Control1..1
    Typeinteger
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    22. tz-claim-submission-request.claimsItems.frequency
    Definition

    Optional frequency information

    ShortFrequency
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    24. tz-claim-submission-request.claimsItems.issuedNo
    Definition

    Issued number when pre-approval is required

    ShortIssued number
    Control0..1
    Typeinteger
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    26. tz-claim-submission-request.preliminaryDiagnosisCode
    Definition

    Diagnosis codes captured during encounter

    ShortPreliminary diagnosis codes
    Control0..*
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    28. tz-claim-submission-request.finalDiagnosisCode
    Definition

    Diagnosis codes confirmed after encounter

    ShortFinal diagnosis codes
    Control0..*
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

    Guidance on how to interpret the contents of this table can be foundhere

    0. tz-claim-submission-request
    Definition

    Logical model representing the ZHSF Claim Submission JSON request payload. This model defines the facade contract and is validated before transformation to FHIR R5 resources.

    ShortTZ Claim Submission Request (ZHSF JSON)
    Control0..*
    Is Modifierfalse
    Logical ModelInstances of this logical model are not marked to be the target of a Reference
    2. tz-claim-submission-request.facilityCode
    Definition

    ZHSF facility identifier code

    ShortFacility code
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    4. tz-claim-submission-request.practitionerRegistrationNo
    Definition

    Registered practitioner identifier

    ShortPractitioner registration number
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    6. tz-claim-submission-request.authorizationNumber
    Definition

    Authorization number issued during eligibility/approval

    ShortAuthorization number
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    8. tz-claim-submission-request.clinicalNotes
    Definition

    Optional free-text clinical notes

    ShortClinical notes
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    10. tz-claim-submission-request.referralNo
    Definition

    Referral number if applicable (often 0)

    ShortReferral number
    Control0..1
    Typeinteger
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    12. tz-claim-submission-request.isAdmited
    Definition

    Admission flag (true if inpatient)

    ShortIs admitted
    Control1..1
    Typeboolean
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    14. tz-claim-submission-request.mrn
    Definition

    Facility medical record number

    ShortMedical Record Number
    Control1..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    16. tz-claim-submission-request.claimsItems
    Definition

    List of claim line items

    ShortClaim items
    Control1..*
    TypeBackboneElement
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. tz-claim-submission-request.claimsItems.id
    Definition

    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ShortUnique id for inter-element referencing
    Control0..1
    This element is affected by the following invariants: ele-1
    Typeid
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    20. tz-claim-submission-request.claimsItems.extension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ShortAdditional content defined by implementations
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on tz-claim-submission-request.claimsItems.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 22. tz-claim-submission-request.claimsItems.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      24. tz-claim-submission-request.claimsItems.itemCode
      Definition

      Service, medication, or procedure code

      ShortItem code
      Control1..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      26. tz-claim-submission-request.claimsItems.itemQuantity
      Definition

      Quantity for the claim item

      ShortItem quantity
      Control1..1
      Typeinteger
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      28. tz-claim-submission-request.claimsItems.frequency
      Definition

      Optional frequency information

      ShortFrequency
      Control0..1
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      30. tz-claim-submission-request.claimsItems.issuedNo
      Definition

      Issued number when pre-approval is required

      ShortIssued number
      Control0..1
      Typeinteger
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      32. tz-claim-submission-request.preliminaryDiagnosisCode
      Definition

      Diagnosis codes captured during encounter

      ShortPreliminary diagnosis codes
      Control0..*
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      34. tz-claim-submission-request.finalDiagnosisCode
      Definition

      Diagnosis codes confirmed after encounter

      ShortFinal diagnosis codes
      Control0..*
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension