Starter FHIR Implementation Guide
1.0.1 - draft International flag

Starter FHIR Implementation Guide, published by Jembi Health Systems. This guide is not an authorized publication; it is the continuous build for version 1.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/jembi/Starter-FHIR-IG/ and changes regularly. See the Directory of published versions

Resource Profile: Medication Administration - For Prescribed ARV Medication ( Experimental )

Official URL: http://jembi.org/fhir/StructureDefinition/arv-medication-administration Version: 1.0.1
Active as of 2024-12-11 Computable Name: ARVMedicationAdministration

Used to record the medication administration period for prescribed ARV medication.

Usage:

Formal Views of Profile Content

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

This structure is derived from MedicationAdministration

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... medication[x] 1..1 Reference(Medication - Represents an ARV Regimen) What was administered
... subject 1..1 Reference(Patient) Who received medication
... context 1..1 Reference(Encounter - Initiated By The Facility Providing the Service) Encounter or Episode of Care administered as part of
.... start S 0..1 dateTime Starting time with inclusive boundary
.... end 1..1 dateTime End time with inclusive boundary, if not ongoing
... request 1..1 Reference(Medication Request - ARV) Request administration performed against
... note S 0..* Annotation Information about the administration

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required): A set of codes indicating the current status of a MedicationAdministration.


ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(Patient) Who received medication
ele-1: All FHIR elements must have a @value or children
... context 1..1 Reference(Encounter - Initiated By The Facility Providing the Service) Encounter or Episode of Care administered as part of
ele-1: All FHIR elements must have a @value or children
... effective[x] Σ 1..1 Period Start and end time of administration
ele-1: All FHIR elements must have a @value or children
.... start SΣC 0..1 dateTime Starting time with inclusive boundary
ele-1: All FHIR elements must have a @value or children
.... end ΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
ele-1: All FHIR elements must have a @value or children
... request 1..1 Reference(Medication Request - ARV) Request administration performed against
ele-1: All FHIR elements must have a @value or children
... note S 0..* Annotation Information about the administration
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf 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-4errorMedicationAdministrationIf 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-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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
... instantiates Σ 0..* uri Instantiates protocol or definition
... partOf Σ 0..* Reference(MedicationAdministration | Procedure) Part of referenced event
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required): A set of codes indicating the current status of a MedicationAdministration.

... 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.

... medication[x] Σ 1..1 Reference(Medication - Represents an ARV Regimen) What was administered
... subject Σ 1..1 Reference(Patient) Who received medication
... context 1..1 Reference(Encounter - Initiated By The Facility Providing the Service) Encounter or Episode of Care administered as part of
... supportingInformation 0..* Reference(Resource) Additional information to support administration
... effective[x] Σ 1..1 Period Start and end time of administration
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... start SΣC 0..1 dateTime Starting time with inclusive boundary
.... end ΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
... performer Σ 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 Σ 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device) Who performed the medication administration
... 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 1..1 Reference(Medication Request - ARV) Request administration performed against
... device 0..* Reference(Device) Device used to administer
... note S 0..* Annotation Information about the administration
... dosage C 0..1 BackboneElement Details of how medication was taken
mad-1: SHALL have at least one of dosage.dose or dosage.rate[x]
.... 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 Free text dosage instructions e.g. SIG
.... 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 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.

.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... dose 0..1 SimpleQuantity Amount of medication per dose
.... 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

PathConformanceValueSetURI
MedicationAdministration.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status|4.0.1
from the FHIR Standard
MedicationAdministration.statusReasonexampleSNOMEDCTReasonMedicationNotGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes
from the FHIR Standard
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
http://hl7.org/fhir/ValueSet/medication-admin-category
from the FHIR Standard
MedicationAdministration.performer.functionexampleMedicationAdministration Performer Function Codes
http://hl7.org/fhir/ValueSet/med-admin-perform-function
from the FHIR Standard
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-given-codes
from the FHIR Standard
MedicationAdministration.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationAdministration.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf 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-4errorMedicationAdministrationIf 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-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mad-1errorMedicationAdministration.dosageSHALL 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 & Constraintsdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
... medication[x] 1..1 Reference(Medication - Represents an ARV Regimen) What was administered
... subject 1..1 Reference(Patient) Who received medication
... context 1..1 Reference(Encounter - Initiated By The Facility Providing the Service) Encounter or Episode of Care administered as part of
.... start S 0..1 dateTime Starting time with inclusive boundary
.... end 1..1 dateTime End time with inclusive boundary, if not ongoing
... request 1..1 Reference(Medication Request - ARV) Request administration performed against
... note S 0..* Annotation Information about the administration

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..* MedicationAdministration Administration of medication to a patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required): A set of codes indicating the current status of a MedicationAdministration.


ele-1: All FHIR elements must have a @value or children
... subject Σ 1..1 Reference(Patient) Who received medication
ele-1: All FHIR elements must have a @value or children
... context 1..1 Reference(Encounter - Initiated By The Facility Providing the Service) Encounter or Episode of Care administered as part of
ele-1: All FHIR elements must have a @value or children
... effective[x] Σ 1..1 Period Start and end time of administration
ele-1: All FHIR elements must have a @value or children
.... start SΣC 0..1 dateTime Starting time with inclusive boundary
ele-1: All FHIR elements must have a @value or children
.... end ΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
ele-1: All FHIR elements must have a @value or children
... request 1..1 Reference(Medication Request - ARV) Request administration performed against
ele-1: All FHIR elements must have a @value or children
... note S 0..* Annotation Information about the administration
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf 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-4errorMedicationAdministrationIf 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-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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
... instantiates Σ 0..* uri Instantiates protocol or definition
... partOf Σ 0..* Reference(MedicationAdministration | Procedure) Part of referenced event
... status ?!Σ 1..1 code in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown
Binding: MedicationAdministration Status Codes (required): A set of codes indicating the current status of a MedicationAdministration.

... 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.

... medication[x] Σ 1..1 Reference(Medication - Represents an ARV Regimen) What was administered
... subject Σ 1..1 Reference(Patient) Who received medication
... context 1..1 Reference(Encounter - Initiated By The Facility Providing the Service) Encounter or Episode of Care administered as part of
... supportingInformation 0..* Reference(Resource) Additional information to support administration
... effective[x] Σ 1..1 Period Start and end time of administration
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... start SΣC 0..1 dateTime Starting time with inclusive boundary
.... end ΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
... performer Σ 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 Σ 1..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Device) Who performed the medication administration
... 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 1..1 Reference(Medication Request - ARV) Request administration performed against
... device 0..* Reference(Device) Device used to administer
... note S 0..* Annotation Information about the administration
... dosage C 0..1 BackboneElement Details of how medication was taken
mad-1: SHALL have at least one of dosage.dose or dosage.rate[x]
.... 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 Free text dosage instructions e.g. SIG
.... 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 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.

.... method 0..1 CodeableConcept How drug was administered
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... dose 0..1 SimpleQuantity Amount of medication per dose
.... 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

PathConformanceValueSetURI
MedicationAdministration.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
http://hl7.org/fhir/ValueSet/medication-admin-status|4.0.1
from the FHIR Standard
MedicationAdministration.statusReasonexampleSNOMEDCTReasonMedicationNotGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes
from the FHIR Standard
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
http://hl7.org/fhir/ValueSet/medication-admin-category
from the FHIR Standard
MedicationAdministration.performer.functionexampleMedicationAdministration Performer Function Codes
http://hl7.org/fhir/ValueSet/med-admin-perform-function
from the FHIR Standard
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
http://hl7.org/fhir/ValueSet/reason-medication-given-codes
from the FHIR Standard
MedicationAdministration.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationAdministration.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf 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-4errorMedicationAdministrationIf 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-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
mad-1errorMedicationAdministration.dosageSHALL have at least one of dosage.dose or dosage.rate[x]
: dose.exists() or rate.exists()

 

Other representations of profile: CSV, Excel, Schematron