HL7 FHIR® US Core Implementation Guide CI Build

US Core, published by HL7 International - US Realm Steering Committee. This is not an authorized publication; it is the continuous build for version 3.1.1). This version is based on the current content of https://github.com/HL7/US-Core-R4/ and changes regularly. See the Directory of published versions

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.

Mandatory and Must Support Data Elements

The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They 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*

Each Patient must support:

  1. contact detail (e.g. a telephone number or an email address)
  2. a birth date
  3. an address
  4. a communication language
  5. a race
  6. an ethnicity
  7. a birth sex*

Profile specific implementation guidance:

  • Note that Previous Name and Suffix are listed in the U.S. Core Data for Interoperability.
    • Suffix is represented using the Patient.name.suffix element.
    • Previous name is represented by providing an end date in the Patient.name.period element for a previous name.
    • The patient example below demonstrates the usage of both of these elements.
  • *The FHIR Specification provides guidance and background for representing patient gender. The American Clinical Laboratory Association (ACLA) has published best practice guidelines for administrative and clinical gender related to laboratory testing and reporting which implementers may find helpful as well.

Examples

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient

Published on Sat Jun 27 00:00:00 UTC 2020 as active by the HL7 US Realm Steering Committee.

This profile builds on Patient


Patient

Summary of the Mandatory Requirements

  1. One or more Identifiers in Patient.identifier
    • which must have an uri value in Patient.identifier.system
    • which must have a string value in Patient.identifier.value
  2. One or more HumanNames in Patient.name with the following constraints: Patient.name.given or Patient.name.family or both SHALL be present
    • which should have a string value in Patient.name.family
    • which should have one or more string values in Patient.name.given
  3. A code in Patient.gender with a required binding to AdministrativeGender

Summary of the Must Support Requirements

  1. A Race Extension in Patient.extension
  2. An Ethnicity Extension in Patient.extension
  3. A Birthsex Extension in Patient.extension with a required binding to Birth Sex
  4. One or more ContactPoints in Patient.telecom
    • which must have a code value in Patient.telecom.system with a required binding to ContactPointSystem
    • which must have a string value in Patient.telecom.value
    • which should have a code value in Patient.telecom.use with a required binding to ContactPointUse
  5. A date in Patient.birthDate
  6. One or more Addresses in Patient.address
    • which should have one or more string values in Patient.address.line
    • which should have a string value in Patient.address.city
    • which should have a string value in Patient.address.state with an extensible binding to USPS Two Letter Alphabetic Codes
    • which should have a string value in Patient.address.postalCode
    • which should have a Period value in Patient.address.period
  7. One or more Communications in Patient.communication

Summary of Constraints

  1. Either Patient.name.given and/or Patient.name.family SHALL be present or a Data Absent Reason Extension SHALL be present.
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... us-core-race S0..1(Complex)US Core Race Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
... us-core-ethnicity S0..1(Complex)US Core ethnicity 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: Birth Sex (required)
... identifier S1..*IdentifierAn identifier for this patient
.... system S1..1uriThe namespace for the identifier value
.... value S1..1stringThe value that is unique within the system.
... name SI1..*HumanNameA name associated with the patient
us-core-8: Either Patient.name.given and/or Patient.name.family SHALL be present or a Data Absent Reason Extension SHALL be present.
.... family SI0..1stringFamily name (often called 'Surname')
.... given SI0..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*ContactPointA contact detail for the individual
.... system S1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value S1..1stringThe actual contact point details
.... use S0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
... gender S1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate S0..1dateThe date of birth for the individual
... address S0..*AddressAn address for the individual
.... line S0..*stringStreet name, number, direction & P.O. Box etc.
.... city S0..1stringName of city, town etc.
.... state S0..1stringSub-unit of country (abbreviations ok)
Binding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode S0..1stringUS Zip Codes
.... period S0..1PeriodTime period when address was/is in use
... communication S0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... 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)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*PatientInformation about an individual or animal receiving health care services
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... us-core-race SI0..1(Complex)US Core Race Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
... us-core-ethnicity SI0..1(Complex)US Core ethnicity Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
... us-core-birthsex SI0..1codeExtension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI1..*IdentifierAn identifier for this patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣI1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣI1..1stringThe value that is unique within the system.
Example General: 123456
.... period ΣI0..1PeriodTime period when id is/was valid for use
.... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!ΣI0..1booleanWhether this patient's record is in active use
... name SΣI1..*HumanNameA name associated with the patient
us-core-8: Either Patient.name.given and/or Patient.name.family SHALL be present or a Data Absent Reason Extension SHALL be present.
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text ΣI0..1stringText representation of the full name
.... family SΣI0..1stringFamily name (often called 'Surname')
.... given SΣI0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix ΣI0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix ΣI0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period ΣI0..1PeriodTime period when name was/is in use
... telecom SΣI0..*ContactPointA contact detail for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value SΣI1..1stringThe actual contact point details
.... use ?!SΣI0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank ΣI0..1positiveIntSpecify preferred order of use (1 = highest)
.... period ΣI0..1PeriodTime period when the contact point was/is in use
... gender SΣI1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate SΣI0..1dateThe date of birth for the individual
... deceased[x] ?!ΣI0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣI0..*AddressAn address for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required)
Example General: home
.... type ΣI0..1codepostal | physical | both
Binding: AddressType (required)
Example General: both
.... text ΣI0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣI0..*stringStreet 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ΣI0..1stringName of city, town etc.
Example General: Erewhon
.... district ΣI0..1stringDistrict name (aka county)
Example General: Madison
.... state SΣI0..1stringSub-unit of country (abbreviations ok)
Binding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode SΣI0..1stringUS Zip Codes
Example General: 9132
.... country ΣI0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period SΣI0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus I0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] I0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo I0..*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..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship I0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible)
.... name I0..1HumanNameA name associated with the contact person
.... telecom I0..*ContactPointA contact detail for the person
.... address I0..1AddressAddress for the contact person
.... gender I0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period I0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication SI0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language SI1..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 I0..1booleanLanguage preference indicator
... generalPractitioner I0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization ΣI0..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..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other ΣI1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type ΣI1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required)

doco Documentation for this format

Patient

Summary of the Mandatory Requirements

  1. One or more Identifiers in Patient.identifier
    • which must have an uri value in Patient.identifier.system
    • which must have a string value in Patient.identifier.value
  2. One or more HumanNames in Patient.name with the following constraints: Patient.name.given or Patient.name.family or both SHALL be present
    • which should have a string value in Patient.name.family
    • which should have one or more string values in Patient.name.given
  3. A code in Patient.gender with a required binding to AdministrativeGender

Summary of the Must Support Requirements

  1. A Race Extension in Patient.extension
  2. An Ethnicity Extension in Patient.extension
  3. A Birthsex Extension in Patient.extension with a required binding to Birth Sex
  4. One or more ContactPoints in Patient.telecom
    • which must have a code value in Patient.telecom.system with a required binding to ContactPointSystem
    • which must have a string value in Patient.telecom.value
    • which should have a code value in Patient.telecom.use with a required binding to ContactPointUse
  5. A date in Patient.birthDate
  6. One or more Addresses in Patient.address
    • which should have one or more string values in Patient.address.line
    • which should have a string value in Patient.address.city
    • which should have a string value in Patient.address.state with an extensible binding to USPS Two Letter Alphabetic Codes
    • which should have a string value in Patient.address.postalCode
    • which should have a Period value in Patient.address.period
  7. One or more Communications in Patient.communication

Summary of Constraints

  1. Either Patient.name.given and/or Patient.name.family SHALL be present or a Data Absent Reason Extension SHALL be present.

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... us-core-race S0..1(Complex)US Core Race Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
... us-core-ethnicity S0..1(Complex)US Core ethnicity 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: Birth Sex (required)
... identifier S1..*IdentifierAn identifier for this patient
.... system S1..1uriThe namespace for the identifier value
.... value S1..1stringThe value that is unique within the system.
... name SI1..*HumanNameA name associated with the patient
us-core-8: Either Patient.name.given and/or Patient.name.family SHALL be present or a Data Absent Reason Extension SHALL be present.
.... family SI0..1stringFamily name (often called 'Surname')
.... given SI0..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*ContactPointA contact detail for the individual
.... system S1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value S1..1stringThe actual contact point details
.... use S0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
... gender S1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate S0..1dateThe date of birth for the individual
... address S0..*AddressAn address for the individual
.... line S0..*stringStreet name, number, direction & P.O. Box etc.
.... city S0..1stringName of city, town etc.
.... state S0..1stringSub-unit of country (abbreviations ok)
Binding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode S0..1stringUS Zip Codes
.... period S0..1PeriodTime period when address was/is in use
... communication S0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... 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)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*PatientInformation about an individual or animal receiving health care services
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... us-core-race SI0..1(Complex)US Core Race Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
... us-core-ethnicity SI0..1(Complex)US Core ethnicity Extension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
... us-core-birthsex SI0..1codeExtension
URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI1..*IdentifierAn identifier for this patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type ΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣI1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣI1..1stringThe value that is unique within the system.
Example General: 123456
.... period ΣI0..1PeriodTime period when id is/was valid for use
.... assigner ΣI0..1Reference(Organization)Organization that issued id (may be just text)
... active ?!ΣI0..1booleanWhether this patient's record is in active use
... name SΣI1..*HumanNameA name associated with the patient
us-core-8: Either Patient.name.given and/or Patient.name.family SHALL be present or a Data Absent Reason Extension SHALL be present.
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text ΣI0..1stringText representation of the full name
.... family SΣI0..1stringFamily name (often called 'Surname')
.... given SΣI0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix ΣI0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix ΣI0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period ΣI0..1PeriodTime period when name was/is in use
... telecom SΣI0..*ContactPointA contact detail for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value SΣI1..1stringThe actual contact point details
.... use ?!SΣI0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank ΣI0..1positiveIntSpecify preferred order of use (1 = highest)
.... period ΣI0..1PeriodTime period when the contact point was/is in use
... gender SΣI1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate SΣI0..1dateThe date of birth for the individual
... deceased[x] ?!ΣI0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣI0..*AddressAn address for the individual
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!ΣI0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required)
Example General: home
.... type ΣI0..1codepostal | physical | both
Binding: AddressType (required)
Example General: both
.... text ΣI0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣI0..*stringStreet 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ΣI0..1stringName of city, town etc.
Example General: Erewhon
.... district ΣI0..1stringDistrict name (aka county)
Example General: Madison
.... state SΣI0..1stringSub-unit of country (abbreviations ok)
Binding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode SΣI0..1stringUS Zip Codes
Example General: 9132
.... country ΣI0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period SΣI0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus I0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] I0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo I0..*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..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship I0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible)
.... name I0..1HumanNameA name associated with the contact person
.... telecom I0..*ContactPointA contact detail for the person
.... address I0..1AddressAddress for the contact person
.... gender I0..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period I0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication SI0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language SI1..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 I0..1booleanLanguage preference indicator
... generalPractitioner I0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization ΣI0..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..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other ΣI1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type ΣI1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required)

doco Documentation for this format

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


Quick Start

Below is an overview of the required set of Server RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.

  • The syntax used to describe the interactions is described here.
  • See the General Guidance section for additional rules and expectations when a server requires status parameters.
  • See the General Guidance section for additional guidance on searching for multiple patients.

Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported.:

  1. SHALL support fetching a Patient using the _id search parameter:

    GET [base]/Patient[id]

    Example:

    1. GET [base]/Patient/1032702
    2. GET [base]/Patient?_id=1032702

    Implementation Notes: (how to search by the logical id of the resource)

  2. SHALL support searching a patient by an identifier such as a MPI using the identifier search parameter:

    GET [base]/Patient?identifier={system|}[code]

    Example:

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

    Implementation Notes: Fetches a bundle containing any Patient resources matching the identifier (how to search by token)

  3. SHALL support searching for a patient by a string match of any part of name using the name search parameter:

    GET [base]/Patient?name=[string]

    Example:

    1. GET [base]/Patient?name=Shaw

    Implementation Notes: Fetches a bundle of all Patient resources matching the name (how to search by string)

  4. SHALL support searching using the combination of the birthdate and name search parameters:

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

    Example:

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

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified birthdate and name (how to search by date and how to search by string)

  5. SHALL support searching using the combination of the gender and name search parameters:

    GET [base]/Patient?gender={system|}[code]&name=[string]

    Example:

    1. GET [base]/Patient?name=Shaw&gender=female

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified gender and name (how to search by string and how to search by token)

Optional Search Parameters:

The following search parameter combinations SHOULD be supported.:

  1. SHOULD support searching using the combination of the birthdate and family search parameters:

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

    Example:

    1. GET [base]/Patient?family=Shaw&birthdate=2007-03-20

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified birthdate and family (how to search by date and how to search by string)

  2. SHOULD support searching using the combination of the family and gender search parameters:

    GET [base]/Patient?family=[string]&gender={system|}[code]

    Example:

    1. GET [base]/Patient?family=Shaw&gender=female

    Implementation Notes: Fetches a bundle of all Patient resources matching the specified family and gender (how to search by string and how to search by token)