US Core Implementation Guide (Release 1.0.1)

This page is part of the US Core (v1.0.1: STU1) based on FHIR R3. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

1.0 - StructureDefinition-us-core-patient

This profile sets minimum expectations for the Patient resource to record, search and fetch basic demographics and other administrative information about an individual patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the US Core Patient profile:

  • Query for a Patient demographic information using Medical Record Number (MRN), which is a type of identifier. The MRN is identifiable by identifier.system and may be location specific.
  • Query for a Patient demographic information using first name, last name, birthdate, and gender.
  • Query for Patients less than 5 years of age
  • Query for Patients between ages of 25 and 50
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Patient must have:

  1. a patient identifier (e.g. MRN)
  2. a patient name
  3. a gender

2015 Edition Certification Requirements (Must Support).

In addition, based upon the 2015 Edition Certification Requirements, the following data-elements must be supported.

If the data is available Patient shall include:

  1. a birth date
  2. a communication language
  3. a race
  4. an ethnicity
  5. a birth sex

Profile specific implementation guidance:

  • none

Examples

1.2 - Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient

This profile builds on Patient.

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by HL7 US Realm Steering Committee.

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

Complete Summary of the Mandatory Requirements

  1. One or more medical record numbers in Patient.identifier
    • each Patient.identifier must have:
      • an identifier.system
      • an identifier.value that is unique within the system.
  2. One or more names in Patient.name
    • each Patient.name must have:
      • a name.family
      • a name.given
  3. One administrative gender in Patient.gender

Summary of the Must Support Requirements

Additionally your system must Support:

  1. A date of birth in Patient.birthDate
  2. One or more languages spoken in Patient.communication.language which has a extensible + max valueset binding to the All Language codes with language and optionally a region modifier valueset
  3. One or more race codes in Patient.extension= US Core Race Extension which:
  4. One or more ethnicity codes in Patient.extension=US Core ethnicity Extension which:
  5. One Birth Sex in Patient.extension= US Core Patient Birth Sex which has a required binding to US Core Birth Sex valueset
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*US Core Patient Profile
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... us-core-race S0..1(Complex)Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
... us-core-ethnicity S0..1(Complex)Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
... us-core-birthsex S0..1codeExtension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: US Core Birth Sex Value Set (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ1..*IdentifierAn identifier for this patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣ1..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
.... value SΣ1..1stringThe value that is unique within the system.
Example General': 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣ1..*HumanNameA name associated with the patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text Σ0..1stringText representation of the full name
.... family SΣ1..1stringFamily name (often called 'Surname')
.... given SΣ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom Σ0..*ContactPointA contact detail for the individual
... gender SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1boolean, dateTimeIndicates if the individual is deceased or not
... address Σ0..*AddressAddresses for the individual
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] 0..1boolean, integerWhether patient is part of a multiple birth
... photo 0..*AttachmentImage of the patient
... contact I0..*BackboneElementA 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..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: v2 Contact Role (extensible)
.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication SI0..*BackboneElementA list of Languages which may be used to communicate with the patient about his or her health
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... language S1..1CodeableConceptThe 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)
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization), Reference(Practitioner)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!ΣI0..*BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... other Σ1..1Reference(Patient), Reference(RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso - type of link
Binding: LinkType (required)

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. One or more medical record numbers in Patient.identifier
    • each Patient.identifier must have:
      • an identifier.system
      • an identifier.value that is unique within the system.
  2. One or more names in Patient.name
    • each Patient.name must have:
      • a name.family
      • a name.given
  3. One administrative gender in Patient.gender

Summary of the Must Support Requirements

Additionally your system must Support:

  1. A date of birth in Patient.birthDate
  2. One or more languages spoken in Patient.communication.language which has a extensible + max valueset binding to the All Language codes with language and optionally a region modifier valueset
  3. One or more race codes in Patient.extension= US Core Race Extension which:
  4. One or more ethnicity codes in Patient.extension=US Core ethnicity Extension which:
  5. One Birth Sex in Patient.extension= US Core Patient Birth Sex which has a required binding to US Core Birth Sex valueset

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*US Core Patient Profile
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... us-core-race S0..1(Complex)Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
... us-core-ethnicity S0..1(Complex)Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
... us-core-birthsex S0..1codeExtension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
Binding: US Core Birth Sex Value Set (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ1..*IdentifierAn identifier for this patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣ1..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
.... value SΣ1..1stringThe value that is unique within the system.
Example General': 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name SΣ1..*HumanNameA name associated with the patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text Σ0..1stringText representation of the full name
.... family SΣ1..1stringFamily name (often called 'Surname')
.... given SΣ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom Σ0..*ContactPointA contact detail for the individual
... gender SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate SΣ0..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1boolean, dateTimeIndicates if the individual is deceased or not
... address Σ0..*AddressAddresses for the individual
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] 0..1boolean, integerWhether patient is part of a multiple birth
... photo 0..*AttachmentImage of the patient
... contact I0..*BackboneElementA 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..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: v2 Contact Role (extensible)
.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication SI0..*BackboneElementA list of Languages which may be used to communicate with the patient about his or her health
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... language S1..1CodeableConceptThe 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)
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization), Reference(Practitioner)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!ΣI0..*BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... other Σ1..1Reference(Patient), Reference(RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso - type of link
Binding: LinkType (required)

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

1.3 - Quick Start

Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the US Core Server for a complete list of supported RESTful operations and search parameters for this IG.

GET [base]/Patient/[id]

Example: GET [base]/Patient/1032702

Support: Mandatory

Implementation Notes: Fetches a single Patient


GET [base]/Patient/identifier=[system]|[code]

Example: GET [base]/Patient?identifier=http://hospital.smarthealthit.org 1032702

Support: Mandatory

Implementation Notes: Fetches a single Patient by an Identifier such as a MPI


GET [base]/Patient?name=[string]&birthdate=[date]

Example: GET [base]/Patient?name=Shaw&birthdate=2007-03-20

Support: Mandatory

Implementation Notes: Search based on at least 2 patient elements -text name (how to search by string) and birthdate (how to search by date)


GET [base]/Patient?name=[string]&gender=[code]

Example: GET [base]/Patient?name=Shaw&gender=female

Support: Mandatory

Implementation Notes: Search based on at least 2 patient elements -text name (how to search by string) and gender (how to search by token).


GET [base]/Patient?family=[string]&gender=[code]

Example: GET [base]/Patient?family=shaw&gender=female

Support: SHOULD support Patient search by family name and gender

Implementation Notes: Search based on at least 2 patient elements -text family name (how to search by string) and gender (how to search by token).


GET [base]/Patient?given=[string]&gender=[code]

Example: GET [base]/Patient?given=amy&gender=female

Support: SHOULD support Patient search by given name and gender

Implementation Notes: Search based on at least 2 patient elements -text given name (how to search by string) and gender (how to search by token)