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. For a full list of available versions, see the Directory of published versions
Defining URL: | http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient-deident |
Version: | 1.0.0 |
Name: | PatientDident |
Title: | CRD Deidentified Patient |
Status: | Draft as of 2018-07-25 |
Definition: | This profile specifies additional constraints on the US Core Patient profile to support coverage requirements discovery without revealing patient identity. |
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-patient-deident
CRD Clients will use this profile to resolve references to Patient resources passed to CRD Services, including patientId
context references when invoking the following CDS Hooks without patient-identifiable protected health information (PHI):
Refer to the section on PHI and Hook Invocation in the formal specification for more information.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Patient
This structure is derived from Patient
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | Patient | CRD Deidentified Patient | |
text | 0..0 | |||
identifier | 0..0 | |||
name | 0..0 | |||
telecom | 0..0 | |||
gender | S | 1..1 | code | male | female | other | unknown |
birthDate | SI | 0..1 | date | The date of birth for the individual patient-deident-birthMonth: Birthdate can only include month if 2 years old or less Max Length: 7 |
deceased[x] | 0..0 | |||
address | S | 0..* | Address | An address for the individual |
type | S | 0..1 | code | postal | physical | both |
text | 0..0 | |||
line | 0..0 | |||
city | 0..0 | |||
district | 0..0 | |||
state | S | 0..1 | string | Sub-unit of country (abbreviations ok) |
postalCode | 0..0 | |||
country | S | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) |
period | 0..0 | |||
multipleBirth[x] | 0..0 | |||
photo | 0..0 | |||
contact | 0..0 | |||
communication | S | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health |
language | S | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health |
link | 0..0 | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | Patient | CRD Deidentified Patient | |
id | Σ | 0..1 | string | Logical id of this artifact |
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) Max Binding: AllLanguages: A human language. | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
gender | SΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. |
birthDate | SΣI | 0..1 | date | The date of birth for the individual patient-deident-birthMonth: Birthdate can only include month if 2 years old or less Max Length: 7 |
address | SΣ | 0..* | Address | An address for the individual |
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 | SΣ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both |
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) |
country | SΣ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) |
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |
communication | S | 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 | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. |
preferred | 0..1 | boolean | Language preference indicator | |
generalPractitioner | 0..* | Reference(Organization | Practitioner | PractitionerRole) | Patient's nominated primary care provider | |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that is the custodian of the patient record |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | Patient | CRD Deidentified Patient | |
gender | Σ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. |
birthDate | ΣI | 0..1 | date | The date of birth for the individual patient-deident-birthMonth: Birthdate can only include month if 2 years old or less Max Length: 7 |
address | Σ | 0..* | Address | An address for the individual |
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). |
state | Σ | 0..1 | string | Sub-unit of country (abbreviations ok) |
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) |
communication | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health | |
language | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
Documentation for this format |
This structure is derived from Patient
Differential View
This structure is derived from Patient
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | Patient | CRD Deidentified Patient | |
text | 0..0 | |||
identifier | 0..0 | |||
name | 0..0 | |||
telecom | 0..0 | |||
gender | S | 1..1 | code | male | female | other | unknown |
birthDate | SI | 0..1 | date | The date of birth for the individual patient-deident-birthMonth: Birthdate can only include month if 2 years old or less Max Length: 7 |
deceased[x] | 0..0 | |||
address | S | 0..* | Address | An address for the individual |
type | S | 0..1 | code | postal | physical | both |
text | 0..0 | |||
line | 0..0 | |||
city | 0..0 | |||
district | 0..0 | |||
state | S | 0..1 | string | Sub-unit of country (abbreviations ok) |
postalCode | 0..0 | |||
country | S | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) |
period | 0..0 | |||
multipleBirth[x] | 0..0 | |||
photo | 0..0 | |||
contact | 0..0 | |||
communication | S | 0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health |
language | S | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health |
link | 0..0 | |||
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | 0..* | Patient | CRD Deidentified Patient | |
id | Σ | 0..1 | string | Logical id of this artifact |
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) Max Binding: AllLanguages: A human language. | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
gender | SΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. |
birthDate | SΣI | 0..1 | date | The date of birth for the individual patient-deident-birthMonth: Birthdate can only include month if 2 years old or less Max Length: 7 |
address | SΣ | 0..* | Address | An address for the individual |
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 | SΣ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both |
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) |
country | SΣ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) |
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |
communication | S | 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 | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. |
preferred | 0..1 | boolean | Language preference indicator | |
generalPractitioner | 0..* | Reference(Organization | Practitioner | PractitionerRole) | Patient's nominated primary care provider | |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that is the custodian of the patient record |
Documentation for this format |
Other representations of profile: Schematron
Path | Conformance | ValueSet |
Patient.language | preferred | CommonLanguages Max Binding: AllLanguages |
Patient.gender | required | AdministrativeGender |
Patient.address.use | required | AddressUse |
Patient.address.type | required | AddressType |
Patient.maritalStatus | extensible | Marital Status Codes |
Patient.contact.relationship | extensible | PatientContactRelationship |
Patient.contact.gender | required | AdministrativeGender |
Patient.communication.language | preferred | CommonLanguages Max Binding: AllLanguages |
Patient.link.type | required | LinkType |
Id | Path | Details | Requirements |
dom-2 | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | 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 | 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 | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Patient.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.active | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.gender | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.birthDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
patient-deident-birthMonth | Patient.birthDate | Birthdate can only include month if 2 years old or less : true or ((today() - $this) <= 24 months) or value.length()=4 | |
ele-1 | Patient.address | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.address.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.address.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.state | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.address.country | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.maritalStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.contact.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.contact.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.contact.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.contact.relationship | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.address | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.gender | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.organization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.contact.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.communication | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.communication.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.communication.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.communication.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.communication.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.communication.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.communication.preferred | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.generalPractitioner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.managingOrganization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.link.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.link.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.link.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Patient.link.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Patient.link.other | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.link.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |