{ "description": "When appearing on an element, documents obligations that apply to applications implementing that element. When appearing at the root of a StructureDefinition, indicates obligations that apply to all listed elements within the extension. When appearing on a type, indicates obligations that apply to the use of that specific type. The obligations relate to application behaviour, not the content of the element itself in the resource instances that contain this element. See the [Obligation](obligations.html) page in the core specification for further detail.", "_filename": "StructureDefinition-obligation.json", "package_name": "hl7.fhir.uv.extensions.r3", "date": "2025-08-01T13:17:55+10:00", "derivation": "constraint", "publisher": "HL7 International / FHIR Infrastructure", "fhirVersion": "3.0.2", "jurisdiction": [ { "coding": [ { "code": "001", "system": "http://unstats.un.org/unsd/methods/m49/m49.htm" } ] } ], "name": "Obligation", "mapping": [ { "uri": "http://hl7.org/v3", "name": "RIM Mapping", "identity": "rim" } ], "abstract": false, "type": "Extension", "experimental": "false", "resourceType": "StructureDefinition", "title": "Obligation Extension", "package_version": "5.3.0-ballot", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", "valueCode": "fhir" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", "valueInteger": 1 }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", "valueCode": "draft" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics", "valueCode": "can-bind" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status-reason", "valueCode": "Extensions that have been modified for R3 are still draft while real-world experience is collected" } ], "snapshot": { "element": [ { "constraint": [ { "key": "ele-1", "human": "All FHIR elements must have a @value or children", "xpath": "@value|f:*|h:div", "source": "http://hl7.org/fhir/StructureDefinition/Element", "severity": "error", "expression": "hasValue() | (children().count() > id.count())" }, { "key": "ext-1", "human": "Must have either extensions or value[x], not both", "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])", "source": "http://hl7.org/fhir/StructureDefinition/Extension", "severity": "error", "expression": "extension.exists() != value.exists()" } ], "path": "Extension", "min": 0, "definition": "When appearing on an element, documents obligations that apply to applications implementing that element. When appearing at the root of a StructureDefinition, indicates obligations that apply to all listed elements within the extension. When appearing on a type, indicates obligations that apply to the use of that specific type. The obligations relate to application behaviour, not the content of the element itself in the resource instances that contain this element. See [Obligation Extension](obligations.html) for further detail.", "short": "Obligations for applications using element/in model", "max": "*", "id": "Extension", "condition": [ "ele-1" ], "base": { "max": "*", "min": 0, "path": "Extension" } }, { "path": "Extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension", "min": 1, "definition": "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", "short": "Additional Content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Extension.extension", "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension", "requirements": "Used for rendering collection sets, as well as when deriving profiles to distinguish whether a new obligation set is being defined or an existing one is being updated.", "min": 0, "definition": "A short label for the set of obligations that is unique within the element defining the obligation set that can be used to point to that set.", "short": "Short label for collection of obligations", "type": [ { "code": "Extension" } ], "sliceName": "name", "max": "1", "id": "Extension.extension:name", "comment": "In a derived profile, if no name is present or the name doesn't correspond to an obligation name found on that element in the base profile, the obligations will be considered additions to rather than replacements of the existing obligations", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:name.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:name.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "name", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:name.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "string" } ], "max": "1", "id": "Extension.extension:name.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 1, "definition": "A code that describes the obligation(s) that apply to implementing applications.", "short": "Composite code describing the nature of the obligation", "type": [ { "code": "Extension" } ], "sliceName": "code", "max": "*", "id": "Extension.extension:code", "comment": "The code must be a 'selectable' code. If multiple codes are specified, all obligations apply to the associated element(s). When multiple codes are selected, they SHOULD NOT include (directly or by inheritance) a code that is a converse obligation and SHALL NOT include codes that are converses where the strength of both codes is SHALL.", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:code.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:code.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "code", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:code.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "code" } ], "binding": { "strength": "required", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObligationCodes" } ], "description": "Codes that describe an obligation that applies to implementing applications", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/obligation" } }, "max": "1", "id": "Extension.extension:code.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "An Extension", "short": "When the obligation is on the profile itself, not a particular element, a list of elements to which it applies", "type": [ { "code": "Extension" } ], "sliceName": "elementId", "max": "*", "id": "Extension.extension:elementId", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:elementId.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:elementId.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "elementId", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:elementId.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "string" } ], "max": "1", "id": "Extension.extension:elementId.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "Actor(s) to which the obligation applies.", "short": "Actor(s) this obligation applies to (all actors if none)", "type": [ { "code": "Extension" } ], "sliceName": "actor", "max": "*", "id": "Extension.extension:actor", "comment": "If no actors are specified, then the obligation applies to all implementations. (This should be done with caution as it may limit reuseability of the profile.)", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:actor.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:actor.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "actor", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:actor.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "max": "1", "id": "Extension.extension:actor.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "Human readable documentation of the purpose or application of the obligation.", "short": "Documentation of the purpose or application of the obligation", "type": [ { "code": "Extension" } ], "sliceName": "documentation", "max": "1", "id": "Extension.extension:documentation", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:documentation.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:documentation.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "documentation", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:documentation.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "markdown" } ], "max": "1", "id": "Extension.extension:documentation.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "Qualifies the usage of the obligation. Typically obligations are qualified by jurisdiction, but they may also be qualified by gender, workflow status, clinical domain etc. The information to decide whether a usege context applies is usually outside the resource, determined by context, and this might present challenges for validation tooling. An expected use: limiting obligations to particular jurisdictions (e.g. in IPS).", "short": "Qualifies the usage - jurisdiction, gender, workflow status etc", "type": [ { "code": "Extension" } ], "sliceName": "usage", "max": "*", "id": "Extension.extension:usage", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "ordered": false, "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "*", "id": "Extension.extension:usage.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.extension", "min": 1, "definition": "DataType name 'UsageContext' from R5", "short": "DataType name 'UsageContext' from R5", "type": [ { "code": "Extension", "profile": "http://hl7.org/fhir/StructureDefinition/_datatype" } ], "sliceName": "_datatype", "max": "1", "id": "Extension.extension:usage.extension:_datatype", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.extension:_datatype.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:usage.extension:_datatype.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "http://hl7.org/fhir/StructureDefinition/_datatype", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.extension:_datatype.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "string" } ], "max": "1", "fixedString": "UsageContext", "id": "Extension.extension:usage.extension:_datatype.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension.extension", "min": 1, "definition": "A code that identifies the type of context being specified by this usage context.", "short": "Type of context being specified", "type": [ { "code": "Extension" } ], "sliceName": "code", "max": "1", "id": "Extension.extension:usage.extension:code", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.extension:code.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:usage.extension:code.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "code", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.extension:code.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Coding" } ], "binding": { "strength": "extensible", "extension": [ { "url": "http://hl7.org/fhir/tools/StructureDefinition/binding-definition", "valueMarkdown": "A code that specifies a type of context being specified by a usage context." }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "UsageContextType" } ], "description": "A code that specifies a type of context being specified by a usage context.", "valueSetReference": { "reference": "http://terminology.hl7.org/ValueSet/usage-context-type" } }, "max": "1", "id": "Extension.extension:usage.extension:code.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension.extension", "min": 1, "definition": "A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.", "short": "Value that defines the context", "type": [ { "code": "Extension" } ], "sliceName": "value[x]", "max": "1", "id": "Extension.extension:usage.extension:value[x]", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.extension:value[x].id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:usage.extension:value[x].extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "value[x]", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.extension:value[x].url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "CodeableConcept" }, { "code": "Quantity" }, { "code": "Range" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/InsurancePlan" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization" } ], "binding": { "strength": "example", "extension": [ { "url": "http://hl7.org/fhir/tools/StructureDefinition/binding-definition", "valueMarkdown": "A code that defines the specific value for the context being specified." }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "UsageContextValue" }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", "valueBoolean": true } ], "description": "A code that defines the specific value for the context being specified.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/use-context" } }, "max": "1", "id": "Extension.extension:usage.extension:value[x].value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "usage", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:usage.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 0, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "base64Binary" }, { "code": "boolean" }, { "code": "code" }, { "code": "date" }, { "code": "dateTime" }, { "code": "decimal" }, { "code": "id" }, { "code": "instant" }, { "code": "integer" }, { "code": "markdown" }, { "code": "oid" }, { "code": "positiveInt" }, { "code": "string" }, { "code": "time" }, { "code": "unsignedInt" }, { "code": "uri" }, { "code": "Address" }, { "code": "Age" }, { "code": "Annotation" }, { "code": "Attachment" }, { "code": "CodeableConcept" }, { "code": "Coding" }, { "code": "ContactPoint" }, { "code": "Count" }, { "code": "Distance" }, { "code": "Duration" }, { "code": "HumanName" }, { "code": "Identifier" }, { "code": "Money" }, { "code": "Period" }, { "code": "Quantity" }, { "code": "Range" }, { "code": "Ratio" }, { "code": "Reference" }, { "code": "SampledData" }, { "code": "Signature" }, { "code": "Timing" }, { "code": "Meta" } ], "max": "0", "id": "Extension.extension:usage.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "A FHIRPath expression that restricts to the obligation to only those occurrences of the element that fall into the collection defined by the expression.", "short": "Limits obligation to some repeats by FHIRPath", "type": [ { "code": "Extension" } ], "sliceName": "filter", "max": "1", "id": "Extension.extension:filter", "comment": "For example, this might be used to indicate obligations that apply to home phone numbers and not to other contact points.", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:filter.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:filter.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "filter", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:filter.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "string" } ], "max": "1", "id": "Extension.extension:filter.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "Documents the FHIRPath expression for the benefit of users who are not familiar with FHIRPath.", "short": "Describes the intent of the filter (short)", "type": [ { "code": "Extension" } ], "sliceName": "filterDocumentation", "max": "1", "id": "Extension.extension:filterDocumentation", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:filterDocumentation.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:filterDocumentation.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "filterDocumentation", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:filterDocumentation.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "string" } ], "max": "1", "id": "Extension.extension:filterDocumentation.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "If present, limits the obligation to the specified number of repetitions. I.e. systems are not obligated to store/display/capture/whatever ALL possible repetitions of the element, but only the specified number. If more repetitions exist than the specified number and the system opts not to support them all, it's up to the systems which repetitions it chooses to support. Note that the applicable-number applies after any reduction in elements from applying the Obligation.filter", "short": "# of repetitions obligation applies to", "type": [ { "code": "Extension" } ], "sliceName": "applicable-number", "max": "1", "id": "Extension.extension:applicable-number", "comment": "If this element is declared on a slicing element, the applicable-number applies across all slices, not to each individual slice. If this element is present on an obligation declared on a specific slice, then the applicable number applies for that particular slice.", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:applicable-number.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:applicable-number.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "applicable-number", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:applicable-number.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "positiveInt" } ], "max": "1", "id": "Extension.extension:applicable-number.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.extension", "min": 0, "definition": "A process that the obligation applies to. This might a canonical URL for an OperationDefinition, or a uri that refers to some externally defined process such as a section within an IG.", "short": "The obligation only applies when performing the indicated process", "type": [ { "code": "Extension" } ], "sliceName": "process", "max": "*", "id": "Extension.extension:process", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.id", "min": 0, "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", "short": "xml:id (or equivalent in JSON)", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "string" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:process.id", "base": { "max": "1", "min": 0, "path": "Element.id" } }, { "path": "Extension.extension.extension", "min": 0, "definition": "An Extension", "short": "Extension", "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "max": "0", "id": "Extension.extension:process.extension", "base": { "max": "*", "min": 0, "path": "Element.extension" } }, { "path": "Extension.extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "process", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.extension:process.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.extension.value[x]", "min": 1, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" }, { "code": "uri" } ], "max": "1", "id": "Extension.extension:process.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } }, { "path": "Extension.url", "min": 1, "definition": "Source of the definition for the extension code - a logical name or a URL.", "short": "identifies the meaning of the extension", "fixedUri": "http://hl7.org/fhir/StructureDefinition/obligation", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "uri" } ], "representation": [ "xmlAttr" ], "max": "1", "id": "Extension.url", "comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.", "base": { "max": "1", "min": 1, "path": "Extension.url" } }, { "path": "Extension.value[x]", "min": 0, "definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).", "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "base64Binary" }, { "code": "boolean" }, { "code": "code" }, { "code": "date" }, { "code": "dateTime" }, { "code": "decimal" }, { "code": "id" }, { "code": "instant" }, { "code": "integer" }, { "code": "markdown" }, { "code": "oid" }, { "code": "positiveInt" }, { "code": "string" }, { "code": "time" }, { "code": "unsignedInt" }, { "code": "uri" }, { "code": "Address" }, { "code": "Age" }, { "code": "Annotation" }, { "code": "Attachment" }, { "code": "CodeableConcept" }, { "code": "Coding" }, { "code": "ContactPoint" }, { "code": "Count" }, { "code": "Distance" }, { "code": "Duration" }, { "code": "HumanName" }, { "code": "Identifier" }, { "code": "Money" }, { "code": "Period" }, { "code": "Quantity" }, { "code": "Range" }, { "code": "Ratio" }, { "code": "Reference" }, { "code": "SampledData" }, { "code": "Signature" }, { "code": "Timing" }, { "code": "Meta" } ], "max": "0", "id": "Extension.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" } } ] }, "status": "active", "id": "6fab1a83-b19f-4f2c-9c10-d3d366ff6267", "kind": "complex-type", "url": "http://hl7.org/fhir/StructureDefinition/obligation", "identifier": [ { "value": "urn:oid:2.16.840.1.113883.4.642.5.1531", "system": "urn:ietf:rfc:3986" } ], "context": [ "ElementDefinition", "StructureDefinition", "ElementDefinition.type" ], "version": "5.3.0-ballot", "differential": { "element": [ { "id": "Extension", "max": "*", "min": 0, "path": "Extension", "short": "Obligations for applications using element/in model", "definition": "When appearing on an element, documents obligations that apply to applications implementing that element. When appearing at the root of a StructureDefinition, indicates obligations that apply to all listed elements within the extension. When appearing on a type, indicates obligations that apply to the use of that specific type. The obligations relate to application behaviour, not the content of the element itself in the resource instances that contain this element. See [Obligation Extension](obligations.html) for further detail." }, { "path": "Extension.extension", "requirements": "Used for rendering collection sets, as well as when deriving profiles to distinguish whether a new obligation set is being defined or an existing one is being updated.", "min": 0, "definition": "A short label for the set of obligations that is unique within the element defining the obligation set that can be used to point to that set.", "short": "Short label for collection of obligations", "sliceName": "name", "max": "1", "id": "Extension.extension:name", "comment": "In a derived profile, if no name is present or the name doesn't correspond to an obligation name found on that element in the base profile, the obligations will be considered additions to rather than replacements of the existing obligations" }, { "id": "Extension.extension:name.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:name.url", "path": "Extension.extension.url", "fixedUri": "name" }, { "id": "Extension.extension:name.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "string" } ] }, { "id": "Extension.extension:code", "max": "*", "min": 1, "path": "Extension.extension", "short": "Composite code describing the nature of the obligation", "comment": "The code must be a 'selectable' code. If multiple codes are specified, all obligations apply to the associated element(s). When multiple codes are selected, they SHOULD NOT include (directly or by inheritance) a code that is a converse obligation and SHALL NOT include codes that are converses where the strength of both codes is SHALL.", "sliceName": "code", "definition": "A code that describes the obligation(s) that apply to implementing applications." }, { "id": "Extension.extension:code.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:code.url", "path": "Extension.extension.url", "fixedUri": "code" }, { "id": "Extension.extension:code.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "code" } ], "binding": { "strength": "required", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ObligationCodes" } ], "description": "Codes that describe an obligation that applies to implementing applications", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/obligation" } } }, { "id": "Extension.extension:elementId", "max": "*", "min": 0, "path": "Extension.extension", "type": [ { "code": "Extension" } ], "short": "When the obligation is on the profile itself, not a particular element, a list of elements to which it applies", "sliceName": "elementId" }, { "id": "Extension.extension:elementId.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:elementId.url", "path": "Extension.extension.url", "fixedUri": "elementId" }, { "id": "Extension.extension:elementId.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "string" } ] }, { "id": "Extension.extension:actor", "max": "*", "min": 0, "path": "Extension.extension", "short": "Actor(s) this obligation applies to (all actors if none)", "comment": "If no actors are specified, then the obligation applies to all implementations. (This should be done with caution as it may limit reuseability of the profile.)", "sliceName": "actor", "definition": "Actor(s) to which the obligation applies." }, { "id": "Extension.extension:actor.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:actor.url", "path": "Extension.extension.url", "fixedUri": "actor" }, { "id": "Extension.extension:actor.value[x]", "max": "1", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "uri" } ] }, { "id": "Extension.extension:documentation", "max": "1", "min": 0, "path": "Extension.extension", "short": "Documentation of the purpose or application of the obligation", "sliceName": "documentation", "definition": "Human readable documentation of the purpose or application of the obligation." }, { "id": "Extension.extension:documentation.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:documentation.url", "path": "Extension.extension.url", "type": [ { "code": "uri" } ], "fixedUri": "documentation" }, { "id": "Extension.extension:documentation.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "markdown" } ] }, { "id": "Extension.extension:usage", "max": "*", "min": 0, "path": "Extension.extension", "short": "Qualifies the usage - jurisdiction, gender, workflow status etc", "sliceName": "usage", "definition": "Qualifies the usage of the obligation. Typically obligations are qualified by jurisdiction, but they may also be qualified by gender, workflow status, clinical domain etc. The information to decide whether a usege context applies is usually outside the resource, determined by context, and this might present challenges for validation tooling. An expected use: limiting obligations to particular jurisdictions (e.g. in IPS)." }, { "id": "Extension.extension:usage.extension", "max": "*", "path": "Extension.extension.extension", "slicing": { "rules": "open", "ordered": false, "discriminator": [ { "path": "url", "type": "value" } ] } }, { "id": "Extension.extension:usage.extension:_datatype", "max": "1", "min": 1, "path": "Extension.extension.extension", "type": [ { "code": "Extension", "profile": "http://hl7.org/fhir/StructureDefinition/_datatype" } ], "short": "DataType name 'UsageContext' from R5", "sliceName": "_datatype", "definition": "DataType name 'UsageContext' from R5" }, { "id": "Extension.extension:usage.extension:_datatype.value[x]", "min": 1, "path": "Extension.extension.extension.value[x]", "type": [ { "code": "string" } ], "fixedString": "UsageContext" }, { "id": "Extension.extension:usage.extension:code", "max": "1", "min": 1, "path": "Extension.extension.extension", "short": "Type of context being specified", "sliceName": "code", "definition": "A code that identifies the type of context being specified by this usage context." }, { "id": "Extension.extension:usage.extension:code.extension", "max": "0", "path": "Extension.extension.extension.extension" }, { "id": "Extension.extension:usage.extension:code.url", "path": "Extension.extension.extension.url", "fixedUri": "code" }, { "id": "Extension.extension:usage.extension:code.value[x]", "min": 1, "path": "Extension.extension.extension.value[x]", "type": [ { "code": "Coding" } ], "binding": { "strength": "extensible", "extension": [ { "url": "http://hl7.org/fhir/tools/StructureDefinition/binding-definition", "valueMarkdown": "A code that specifies a type of context being specified by a usage context." }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "UsageContextType" } ], "description": "A code that specifies a type of context being specified by a usage context.", "valueSetReference": { "reference": "http://terminology.hl7.org/ValueSet/usage-context-type" } } }, { "id": "Extension.extension:usage.extension:value[x]", "max": "1", "min": 1, "path": "Extension.extension.extension", "short": "Value that defines the context", "sliceName": "value[x]", "definition": "A value that defines the context specified in this context of use. The interpretation of the value is defined by the code." }, { "id": "Extension.extension:usage.extension:value[x].extension", "max": "0", "path": "Extension.extension.extension.extension" }, { "id": "Extension.extension:usage.extension:value[x].url", "path": "Extension.extension.extension.url", "fixedUri": "value[x]" }, { "id": "Extension.extension:usage.extension:value[x].value[x]", "min": 1, "path": "Extension.extension.extension.value[x]", "type": [ { "code": "CodeableConcept" }, { "code": "Quantity" }, { "code": "Range" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/InsurancePlan" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location" }, { "code": "Reference", "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization" } ], "binding": { "strength": "example", "extension": [ { "url": "http://hl7.org/fhir/tools/StructureDefinition/binding-definition", "valueMarkdown": "A code that defines the specific value for the context being specified." }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "UsageContextValue" }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding", "valueBoolean": true } ], "description": "A code that defines the specific value for the context being specified.", "valueSetReference": { "reference": "http://hl7.org/fhir/ValueSet/use-context" } } }, { "id": "Extension.extension:usage.url", "path": "Extension.extension.url", "fixedUri": "usage" }, { "id": "Extension.extension:usage.value[x]", "max": "0", "min": 0, "path": "Extension.extension.value[x]" }, { "id": "Extension.extension:filter", "max": "1", "min": 0, "path": "Extension.extension", "short": "Limits obligation to some repeats by FHIRPath", "comment": "For example, this might be used to indicate obligations that apply to home phone numbers and not to other contact points.", "sliceName": "filter", "definition": "A FHIRPath expression that restricts to the obligation to only those occurrences of the element that fall into the collection defined by the expression." }, { "id": "Extension.extension:filter.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:filter.url", "path": "Extension.extension.url", "fixedUri": "filter" }, { "id": "Extension.extension:filter.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "string" } ] }, { "id": "Extension.extension:filterDocumentation", "max": "1", "min": 0, "path": "Extension.extension", "short": "Describes the intent of the filter (short)", "sliceName": "filterDocumentation", "definition": "Documents the FHIRPath expression for the benefit of users who are not familiar with FHIRPath." }, { "id": "Extension.extension:filterDocumentation.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:filterDocumentation.url", "path": "Extension.extension.url", "fixedUri": "filterDocumentation" }, { "id": "Extension.extension:filterDocumentation.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "string" } ] }, { "path": "Extension.extension", "min": 0, "definition": "If present, limits the obligation to the specified number of repetitions. I.e. systems are not obligated to store/display/capture/whatever ALL possible repetitions of the element, but only the specified number. If more repetitions exist than the specified number and the system opts not to support them all, it's up to the systems which repetitions it chooses to support. Note that the applicable-number applies after any reduction in elements from applying the Obligation.filter", "short": "# of repetitions obligation applies to", "sliceName": "applicable-number", "meaningWhenMissing": "If not specified, the implication is that the obligation applies to all repetitions", "max": "1", "id": "Extension.extension:applicable-number", "comment": "If this element is declared on a slicing element, the applicable-number applies across all slices, not to each individual slice. If this element is present on an obligation declared on a specific slice, then the applicable number applies for that particular slice." }, { "id": "Extension.extension:applicable-number.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:applicable-number.url", "path": "Extension.extension.url", "fixedUri": "applicable-number" }, { "id": "Extension.extension:applicable-number.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "positiveInt" } ] }, { "id": "Extension.extension:process", "max": "*", "min": 0, "path": "Extension.extension", "short": "The obligation only applies when performing the indicated process", "sliceName": "process", "definition": "A process that the obligation applies to. This might a canonical URL for an OperationDefinition, or a uri that refers to some externally defined process such as a section within an IG." }, { "id": "Extension.extension:process.extension", "max": "0", "path": "Extension.extension.extension" }, { "id": "Extension.extension:process.url", "path": "Extension.extension.url", "fixedUri": "process" }, { "id": "Extension.extension:process.value[x]", "min": 1, "path": "Extension.extension.value[x]", "type": [ { "code": "uri" }, { "code": "uri" } ] }, { "id": "Extension.url", "path": "Extension.url", "fixedUri": "http://hl7.org/fhir/StructureDefinition/obligation" }, { "id": "Extension.value[x]", "max": "0", "min": 0, "path": "Extension.value[x]" } ] }, "contact": [ { "telecom": [ { "value": "http://www.hl7.org/Special/committees/fiwg", "system": "url" } ] } ], "contextType": "datatype", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension" }