Bangladesh Core FHIR Implementation Guide
0.4.4 - Published by DGHS, MoHFW

Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the Directory of published versions

## Extension: ICD-11 Cluster Expression

Official URL: https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression | Version: 0.4.4
Standards status: Informative | Maturity Level: 1 | Computable Name: ICD11ClusterExpression

Carries a postcoordinated ICD-11 cluster expression as a single string on a Coding element where the stem code alone is insufficient to fully represent the clinical concept.

A cluster expression combines a stem code with one or more satellite codes using the & operator (combination) or / operator (specificity). Example: NC72.Z&XK8G&XJ7ZH&XJ7YM

- NC72.Z — stem: Fracture of femur, unspecified
- XK8G — satellite: laterality
- XJ7ZH — satellite: fracture subtype
- XJ7YM — satellite: fracture open or closed

Usage rules:

- SHALL only be present when the expression contains at least one satellite code joined by & or / operators.
- Single stem codes SHALL be represented in Coding.code only and validated via OCL $validate-code. The cluster validator at https://icd11.dghs.gov.bd/cluster/validate explicitly rejects stem-only expressions.
- The stem code in Coding.code SHALL match the leading stem code in this expression string.
- Satellite codes in the cluster expression are exempt from the Diagnosis/Finding class restriction that applies to stem codes in Condition.code.
- Cluster expressions SHALL be validated against the Bangladesh ICD-11 Cluster Validator at https://icd11.dghs.gov.bd/cluster/validate prior to submission to the HIE.

Cluster validator endpoint: POST https://icd11.dghs.gov.bd/cluster/validate Body: { "expression": "NC72.Z&XK8G&XJ7ZH&XJ7YM" }

This extension is not MustSupport and is not mandatory. It is present only when postcoordination is clinically required. Cluster expressions are typically sourced from the WHO Electronic Coding Tool (ECT) at the point of care.

Context of Use

This extension may be used on the following element(s)

- Element ID: `Coding`

Usage info

Usages:

- Use this Extension: BD Core Condition Profile (ICD-11)

You can also check for usages in the FHIR IG Statistics

### Formal Views of Extension Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

- Differential Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | ICD-11 Cluster Expression
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression"
value[x] |  | 1..1 | string | ICD-11 postcoordinated cluster expression string
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | ICD-11 Cluster Expression
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression"
value[x] |  | 1..1 | string | ICD-11 postcoordinated cluster expression string
Documentation for this format

This structure is derived from Extension

Summary

Simple Extension with the type string: Carries a postcoordinated ICD-11 cluster expression as a single string on a Coding element where the stem code alone is insufficient to fully represent the clinical concept.

A cluster expression combines a stem code with one or more satellite codes using the & operator (combination) or / operator (specificity). Example: NC72.Z&XK8G&XJ7ZH&XJ7YM

- NC72.Z — stem: Fracture of femur, unspecified
- XK8G — satellite: laterality
- XJ7ZH — satellite: fracture subtype
- XJ7YM — satellite: fracture open or closed

Usage rules:

- SHALL only be present when the expression contains at least one satellite code joined by & or / operators.
- Single stem codes SHALL be represented in Coding.code only and validated via OCL $validate-code. The cluster validator at https://icd11.dghs.gov.bd/cluster/validate explicitly rejects stem-only expressions.
- The stem code in Coding.code SHALL match the leading stem code in this expression string.
- Satellite codes in the cluster expression are exempt from the Diagnosis/Finding class restriction that applies to stem codes in Condition.code.
- Cluster expressions SHALL be validated against the Bangladesh ICD-11 Cluster Validator at https://icd11.dghs.gov.bd/cluster/validate prior to submission to the HIE.

Cluster validator endpoint: POST https://icd11.dghs.gov.bd/cluster/validate Body: { "expression": "NC72.Z&XK8G&XJ7ZH&XJ7YM" }

This extension is not MustSupport and is not mandatory. It is present only when postcoordination is clinically required. Cluster expressions are typically sourced from the WHO Electronic Coding Tool (ECT) at the point of care.

Maturity: 1

Differential View

This structure is derived from Extension

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | ICD-11 Cluster Expression
extension |  | 0..0 |  | Extension
url |  | 1..1 | uri | "https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression"
value[x] |  | 1..1 | string | ICD-11 postcoordinated cluster expression string
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Extension |  | 0..* | Extension | ICD-11 Cluster Expression
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression"
value[x] |  | 1..1 | string | ICD-11 postcoordinated cluster expression string
Documentation for this format

This structure is derived from Extension

Summary

Simple Extension with the type string: Carries a postcoordinated ICD-11 cluster expression as a single string on a Coding element where the stem code alone is insufficient to fully represent the clinical concept.

A cluster expression combines a stem code with one or more satellite codes using the & operator (combination) or / operator (specificity). Example: NC72.Z&XK8G&XJ7ZH&XJ7YM

- NC72.Z — stem: Fracture of femur, unspecified
- XK8G — satellite: laterality
- XJ7ZH — satellite: fracture subtype
- XJ7YM — satellite: fracture open or closed

Usage rules:

- SHALL only be present when the expression contains at least one satellite code joined by & or / operators.
- Single stem codes SHALL be represented in Coding.code only and validated via OCL $validate-code. The cluster validator at https://icd11.dghs.gov.bd/cluster/validate explicitly rejects stem-only expressions.
- The stem code in Coding.code SHALL match the leading stem code in this expression string.
- Satellite codes in the cluster expression are exempt from the Diagnosis/Finding class restriction that applies to stem codes in Condition.code.
- Cluster expressions SHALL be validated against the Bangladesh ICD-11 Cluster Validator at https://icd11.dghs.gov.bd/cluster/validate prior to submission to the HIE.

Cluster validator endpoint: POST https://icd11.dghs.gov.bd/cluster/validate Body: { "expression": "NC72.Z&XK8G&XJ7ZH&XJ7YM" }

This extension is not MustSupport and is not mandatory. It is present only when postcoordination is clinically required. Cluster expressions are typically sourced from the WHO Electronic Coding Tool (ECT) at the point of care.

Maturity: 1

Other representations of profile: CSV, Excel, Schematron

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`