Obligation Discussion
0.4.1 - Working Draft to present the Concept Ideas and Background Details (FO)
Obligation Discussion - Local Development build (v0.4.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Official URL: http://v2.hl7.org/fhir/StructureDefinition/new-obligation | Version: 0.1.0 | |||
Draft as of 2024-05-08 | Computable Name: MyNewObligationExtension |
Modified Extension to handle the obligations as I would like to see it. Also allowing for my own codesystems - where necessary.
Context of Use
This extension may be used on the following element(s):
Usage info
Usage:
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Extension
Summary
Complex Extension: Modified Extension to handle the obligations as I would like to see it. Also allowing for my own codesystems - where necessary.
This structure is derived from Extension
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Extension | New Obligation Extension | |
![]() ![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() ![]() |
S | 1..1 | Extension | Composite code describing the nature of the obligation |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "code" | |
![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Proposed Obligation Codes VS (complete) (required) | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "elementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | who is acting on behalf or for this obligation |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "actor" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(ActorDefinition) | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what is intended with this specific obligation instance - beyond the formal definition |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "documentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | a specific formula how the value for the attached field can be created/calculated; this is esp. for FHIR narratives |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "valueCalculation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | references, eg. names, the element on which the value depends |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "referenceElementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | how to use this obligation, eg. for specific debatable fields like gender etc. |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "usage" | |
![]() ![]() ![]() ![]() |
0..1 | UsageContext | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filter" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what the filter should achieve |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filterDocumentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..* | Extension | process ... |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "process" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(code) | Value of extension | |
![]() ![]() ![]() |
1..1 | uri | "http://v2.hl7.org/fhir/StructureDefinition/new-obligation" | |
![]() ![]() ![]() |
0..0 | |||
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Extension | New Obligation Extension | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | Extension | Composite code describing the nature of the obligation |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "code" | |
![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Proposed Obligation Codes VS (complete) (required) | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "elementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | who is acting on behalf or for this obligation |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "actor" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(ActorDefinition) | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what is intended with this specific obligation instance - beyond the formal definition |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "documentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | a specific formula how the value for the attached field can be created/calculated; this is esp. for FHIR narratives |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "valueCalculation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | references, eg. names, the element on which the value depends |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "referenceElementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | how to use this obligation, eg. for specific debatable fields like gender etc. |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "usage" | |
![]() ![]() ![]() ![]() |
0..1 | UsageContext | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filter" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what the filter should achieve |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filterDocumentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..* | Extension | process ... |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "process" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(code) | Value of extension | |
![]() ![]() ![]() |
1..1 | uri | "http://v2.hl7.org/fhir/StructureDefinition/new-obligation" | |
![]() |
This structure is derived from Extension
Summary
Complex Extension: Modified Extension to handle the obligations as I would like to see it. Also allowing for my own codesystems - where necessary.
Differential View
This structure is derived from Extension
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Extension | New Obligation Extension | |
![]() ![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() ![]() |
S | 1..1 | Extension | Composite code describing the nature of the obligation |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "code" | |
![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Proposed Obligation Codes VS (complete) (required) | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "elementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | who is acting on behalf or for this obligation |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "actor" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(ActorDefinition) | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what is intended with this specific obligation instance - beyond the formal definition |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "documentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | a specific formula how the value for the attached field can be created/calculated; this is esp. for FHIR narratives |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "valueCalculation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | references, eg. names, the element on which the value depends |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "referenceElementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | how to use this obligation, eg. for specific debatable fields like gender etc. |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "usage" | |
![]() ![]() ![]() ![]() |
0..1 | UsageContext | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filter" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what the filter should achieve |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filterDocumentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..* | Extension | process ... |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "process" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(code) | Value of extension | |
![]() ![]() ![]() |
1..1 | uri | "http://v2.hl7.org/fhir/StructureDefinition/new-obligation" | |
![]() ![]() ![]() |
0..0 | |||
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
0..* | Extension | New Obligation Extension | |
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 1..1 | Extension | Composite code describing the nature of the obligation |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "code" | |
![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Proposed Obligation Codes VS (complete) (required) | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "elementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | who is acting on behalf or for this obligation |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "actor" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(ActorDefinition) | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what is intended with this specific obligation instance - beyond the formal definition |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "documentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | a specific formula how the value for the attached field can be created/calculated; this is esp. for FHIR narratives |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "valueCalculation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | references, eg. names, the element on which the value depends |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "referenceElementId" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | how to use this obligation, eg. for specific debatable fields like gender etc. |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "usage" | |
![]() ![]() ![]() ![]() |
0..1 | UsageContext | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | When the obligation is on the profile itself, not a particular element, a list of elements to which it applies |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filter" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..1 | Extension | an explanation of what the filter should achieve |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "filterDocumentation" | |
![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |
![]() ![]() ![]() |
S | 0..* | Extension | process ... |
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() |
1..1 | uri | "process" | |
![]() ![]() ![]() ![]() |
0..1 | canonical(code) | Value of extension | |
![]() ![]() ![]() |
1..1 | uri | "http://v2.hl7.org/fhir/StructureDefinition/new-obligation" | |
![]() |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet | URI |
Extension.extension:code.value[x] | required | ObligationProposedCodesVS (a valid code from Proposed Obligation Codes)http://v2.hl7.org/fhir/ValueSet/obligationProposed from this IG |
Id | Grade | Path(s) | Details | Requirements |
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() |