Smart Health Checks
0.4.0 - ci-build

Smart Health Checks, published by AEHRC CSIRO. This guide is not an authorized publication; it is the continuous build for version 0.4.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.4.0
Draft as of 2025-12-18 | 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`:
  - `Parameters.parameter.part:value.value[x]` SHALL be of type `code`
  - `Parameters.parameter.part:value.value[x]:valueCode` SHALL have a value from the Medication Statement Status Limited value set.
- 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:

- Use this Profile: Smart Health Checks Extract Bundle
- Examples for this Profile: Parameters/SHCPatchMedicationStatement1, Parameters/SHCPatchMedicationStatement2, Parameters/SHCPatchMedicationStatement3 and Parameters/SHCPatchMedicationStatement4
- CapabilityStatements using this Profile: SHC App and SHC Host FHIR Server

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.

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:path | SO Σ | 1..1 | BackboneElement | Where to perform the operation
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:value | SO Σ | 1..1 | BackboneElement | Replacement value
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate-if-known | SHC App
text | SO Σ | 1..1 | markdown | The annotation - text content (as markdown)
Obligations | Actor
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.
Obligations | Actor
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
Obligations | Actor
SHALL:populate | SHC App
value[x] | SO Σ C | 1..1 | string | If parameter is a data type
Obligations | Actor
SHALL:populate | SHC App
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.4.0 | This IG
Parameters.parameter.​part:name.value[x] | Base | required | Smart Health Checks Patch MedicationStatement Element Name | 📦0.4.0 | This IG
Parameters.parameter.​part:value.value[x]:valueCode | Base | required | Medication Statement Status Limited | 📦0.4.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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: operation
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: type
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:path | SO | 1..1 | BackboneElement | Where to perform the operation
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: path
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:value | SO | 1..1 | BackboneElement | Replacement value
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: value
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate-if-known | SHC App
text | SO | 1..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate-if-known | SHC App
text | SO | 1..1 | markdown | The annotation - text content (as markdown)
Obligations | Actor
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.
Obligations | Actor
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: pathLabel
Obligations | Actor
SHALL:populate | SHC App
value[x] | SO | 1..1 | string | If parameter is a data type
Obligations | Actor
SHALL:populate | SHC App
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.4.0 | This IG
Parameters.parameter.​part:name.value[x] | Base | required | Smart Health Checks Patch MedicationStatement Element Name | 📦0.4.0 | This IG
Parameters.parameter.​part:value.value[x]:valueCode | Base | required | Medication Statement Status Limited | 📦0.4.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`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
parameter | SO Σ C | 1..* | BackboneElement | Operation Parameter Constraints: inv-1
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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.
Obligations | Actor
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
Obligations | Actor
SHALL:populate | SHC App
value[x] | SO Σ C | 1..1 | string | If parameter is a data type
Obligations | Actor
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
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.4.0 | This IG
Parameters.parameter.​part:name.value[x] | Base | required | Smart Health Checks Patch MedicationStatement Element Name | 📦0.4.0 | This IG
Parameters.parameter.​part:value.value[x]:valueCode | Base | required | Medication Statement Status Limited | 📦0.4.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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:path | SO Σ | 1..1 | BackboneElement | Where to perform the operation
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:value | SO Σ | 1..1 | BackboneElement | Replacement value
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate-if-known | SHC App
text | SO Σ | 1..1 | markdown | The annotation - text content (as markdown)
Obligations | Actor
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.
Obligations | Actor
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
Obligations | Actor
SHALL:populate | SHC App
value[x] | SO Σ C | 1..1 | string | If parameter is a data type
Obligations | Actor
SHALL:populate | SHC App
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.4.0 | This IG
Parameters.parameter.​part:name.value[x] | Base | required | Smart Health Checks Patch MedicationStatement Element Name | 📦0.4.0 | This IG
Parameters.parameter.​part:value.value[x]:valueCode | Base | required | Medication Statement Status Limited | 📦0.4.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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: operation
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: type
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:path | SO | 1..1 | BackboneElement | Where to perform the operation
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: path
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
part:value | SO | 1..1 | BackboneElement | Replacement value
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: value
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate-if-known | SHC App
text | SO | 1..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
SHALL:process | SHC Host FHIR Server
SHALL:populate-if-known | SHC App
text | SO | 1..1 | markdown | The annotation - text content (as markdown)
Obligations | Actor
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.
Obligations | Actor
SHALL:populate | SHC App
name | SO | 1..1 | string | Name from the definition Fixed Value: pathLabel
Obligations | Actor
SHALL:populate | SHC App
value[x] | SO | 1..1 | string | If parameter is a data type
Obligations | Actor
SHALL:populate | SHC App
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.4.0 | This IG
Parameters.parameter.​part:name.value[x] | Base | required | Smart Health Checks Patch MedicationStatement Element Name | 📦0.4.0 | This IG
Parameters.parameter.​part:value.value[x]:valueCode | Base | required | Medication Statement Status Limited | 📦0.4.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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
parameter | SO Σ C | 1..* | BackboneElement | Operation Parameter Constraints: inv-1
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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
Obligations | Actor
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)
Obligations | Actor
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.
Obligations | Actor
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
Obligations | Actor
SHALL:populate | SHC App
value[x] | SO Σ C | 1..1 | string | If parameter is a data type
Obligations | Actor
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
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.4.0 | This IG
Parameters.parameter.​part:name.value[x] | Base | required | Smart Health Checks Patch MedicationStatement Element Name | 📦0.4.0 | This IG
Parameters.parameter.​part:value.value[x]:valueCode | Base | required | Medication Statement Status Limited | 📦0.4.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