Interoperable Digital Identity and Patient Matching, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-identity-matching-ig/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0 | Version: 2.0.0-ballot | |||
Active as of 2024-10-25 | Computable Name: IDIPatientL0 |
(Level 0 weighting) The goal of this profile is to describe a data-minimized version of Patient used to convey information about the patient for Identity Matching utilizing the $match operation, and prescribe a minimum set of data elements which meet a combined 'weighted level' of at least 9
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Patient
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | C | 0..* | Patient | Patient information to be supplied to $match operation conforming to Level 0 weighting of information idi-L0: Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. |
meta | ||||
Slices for profile | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by pattern:$this | |
profile:assertedProfile | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0 | |
identifier | ||||
type | 1..1 | CodeableConcept | Description of identifier Binding: Identity Identifier Value Set (extensible) | |
value | 1..1 | string | The value that is unique | |
name | C | 0..* | HumanName | A name associated with the patient idi-2: Either the given or family name SHALL be present |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Patient.identifier.type | extensible | IdentityIdentifierValueSethttp://hl7.org/fhir/us/identity-matching/ValueSet/Identity-Identifier-vs from this IG |
Id | Grade | Path(s) | Details | Requirements |
idi-2 | error | Patient.name | Either the given or family name SHALL be present : given.exists() or family.exists() | |
idi-L0 | error | Patient | Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. : ((identifier.type.coding.exists(code = 'PPN' or code = 'DL' or code = 'STID') or identifier.exists(system='http://hl7.org/fhir/us/identity-matching/ns/HL7Identifier')) and identifier.value.exists()).toInteger()*10 + iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) =1,4,iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) >1,5,0)) + (name.family.exists() and name.given.exists()).toInteger()*3 + (birthDate.exists().toInteger()*2) >= 9 |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | C | 0..* | Patient | Patient information to be supplied to $match operation conforming to Level 0 weighting of information idi-L0: Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
name | ΣC | 0..* | HumanName | A name associated with the patient idi-2: Either the given or family name SHALL be present |
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |
deceasedBoolean | boolean | |||
deceasedDateTime | dateTime | |||
link | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to |
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
idi-2 | error | Patient.name | Either the given or family name SHALL be present : given.exists() or family.exists() | |
idi-L0 | error | Patient | Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. : ((identifier.type.coding.exists(code = 'PPN' or code = 'DL' or code = 'STID') or identifier.exists(system='http://hl7.org/fhir/us/identity-matching/ns/HL7Identifier')) and identifier.value.exists()).toInteger()*10 + iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) =1,4,iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) >1,5,0)) + (name.family.exists() and name.given.exists()).toInteger()*3 + (birthDate.exists().toInteger()*2) >= 9 |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Patient | C | 0..* | Patient | Patient information to be supplied to $match operation conforming to Level 0 weighting of information idi-L0: Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
versionId | Σ | 0..1 | id | Version specific identifier | ||||
lastUpdated | Σ | 0..1 | instant | When the resource version last changed | ||||
source | Σ | 0..1 | uri | Identifies where the resource comes from | ||||
Slices for profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by pattern:$this | ||||
profile:assertedProfile | Σ | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0 | ||||
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | An identifier for this patient | ||||
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 | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 1..1 | CodeableConcept | Description of identifier Binding: Identity Identifier Value Set (extensible) | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
name | ΣC | 0..* | HumanName | A name associated with the patient idi-2: Either the given or family name SHALL be present | ||||
telecom | Σ | 0..* | ContactPoint | A contact detail for the individual | ||||
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
birthDate | Σ | 0..1 | date | The date of birth for the individual | ||||
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
address | Σ | 0..* | Address | An address for the individual | ||||
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |||||
multipleBirth[x] | 0..1 | Whether patient is part of a multiple birth | ||||||
multipleBirthBoolean | boolean | |||||||
multipleBirthInteger | integer | |||||||
photo | 0..* | Attachment | Image of the patient | |||||
contact | C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
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 | ||||
relationship | 0..* | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. | |||||
name | 0..1 | HumanName | A name associated with the contact person | |||||
telecom | 0..* | ContactPoint | A contact detail for the person | |||||
address | 0..1 | Address | Address for the contact person | |||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
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 | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): 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 | ||||
link | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person | ||||
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 | ||||
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Patient.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels from the FHIR Standard | ||||
Patient.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Patient.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier.type | extensible | IdentityIdentifierValueSethttp://hl7.org/fhir/us/identity-matching/ValueSet/Identity-Identifier-vs from this IG | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.maritalStatus | extensible | Marital Status Codeshttp://hl7.org/fhir/ValueSet/marital-status from the FHIR Standard | ||||
Patient.contact.relationship | extensible | PatientContactRelationshiphttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
idi-2 | error | Patient.name | Either the given or family name SHALL be present : given.exists() or family.exists() | |
idi-L0 | error | Patient | Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. : ((identifier.type.coding.exists(code = 'PPN' or code = 'DL' or code = 'STID') or identifier.exists(system='http://hl7.org/fhir/us/identity-matching/ns/HL7Identifier')) and identifier.value.exists()).toInteger()*10 + iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) =1,4,iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) >1,5,0)) + (name.family.exists() and name.given.exists()).toInteger()*3 + (birthDate.exists().toInteger()*2) >= 9 |
Differential View
This structure is derived from Patient
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | C | 0..* | Patient | Patient information to be supplied to $match operation conforming to Level 0 weighting of information idi-L0: Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. |
meta | ||||
Slices for profile | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by pattern:$this | |
profile:assertedProfile | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0 | |
identifier | ||||
type | 1..1 | CodeableConcept | Description of identifier Binding: Identity Identifier Value Set (extensible) | |
value | 1..1 | string | The value that is unique | |
name | C | 0..* | HumanName | A name associated with the patient idi-2: Either the given or family name SHALL be present |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Patient.identifier.type | extensible | IdentityIdentifierValueSethttp://hl7.org/fhir/us/identity-matching/ValueSet/Identity-Identifier-vs from this IG |
Id | Grade | Path(s) | Details | Requirements |
idi-2 | error | Patient.name | Either the given or family name SHALL be present : given.exists() or family.exists() | |
idi-L0 | error | Patient | Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. : ((identifier.type.coding.exists(code = 'PPN' or code = 'DL' or code = 'STID') or identifier.exists(system='http://hl7.org/fhir/us/identity-matching/ns/HL7Identifier')) and identifier.value.exists()).toInteger()*10 + iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) =1,4,iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) >1,5,0)) + (name.family.exists() and name.given.exists()).toInteger()*3 + (birthDate.exists().toInteger()*2) >= 9 |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | C | 0..* | Patient | Patient information to be supplied to $match operation conforming to Level 0 weighting of information idi-L0: Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
name | ΣC | 0..* | HumanName | A name associated with the patient idi-2: Either the given or family name SHALL be present |
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |
deceasedBoolean | boolean | |||
deceasedDateTime | dateTime | |||
link | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to |
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
idi-2 | error | Patient.name | Either the given or family name SHALL be present : given.exists() or family.exists() | |
idi-L0 | error | Patient | Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. : ((identifier.type.coding.exists(code = 'PPN' or code = 'DL' or code = 'STID') or identifier.exists(system='http://hl7.org/fhir/us/identity-matching/ns/HL7Identifier')) and identifier.value.exists()).toInteger()*10 + iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) =1,4,iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) >1,5,0)) + (name.family.exists() and name.given.exists()).toInteger()*3 + (birthDate.exists().toInteger()*2) >= 9 |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Patient | C | 0..* | Patient | Patient information to be supplied to $match operation conforming to Level 0 weighting of information idi-L0: Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
versionId | Σ | 0..1 | id | Version specific identifier | ||||
lastUpdated | Σ | 0..1 | instant | When the resource version last changed | ||||
source | Σ | 0..1 | uri | Identifies where the resource comes from | ||||
Slices for profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to Slice: Unordered, Open by pattern:$this | ||||
profile:assertedProfile | Σ | 0..1 | canonical(StructureDefinition) | Profiles this resource claims to conform to Required Pattern: http://hl7.org/fhir/us/identity-matching/StructureDefinition/IDI-Patient-L0 | ||||
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | An identifier for this patient | ||||
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 | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | Σ | 1..1 | CodeableConcept | Description of identifier Binding: Identity Identifier Value Set (extensible) | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
period | Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
active | ?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
name | ΣC | 0..* | HumanName | A name associated with the patient idi-2: Either the given or family name SHALL be present | ||||
telecom | Σ | 0..* | ContactPoint | A contact detail for the individual | ||||
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
birthDate | Σ | 0..1 | date | The date of birth for the individual | ||||
deceased[x] | ?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
deceasedBoolean | boolean | |||||||
deceasedDateTime | dateTime | |||||||
address | Σ | 0..* | Address | An address for the individual | ||||
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible): The domestic partnership status of a person. | |||||
multipleBirth[x] | 0..1 | Whether patient is part of a multiple birth | ||||||
multipleBirthBoolean | boolean | |||||||
multipleBirthInteger | integer | |||||||
photo | 0..* | Attachment | Image of the patient | |||||
contact | C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient pat-1: SHALL at least contain a contact's details or a reference to an organization | ||||
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 | ||||
relationship | 0..* | CodeableConcept | The kind of relationship Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient. | |||||
name | 0..1 | HumanName | A name associated with the contact person | |||||
telecom | 0..* | ContactPoint | A contact detail for the person | |||||
address | 0..1 | Address | Address for the contact person | |||||
gender | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
organization | C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
period | 0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
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 | 1..1 | CodeableConcept | The language which can be used to communicate with the patient about his or her health Binding: CommonLanguages (preferred): 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 | ||||
link | ?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person | ||||
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 | ||||
other | Σ | 1..1 | Reference(Patient | RelatedPerson) | The other patient or related person resource that the link refers to | ||||
type | Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Patient.meta.security | extensible | All Security Labelshttp://hl7.org/fhir/ValueSet/security-labels from the FHIR Standard | ||||
Patient.meta.tag | example | CommonTagshttp://hl7.org/fhir/ValueSet/common-tags from the FHIR Standard | ||||
Patient.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.identifier.use | required | IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1 from the FHIR Standard | ||||
Patient.identifier.type | extensible | IdentityIdentifierValueSethttp://hl7.org/fhir/us/identity-matching/ValueSet/Identity-Identifier-vs from this IG | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.maritalStatus | extensible | Marital Status Codeshttp://hl7.org/fhir/ValueSet/marital-status from the FHIR Standard | ||||
Patient.contact.relationship | extensible | PatientContactRelationshiphttp://hl7.org/fhir/ValueSet/patient-contactrelationship from the FHIR Standard | ||||
Patient.contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 from the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
idi-2 | error | Patient.name | Either the given or family name SHALL be present : given.exists() or family.exists() | |
idi-L0 | error | Patient | Combined weighted values of included elements must have a minimum value of 9 (see Patient Weighted Elements table). Note that the logic for computing weights is somewhat imperfect, particularly considering that it does not confirm that exactly the expected coded type is the one that exists in a match request; this is acceptable because it will not in itself lead to mismatches, though it may give requestors an overly-optimistic sense of their input quality. : ((identifier.type.coding.exists(code = 'PPN' or code = 'DL' or code = 'STID') or identifier.exists(system='http://hl7.org/fhir/us/identity-matching/ns/HL7Identifier')) and identifier.value.exists()).toInteger()*10 + iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) =1,4,iif(((address.exists(use = 'home') and address.line.exists() and (address.postalCode.exists() or (address.state.exists() and address.city.exists()))).toInteger() + (identifier.type.coding.exists(code != 'PPN' and code != 'DL' and code != 'STID') and identifier.value.exists()).toInteger() + (telecom.exists(system = 'email') and telecom.value.exists()).toInteger() + (telecom.exists(system = 'phone') and telecom.value.exists()).toInteger() + (photo.exists()).toInteger()) >1,5,0)) + (name.family.exists() and name.given.exists()).toInteger()*3 + (birthDate.exists().toInteger()*2) >= 9 |
Other representations of profile: CSV, Excel, Schematron