haau3 FHIR Implementation Guide (HFIG)
1.0.0 - ci-build
haau3 FHIR Implementation Guide (HFIG) - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft as of 2026-10-14 |
Definitions for the plan-benefits-source-release extension.
See the documentation on how to interpret the contents of this table
| 0. Extension | |
| Definition | The CMS release a Plan Benefits plan was read from: the release's name, and for each of CMS's files in it, the address CMS publishes it at, the date CMS last changed it and its SHA-256, so anyone can fetch the same file and check it. The SBC guide has no element for the source of a plan's data; haau3 publishes this extension until it does. Optional Extension Element - found in all resources. |
| Short | Plan Benefits Source ReleaseOptional Extensions Element |
| Control | 0..* This element is affected by the following invariants: ele-1 |
| Is Modifier | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists())ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 2. Extension.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | 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. |
| Control | 20..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 4. Extension.extension:release | |
| Slice Name | release |
| Definition | The release's name: the program (ma or aca), the plan year and the date CMS last changed its files, for example ma-2027-2026-10-01. One release per program is served at a time, and every plan in an answer names the release it came from. |
| Short | The release's name: program, plan year and CMS's dateAdditional content defined by implementations |
| Control | 10..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 6. Extension.extension:release.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | 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. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 8. Extension.extension:release.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | release |
| 10. Extension.extension:release.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | string, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) plan-benefits-1: A release's name is the program, the plan year and CMS's date: ma-2027-2026-10-01. ( matches('^(ma|aca)-[0-9]{4}-[0-9]{4}-[0-9]{2}-[0-9]{2}$')) |
| 12. Extension.extension:file | |
| Slice Name | file |
| Definition | One of CMS's files the release was read from: one for Medicare Advantage (the PBP Benefits zip), four for the Marketplace (plan attributes, benefits and cost sharing, network, service area). |
| Short | One of CMS's files in the releaseAdditional content defined by implementations |
| Control | 10..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 14. Extension.extension:file.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | 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. |
| Control | 30..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 16. Extension.extension:file.extension:downloadUrl | |
| Slice Name | downloadUrl |
| Definition | An Extension |
| Short | Where CMS publishes the fileAdditional content defined by implementations |
| Control | 10..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 18. Extension.extension:file.extension:downloadUrl.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | 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. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 20. Extension.extension:file.extension:downloadUrl.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | downloadUrl |
| 22. Extension.extension:file.extension:downloadUrl.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | uri, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 24. Extension.extension:file.extension:lastModified | |
| Slice Name | lastModified |
| Definition | The date of the file's Last-Modified header when haau3 fetched it from CMS. |
| Short | The date CMS last changed the fileAdditional content defined by implementations |
| Control | 10..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 26. Extension.extension:file.extension:lastModified.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | 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. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 28. Extension.extension:file.extension:lastModified.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | lastModified |
| 30. Extension.extension:file.extension:lastModified.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 32. Extension.extension:file.extension:sha256 | |
| Slice Name | sha256 |
| Definition | An Extension |
| Short | The file's SHA-256, in lowercase hexadecimalAdditional content defined by implementations |
| Control | 10..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 34. Extension.extension:file.extension:sha256.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | 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. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 36. Extension.extension:file.extension:sha256.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | sha256 |
| 38. Extension.extension:file.extension:sha256.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | string, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) plan-benefits-2: A SHA-256 is 64 lowercase hexadecimal characters. ( matches('^[0-9a-f]{64}$')) |
| 40. Extension.extension:file.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | file |
| 42. Extension.extension:file.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..01 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 44. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | https://haau3.com/fhir/StructureDefinition/plan-benefits-source-release |
| 46. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..01 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
See the documentation on how to interpret the contents of this table
| 0. Extension | |
| Definition | The CMS release a Plan Benefits plan was read from: the release's name, and for each of CMS's files in it, the address CMS publishes it at, the date CMS last changed it and its SHA-256, so anyone can fetch the same file and check it. The SBC guide has no element for the source of a plan's data; haau3 publishes this extension until it does. |
| Short | Plan Benefits Source Release |
| 2. Extension.extension | |
| Control | 2..? |
| 4. Extension.extension:release | |
| Slice Name | release |
| Definition | The release's name: the program (ma or aca), the plan year and the date CMS last changed its files, for example ma-2027-2026-10-01. One release per program is served at a time, and every plan in an answer names the release it came from. |
| Short | The release's name: program, plan year and CMS's date |
| Control | 1..1 |
| 6. Extension.extension:release.extension | |
| Control | 0..0 |
| 8. Extension.extension:release.url | |
| Fixed Value | release |
| 10. Extension.extension:release.value[x] | |
| Type | string |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Invariants | plan-benefits-1: A release's name is the program, the plan year and CMS's date: ma-2027-2026-10-01. (matches('^(ma|aca)-[0-9]{4}-[0-9]{4}-[0-9]{2}-[0-9]{2}$')) |
| 12. Extension.extension:file | |
| Slice Name | file |
| Definition | One of CMS's files the release was read from: one for Medicare Advantage (the PBP Benefits zip), four for the Marketplace (plan attributes, benefits and cost sharing, network, service area). |
| Short | One of CMS's files in the release |
| Control | 1..* |
| 14. Extension.extension:file.extension | |
| Control | 3..? |
| 16. Extension.extension:file.extension:downloadUrl | |
| Slice Name | downloadUrl |
| Short | Where CMS publishes the file |
| Control | 1..1 |
| 18. Extension.extension:file.extension:downloadUrl.extension | |
| Control | 0..0 |
| 20. Extension.extension:file.extension:downloadUrl.url | |
| Fixed Value | downloadUrl |
| 22. Extension.extension:file.extension:downloadUrl.value[x] | |
| Type | uri |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 24. Extension.extension:file.extension:lastModified | |
| Slice Name | lastModified |
| Definition | The date of the file's Last-Modified header when haau3 fetched it from CMS. |
| Short | The date CMS last changed the file |
| Control | 1..1 |
| 26. Extension.extension:file.extension:lastModified.extension | |
| Control | 0..0 |
| 28. Extension.extension:file.extension:lastModified.url | |
| Fixed Value | lastModified |
| 30. Extension.extension:file.extension:lastModified.value[x] | |
| Type | date |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 32. Extension.extension:file.extension:sha256 | |
| Slice Name | sha256 |
| Short | The file's SHA-256, in lowercase hexadecimal |
| Control | 1..1 |
| 34. Extension.extension:file.extension:sha256.extension | |
| Control | 0..0 |
| 36. Extension.extension:file.extension:sha256.url | |
| Fixed Value | sha256 |
| 38. Extension.extension:file.extension:sha256.value[x] | |
| Type | string |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Invariants | plan-benefits-2: A SHA-256 is 64 lowercase hexadecimal characters. (matches('^[0-9a-f]{64}$')) |
| 40. Extension.extension:file.url | |
| Fixed Value | file |
| 42. Extension.extension:file.value[x] | |
| Control | 0..0 |
| 44. Extension.url | |
| Fixed Value | https://haau3.com/fhir/StructureDefinition/plan-benefits-source-release |
| 46. Extension.value[x] | |
| Control | 0..0 |
See the documentation on how to interpret the contents of this table
| 0. Extension | |
| Definition | The CMS release a Plan Benefits plan was read from: the release's name, and for each of CMS's files in it, the address CMS publishes it at, the date CMS last changed it and its SHA-256, so anyone can fetch the same file and check it. The SBC guide has no element for the source of a plan's data; haau3 publishes this extension until it does. |
| Short | Plan Benefits Source Release |
| Control | 0..* This element is affected by the following invariants: ele-1 |
| Is Modifier | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 2. Extension.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 4. Extension.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 2..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 6. Extension.extension:release | |
| Slice Name | release |
| Definition | The release's name: the program (ma or aca), the plan year and the date CMS last changed its files, for example ma-2027-2026-10-01. One release per program is served at a time, and every plan in an answer names the release it came from. |
| Short | The release's name: program, plan year and CMS's date |
| Control | 1..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 8. Extension.extension:release.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 10. Extension.extension:release.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 12. Extension.extension:release.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | release |
| 14. Extension.extension:release.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | string |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))plan-benefits-1: A release's name is the program, the plan year and CMS's date: ma-2027-2026-10-01. ( matches('^(ma|aca)-[0-9]{4}-[0-9]{4}-[0-9]{2}-[0-9]{2}$')) |
| 16. Extension.extension:file | |
| Slice Name | file |
| Definition | One of CMS's files the release was read from: one for Medicare Advantage (the PBP Benefits zip), four for the Marketplace (plan attributes, benefits and cost sharing, network, service area). |
| Short | One of CMS's files in the release |
| Control | 1..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 18. Extension.extension:file.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 20. Extension.extension:file.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 3..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 22. Extension.extension:file.extension:downloadUrl | |
| Slice Name | downloadUrl |
| Definition | An Extension |
| Short | Where CMS publishes the file |
| Control | 1..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 24. Extension.extension:file.extension:downloadUrl.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 26. Extension.extension:file.extension:downloadUrl.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 28. Extension.extension:file.extension:downloadUrl.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | downloadUrl |
| 30. Extension.extension:file.extension:downloadUrl.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | uri |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 32. Extension.extension:file.extension:lastModified | |
| Slice Name | lastModified |
| Definition | The date of the file's Last-Modified header when haau3 fetched it from CMS. |
| Short | The date CMS last changed the file |
| Control | 1..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 34. Extension.extension:file.extension:lastModified.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 36. Extension.extension:file.extension:lastModified.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 38. Extension.extension:file.extension:lastModified.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | lastModified |
| 40. Extension.extension:file.extension:lastModified.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | date |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 42. Extension.extension:file.extension:sha256 | |
| Slice Name | sha256 |
| Definition | An Extension |
| Short | The file's SHA-256, in lowercase hexadecimal |
| Control | 1..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 44. Extension.extension:file.extension:sha256.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 46. Extension.extension:file.extension:sha256.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them |
| 48. Extension.extension:file.extension:sha256.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | sha256 |
| 50. Extension.extension:file.extension:sha256.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..1 |
| Type | string |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))plan-benefits-2: A SHA-256 is 64 lowercase hexadecimal characters. ( matches('^[0-9a-f]{64}$')) |
| 52. Extension.extension:file.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | file |
| 54. Extension.extension:file.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..0 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 56. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | 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. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | https://haau3.com/fhir/StructureDefinition/plan-benefits-source-release |
| 58. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..0 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |