HRSA 2023 Uniform Data System (UDS) Patient Level Submission (PLS) (UDS+) FHIR IG
1.0.1 - STU1 Release 1 - Standard for Trial-Use International flag

This page is part of the HRSA Uniform Data System (UDS) Patient Level Submission (PLS) (UDS+ or uds-plus) FHIR IG (v1.0.1: STU1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: DeIdentified UDS Plus Coverage

Official URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-coverage Version: 1.0.1
Standards status: Trial-use Maturity Level: 2 Computable Name: DeIdentifiedUDSPlusCoverage

The UDS+ profile establishes the core elements, extensions, vocabularies and value sets for representing Coverage for UDS+ program.

Introduction

This profile is used to represent de-identified Coverage information. The de-identification process has to remove all data elements not explicitly identified as “SUPPORTED” in the profile.

The HHS De-identification Guidance is to be followed to ensure appropriate level of de-identification is performed.

According to the HHS guidance, dates should not have a precision of more than the year. This means month and day cannot be included. This includes Coverage.period.

In FHIR Resources, text elements and reference.display elements which provide human readable information to the providers may be generated using programs and tools from the data present within the resource. For e.g a Coverage resource text element may contain information such as the Coverage date, beneficiary information. This type of information will enable identification of the individuals. In order to avoid inadvertent revealing of PII/PHI, text elements cannot be included in the De-identified FHIR resource and the submission will be rejected when text elements are present by the validation process.

Ids and References

The original Coverage resource id should not be included in the De-identified Coverage instance. Instead a new id should be created and provided as part of the FHIR resource. The Data Submitter should be capable of using the generated id to relink the data to the original Coverage. All resource references to the Coverage submitted as part of the UDS+ report should refer to newly generated id.

Resource references cannot contain text element as it may contain PHI/PII. The text element for following references are not allowed

  • beneficiary
  • Payor

Date Truncation

The Data Submitter has to truncate the following dates to only have a precision of year

  • period

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Coverage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageUDS Plus Coverage
... id S0..1idThe de-identified Coverage identifier created by the health center to send data to HRSA.
... text 0..0
... contained 0..0
... feeForServiceMemberMonths S0..1QuantityIndicates the FeeForService member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-feeforservice-member-months-extension
... status S1..1codeactive | cancelled | draft | entered-in-error
Fixed Value: active
... type S1..1CodeableConceptCoverage category such as medical or accident
Binding: Uds Plus Insurance Codes (extensible): The set of codes to be used for UDS+ reporting.

.... text 0..0
... beneficiary S1..1Reference(De-Identified UDS Plus Patient)Plan beneficiary
.... display 0..0
... period S0..1PeriodCoverage start and end dates
... payor S1..*Reference(De-Identified UDS Plus Patient | US Core Organization Profile | De-Identified UDS Plus RelatedPerson)Issuer of the policy
.... display 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Coverage.typeextensibleUdsPlusInsuranceCodes (a valid code from UDS Plus Insurance Codes)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageUDS Plus Coverage
... id SΣ0..1idThe de-identified Coverage identifier created by the health center to send data to HRSA.
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... capitatedMemberMonths S0..1QuantityIndicates the capitated member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-capitated-member-months-extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


Fixed Value: active
... type SΣ1..1CodeableConceptCoverage category such as medical or accident
Binding: Uds Plus Insurance Codes (extensible): The set of codes to be used for UDS+ reporting.

... beneficiary SΣ1..1Reference(De-Identified UDS Plus Patient)Plan beneficiary
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..*Reference(De-Identified UDS Plus Patient | US Core Organization Profile | De-Identified UDS Plus RelatedPerson)Issuer of the policy

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.statusrequiredFixed Value: active
Coverage.typeextensibleUdsPlusInsuranceCodes (a valid code from UDS Plus Insurance Codes)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageUDS Plus Coverage
... id SΣ0..1idThe de-identified Coverage identifier created by the health center to send data to HRSA.
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... capitatedMemberMonths S0..1QuantityIndicates the capitated member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-capitated-member-months-extension
... feeForServiceMemberMonths S0..1QuantityIndicates the FeeForService member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-feeforservice-member-months-extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for the coverage
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


Fixed Value: active
... type SΣ1..1CodeableConceptCoverage category such as medical or accident
Binding: Uds Plus Insurance Codes (extensible): The set of codes to be used for UDS+ reporting.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
... policyHolder Σ0..1Reference(Patient | RelatedPerson | Organization)Owner of the policy
... subscriber Σ0..1Reference(Patient | RelatedPerson)Subscriber to the policy
... subscriberId Σ0..1stringID assigned to the subscriber
... beneficiary SΣ1..1Reference(De-Identified UDS Plus Patient)Plan beneficiary
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
... dependent Σ0..1stringDependent number
... relationship 0..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible): The relationship between the Subscriber and the Beneficiary (insured/covered party/patient).

... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..*Reference(De-Identified UDS Plus Patient | US Core Organization Profile | De-Identified UDS Plus RelatedPerson)Issuer of the policy
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
... class 0..*BackboneElementAdditional coverage classifications
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.

.... value Σ1..1stringValue associated with the type
.... name Σ0..1stringHuman readable description of the type and value
... order Σ0..1positiveIntRelative order of the coverage
... network Σ0..1stringInsurer network
... costToBeneficiary 0..*BackboneElementPatient payments for services/products
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ0..1CodeableConceptCost category
Binding: CoverageCopayTypeCodes (extensible): The types of services to which patient copayments are specified.

.... value[x] Σ1..1The amount or percentage due from the beneficiary
..... valueQuantityQuantity(SimpleQuantity)
..... valueMoneyMoney
.... exception 0..*BackboneElementExceptions for patient payments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptException category
Binding: ExampleCoverageFinancialExceptionCodes (example): The types of exceptions from the part or full value of financial obligations such as copays.

..... period Σ0..1PeriodThe effective period of the exception
... subrogation 0..1booleanReimbursement to insurer
... contract 0..*Reference(Contract)Contract details

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Coverage.statusrequiredFixed Value: active
Coverage.typeextensibleUdsPlusInsuranceCodes (a valid code from UDS Plus Insurance Codes)
Coverage.beneficiary.typeextensibleResourceType
Coverage.relationshipextensibleSubscriberRelationshipCodes
Coverage.payor.typeextensibleResourceType
Coverage.class.typeextensibleCoverageClassCodes
Coverage.costToBeneficiary.typeextensibleCoverageCopayTypeCodes
Coverage.costToBeneficiary.exception.typeexampleExampleCoverageFinancialExceptionCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Coverage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageUDS Plus Coverage
... id S0..1idThe de-identified Coverage identifier created by the health center to send data to HRSA.
... text 0..0
... contained 0..0
... feeForServiceMemberMonths S0..1QuantityIndicates the FeeForService member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-feeforservice-member-months-extension
... status S1..1codeactive | cancelled | draft | entered-in-error
Fixed Value: active
... type S1..1CodeableConceptCoverage category such as medical or accident
Binding: Uds Plus Insurance Codes (extensible): The set of codes to be used for UDS+ reporting.

.... text 0..0
... beneficiary S1..1Reference(De-Identified UDS Plus Patient)Plan beneficiary
.... display 0..0
... period S0..1PeriodCoverage start and end dates
... payor S1..*Reference(De-Identified UDS Plus Patient | US Core Organization Profile | De-Identified UDS Plus RelatedPerson)Issuer of the policy
.... display 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Coverage.typeextensibleUdsPlusInsuranceCodes (a valid code from UDS Plus Insurance Codes)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageUDS Plus Coverage
... id SΣ0..1idThe de-identified Coverage identifier created by the health center to send data to HRSA.
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... capitatedMemberMonths S0..1QuantityIndicates the capitated member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-capitated-member-months-extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


Fixed Value: active
... type SΣ1..1CodeableConceptCoverage category such as medical or accident
Binding: Uds Plus Insurance Codes (extensible): The set of codes to be used for UDS+ reporting.

... beneficiary SΣ1..1Reference(De-Identified UDS Plus Patient)Plan beneficiary
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..*Reference(De-Identified UDS Plus Patient | US Core Organization Profile | De-Identified UDS Plus RelatedPerson)Issuer of the policy

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.statusrequiredFixed Value: active
Coverage.typeextensibleUdsPlusInsuranceCodes (a valid code from UDS Plus Insurance Codes)

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageUDS Plus Coverage
... id SΣ0..1idThe de-identified Coverage identifier created by the health center to send data to HRSA.
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... capitatedMemberMonths S0..1QuantityIndicates the capitated member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-capitated-member-months-extension
... feeForServiceMemberMonths S0..1QuantityIndicates the FeeForService member months of the Patient.
URL: http://fhir.org/guides/hrsa/uds-plus/StructureDefinition/uds-plus-feeforservice-member-months-extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness Identifier for the coverage
... status ?!SΣ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


Fixed Value: active
... type SΣ1..1CodeableConceptCoverage category such as medical or accident
Binding: Uds Plus Insurance Codes (extensible): The set of codes to be used for UDS+ reporting.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ0..*CodingCode defined by a terminology system
... policyHolder Σ0..1Reference(Patient | RelatedPerson | Organization)Owner of the policy
... subscriber Σ0..1Reference(Patient | RelatedPerson)Subscriber to the policy
... subscriberId Σ0..1stringID assigned to the subscriber
... beneficiary SΣ1..1Reference(De-Identified UDS Plus Patient)Plan beneficiary
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
... dependent Σ0..1stringDependent number
... relationship 0..1CodeableConceptBeneficiary relationship to the subscriber
Binding: SubscriberRelationshipCodes (extensible): The relationship between the Subscriber and the Beneficiary (insured/covered party/patient).

... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..*Reference(De-Identified UDS Plus Patient | US Core Organization Profile | De-Identified UDS Plus RelatedPerson)Issuer of the policy
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
.... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ0..1IdentifierLogical reference, when literal reference is not known
... class 0..*BackboneElementAdditional coverage classifications
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.

.... value Σ1..1stringValue associated with the type
.... name Σ0..1stringHuman readable description of the type and value
... order Σ0..1positiveIntRelative order of the coverage
... network Σ0..1stringInsurer network
... costToBeneficiary 0..*BackboneElementPatient payments for services/products
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ0..1CodeableConceptCost category
Binding: CoverageCopayTypeCodes (extensible): The types of services to which patient copayments are specified.

.... value[x] Σ1..1The amount or percentage due from the beneficiary
..... valueQuantityQuantity(SimpleQuantity)
..... valueMoneyMoney
.... exception 0..*BackboneElementExceptions for patient payments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type Σ1..1CodeableConceptException category
Binding: ExampleCoverageFinancialExceptionCodes (example): The types of exceptions from the part or full value of financial obligations such as copays.

..... period Σ0..1PeriodThe effective period of the exception
... subrogation 0..1booleanReimbursement to insurer
... contract 0..*Reference(Contract)Contract details

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Coverage.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Coverage.statusrequiredFixed Value: active
Coverage.typeextensibleUdsPlusInsuranceCodes (a valid code from UDS Plus Insurance Codes)
Coverage.beneficiary.typeextensibleResourceType
Coverage.relationshipextensibleSubscriberRelationshipCodes
Coverage.payor.typeextensibleResourceType
Coverage.class.typeextensibleCoverageClassCodes
Coverage.costToBeneficiary.typeextensibleCoverageCopayTypeCodes
Coverage.costToBeneficiary.exception.typeexampleExampleCoverageFinancialExceptionCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorCoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCoverageIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCoverageIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorCoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron