Da Vinci - Coverage Requirements Discovery
1.0.0 - STU 1

This page is part of the Da Vinci Coverage Requirements Discovery (CRD) FHIR IG (v1.0.0: STU 1) based on FHIR 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: CoverageDeident

Defining URL:http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-coverage-deident
Version:1.0.0
Name:CoverageDeident
Status:Draft as of 2018-07-25
Definition:

This profile specifies constraints on the Coverage resource to identify coverage plan type without exposing patient identity during coverage requirements discovery.

Publisher:HL7 International - Financial Management Work Group
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-coverage-deident

Usage


CRD Clients SHALL use this profile to resolve references to insurance Coverage resources passed to CRD Services when performing coverage requirements discovery without patient-identifiable protected health information (PHI).

Refer to the section on PHI and Hook Invocation in the formal specification for more information.

Formal Views of Profile Content

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

This structure is derived from Coverage

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 8 elements
Fixed Value: 1 element
Prohibited: 12 elements

Structures

This structure refers to these other structures:

This structure is derived from Coverage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageInsurance or medical plan or a payment agreement
... text 0..0
... identifier 0..0
... status S1..1codeactive | cancelled | draft | entered-in-error
... policyHolder 0..0
... subscriber 0..0
... subscriberId 0..0
... beneficiary 1..1Reference(CRD Deidentified Patient)Plan beneficiary
... dependent 0..0
... relationship 0..0
... period S0..1PeriodCoverage start and end dates
... payor S1..*Reference(CRD Deidentified Patient | Organization)Issuer of the policy
... class S0..1BackboneElementAdditional coverage classifications
.... type S1..1CodeableConceptType of class such as 'group' or 'plan'
Fixed Value: As shown (Plan)
..... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
.... value S1..1stringValue associated with the type
.... name S0..1stringHuman readable description of the type and value
... order 0..0
... network 0..0
... costToBeneficiary 0..0
... subrogation 0..0
... contract 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageInsurance or medical plan or a payment agreement
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... 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.

... type SΣ0..1CodeableConceptCoverage category such as medical or accident
Binding: CoverageTypeAndSelf-PayCodes (preferred): The type of insurance: public health, worker compensation; private accident, auto, private health, etc.) or a direct payment by an individual or organization.

... beneficiary Σ1..1Reference(CRD Deidentified Patient)Plan beneficiary
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..*Reference(CRD Deidentified Patient | Organization)Issuer of the policy
... class S0..1BackboneElementAdditional 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 SΣ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Fixed Value: As shown (Plan)
..... id0..0stringUnique id for inter-element referencing
..... extension0..0ExtensionAdditional content defined by implementations
..... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
...... version0..0stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
...... display0..0stringRepresentation defined by the system
...... userSelected0..0booleanIf this coding was chosen directly by the user
..... text0..0stringPlain text representation of the concept
.... value SΣ1..1stringValue associated with the type
.... name SΣ0..1stringHuman readable description of the type and value

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageInsurance or medical plan or a payment agreement
... status ?!Σ1..1codeactive | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.

... type Σ0..1CodeableConceptCoverage category such as medical or accident
Binding: CoverageTypeAndSelf-PayCodes (preferred): The type of insurance: public health, worker compensation; private accident, auto, private health, etc.) or a direct payment by an individual or organization.

... period Σ0..1PeriodCoverage start and end dates
... class 0..1BackboneElementAdditional coverage classifications
.... type Σ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Fixed Value: As shown (Plan)
..... id0..0stringUnique id for inter-element referencing
..... extension0..0ExtensionAdditional content defined by implementations
..... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
...... version0..0stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
...... display0..0stringRepresentation defined by the system
...... userSelected0..0booleanIf this coding was chosen directly by the user
..... text0..0stringPlain text representation of the concept
.... value Σ1..1stringValue associated with the type
.... name Σ0..1stringHuman readable description of the type and value

doco Documentation for this format

This structure is derived from Coverage

Summary

Mandatory: 0 element (1 nested mandatory element)
Must-Support: 8 elements
Fixed Value: 1 element
Prohibited: 12 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Coverage

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageInsurance or medical plan or a payment agreement
... text 0..0
... identifier 0..0
... status S1..1codeactive | cancelled | draft | entered-in-error
... policyHolder 0..0
... subscriber 0..0
... subscriberId 0..0
... beneficiary 1..1Reference(CRD Deidentified Patient)Plan beneficiary
... dependent 0..0
... relationship 0..0
... period S0..1PeriodCoverage start and end dates
... payor S1..*Reference(CRD Deidentified Patient | Organization)Issuer of the policy
... class S0..1BackboneElementAdditional coverage classifications
.... type S1..1CodeableConceptType of class such as 'group' or 'plan'
Fixed Value: As shown (Plan)
..... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
.... value S1..1stringValue associated with the type
.... name S0..1stringHuman readable description of the type and value
... order 0..0
... network 0..0
... costToBeneficiary 0..0
... subrogation 0..0
... contract 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Coverage 0..*CoverageInsurance or medical plan or a payment agreement
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... 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.

... type SΣ0..1CodeableConceptCoverage category such as medical or accident
Binding: CoverageTypeAndSelf-PayCodes (preferred): The type of insurance: public health, worker compensation; private accident, auto, private health, etc.) or a direct payment by an individual or organization.

... beneficiary Σ1..1Reference(CRD Deidentified Patient)Plan beneficiary
... period SΣ0..1PeriodCoverage start and end dates
... payor SΣ1..*Reference(CRD Deidentified Patient | Organization)Issuer of the policy
... class S0..1BackboneElementAdditional 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 SΣ1..1CodeableConceptType of class such as 'group' or 'plan'
Binding: CoverageClassCodes (extensible): The policy classifications, eg. Group, Plan, Class, etc.


Fixed Value: As shown (Plan)
..... id0..0stringUnique id for inter-element referencing
..... extension0..0ExtensionAdditional content defined by implementations
..... coding1..1CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..0stringUnique id for inter-element referencing
...... extension0..0ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/coverage-class
...... version0..0stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: plan
...... display0..0stringRepresentation defined by the system
...... userSelected0..0booleanIf this coding was chosen directly by the user
..... text0..0stringPlain text representation of the concept
.... value SΣ1..1stringValue associated with the type
.... name SΣ0..1stringHuman readable description of the type and value

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet / Code
Coverage.languagepreferredCommonLanguages
Max Binding: AllLanguages
Coverage.statusrequiredFinancialResourceStatusCodes
Coverage.typepreferredCoverageTypeAndSelf-PayCodes
Coverage.class.typeextensibleFixed Value: plan
Coverage.costToBeneficiary.typeextensibleCoverageCopayTypeCodes
Coverage.costToBeneficiary.exception.typeexampleExampleCoverageFinancialExceptionCodes

Constraints

IdPathDetailsRequirements
dom-2CoverageIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3CoverageIf 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-4CoverageIf 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-5CoverageIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6CoverageA resource should have narrative for robust management
: text.`div`.exists()
ele-1Coverage.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.beneficiaryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.payorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.classAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.class.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.class.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.class.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.class.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.class.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.class.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.class.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.costToBeneficiary.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.costToBeneficiary.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.costToBeneficiary.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.costToBeneficiary.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.costToBeneficiary.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.costToBeneficiary.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.costToBeneficiary.exceptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.costToBeneficiary.exception.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.costToBeneficiary.exception.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.costToBeneficiary.exception.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Coverage.costToBeneficiary.exception.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Coverage.costToBeneficiary.exception.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Coverage.costToBeneficiary.exception.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())