Kenya National Cancer Control Programme (NCCP) FHIR Implementation Guide
0.1.0 - ci-build Kenya flag

Kenya National Cancer Control Programme (NCCP) FHIR Implementation Guide, published by Digital Health Agency (DHA), Kenya. 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/IntelliSOFT-Consulting/nccpFHIRIG/ and changes regularly. See the Directory of published versions

Resource Profile: NCCP Prior Systemic Therapy Statement

Official URL: https://nshr-uat.sha.go.ke/fhir/StructureDefinition/nccp-prior-systemic-therapy-statement Version: 0.1.0
Draft as of 2026-06-04 Computable Name: PriorSystemicTherapyStatement

Documents prior systemic therapy (chemotherapy, immunotherapy, hormonal) relevant to the patient's cancer history.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... meta Σ 0..1 Meta Metadata about the resource
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... category SΣ 1..1 CodeableConcept Type of medication usage
Binding: Kenya Medication Clinical Category Value Set (required)
... medication[x] SΣ 1..1 CodeableConcept What medication was taken
Binding: Kenya Generic Oncology Products Value Set (required)
... subject SΣ 1..1 Reference(Patient) Who is/was taking the medication
... effective[x] SΣ 1..1 Period The date/time or interval when the medication is/was/will be taken
... reasonReference S 0..* Reference(NCCP Oncology Diagnosis Condition) Condition or observation that supports why the medication is being/was taken
... note S 0..* Annotation Further information about the statement

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required Medication status codes 📦4.0.1 FHIR Std.
MedicationStatement.​category Base required Kenya Medication Clinical Category Value Set 📦0.1.0 This IG
MedicationStatement.​medication[x] Base required Kenya Generic Oncology Products Value Set 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement A resource should have narrative for robust management text.`div`.exists()
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()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... meta
.... profile S 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
... status S 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required)
... category S 1..1 CodeableConcept Type of medication usage
Binding: Kenya Medication Clinical Category Value Set (required)
... subject S 1..1 Reference(Patient) Who is/was taking the medication
... effective[x] S 1..1 Period The date/time or interval when the medication is/was/will be taken
... reasonReference S 0..* Reference(NCCP Oncology Diagnosis Condition) Condition or observation that supports why the medication is being/was taken
... note S 0..* Annotation Further information about the statement

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required Medication status codes 📦4.0.1 FHIR Std.
MedicationStatement.​category Base required Kenya Medication Clinical Category Value Set 📦0.1.0 This IG
MedicationStatement.​medication[x] Base required Kenya Generic Oncology Products Value Set 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier
... basedOn Σ 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) Part of referenced event
... status ?!SΣ 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required)
... statusReason 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.
... category SΣ 1..1 CodeableConcept Type of medication usage
Binding: Kenya Medication Clinical Category Value Set (required)
... medication[x] SΣ 1..1 CodeableConcept What medication was taken
Binding: Kenya Generic Oncology Products Value Set (required)
... subject SΣ 1..1 Reference(Patient) Who is/was taking the medication
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] SΣ 1..1 Period The date/time or interval when the medication is/was/will be taken
... dateAsserted Σ 0..1 dateTime When the statement was asserted?
... informationSource 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(Resource) Additional supporting information
... reasonCode 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.
... reasonReference S 0..* Reference(NCCP Oncology Diagnosis Condition) Condition or observation that supports why the medication is being/was taken
... note S 0..* Annotation Further information about the statement
... dosage 0..* Dosage Details of how medication is/was taken or should be taken

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
MedicationStatement.​meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
MedicationStatement.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationStatement.​status Base required Medication status codes 📦4.0.1 FHIR Std.
MedicationStatement.​statusReason Base example SNOMED CT Drug Therapy Status codes 📍4.0.1 FHIR Std.
MedicationStatement.​category Base required Kenya Medication Clinical Category Value Set 📦0.1.0 This IG
MedicationStatement.​medication[x] Base required Kenya Generic Oncology Products Value Set 📦0.1.0 This IG
MedicationStatement.​reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement A resource should have narrative for robust management text.`div`.exists()
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()

Summary

Mandatory: 2 elements(1 nested mandatory element)
Must-Support: 8 elements

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... meta Σ 0..1 Meta Metadata about the resource
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... category SΣ 1..1 CodeableConcept Type of medication usage
Binding: Kenya Medication Clinical Category Value Set (required)
... medication[x] SΣ 1..1 CodeableConcept What medication was taken
Binding: Kenya Generic Oncology Products Value Set (required)
... subject SΣ 1..1 Reference(Patient) Who is/was taking the medication
... effective[x] SΣ 1..1 Period The date/time or interval when the medication is/was/will be taken
... reasonReference S 0..* Reference(NCCP Oncology Diagnosis Condition) Condition or observation that supports why the medication is being/was taken
... note S 0..* Annotation Further information about the statement

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required Medication status codes 📦4.0.1 FHIR Std.
MedicationStatement.​category Base required Kenya Medication Clinical Category Value Set 📦0.1.0 This IG
MedicationStatement.​medication[x] Base required Kenya Generic Oncology Products Value Set 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement A resource should have narrative for robust management text.`div`.exists()
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()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... meta
.... profile S 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
... status S 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required)
... category S 1..1 CodeableConcept Type of medication usage
Binding: Kenya Medication Clinical Category Value Set (required)
... subject S 1..1 Reference(Patient) Who is/was taking the medication
... effective[x] S 1..1 Period The date/time or interval when the medication is/was/will be taken
... reasonReference S 0..* Reference(NCCP Oncology Diagnosis Condition) Condition or observation that supports why the medication is being/was taken
... note S 0..* Annotation Further information about the statement

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationStatement.​status Base required Medication status codes 📦4.0.1 FHIR Std.
MedicationStatement.​category Base required Kenya Medication Clinical Category Value Set 📦0.1.0 This IG
MedicationStatement.​medication[x] Base required Kenya Generic Oncology Products Value Set 📦0.1.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationStatement 0..* MedicationStatement Record of medication being taken by a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier
... basedOn Σ 0..* Reference(MedicationRequest | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation) Part of referenced event
... status ?!SΣ 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required)
... statusReason 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.
... category SΣ 1..1 CodeableConcept Type of medication usage
Binding: Kenya Medication Clinical Category Value Set (required)
... medication[x] SΣ 1..1 CodeableConcept What medication was taken
Binding: Kenya Generic Oncology Products Value Set (required)
... subject SΣ 1..1 Reference(Patient) Who is/was taking the medication
... context Σ 0..1 Reference(Encounter | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] SΣ 1..1 Period The date/time or interval when the medication is/was/will be taken
... dateAsserted Σ 0..1 dateTime When the statement was asserted?
... informationSource 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(Resource) Additional supporting information
... reasonCode 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.
... reasonReference S 0..* Reference(NCCP Oncology Diagnosis Condition) Condition or observation that supports why the medication is being/was taken
... note S 0..* Annotation Further information about the statement
... dosage 0..* Dosage Details of how medication is/was taken or should be taken

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationStatement.​meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
MedicationStatement.​meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
MedicationStatement.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationStatement.​status Base required Medication status codes 📦4.0.1 FHIR Std.
MedicationStatement.​statusReason Base example SNOMED CT Drug Therapy Status codes 📍4.0.1 FHIR Std.
MedicationStatement.​category Base required Kenya Medication Clinical Category Value Set 📦0.1.0 This IG
MedicationStatement.​medication[x] Base required Kenya Generic Oncology Products Value Set 📦0.1.0 This IG
MedicationStatement.​reasonCode Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationStatement If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MedicationStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationStatement A resource should have narrative for robust management text.`div`.exists()
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()

Summary

Mandatory: 2 elements(1 nested mandatory element)
Must-Support: 8 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron