Smart Health Checks
0.3.0 - ci-build Australia flag

Smart Health Checks, published by AEHRC CSIRO. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/aehrc/smart-forms-ig/ and changes regularly. See the Directory of published versions

Resource Profile: Smart Health Checks Patch MedicationStatement

Official URL: https://smartforms.csiro.au/ig/StructureDefinition/SHCPatchMedicationStatement Version: 0.3.0
Draft as of 2025-10-01 Computable Name: SmartHealthChecksPatchMedicationStatement

Copyright/Legal: Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.

This profile sets the expectations for a Parameters resource when used to patch MedicationStatement resources within Smart Health Checks.

Usage Scenarios

This profile supports updating MedicationStatement resource elements that are applicable to Smart Health Checks using the FHIRPath patch method. FHIRPath patch uses the Parameters resource to describe how a patch operation should be performed.

The elements that can be updated using this profile are as follows:

Profile Element path
Smart Health Checks MedicationStatement
  • MedicationStatement.status
  • MedicationStatement.dosage[0].text
  • MedicationStatement.note[0].text

Profile Specific Implementation Guidance

  • Parameters.parameter.part:path.value[x]:valueString SHALL identify one of the relevant MedicationStatement element paths included in the Smart Health Checks Patch MedicationStatement Element Path value set: MedicationStatement, MedicationStatement.dosage[0], or MedicationStatement.note[0].
  • Parameters.parameter.part:name.value[x]:valueString SHALL identify one of the relevant MedicationStatement element paths included in the Smart Health Checks Patch MedicationStatement Element Name value set: status, text, dosage or note.
  • When the path value is MedicationStatement and the name value is status:
  • When the path value is MedicationStatement and the name value is dosage:
    • Parameters.parameter.part:value.value[x] SHALL be of type Dosage.
  • When the path value is MedicationStatement.dosage[0] and the name value is text:
    • Parameters.parameter.part:value.value[x] SHALL be of type string.
  • When the path value is MedicationStatement and the name value is note:
    • Parameters.parameter.part:value.value[x] SHALL be of type Annotation.
  • When the path value is MedicationStatement.note[0] and the name value is text:
    • Parameters.parameter.part:value.value[x] SHALL be of type markdown.

Illustrative examples are provided.

Parameters.parameter.part:value.value[x] has Must Support obligations on each of the allowed data types. Due to a validation issue, it is not currently possible to have slices defined for both valueCode and valueString. For this reason, valueString is not currently defined as a slice and does not have Must Support obligations included in the StructureDefinition.

valueString is to be considered a Must Support data type with the same obligations as the other allowed data types (as below).

Obligations Actor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App

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
.. Parameters C 0..* Parameters Parameters for patching MedicationStatement resource elements supported in Smart Health Checks
Constraints: shc-patch-medication-statement-01, shc-patch-medication-statement-02, shc-patch-medication-statement-03, shc-patch-medication-statement-04, shc-patch-medication-statement-05
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... parameter SOΣC 1..* BackboneElement Operation Parameter
Constraints: inv-1
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name SOΣ 1..1 string Name from the definition
Fixed Value: operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... Slices for part Σ 4..* See parameter (Parameters) Named part of a multi-part parameter
Slice: Unordered, Open by value:name
..... part:All Slices Content/Rules for all slices
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 string Name from the definition
..... part:type SOΣ 1..1 BackboneElement Patch operation to perform
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 code If parameter is a data type
Fixed Value: add
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:path SOΣ 1..1 BackboneElement Where to perform the operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: path
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Path (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:name Σ 1..1 BackboneElement Named part of a multi-part parameter
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: name
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Name (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:value SOΣ 1..1 BackboneElement Replacement value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... Slices for value[x] SOΣC 1..1 If parameter is a data type
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
....... valueCode code
....... valueMarkdown markdown
....... valueString string
....... valueAnnotation Annotation
....... valueDosage Dosage
....... value[x]:valueCode SΣC 0..1 code If parameter is a data type
Binding: Medication Statement Status Limited (required)
....... value[x]:valueDosage SOΣC 0..1 Dosage If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
........ text SOΣ 1..1 string Free text dosage instructions e.g. SIG
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueMarkdown SOΣC 0..1 markdown If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueAnnotation SOΣC 0..1 Annotation If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ text SOΣ 1..1 markdown The annotation - text content (as markdown)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
..... part:pathLabel SOΣ 0..1 BackboneElement Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.
ObligationsActor
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: pathLabel
ObligationsActor
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
ObligationsActor
SHALL:populate SHC App

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Parameters.parameter.​part:path.value[x] Base required Smart Health Checks Patch MedicationStatement Element Path 📦0.3.0 This IG
Parameters.parameter.​part:name.value[x] Base required Smart Health Checks Patch MedicationStatement Element Name 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueCode Base required Medication Statement Status Limited 📦0.3.0 This IG

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()
inv-1 error Parameters.parameter A parameter must have one and only one of (value, resource, part) (part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))
shc-patch-medication-statement-01 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'status', the part parameter named 'value' SHALL have a value from the 'Medication Statement Status Limited' value set. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').part.where(name='value').value.memberOf('https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited')
shc-patch-medication-statement-02 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'dosage', the part parameter named 'value' SHALL have a value of type Dosage. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').part.where(name='value').value is Dosage
shc-patch-medication-statement-03 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.dosage[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type string. parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').part.where(name='value').value is string
shc-patch-medication-statement-04 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'note', the part parameter named 'value' SHALL have a value of type Annotation. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').part.where(name='value').value is Annotation
shc-patch-medication-statement-05 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.note[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type markdown. parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').part.where(name='value').value is markdown

This structure is derived from Parameters

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Parameters C 0..* Parameters Parameters for patching MedicationStatement resource elements supported in Smart Health Checks
Constraints: shc-patch-medication-statement-01, shc-patch-medication-statement-02, shc-patch-medication-statement-03, shc-patch-medication-statement-04, shc-patch-medication-statement-05
... parameter SO 1..* BackboneElement Operation Parameter
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... name SO 1..1 string Name from the definition
Fixed Value: operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... Slices for part 4..* Named part of a multi-part parameter
Slice: Unordered, Open by value:name
..... part:type SO 1..1 BackboneElement Patch operation to perform
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SO 1..1 code If parameter is a data type
Fixed Value: add
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:path SO 1..1 BackboneElement Where to perform the operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: path
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SO 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Path (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:name 1..1 BackboneElement Named part of a multi-part parameter
...... name SO 1..1 string Name from the definition
Fixed Value: name
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SO 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Name (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:value SO 1..1 BackboneElement Replacement value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... Slices for value[x] SOC 1..1 If parameter is a data type
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
....... valueCode code
....... valueMarkdown markdown
....... valueString string
....... valueAnnotation Annotation
....... valueDosage Dosage
....... value[x]:valueCode S 0..1 code If parameter is a data type
Binding: Medication Statement Status Limited (required)
....... value[x]:valueDosage SO 0..1 Dosage If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ text SO 1..1 string Free text dosage instructions e.g. SIG
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueMarkdown SO 0..1 markdown If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueAnnotation SO 0..1 Annotation If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ text SO 1..1 markdown The annotation - text content (as markdown)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
..... part:pathLabel SO 0..1 BackboneElement Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.
ObligationsActor
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: pathLabel
ObligationsActor
SHALL:populate SHC App
...... value[x] SO 1..1 string If parameter is a data type
ObligationsActor
SHALL:populate SHC App

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Parameters.parameter.​part:path.value[x] Base required Smart Health Checks Patch MedicationStatement Element Path 📦0.3.0 This IG
Parameters.parameter.​part:name.value[x] Base required Smart Health Checks Patch MedicationStatement Element Name 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueCode Base required Medication Statement Status Limited 📦0.3.0 This IG

Constraints

Id Grade Path(s) Description Expression
shc-patch-medication-statement-01 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'status', the part parameter named 'value' SHALL have a value from the 'Medication Statement Status Limited' value set. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').part.where(name='value').value.memberOf('https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited')
shc-patch-medication-statement-02 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'dosage', the part parameter named 'value' SHALL have a value of type Dosage. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').part.where(name='value').value is Dosage
shc-patch-medication-statement-03 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.dosage[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type string. parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').part.where(name='value').value is string
shc-patch-medication-statement-04 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'note', the part parameter named 'value' SHALL have a value of type Annotation. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').part.where(name='value').value is Annotation
shc-patch-medication-statement-05 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.note[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type markdown. parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').part.where(name='value').value is markdown
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Parameters C 0..* Parameters Parameters for patching MedicationStatement resource elements supported in Smart Health Checks
Constraints: shc-patch-medication-statement-01, shc-patch-medication-statement-02, shc-patch-medication-statement-03, shc-patch-medication-statement-04, shc-patch-medication-statement-05
... 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
... parameter SOΣC 1..* BackboneElement Operation Parameter
Constraints: inv-1
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... 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
.... name SOΣ 1..1 string Name from the definition
Fixed Value: operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... value[x] ΣC 0..1 If parameter is a data type
..... valueBase64Binary base64Binary
..... valueBoolean boolean
..... valueCanonical canonical(Any)
..... valueCode code
..... valueDate date
..... valueDateTime dateTime
..... valueDecimal decimal
..... valueId id
..... valueInstant instant
..... valueInteger integer
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueContributor Contributor
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueDosage Dosage
..... valueMeta Meta
.... resource ΣC 0..1 Resource If parameter is a whole resource
.... Slices for part Σ 4..* See parameter (Parameters) Named part of a multi-part parameter
Slice: Unordered, Open by value:name
..... part:All Slices Content/Rules for all slices
...... 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
...... name Σ 1..1 string Name from the definition
...... value[x] ΣC 0..1 If parameter is a data type
....... valueBase64Binary base64Binary
....... valueBoolean boolean
....... valueCanonical canonical(Any)
....... valueCode code
....... valueDate date
....... valueDateTime dateTime
....... valueDecimal decimal
....... valueId id
....... valueInstant instant
....... valueInteger integer
....... valueMarkdown markdown
....... valueOid oid
....... valuePositiveInt positiveInt
....... valueString string
....... valueTime time
....... valueUnsignedInt unsignedInt
....... valueUri uri
....... valueUrl url
....... valueUuid uuid
....... valueAddress Address
....... valueAge Age
....... valueAnnotation Annotation
....... valueAttachment Attachment
....... valueCodeableConcept CodeableConcept
....... valueCoding Coding
....... valueContactPoint ContactPoint
....... valueCount Count
....... valueDistance Distance
....... valueDuration Duration
....... valueHumanName HumanName
....... valueIdentifier Identifier
....... valueMoney Money
....... valuePeriod Period
....... valueQuantity Quantity
....... valueRange Range
....... valueRatio Ratio
....... valueReference Reference(Any)
....... valueSampledData SampledData
....... valueSignature Signature
....... valueTiming Timing
....... valueContactDetail ContactDetail
....... valueContributor Contributor
....... valueDataRequirement DataRequirement
....... valueExpression Expression
....... valueParameterDefinition ParameterDefinition
....... valueRelatedArtifact RelatedArtifact
....... valueTriggerDefinition TriggerDefinition
....... valueUsageContext UsageContext
....... valueDosage Dosage
....... valueMeta Meta
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:type SOΣ 1..1 BackboneElement Patch operation to perform
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 code If parameter is a data type
Fixed Value: add
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:path SOΣ 1..1 BackboneElement Where to perform the operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: path
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Path (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:name Σ 1..1 BackboneElement Named part of a multi-part parameter
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: name
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Name (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:value SOΣ 1..1 BackboneElement Replacement value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... Slices for value[x] SOΣC 1..1 If parameter is a data type
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
....... valueCode code
....... valueMarkdown markdown
....... valueString string
....... valueAnnotation Annotation
....... valueDosage Dosage
....... value[x]:valueCode SΣC 0..1 code If parameter is a data type
Binding: Medication Statement Status Limited (required)
....... value[x]:valueDosage SOΣC 0..1 Dosage If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
........ sequence Σ 0..1 integer The order of the dosage instructions
........ text SOΣ 1..1 string Free text dosage instructions e.g. SIG
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
........ patientInstruction Σ 0..1 string Patient or consumer oriented instructions
........ timing Σ 0..1 Timing When medication should be administered
........ asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
......... asNeededBoolean boolean
......... asNeededCodeableConcept CodeableConcept
........ site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
........ route Σ 0..1 CodeableConcept How drug should enter 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 Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
........ doseAndRate Σ 0..* Element Amount of medication administered
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.
......... dose[x] Σ 0..1 Amount of medication per dose
.......... doseRange Range
.......... doseQuantity Quantity(SimpleQuantity)
......... rate[x] Σ 0..1 Amount of medication per unit of time
.......... rateRatio Ratio
.......... rateRange Range
.......... rateQuantity Quantity(SimpleQuantity)
........ maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
........ maxDosePerAdministration Σ 0..1 SimpleQuantity(4.0.1) Upper limit on medication per administration
........ maxDosePerLifetime Σ 0..1 SimpleQuantity(4.0.1) Upper limit on medication per lifetime of the patient
....... value[x]:valueMarkdown SOΣC 0..1 markdown If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueAnnotation SOΣC 0..1 Annotation If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ author[x] Σ 0..1 Individual responsible for the annotation
......... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
......... authorString string
........ time Σ 0..1 dateTime When the annotation was made
........ text SOΣ 1..1 markdown The annotation - text content (as markdown)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:pathLabel SOΣ 0..1 BackboneElement Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.
ObligationsActor
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: pathLabel
ObligationsActor
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
ObligationsActor
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Parameters.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Parameters.parameter.​part:path.value[x] Base required Smart Health Checks Patch MedicationStatement Element Path 📦0.3.0 This IG
Parameters.parameter.​part:name.value[x] Base required Smart Health Checks Patch MedicationStatement Element Name 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueCode Base required Medication Statement Status Limited 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueDosage.​additionalInstruction Base example SNOMED CT Additional Dosage Instructions 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​asNeeded[x] Base example SNOMED CT Medication As Needed Reason Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​doseAndRate.type Base example DoseAndRateType 📍4.0.1 FHIR Std.

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()
inv-1 error Parameters.parameter A parameter must have one and only one of (value, resource, part) (part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))
shc-patch-medication-statement-01 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'status', the part parameter named 'value' SHALL have a value from the 'Medication Statement Status Limited' value set. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').part.where(name='value').value.memberOf('https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited')
shc-patch-medication-statement-02 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'dosage', the part parameter named 'value' SHALL have a value of type Dosage. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').part.where(name='value').value is Dosage
shc-patch-medication-statement-03 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.dosage[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type string. parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').part.where(name='value').value is string
shc-patch-medication-statement-04 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'note', the part parameter named 'value' SHALL have a value of type Annotation. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').part.where(name='value').value is Annotation
shc-patch-medication-statement-05 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.note[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type markdown. parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').part.where(name='value').value is markdown

This structure is derived from Parameters

Summary

Mandatory: 9 elements(2 nested mandatory elements)
Must-Support: 22 elements
Fixed: 7 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Parameters.parameter.part
  • The element 1 is sliced based on the value of Parameters.parameter.part.value[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Parameters C 0..* Parameters Parameters for patching MedicationStatement resource elements supported in Smart Health Checks
Constraints: shc-patch-medication-statement-01, shc-patch-medication-statement-02, shc-patch-medication-statement-03, shc-patch-medication-statement-04, shc-patch-medication-statement-05
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... parameter SOΣC 1..* BackboneElement Operation Parameter
Constraints: inv-1
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... name SOΣ 1..1 string Name from the definition
Fixed Value: operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... Slices for part Σ 4..* See parameter (Parameters) Named part of a multi-part parameter
Slice: Unordered, Open by value:name
..... part:All Slices Content/Rules for all slices
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name Σ 1..1 string Name from the definition
..... part:type SOΣ 1..1 BackboneElement Patch operation to perform
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 code If parameter is a data type
Fixed Value: add
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:path SOΣ 1..1 BackboneElement Where to perform the operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: path
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Path (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:name Σ 1..1 BackboneElement Named part of a multi-part parameter
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: name
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Name (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:value SOΣ 1..1 BackboneElement Replacement value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... Slices for value[x] SOΣC 1..1 If parameter is a data type
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
....... valueCode code
....... valueMarkdown markdown
....... valueString string
....... valueAnnotation Annotation
....... valueDosage Dosage
....... value[x]:valueCode SΣC 0..1 code If parameter is a data type
Binding: Medication Statement Status Limited (required)
....... value[x]:valueDosage SOΣC 0..1 Dosage If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
........ text SOΣ 1..1 string Free text dosage instructions e.g. SIG
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueMarkdown SOΣC 0..1 markdown If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueAnnotation SOΣC 0..1 Annotation If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ text SOΣ 1..1 markdown The annotation - text content (as markdown)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
..... part:pathLabel SOΣ 0..1 BackboneElement Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.
ObligationsActor
SHALL:populate SHC App
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... name SOΣ 1..1 string Name from the definition
Fixed Value: pathLabel
ObligationsActor
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
ObligationsActor
SHALL:populate SHC App

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Parameters.parameter.​part:path.value[x] Base required Smart Health Checks Patch MedicationStatement Element Path 📦0.3.0 This IG
Parameters.parameter.​part:name.value[x] Base required Smart Health Checks Patch MedicationStatement Element Name 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueCode Base required Medication Statement Status Limited 📦0.3.0 This IG

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()
inv-1 error Parameters.parameter A parameter must have one and only one of (value, resource, part) (part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))
shc-patch-medication-statement-01 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'status', the part parameter named 'value' SHALL have a value from the 'Medication Statement Status Limited' value set. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').part.where(name='value').value.memberOf('https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited')
shc-patch-medication-statement-02 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'dosage', the part parameter named 'value' SHALL have a value of type Dosage. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').part.where(name='value').value is Dosage
shc-patch-medication-statement-03 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.dosage[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type string. parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').part.where(name='value').value is string
shc-patch-medication-statement-04 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'note', the part parameter named 'value' SHALL have a value of type Annotation. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').part.where(name='value').value is Annotation
shc-patch-medication-statement-05 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.note[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type markdown. parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').part.where(name='value').value is markdown

Differential View

This structure is derived from Parameters

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Parameters C 0..* Parameters Parameters for patching MedicationStatement resource elements supported in Smart Health Checks
Constraints: shc-patch-medication-statement-01, shc-patch-medication-statement-02, shc-patch-medication-statement-03, shc-patch-medication-statement-04, shc-patch-medication-statement-05
... parameter SO 1..* BackboneElement Operation Parameter
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... name SO 1..1 string Name from the definition
Fixed Value: operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... Slices for part 4..* Named part of a multi-part parameter
Slice: Unordered, Open by value:name
..... part:type SO 1..1 BackboneElement Patch operation to perform
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SO 1..1 code If parameter is a data type
Fixed Value: add
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:path SO 1..1 BackboneElement Where to perform the operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: path
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SO 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Path (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:name 1..1 BackboneElement Named part of a multi-part parameter
...... name SO 1..1 string Name from the definition
Fixed Value: name
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SO 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Name (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
..... part:value SO 1..1 BackboneElement Replacement value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... Slices for value[x] SOC 1..1 If parameter is a data type
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
....... valueCode code
....... valueMarkdown markdown
....... valueString string
....... valueAnnotation Annotation
....... valueDosage Dosage
....... value[x]:valueCode S 0..1 code If parameter is a data type
Binding: Medication Statement Status Limited (required)
....... value[x]:valueDosage SO 0..1 Dosage If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ text SO 1..1 string Free text dosage instructions e.g. SIG
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueMarkdown SO 0..1 markdown If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueAnnotation SO 0..1 Annotation If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ text SO 1..1 markdown The annotation - text content (as markdown)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
..... part:pathLabel SO 0..1 BackboneElement Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.
ObligationsActor
SHALL:populate SHC App
...... name SO 1..1 string Name from the definition
Fixed Value: pathLabel
ObligationsActor
SHALL:populate SHC App
...... value[x] SO 1..1 string If parameter is a data type
ObligationsActor
SHALL:populate SHC App

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Parameters.parameter.​part:path.value[x] Base required Smart Health Checks Patch MedicationStatement Element Path 📦0.3.0 This IG
Parameters.parameter.​part:name.value[x] Base required Smart Health Checks Patch MedicationStatement Element Name 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueCode Base required Medication Statement Status Limited 📦0.3.0 This IG

Constraints

Id Grade Path(s) Description Expression
shc-patch-medication-statement-01 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'status', the part parameter named 'value' SHALL have a value from the 'Medication Statement Status Limited' value set. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').part.where(name='value').value.memberOf('https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited')
shc-patch-medication-statement-02 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'dosage', the part parameter named 'value' SHALL have a value of type Dosage. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').part.where(name='value').value is Dosage
shc-patch-medication-statement-03 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.dosage[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type string. parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').part.where(name='value').value is string
shc-patch-medication-statement-04 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'note', the part parameter named 'value' SHALL have a value of type Annotation. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').part.where(name='value').value is Annotation
shc-patch-medication-statement-05 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.note[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type markdown. parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').part.where(name='value').value is markdown

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Parameters C 0..* Parameters Parameters for patching MedicationStatement resource elements supported in Smart Health Checks
Constraints: shc-patch-medication-statement-01, shc-patch-medication-statement-02, shc-patch-medication-statement-03, shc-patch-medication-statement-04, shc-patch-medication-statement-05
... 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
... parameter SOΣC 1..* BackboneElement Operation Parameter
Constraints: inv-1
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... 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
.... name SOΣ 1..1 string Name from the definition
Fixed Value: operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
.... value[x] ΣC 0..1 If parameter is a data type
..... valueBase64Binary base64Binary
..... valueBoolean boolean
..... valueCanonical canonical(Any)
..... valueCode code
..... valueDate date
..... valueDateTime dateTime
..... valueDecimal decimal
..... valueId id
..... valueInstant instant
..... valueInteger integer
..... valueMarkdown markdown
..... valueOid oid
..... valuePositiveInt positiveInt
..... valueString string
..... valueTime time
..... valueUnsignedInt unsignedInt
..... valueUri uri
..... valueUrl url
..... valueUuid uuid
..... valueAddress Address
..... valueAge Age
..... valueAnnotation Annotation
..... valueAttachment Attachment
..... valueCodeableConcept CodeableConcept
..... valueCoding Coding
..... valueContactPoint ContactPoint
..... valueCount Count
..... valueDistance Distance
..... valueDuration Duration
..... valueHumanName HumanName
..... valueIdentifier Identifier
..... valueMoney Money
..... valuePeriod Period
..... valueQuantity Quantity
..... valueRange Range
..... valueRatio Ratio
..... valueReference Reference(Any)
..... valueSampledData SampledData
..... valueSignature Signature
..... valueTiming Timing
..... valueContactDetail ContactDetail
..... valueContributor Contributor
..... valueDataRequirement DataRequirement
..... valueExpression Expression
..... valueParameterDefinition ParameterDefinition
..... valueRelatedArtifact RelatedArtifact
..... valueTriggerDefinition TriggerDefinition
..... valueUsageContext UsageContext
..... valueDosage Dosage
..... valueMeta Meta
.... resource ΣC 0..1 Resource If parameter is a whole resource
.... Slices for part Σ 4..* See parameter (Parameters) Named part of a multi-part parameter
Slice: Unordered, Open by value:name
..... part:All Slices Content/Rules for all slices
...... 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
...... name Σ 1..1 string Name from the definition
...... value[x] ΣC 0..1 If parameter is a data type
....... valueBase64Binary base64Binary
....... valueBoolean boolean
....... valueCanonical canonical(Any)
....... valueCode code
....... valueDate date
....... valueDateTime dateTime
....... valueDecimal decimal
....... valueId id
....... valueInstant instant
....... valueInteger integer
....... valueMarkdown markdown
....... valueOid oid
....... valuePositiveInt positiveInt
....... valueString string
....... valueTime time
....... valueUnsignedInt unsignedInt
....... valueUri uri
....... valueUrl url
....... valueUuid uuid
....... valueAddress Address
....... valueAge Age
....... valueAnnotation Annotation
....... valueAttachment Attachment
....... valueCodeableConcept CodeableConcept
....... valueCoding Coding
....... valueContactPoint ContactPoint
....... valueCount Count
....... valueDistance Distance
....... valueDuration Duration
....... valueHumanName HumanName
....... valueIdentifier Identifier
....... valueMoney Money
....... valuePeriod Period
....... valueQuantity Quantity
....... valueRange Range
....... valueRatio Ratio
....... valueReference Reference(Any)
....... valueSampledData SampledData
....... valueSignature Signature
....... valueTiming Timing
....... valueContactDetail ContactDetail
....... valueContributor Contributor
....... valueDataRequirement DataRequirement
....... valueExpression Expression
....... valueParameterDefinition ParameterDefinition
....... valueRelatedArtifact RelatedArtifact
....... valueTriggerDefinition TriggerDefinition
....... valueUsageContext UsageContext
....... valueDosage Dosage
....... valueMeta Meta
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:type SOΣ 1..1 BackboneElement Patch operation to perform
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 code If parameter is a data type
Fixed Value: add
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:path SOΣ 1..1 BackboneElement Where to perform the operation
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: path
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Path (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:name Σ 1..1 BackboneElement Named part of a multi-part parameter
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: name
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
Binding: Smart Health Checks Patch MedicationStatement Element Name (required)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:value SOΣ 1..1 BackboneElement Replacement value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: value
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
...... Slices for value[x] SOΣC 1..1 If parameter is a data type
Slice: Unordered, Open by type:$this
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate SHC App
....... valueCode code
....... valueMarkdown markdown
....... valueString string
....... valueAnnotation Annotation
....... valueDosage Dosage
....... value[x]:valueCode SΣC 0..1 code If parameter is a data type
Binding: Medication Statement Status Limited (required)
....... value[x]:valueDosage SOΣC 0..1 Dosage If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
........ sequence Σ 0..1 integer The order of the dosage instructions
........ text SOΣ 1..1 string Free text dosage instructions e.g. SIG
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".
........ patientInstruction Σ 0..1 string Patient or consumer oriented instructions
........ timing Σ 0..1 Timing When medication should be administered
........ asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.
......... asNeededBoolean boolean
......... asNeededCodeableConcept CodeableConcept
........ site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.
........ route Σ 0..1 CodeableConcept How drug should enter 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 Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.
........ doseAndRate Σ 0..* Element Amount of medication administered
......... id 0..1 string Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.
......... dose[x] Σ 0..1 Amount of medication per dose
.......... doseRange Range
.......... doseQuantity Quantity(SimpleQuantity)
......... rate[x] Σ 0..1 Amount of medication per unit of time
.......... rateRatio Ratio
.......... rateRange Range
.......... rateQuantity Quantity(SimpleQuantity)
........ maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
........ maxDosePerAdministration Σ 0..1 SimpleQuantity(4.0.1) Upper limit on medication per administration
........ maxDosePerLifetime Σ 0..1 SimpleQuantity(4.0.1) Upper limit on medication per lifetime of the patient
....... value[x]:valueMarkdown SOΣC 0..1 markdown If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
....... value[x]:valueAnnotation SOΣC 0..1 Annotation If parameter is a data type
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
........ id 0..1 string Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ author[x] Σ 0..1 Individual responsible for the annotation
......... authorReference Reference(Practitioner | Patient | RelatedPerson | Organization)
......... authorString string
........ time Σ 0..1 dateTime When the annotation was made
........ text SOΣ 1..1 markdown The annotation - text content (as markdown)
ObligationsActor
SHALL:process SHC Host FHIR Server
SHALL:populate-if-known SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter
..... part:pathLabel SOΣ 0..1 BackboneElement Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.
ObligationsActor
SHALL:populate SHC App
...... 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
...... name SOΣ 1..1 string Name from the definition
Fixed Value: pathLabel
ObligationsActor
SHALL:populate SHC App
...... value[x] SOΣC 1..1 string If parameter is a data type
ObligationsActor
SHALL:populate SHC App
...... resource ΣC 0..1 Resource If parameter is a whole resource
...... part Σ 0..* See parameter (Parameters) Named part of a multi-part parameter

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Parameters.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Parameters.parameter.​part:path.value[x] Base required Smart Health Checks Patch MedicationStatement Element Path 📦0.3.0 This IG
Parameters.parameter.​part:name.value[x] Base required Smart Health Checks Patch MedicationStatement Element Name 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueCode Base required Medication Statement Status Limited 📦0.3.0 This IG
Parameters.parameter.​part:value.value[x]:valueDosage.​additionalInstruction Base example SNOMED CT Additional Dosage Instructions 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​asNeeded[x] Base example SNOMED CT Medication As Needed Reason Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​site Base example SNOMED CT Anatomical Structure for Administration Site Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​route Base example SNOMED CT Route Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​method Base example SNOMED CT Administration Method Codes 📍4.0.1 FHIR Std.
Parameters.parameter.​part:value.value[x]:valueDosage.​doseAndRate.type Base example DoseAndRateType 📍4.0.1 FHIR Std.

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()
inv-1 error Parameters.parameter A parameter must have one and only one of (value, resource, part) (part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))
shc-patch-medication-statement-01 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'status', the part parameter named 'value' SHALL have a value from the 'Medication Statement Status Limited' value set. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'status').part.where(name='value').value.memberOf('https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited')
shc-patch-medication-statement-02 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'dosage', the part parameter named 'value' SHALL have a value of type Dosage. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'dosage').part.where(name='value').value is Dosage
shc-patch-medication-statement-03 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.dosage[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type string. parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.dosage[0]' and part.where(name='name').value = 'text').part.where(name='value').value is string
shc-patch-medication-statement-04 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement' and the part parameter named 'name' has a value of 'note', the part parameter named 'value' SHALL have a value of type Annotation. parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement' and part.where(name='name').value = 'note').part.where(name='value').value is Annotation
shc-patch-medication-statement-05 error Parameters When the part parameter named 'path' has a value of 'MedicationStatement.note[0]' and the part parameter named 'name' has a value of 'text', the part parameter named 'value' SHALL have a value of type markdown. parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').exists() implies parameter.where(part.where(name='path').value = 'MedicationStatement.note[0]' and part.where(name='name').value = 'text').part.where(name='value').value is markdown

This structure is derived from Parameters

Summary

Mandatory: 9 elements(2 nested mandatory elements)
Must-Support: 22 elements
Fixed: 7 elements

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Parameters.parameter.part
  • The element 1 is sliced based on the value of Parameters.parameter.part.value[x]

 

Other representations of profile: CSV, Excel, Schematron