De-Identified, Anonymized FHIR Profiles Library
0.1.0 - STU1 Release 1 - Standard for Trial-Use

De-Identified, Anonymized FHIR Profiles Library, published by HL7 International / Cross Group Projects. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-dapl/ and changes regularly. See the Directory of published versions

## Resource Profile: De-Identified UDS Plus Patient

Official URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/de-identified-uds-plus-patient | Version: 0.1.0
Standards status: Trial-use | Maturity Level: 1 | Computable Name: DeIdentifiedUDSPlusPatient

This Patient profile represents a Patient availing HRSA services.

All canonical (Official) URLs will be changed in the future and are not available currently on the web.

### Introduction

This profile is used to represent de-identified patient 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 the following data elements have to be removed or de-identified

- Patient Name

- Address that is more specific than a state

  - First 3 digits of Zipcodes can be included if the population of all zipcodes starting with the same 3 digits are > 20000 people, in all other cases, the zipcodes have to be masked to 00000.
- All dates should not have a precision of more than the year. This means month and day cannot be included.
- Demographics including birthdate, deceased indicator
- Patient contact details such as telephone numbers, fax, email, URLs,
- Patient personal identifiers such as SSN, Drivers License,
- Business identifiers such as MRNs, certificate numbers, Account numbers
- Biometrics such as fingerprints, photos

In FHIR Resources, text 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 Patient resource text element may contain information such as the full name, Gender and Date of Birth. 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.

Age Computation

The Data Submitter has to compute the age based as of December 31st of the previous year for inclusion in the UDS+ report.

Id Generation

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

Usage of Data Absent Reason Extension

For the UDS+ reporting, the patient data is de-identified and in the process zip codes may be masked to a value of "00000". In these cases the dataAbsentReason extension must be added to identify that the data is "masked". If the zip code is not known, a value of "00000" must be sent with a dataAbsentReason of "unknown". If the zip code is outside the country, a value of "00000" must be sent with a dataAbsentReason of "unsupported".

Birth Sex Additional Constraints

NullFlavors are not allowed for BirthSex reporting for UDS+ even though they are allowed in US Core.

Race and Ethnicity Additional Constraints

US Core allows Race and Ethnicity to be described as only text or rolled up to the OMB categories, however for UDS+ reporting detailed race and ethnicity have to be captured and reported as part of the profile. If the reported race and ethncity values are not null flavors then detailed values are mandatory.

Sexual Orientation Additional Constraints

Health Centers which have not implemented the methods to capture Sexual Orientation, should use the null flavor coded value of "NASK" specifically.

Gender Identity Additional Constraints

Health Centers which have not implemented the methods to capture Gender Identity, should use the null flavor coded value of "NASK" specifically.

Examples Examples of identifiable data and its corresponding de-identifiable data is present in Reporting Guidance.

Usages:

- Refer to this Profile: De-Identified UDS Plus Income, De-Identified UDS Plus RelatedPerson, De-Identified UDS Plus AdverseEvent, De-Identified UDS Plus AllergyIntolerance... Show 11 more, De-Identified UDS Plus Clinical Result Observation, DeIdentified UDS Plus Coverage, De-Identified UDS Plus Diagnosis, De-Identified UDS Plus Encounter, De-Identified UDS Plus Immunization, De-Identified UDS Plus Lab Observation, De-Identified UDS Plus MedicationRequest, De-Identified UDS Plus MedicationStatement, De-Identified UDS Plus Procedure, De-Identified UDS Plus ServiceRequest and De-Identified UDS Plus Sexual Orientation
- Examples for this Profile: Patient/de-identified-example and Patient/de-identified-smallpop-example

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Patient |  | 0..* | Patient | De-Identified UDS Plus Patient
id | S Σ | 0..1 | id | The de-identified patient identifier created by the health center to send data to HRSA.
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 4..* | Extension | Extension Slice: Unordered, Open by value:url
extension:uds-plus-race | S C | 1..1 | (Complex) | Indicates the race of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension Constraints: us-core-23
extension:uds-plus-ethnicty | S | 1..1 | (Complex) | Indicates the ethnicity of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
extension:uds-plus-birthsex | S | 1..1 | code | Indicates the birth sex of the Patient. URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension Binding: Uds Plus Birth Sex Codes (required): The set of codes to be used for UDS+ reporting.
extension:uds-plus-age-extension | S | 1..1 | Quantity | Age of the Patient computed using birthDate and the reporting period reference URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
extension:uds-plus-gender-identity-extension | S | 0..1 | CodeableConcept | Gender Identity of the pateient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension Binding: Uds Plus Gender Identity Codes (extensible): The set of codes to be used for UDS+ reporting.
extension:uds-plus-agriculture-worker-status | S | 0..1 | code | Agriculture Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status Binding: Uds Plus Agriculture Worker Status Codes (extensible)
extension:uds-plus-housing-status | S | 0..1 | code | Housing Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension Binding: Uds Plus Housing Status Codes (extensible)
extension:uds-plus-veteran-status | S | 0..1 | boolean | Veteran Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use
Slices for deceased[x] | ?!Σ | 0..1 |  | Indicates if the individual is deceased or not Slice: Unordered, Open by type:$this
deceasedBoolean |  |  | boolean |
deceasedDateTime |  |  | dateTime |
deceased[x]:deceasedBoolean | ?!S Σ | 0..1 | boolean | Can only have deceased boolean.
address | S Σ | 1..1 | Address | Included only to support zip code
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
postalCode | S Σ | 1..1 | string | ZipCode must be included in the profile Example General: 9132
Slices for extension |  |  |  | Content/Rules for all slices
extension:dataAbsentReason | S | 0..1 | (Complex) | Reason why the data is not present URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
value[x] | S | 1..1 | code | Value of extension Binding: DataAbsentReason (required)
communication |  | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
language | S | 1..1 | CodeableConcept | ​Language must be included in the profile Binding: http://hl7.org/fhir/us/core/ValueSet/simple-language (extensible): The set of languages that the patient uses
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Patient.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Patient.address.postalCode.​extension:dataAbsentReason.​value[x] | Base | required | DataAbsentReason | 📦4.0.1 | FHIR Std.
Patient.communication.​language | Base | extensible | ​ http://hl7.org/fhir/us/core/ValueSet/simple-language | Not State | Unknown
Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Patient | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-23 | error | Patient.extension:uds-plus-race | If "ASKU" or "UNK" are present, then no other OMB race categories can be present. | `extension.where(url = 'ombCategory').value.where(code in 'ASKU'|'UNK').exists() implies extension.where(url = 'ombCategory').count() = 1`

This structure is derived from Patient

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Patient |  | 0..* | Patient | De-Identified UDS Plus Patient
id | S | 0..1 | id | The de-identified patient identifier created by the health center to send data to HRSA.
text |  | 0..0 |  | Cannot include any text in the resource as part of the de-identified data.
contained |  | 0..0 |  | Cannot include any contained resources in the resource as part of the de-identified data.
Slices for extension |  |  |  | Content/Rules for all slices
extension:uds-plus-race | S | 1..1 | (Complex) | Indicates the race of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension
extension:uds-plus-ethnicty | S | 1..1 | (Complex) | Indicates the ethnicity of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
extension:uds-plus-birthsex | S | 1..1 | code | Indicates the birth sex of the Patient. URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension Binding: Uds Plus Birth Sex Codes (required): The set of codes to be used for UDS+ reporting.
extension:uds-plus-age-extension | S | 1..1 | Quantity | Age of the Patient computed using birthDate and the reporting period reference URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
extension:uds-plus-gender-identity-extension | S | 0..1 | CodeableConcept | Gender Identity of the pateient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension Binding: Uds Plus Gender Identity Codes (extensible): The set of codes to be used for UDS+ reporting.
extension:uds-plus-agriculture-worker-status | S | 0..1 | code | Agriculture Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status Binding: Uds Plus Agriculture Worker Status Codes (extensible)
extension:uds-plus-housing-status | S | 0..1 | code | Housing Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension Binding: Uds Plus Housing Status Codes (extensible)
extension:uds-plus-veteran-status | S | 0..1 | boolean | Veteran Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
identifier |  | 0..0 |  | Cannot include any identifier in the resource as part of the de-identified data.
name |  | 0..0 |  | Cannot include any name in the resource as part of the de-identified data.
telecom |  | 0..0 |  | Cannot include any telecom information in the resource as part of the de-identified data.
birthDate |  | 0..0 |  | Cannot include any date of birth information in the resource as part of the de-identified data.
deceasedBoolean | S | 0..1 | boolean | Can only have deceased boolean.
address | S | 1..1 | Address | Included only to support zip code
text |  | 0..0 |  | Text cannot be included in the profile
line |  | 0..0 |  | Street names cannot be included in the profile
postalCode | S | 1..1 | string | ZipCode must be included in the profile
Slices for extension |  |  |  | Content/Rules for all slices
extension:dataAbsentReason | S | 0..1 | (Complex) | Reason why the data is not present URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
value[x] | S | 1..1 | code | Value of extension
maritalStatus |  | 0..0 |  | Cannot include information not required for UDS+
multipleBirth[x] |  | 0..0 |  | Cannot include information not required for UDS+
photo |  | 0..0 |  | Cannot include information not required for UDS+
contact |  | 0..0 |  | Cannot include information not required for UDS+
communication |  |  |  |
language | S | 1..1 | CodeableConcept | ​Language must be included in the profile Binding: http://hl7.org/fhir/us/core/ValueSet/simple-language (extensible): The set of languages that the patient uses
generalPractitioner |  | 0..0 |  | Cannot include information not required for UDS+
managingOrganization |  | 0..0 |  | Cannot include information not required for UDS+
link |  | 0..0 |  | Cannot include information not required for UDS+
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Patient.communication.​language | Base | extensible | ​ http://hl7.org/fhir/us/core/ValueSet/simple-language | Not State | Unknown

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Patient |  | 0..* | Patient | De-Identified UDS Plus Patient
id | S Σ | 0..1 | id | The de-identified patient identifier created by the health center to send data to HRSA.
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Slices for extension |  | 4..* | Extension | Extension Slice: Unordered, Open by value:url
extension:uds-plus-race | S C | 1..1 | (Complex) | Indicates the race of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension Constraints: us-core-23
extension:uds-plus-ethnicty | S | 1..1 | (Complex) | Indicates the ethnicity of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
extension:uds-plus-birthsex | S | 1..1 | code | Indicates the birth sex of the Patient. URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension Binding: Uds Plus Birth Sex Codes (required): The set of codes to be used for UDS+ reporting.
extension:uds-plus-age-extension | S | 1..1 | Quantity | Age of the Patient computed using birthDate and the reporting period reference URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
extension:uds-plus-gender-identity-extension | S | 0..1 | CodeableConcept | Gender Identity of the pateient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension Binding: Uds Plus Gender Identity Codes (extensible): The set of codes to be used for UDS+ reporting.
extension:uds-plus-agriculture-worker-status | S | 0..1 | code | Agriculture Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status Binding: Uds Plus Agriculture Worker Status Codes (extensible)
extension:uds-plus-housing-status | S | 0..1 | code | Housing Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension Binding: Uds Plus Housing Status Codes (extensible)
extension:uds-plus-veteran-status | S | 0..1 | boolean | Veteran Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
Slices for deceased[x] | ?!Σ | 0..1 |  | Indicates if the individual is deceased or not Slice: Unordered, Open by type:$this
deceasedBoolean |  |  | boolean |
deceasedDateTime |  |  | dateTime |
deceased[x]:deceasedBoolean | ?!S Σ | 0..1 | boolean | Can only have deceased boolean.
address | S Σ | 1..1 | Address | Included only to support zip code
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both
city | Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | Σ | 0..1 | string | Sub-unit of country (abbreviations ok)
postalCode | S Σ | 1..1 | string | ZipCode must be included in the profile Example General: 9132
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:dataAbsentReason | S | 0..1 | (Complex) | Reason why the data is not present URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
value[x] | S | 1..1 | code | Value of extension Binding: DataAbsentReason (required)
value |  | 0..1 | string | Primitive value for string Max Length:1048576
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
communication |  | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
language | S | 1..1 | CodeableConcept | ​Language must be included in the profile Binding: http://hl7.org/fhir/us/core/ValueSet/simple-language (extensible): The set of languages that the patient uses
preferred |  | 0..1 | boolean | Language preference indicator
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Patient.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Patient.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Patient.address.type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Patient.address.postalCode.​extension:dataAbsentReason.​value[x] | Base | required | DataAbsentReason | 📦4.0.1 | FHIR Std.
Patient.contact.relationship | Base | extensible | Patient Contact Relationship | 📍4.0.1 | FHIR Std.
Patient.contact.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Patient.communication.​language | Base | extensible | ​ http://hl7.org/fhir/us/core/ValueSet/simple-language | Not State | Unknown
Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Patient | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-23 | error | Patient.extension:uds-plus-race | If "ASKU" or "UNK" are present, then no other OMB race categories can be present. | `extension.where(url = 'ombCategory').value.where(code in 'ASKU'|'UNK').exists() implies extension.where(url = 'ombCategory').count() = 1`

This structure is derived from Patient

Summary

Mandatory: 6 elements(2 nested mandatory elements)
Must-Support: 15 elements
Prohibited: 15 elements

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
- http://hl7.org/fhir/StructureDefinition/data-absent-reason

Maturity: 1

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Patient |  | 0..* | Patient | De-Identified UDS Plus Patient
id | S Σ | 0..1 | id | The de-identified patient identifier created by the health center to send data to HRSA.
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 4..* | Extension | Extension Slice: Unordered, Open by value:url
extension:uds-plus-race | S C | 1..1 | (Complex) | Indicates the race of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension Constraints: us-core-23
extension:uds-plus-ethnicty | S | 1..1 | (Complex) | Indicates the ethnicity of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
extension:uds-plus-birthsex | S | 1..1 | code | Indicates the birth sex of the Patient. URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension Binding: Uds Plus Birth Sex Codes (required): The set of codes to be used for UDS+ reporting.
extension:uds-plus-age-extension | S | 1..1 | Quantity | Age of the Patient computed using birthDate and the reporting period reference URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
extension:uds-plus-gender-identity-extension | S | 0..1 | CodeableConcept | Gender Identity of the pateient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension Binding: Uds Plus Gender Identity Codes (extensible): The set of codes to be used for UDS+ reporting.
extension:uds-plus-agriculture-worker-status | S | 0..1 | code | Agriculture Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status Binding: Uds Plus Agriculture Worker Status Codes (extensible)
extension:uds-plus-housing-status | S | 0..1 | code | Housing Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension Binding: Uds Plus Housing Status Codes (extensible)
extension:uds-plus-veteran-status | S | 0..1 | boolean | Veteran Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use
Slices for deceased[x] | ?!Σ | 0..1 |  | Indicates if the individual is deceased or not Slice: Unordered, Open by type:$this
deceasedBoolean |  |  | boolean |
deceasedDateTime |  |  | dateTime |
deceased[x]:deceasedBoolean | ?!S Σ | 0..1 | boolean | Can only have deceased boolean.
address | S Σ | 1..1 | Address | Included only to support zip code
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
postalCode | S Σ | 1..1 | string | ZipCode must be included in the profile Example General: 9132
Slices for extension |  |  |  | Content/Rules for all slices
extension:dataAbsentReason | S | 0..1 | (Complex) | Reason why the data is not present URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
value[x] | S | 1..1 | code | Value of extension Binding: DataAbsentReason (required)
communication |  | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
language | S | 1..1 | CodeableConcept | ​Language must be included in the profile Binding: http://hl7.org/fhir/us/core/ValueSet/simple-language (extensible): The set of languages that the patient uses
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Patient.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Patient.address.postalCode.​extension:dataAbsentReason.​value[x] | Base | required | DataAbsentReason | 📦4.0.1 | FHIR Std.
Patient.communication.​language | Base | extensible | ​ http://hl7.org/fhir/us/core/ValueSet/simple-language | Not State | Unknown
Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Patient | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-23 | error | Patient.extension:uds-plus-race | If "ASKU" or "UNK" are present, then no other OMB race categories can be present. | `extension.where(url = 'ombCategory').value.where(code in 'ASKU'|'UNK').exists() implies extension.where(url = 'ombCategory').count() = 1`

Differential View

This structure is derived from Patient

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Patient |  | 0..* | Patient | De-Identified UDS Plus Patient
id | S | 0..1 | id | The de-identified patient identifier created by the health center to send data to HRSA.
text |  | 0..0 |  | Cannot include any text in the resource as part of the de-identified data.
contained |  | 0..0 |  | Cannot include any contained resources in the resource as part of the de-identified data.
Slices for extension |  |  |  | Content/Rules for all slices
extension:uds-plus-race | S | 1..1 | (Complex) | Indicates the race of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension
extension:uds-plus-ethnicty | S | 1..1 | (Complex) | Indicates the ethnicity of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
extension:uds-plus-birthsex | S | 1..1 | code | Indicates the birth sex of the Patient. URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension Binding: Uds Plus Birth Sex Codes (required): The set of codes to be used for UDS+ reporting.
extension:uds-plus-age-extension | S | 1..1 | Quantity | Age of the Patient computed using birthDate and the reporting period reference URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
extension:uds-plus-gender-identity-extension | S | 0..1 | CodeableConcept | Gender Identity of the pateient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension Binding: Uds Plus Gender Identity Codes (extensible): The set of codes to be used for UDS+ reporting.
extension:uds-plus-agriculture-worker-status | S | 0..1 | code | Agriculture Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status Binding: Uds Plus Agriculture Worker Status Codes (extensible)
extension:uds-plus-housing-status | S | 0..1 | code | Housing Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension Binding: Uds Plus Housing Status Codes (extensible)
extension:uds-plus-veteran-status | S | 0..1 | boolean | Veteran Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
identifier |  | 0..0 |  | Cannot include any identifier in the resource as part of the de-identified data.
name |  | 0..0 |  | Cannot include any name in the resource as part of the de-identified data.
telecom |  | 0..0 |  | Cannot include any telecom information in the resource as part of the de-identified data.
birthDate |  | 0..0 |  | Cannot include any date of birth information in the resource as part of the de-identified data.
deceasedBoolean | S | 0..1 | boolean | Can only have deceased boolean.
address | S | 1..1 | Address | Included only to support zip code
text |  | 0..0 |  | Text cannot be included in the profile
line |  | 0..0 |  | Street names cannot be included in the profile
postalCode | S | 1..1 | string | ZipCode must be included in the profile
Slices for extension |  |  |  | Content/Rules for all slices
extension:dataAbsentReason | S | 0..1 | (Complex) | Reason why the data is not present URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
value[x] | S | 1..1 | code | Value of extension
maritalStatus |  | 0..0 |  | Cannot include information not required for UDS+
multipleBirth[x] |  | 0..0 |  | Cannot include information not required for UDS+
photo |  | 0..0 |  | Cannot include information not required for UDS+
contact |  | 0..0 |  | Cannot include information not required for UDS+
communication |  |  |  |
language | S | 1..1 | CodeableConcept | ​Language must be included in the profile Binding: http://hl7.org/fhir/us/core/ValueSet/simple-language (extensible): The set of languages that the patient uses
generalPractitioner |  | 0..0 |  | Cannot include information not required for UDS+
managingOrganization |  | 0..0 |  | Cannot include information not required for UDS+
link |  | 0..0 |  | Cannot include information not required for UDS+
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Patient.communication.​language | Base | extensible | ​ http://hl7.org/fhir/us/core/ValueSet/simple-language | Not State | Unknown

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Patient |  | 0..* | Patient | De-Identified UDS Plus Patient
id | S Σ | 0..1 | id | The de-identified patient identifier created by the health center to send data to HRSA.
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Slices for extension |  | 4..* | Extension | Extension Slice: Unordered, Open by value:url
extension:uds-plus-race | S C | 1..1 | (Complex) | Indicates the race of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension Constraints: us-core-23
extension:uds-plus-ethnicty | S | 1..1 | (Complex) | Indicates the ethnicity of the Patient. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity profiled by http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
extension:uds-plus-birthsex | S | 1..1 | code | Indicates the birth sex of the Patient. URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension Binding: Uds Plus Birth Sex Codes (required): The set of codes to be used for UDS+ reporting.
extension:uds-plus-age-extension | S | 1..1 | Quantity | Age of the Patient computed using birthDate and the reporting period reference URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
extension:uds-plus-gender-identity-extension | S | 0..1 | CodeableConcept | Gender Identity of the pateient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension Binding: Uds Plus Gender Identity Codes (extensible): The set of codes to be used for UDS+ reporting.
extension:uds-plus-agriculture-worker-status | S | 0..1 | code | Agriculture Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status Binding: Uds Plus Agriculture Worker Status Codes (extensible)
extension:uds-plus-housing-status | S | 0..1 | code | Housing Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension Binding: Uds Plus Housing Status Codes (extensible)
extension:uds-plus-veteran-status | S | 0..1 | boolean | Veteran Status of the patient URL: http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
Slices for deceased[x] | ?!Σ | 0..1 |  | Indicates if the individual is deceased or not Slice: Unordered, Open by type:$this
deceasedBoolean |  |  | boolean |
deceasedDateTime |  |  | dateTime |
deceased[x]:deceasedBoolean | ?!S Σ | 0..1 | boolean | Can only have deceased boolean.
address | S Σ | 1..1 | Address | Included only to support zip code
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both
city | Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | Σ | 0..1 | string | Sub-unit of country (abbreviations ok)
postalCode | S Σ | 1..1 | string | ZipCode must be included in the profile Example General: 9132
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:dataAbsentReason | S | 0..1 | (Complex) | Reason why the data is not present URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
value[x] | S | 1..1 | code | Value of extension Binding: DataAbsentReason (required)
value |  | 0..1 | string | Primitive value for string Max Length:1048576
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code)
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
communication |  | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
language | S | 1..1 | CodeableConcept | ​Language must be included in the profile Binding: http://hl7.org/fhir/us/core/ValueSet/simple-language (extensible): The set of languages that the patient uses
preferred |  | 0..1 | boolean | Language preference indicator
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Patient.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Patient.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Patient.address.type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Patient.address.postalCode.​extension:dataAbsentReason.​value[x] | Base | required | DataAbsentReason | 📦4.0.1 | FHIR Std.
Patient.contact.relationship | Base | extensible | Patient Contact Relationship | 📍4.0.1 | FHIR Std.
Patient.contact.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Patient.communication.​language | Base | extensible | ​ http://hl7.org/fhir/us/core/ValueSet/simple-language | Not State | Unknown
Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Patient | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
us-core-23 | error | Patient.extension:uds-plus-race | If "ASKU" or "UNK" are present, then no other OMB race categories can be present. | `extension.where(url = 'ombCategory').value.where(code in 'ASKU'|'UNK').exists() implies extension.where(url = 'ombCategory').count() = 1`

This structure is derived from Patient

Summary

Mandatory: 6 elements(2 nested mandatory elements)
Must-Support: 15 elements
Prohibited: 15 elements

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-race-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-ethnicity-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-birthsex-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-age-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-gender-identity-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/udsplus-agriculture-worker-status
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-housing-status-extension
- http://hl7.org/fhir/us/uds-plus/StructureDefinition/uds-plus-veteran-status-extension
- http://hl7.org/fhir/StructureDefinition/data-absent-reason

Maturity: 1

Other representations of profile: CSV, Excel, Schematron