This page is part of the Immunization Decision Support Forecast FHIR IG (v0.2.0: STU 1 Ballot 2) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
StructureDefinition-immds-patient
Scope and Usage
Defines constraints and extensions on the patient resource for the minimal set of data to perform the Immunization Decision Support Forecast operation.
Examples
The following examples are provided to illustrate conformant resource content to this profile.
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is: http://hl7.org/fhir/uv/immds/StructureDefinition/immds-patient
Published on Wed Jun 26 20:00:00 EDT 2019 as a active by HL7 International - Public Health Work Group.
This profile builds on USCorePatientProfile
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | ||||
birthDate | S | 1..1 | date | The date of birth for the individual |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | I | 0..* | Information about an individual or animal receiving health care services | |
id | Σ | 0..1 | id | 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 | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
us-core-race | S | 0..1 | (Complex) | Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race |
us-core-ethnicity | S | 0..1 | (Complex) | Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity |
us-core-birthsex | S | 0..1 | code | Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex Binding: Birth Sex (required) |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 1..* | 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) |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible) |
system | SΣ | 1..1 | uri | The namespace for the identifier value Example General': http://www.acme.com/identifiers/patient |
value | SΣ | 1..1 | string | The value that is unique within the system. 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 | SΣI | 1..* | HumanName | A name associated with the patient us-core-8: Patient.name.given or Patient.name.family or both SHALL be present |
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 | nickname | anonymous | old | maiden Binding: NameUse (required) |
text | Σ | 0..1 | string | Text representation of the full name |
family | SΣ | 0..1 | string | Family name (often called 'Surname') |
given | SΣ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name |
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name |
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name |
period | Σ | 0..1 | Period | Time period when name was/is in use |
telecom | SΣ | 0..* | ContactPoint | A contact detail 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 | |
system | SΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required) |
value | SΣ | 1..1 | string | The actual contact point details |
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required) |
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) |
period | Σ | 0..1 | Period | Time period when the contact point was/is in use |
gender | SΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required) |
birthDate | SΣ | 1..1 | date | The date of birth for the individual |
deceased[x] | ?!Σ | 0..1 | boolean, dateTime | Indicates if the individual is deceased or not |
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) Example General': home |
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required) Example General': both |
text | Σ | 0..1 | string | Text representation of the address Example General': 137 Nowhere Street, Erewhon 9132 |
line | SΣ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General': 137 Nowhere Street |
city | SΣ | 0..1 | string | Name of city, town etc. Example General': Erewhon |
district | Σ | 0..1 | string | District name (aka county) Example General': Madison |
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible) |
postalCode | SΣ | 0..1 | string | US Zip Codes Example General': 9132 |
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-22T20:00:00-04:00","end":"2010-06-30T20:00:00-04:00"} |
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible) | |
multipleBirth[x] | 0..1 | boolean, integer | Whether patient is part of a multiple birth | |
photo | 0..* | Attachment | Image of the patient | |
contact | I | 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) | |
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) | |
organization | I | 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 | SI | 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: Language codes with language and optionally a region modifier (extensible) Max Binding: Language codes with language and optionally a region modifier |
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 | ?!ΣI | 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) |
Documentation for this format |
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | ||||
birthDate | S | 1..1 | date | The date of birth for the individual |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Patient | I | 0..* | Information about an individual or animal receiving health care services | |
id | Σ | 0..1 | id | 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 | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
us-core-race | S | 0..1 | (Complex) | Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race |
us-core-ethnicity | S | 0..1 | (Complex) | Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity |
us-core-birthsex | S | 0..1 | code | Extension URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex Binding: Birth Sex (required) |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 1..* | 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) |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible) |
system | SΣ | 1..1 | uri | The namespace for the identifier value Example General': http://www.acme.com/identifiers/patient |
value | SΣ | 1..1 | string | The value that is unique within the system. 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 | SΣI | 1..* | HumanName | A name associated with the patient us-core-8: Patient.name.given or Patient.name.family or both SHALL be present |
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 | nickname | anonymous | old | maiden Binding: NameUse (required) |
text | Σ | 0..1 | string | Text representation of the full name |
family | SΣ | 0..1 | string | Family name (often called 'Surname') |
given | SΣ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name |
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name |
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name |
period | Σ | 0..1 | Period | Time period when name was/is in use |
telecom | SΣ | 0..* | ContactPoint | A contact detail 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 | |
system | SΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required) |
value | SΣ | 1..1 | string | The actual contact point details |
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required) |
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) |
period | Σ | 0..1 | Period | Time period when the contact point was/is in use |
gender | SΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required) |
birthDate | SΣ | 1..1 | date | The date of birth for the individual |
deceased[x] | ?!Σ | 0..1 | boolean, dateTime | Indicates if the individual is deceased or not |
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) Example General': home |
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required) Example General': both |
text | Σ | 0..1 | string | Text representation of the address Example General': 137 Nowhere Street, Erewhon 9132 |
line | SΣ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General': 137 Nowhere Street |
city | SΣ | 0..1 | string | Name of city, town etc. Example General': Erewhon |
district | Σ | 0..1 | string | District name (aka county) Example General': Madison |
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible) |
postalCode | SΣ | 0..1 | string | US Zip Codes Example General': 9132 |
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-22T20:00:00-04:00","end":"2010-06-30T20:00:00-04:00"} |
maritalStatus | 0..1 | CodeableConcept | Marital (civil) status of a patient Binding: Marital Status Codes (extensible) | |
multipleBirth[x] | 0..1 | boolean, integer | Whether patient is part of a multiple birth | |
photo | 0..* | Attachment | Image of the patient | |
contact | I | 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) | |
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) | |
organization | I | 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 | SI | 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: Language codes with language and optionally a region modifier (extensible) Max Binding: Language codes with language and optionally a region modifier |
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 | ?!ΣI | 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) |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Terminology Bindings
Path | Conformance | ValueSet |
Patient.language | preferred | CommonLanguages Max Binding: AllLanguages |
Patient.identifier.use | required | IdentifierUse |
Patient.identifier.type | extensible | Identifier Type Codes |
Patient.name.use | required | NameUse |
Patient.telecom.system | required | ContactPointSystem |
Patient.telecom.use | required | ContactPointUse |
Patient.gender | required | AdministrativeGender |
Patient.address.use | required | AddressUse |
Patient.address.type | required | AddressType |
Patient.address.state | extensible | UspsTwoLetterAlphabeticCodes |
Patient.maritalStatus | extensible | Marital Status Codes |
Patient.contact.relationship | extensible | PatientContactRelationship |
Patient.contact.gender | required | AdministrativeGender |
Patient.communication.language | extensible | LanguageCodesWithLanguageAndOptionallyARegionModifier Max Binding: Language codes with language and optionally a region modifier |
Patient.link.type | required | LinkType |
Constraints
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-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-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-6 | Patient | A resource should have narrative for robust management : text.div.exists() | |
dom-5 | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
us-core-8 | Patient.name | Patient.name.given or Patient.name.family or both SHALL be present : family.exists() or given.exists() | |
ele-1 | Patient.contact | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
pat-1 | Patient.contact | SHALL at least contain a contact's details or a reference to an organization : name.exists() or telecom.exists() or address.exists() or organization.exists() | |
ele-1 | Patient.communication | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Patient.link | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |