IPTp-SP Digital Support System Implementation Guide
0.1.0 - ci-build Kenya flag

IPTp-SP Digital Support System Implementation Guide, published by IPTp-SP Digital Support System Implementation Team. 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/daviemukungi/IPTp-FHIR-implementationIG/ and changes regularly. See the Directory of published versions

Resource Profile: IPTp Dose Administration

Official URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-dose-administration Version: 0.1.0
Draft as of 2026-06-30 Computable Name: IPTpDoseAdministration

Records a single IPTp-SP dose administration event. Captures whether the dose was given via DOT at clinic or self-administered at home, along with the dose number in the sequence.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:doseNumber S 1..1 positiveInt IPTp Dose Number
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-dose-number
.... extension:administrationMethod S 1..1 CodeableConcept IPTp Administration Method
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-administration-method
Binding: IPTp Administration Method Value Set (extensible)
.... extension:confirmationStatus S 0..1 CodeableConcept Set for self-admin doses only: confirmation-pending on T-0, confirmation-confirmed on Reply 1, confirmation-missed after 72h with no reply
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-confirmation-status
Binding: IPTp Dose Confirmation Status Value Set (required)
.... extension:spacingValidFlag S 0..1 boolean Computed when confirmationStatus = confirmation-confirmed; TRUE if ≥28 days since previous dose
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-spacing-valid-flag
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationReference Σ 0..1 Reference(IPTp SP Medication) What was administered
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Who received medication
... Slices for effective[x] SΣ 1..1 Start and end time of administration
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime SΣ 0..1 dateTime Actual or planned date of dose administration
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor SΣ 1..1 Reference(IPTp ANC Provider) Required only for DOT doses; omit for self-admin
... note S 0..* Annotation Additional notes (e.g. confirmed via SMS reply 1)
... dosage SC 1..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text 0..1 string Swallow whole. With or without food.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 26643006
...... display 1..1 string Representation defined by the system
Fixed Value: Oral route
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... dose S 0..1 SimpleQuantity(4.0.1) 3 SP tablets taken together
..... value Σ 0..1 decimal Numerical value (with implicit precision)
Required Pattern: 3
..... unit Σ 0..1 string Unit representation
Required Pattern: tablet

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​status Base required Medication administration status codes 📦4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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 MedicationAdministration 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 MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration 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()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

This structure is derived from MedicationAdministration

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:doseNumber S 1..1 positiveInt IPTp Dose Number
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-dose-number
.... extension:administrationMethod S 1..1 CodeableConcept IPTp Administration Method
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-administration-method
Binding: IPTp Administration Method Value Set (extensible)
.... extension:confirmationStatus S 0..1 CodeableConcept Set for self-admin doses only: confirmation-pending on T-0, confirmation-confirmed on Reply 1, confirmation-missed after 72h with no reply
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-confirmation-status
Binding: IPTp Dose Confirmation Status Value Set (required)
.... extension:spacingValidFlag S 0..1 boolean Computed when confirmationStatus = confirmation-confirmed; TRUE if ≥28 days since previous dose
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-spacing-valid-flag
... status S 1..1 code completed | not-done | in-progress
Binding: MedicationAdministration Status Codes (required)
... Slices for medication[x] S 1..1 CodeableConcept, Reference(Medication) What was administered
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1 Reference(IPTp SP Medication) What was administered
... Slices for effective[x] S 1..1 dateTime, Period Start and end time of administration
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime S 0..1 dateTime Actual or planned date of dose administration
... performer S 0..* BackboneElement Who performed the medication administration and what they did
.... actor S 1..1 Reference(IPTp ANC Provider) Required only for DOT doses; omit for self-admin
... note S 0..* Annotation Additional notes (e.g. confirmed via SMS reply 1)
... dosage S 1..1 BackboneElement Details of how medication was taken
.... text 0..1 string Swallow whole. With or without food.
.... route S 0..1 CodeableConcept Path of substance into body
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 26643006
...... display 1..1 string Representation defined by the system
Fixed Value: Oral route
.... dose S 0..1 SimpleQuantity(4.0.1) 3 SP tablets taken together
..... value 0..1 decimal Numerical value (with implicit precision)
Required Pattern: 3
..... unit 0..1 string Unit representation
Required Pattern: tablet

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationAdministration.​status Base required Medication administration status codes 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:doseNumber S 1..1 positiveInt IPTp Dose Number
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-dose-number
.... extension:administrationMethod S 1..1 CodeableConcept IPTp Administration Method
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-administration-method
Binding: IPTp Administration Method Value Set (extensible)
.... extension:confirmationStatus S 0..1 CodeableConcept Set for self-admin doses only: confirmation-pending on T-0, confirmation-confirmed on Reply 1, confirmation-missed after 72h with no reply
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-confirmation-status
Binding: IPTp Dose Confirmation Status Value Set (required)
.... extension:spacingValidFlag S 0..1 boolean Computed when confirmationStatus = confirmation-confirmed; TRUE if ≥28 days since previous dose
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-spacing-valid-flag
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External identifier
... instantiates Σ 0..* uri Instantiates protocol or definition
... partOf Σ 0..* Reference(MedicationAdministration | Procedure) Part of referenced event
... status ?!SΣ 1..1 code completed | not-done | in-progress
Binding: MedicationAdministration Status Codes (required)
... statusReason 0..* CodeableConcept Reason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.
... category 0..1 CodeableConcept Type of medication usage
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationReference Σ 0..1 Reference(IPTp SP Medication) What was administered
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Who received medication
... context 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... supportingInformation 0..* Reference(Resource) Additional information to support administration
... Slices for effective[x] SΣ 1..1 Start and end time of administration
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime SΣ 0..1 dateTime Actual or planned date of dose administration
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function 0..1 CodeableConcept Type of performance
Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication.
.... actor SΣ 1..1 Reference(IPTp ANC Provider) Required only for DOT doses; omit for self-admin
... reasonCode 0..* CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Condition or observation that supports why the medication was administered
... request 0..1 Reference(MedicationRequest) Request administration performed against
... device 0..* Reference(Device) Device used to administer
... note S 0..* Annotation Additional notes (e.g. confirmed via SMS reply 1)
... dosage SC 1..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text 0..1 string Swallow whole. With or without food.
.... site 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 26643006
...... display 1..1 string Representation defined by the system
Fixed Value: Oral route
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
.... dose S 0..1 SimpleQuantity(4.0.1) 3 SP tablets taken together
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ 0..1 decimal Numerical value (with implicit precision)
Required Pattern: 3
..... unit Σ 0..1 string Unit representation
Required Pattern: tablet
..... system ΣC 0..1 uri System that defines coded unit form
..... code Σ 0..1 code Coded form of the unit
.... rate[x] 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)
... eventHistory 0..* Reference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationAdministration.​status Base required Medication administration status codes 📦4.0.1 FHIR Std.
MedicationAdministration.​statusReason Base example SNOMED CT Reason Medication Not Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​category Base preferred Medication administration category codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​performer.function Base example Medication administration performer function codes 📍4.0.1 FHIR Std.
MedicationAdministration.​reasonCode Base example Reason Medication Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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 MedicationAdministration 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 MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration 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()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

This structure is derived from MedicationAdministration

Summary

Mandatory: 3 elements
Must-Support: 15 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of MedicationAdministration.medication[x]
  • The element 1 is sliced based on the value of MedicationAdministration.effective[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:doseNumber S 1..1 positiveInt IPTp Dose Number
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-dose-number
.... extension:administrationMethod S 1..1 CodeableConcept IPTp Administration Method
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-administration-method
Binding: IPTp Administration Method Value Set (extensible)
.... extension:confirmationStatus S 0..1 CodeableConcept Set for self-admin doses only: confirmation-pending on T-0, confirmation-confirmed on Reply 1, confirmation-missed after 72h with no reply
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-confirmation-status
Binding: IPTp Dose Confirmation Status Value Set (required)
.... extension:spacingValidFlag S 0..1 boolean Computed when confirmationStatus = confirmation-confirmed; TRUE if ≥28 days since previous dose
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-spacing-valid-flag
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationReference Σ 0..1 Reference(IPTp SP Medication) What was administered
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Who received medication
... Slices for effective[x] SΣ 1..1 Start and end time of administration
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime SΣ 0..1 dateTime Actual or planned date of dose administration
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... actor SΣ 1..1 Reference(IPTp ANC Provider) Required only for DOT doses; omit for self-admin
... note S 0..* Annotation Additional notes (e.g. confirmed via SMS reply 1)
... dosage SC 1..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text 0..1 string Swallow whole. With or without food.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 26643006
...... display 1..1 string Representation defined by the system
Fixed Value: Oral route
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... dose S 0..1 SimpleQuantity(4.0.1) 3 SP tablets taken together
..... value Σ 0..1 decimal Numerical value (with implicit precision)
Required Pattern: 3
..... unit Σ 0..1 string Unit representation
Required Pattern: tablet

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​status Base required Medication administration status codes 📦4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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 MedicationAdministration 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 MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration 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()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

Differential View

This structure is derived from MedicationAdministration

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:doseNumber S 1..1 positiveInt IPTp Dose Number
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-dose-number
.... extension:administrationMethod S 1..1 CodeableConcept IPTp Administration Method
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-administration-method
Binding: IPTp Administration Method Value Set (extensible)
.... extension:confirmationStatus S 0..1 CodeableConcept Set for self-admin doses only: confirmation-pending on T-0, confirmation-confirmed on Reply 1, confirmation-missed after 72h with no reply
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-confirmation-status
Binding: IPTp Dose Confirmation Status Value Set (required)
.... extension:spacingValidFlag S 0..1 boolean Computed when confirmationStatus = confirmation-confirmed; TRUE if ≥28 days since previous dose
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-spacing-valid-flag
... status S 1..1 code completed | not-done | in-progress
Binding: MedicationAdministration Status Codes (required)
... Slices for medication[x] S 1..1 CodeableConcept, Reference(Medication) What was administered
Slice: Unordered, Open by type:$this
.... medication[x]:medicationReference 0..1 Reference(IPTp SP Medication) What was administered
... Slices for effective[x] S 1..1 dateTime, Period Start and end time of administration
Slice: Unordered, Open by type:$this
.... effective[x]:effectiveDateTime S 0..1 dateTime Actual or planned date of dose administration
... performer S 0..* BackboneElement Who performed the medication administration and what they did
.... actor S 1..1 Reference(IPTp ANC Provider) Required only for DOT doses; omit for self-admin
... note S 0..* Annotation Additional notes (e.g. confirmed via SMS reply 1)
... dosage S 1..1 BackboneElement Details of how medication was taken
.... text 0..1 string Swallow whole. With or without food.
.... route S 0..1 CodeableConcept Path of substance into body
Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 26643006
...... display 1..1 string Representation defined by the system
Fixed Value: Oral route
.... dose S 0..1 SimpleQuantity(4.0.1) 3 SP tablets taken together
..... value 0..1 decimal Numerical value (with implicit precision)
Required Pattern: 3
..... unit 0..1 string Unit representation
Required Pattern: tablet

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
MedicationAdministration.​status Base required Medication administration status codes 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:doseNumber S 1..1 positiveInt IPTp Dose Number
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-dose-number
.... extension:administrationMethod S 1..1 CodeableConcept IPTp Administration Method
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-administration-method
Binding: IPTp Administration Method Value Set (extensible)
.... extension:confirmationStatus S 0..1 CodeableConcept Set for self-admin doses only: confirmation-pending on T-0, confirmation-confirmed on Reply 1, confirmation-missed after 72h with no reply
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-confirmation-status
Binding: IPTp Dose Confirmation Status Value Set (required)
.... extension:spacingValidFlag S 0..1 boolean Computed when confirmationStatus = confirmation-confirmed; TRUE if ≥28 days since previous dose
URL: http://iptp.kemri.go.ke/fhir/StructureDefinition/iptp-spacing-valid-flag
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier External identifier
... instantiates Σ 0..* uri Instantiates protocol or definition
... partOf Σ 0..* Reference(MedicationAdministration | Procedure) Part of referenced event
... status ?!SΣ 1..1 code completed | not-done | in-progress
Binding: MedicationAdministration Status Codes (required)
... statusReason 0..* CodeableConcept Reason administration not performed
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.
... category 0..1 CodeableConcept Type of medication usage
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.
... Slices for medication[x] SΣ 1..1 What was administered
Slice: Unordered, Open by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication)
.... medication[x]:medicationReference Σ 0..1 Reference(IPTp SP Medication) What was administered
... subject SΣ 1..1 Reference(IPTp Enrolled Patient) Who received medication
... context 0..1 Reference(Encounter | EpisodeOfCare) Encounter or Episode of Care administered as part of
... supportingInformation 0..* Reference(Resource) Additional information to support administration
... Slices for effective[x] SΣ 1..1 Start and end time of administration
Slice: Unordered, Open by type:$this
.... effectiveDateTime dateTime
.... effectivePeriod Period
.... effective[x]:effectiveDateTime SΣ 0..1 dateTime Actual or planned date of dose administration
... performer SΣ 0..* BackboneElement Who performed the medication administration and what they did
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... function 0..1 CodeableConcept Type of performance
Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication.
.... actor SΣ 1..1 Reference(IPTp ANC Provider) Required only for DOT doses; omit for self-admin
... reasonCode 0..* CodeableConcept Reason administration performed
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.
... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Condition or observation that supports why the medication was administered
... request 0..1 Reference(MedicationRequest) Request administration performed against
... device 0..* Reference(Device) Device used to administer
... note S 0..* Annotation Additional notes (e.g. confirmed via SMS reply 1)
... dosage SC 1..1 BackboneElement Details of how medication was taken
Constraints: mad-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... text 0..1 string Swallow whole. With or without food.
.... site 0..1 CodeableConcept Body site administered to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
.... route S 0..1 CodeableConcept Path of substance into body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.
Required Pattern: At least the following
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://snomed.info/sct
...... version 0..1 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 26643006
...... display 1..1 string Representation defined by the system
Fixed Value: Oral route
...... userSelected 0..1 boolean If this coding was chosen directly by the user
..... text 0..1 string Plain text representation of the concept
.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
.... dose S 0..1 SimpleQuantity(4.0.1) 3 SP tablets taken together
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ 0..1 decimal Numerical value (with implicit precision)
Required Pattern: 3
..... unit Σ 0..1 string Unit representation
Required Pattern: tablet
..... system ΣC 0..1 uri System that defines coded unit form
..... code Σ 0..1 code Coded form of the unit
.... rate[x] 0..1 Dose quantity per unit of time
..... rateRatio Ratio
..... rateQuantity Quantity(SimpleQuantity)
... eventHistory 0..* Reference(Provenance) A list of events of interest in the lifecycle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MedicationAdministration.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
MedicationAdministration.​status Base required Medication administration status codes 📦4.0.1 FHIR Std.
MedicationAdministration.​statusReason Base example SNOMED CT Reason Medication Not Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​category Base preferred Medication administration category codes 📍4.0.1 FHIR Std.
MedicationAdministration.​medication[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​performer.function Base example Medication administration performer function codes 📍4.0.1 FHIR Std.
MedicationAdministration.​reasonCode Base example Reason Medication Given Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
MedicationAdministration.​dosage.method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MedicationAdministration If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MedicationAdministration 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 MedicationAdministration 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 MedicationAdministration If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MedicationAdministration 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()
mad-1 error MedicationAdministration.dosage SHALL have at least one of dosage.dose or dosage.rate[x] dose.exists() or rate.exists()

This structure is derived from MedicationAdministration

Summary

Mandatory: 3 elements
Must-Support: 15 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of MedicationAdministration.medication[x]
  • The element 1 is sliced based on the value of MedicationAdministration.effective[x]

 

Other representations of profile: CSV, Excel, Schematron