F
US-Core CI Build

D.4.1 StructureDefinition: DAF-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 DAF 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 etc.
  • Query for Patients based on race, ethnicity, gender etc.
  • 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 an example 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 present, 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
Example: Patient Example: example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

This profile builds on Patient.

This profile was published on Mon Aug 01 00:00:00 UTC 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

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

This structure is derived from Patient

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 Suport Requirements

Additionally your system must return:

  1. A date of birth in Patient.birthDate
  2. One or more languages spoken in Patient.communication.language which has an required binding to:
  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 an required binding to:
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*Information about an individual or animal receiving health care services
... 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 SI0..1(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/us-core-race
... us-core-ethnicity SI0..1(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/us-core-ethnicity
... us-core-birthsex SI0..1codeExtension
URL: http://hl7.org/fhir/StructureDefinition/us-core-birthsex
Binding: USRealm Birth Sex Value Set (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..*IdentifierAn identifier for this patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type 0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system S1..1uriThe namespace for the identifier
Example: http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
.... value S1..1stringThe value that is unique within the system.
Example: 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 S1..*HumanNameA name associated with the patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text 0..1stringText representation of the full name
.... family S1..*stringFamily name (often called 'Surname')
.... given S1..*stringGiven names (not always 'first'). Includes middle names
.... prefix 0..*stringParts that come before the name
.... suffix 0..*stringParts that come after the name
.... period 0..1PeriodTime period when name was/is in use
... telecom 0..*ContactPointA contact detail for the individual
... gender S1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate S0..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 (required)
... 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: Common Languages (required)
.... 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..1codereplace | refer | seealso - type of link
Binding: LinkType (required)

doco Documentation for this format

yet to be done: Xml template

yet to be done: Json template

This structure is derived from Patient

Summary

Mandatory: 7 elements (+1 nested mandatory element)
Must-Support: 13 elements
Prohibited: 1 element

Extensions

This structure refers to these extensions:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient I0..*Information about an individual or animal receiving health care services
... 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 SI0..1(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/us-core-race
... us-core-ethnicity SI0..1(Complex)Extension
URL: http://hl7.org/fhir/StructureDefinition/us-core-ethnicity
... us-core-birthsex SI0..1codeExtension
URL: http://hl7.org/fhir/StructureDefinition/us-core-birthsex
Binding: USRealm Birth Sex Value Set (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S1..*IdentifierAn identifier for this patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type 0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system S1..1uriThe namespace for the identifier
Example: http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
.... value S1..1stringThe value that is unique within the system.
Example: 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 S1..*HumanNameA name associated with the patient
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
.... text 0..1stringText representation of the full name
.... family S1..*stringFamily name (often called 'Surname')
.... given S1..*stringGiven names (not always 'first'). Includes middle names
.... prefix 0..*stringParts that come before the name
.... suffix 0..*stringParts that come after the name
.... period 0..1PeriodTime period when name was/is in use
... telecom 0..*ContactPointA contact detail for the individual
... gender S1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
... birthDate S0..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 (required)
... 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: Common Languages (required)
.... 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..1codereplace | refer | seealso - type of link
Binding: LinkType (required)

doco Documentation for this format

XML Template

yet to be done: Xml template

JSON Template

yet to be done: Json template

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

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Patient.languageCommon LanguagesextensibleCommon Languages
Patient.extension
http://hl7.org/fhir/StructureDefinition/us-core-birthsex
USRealm Birth Sex Value SetrequiredUSRealm Birth Sex Value Set
Patient.identifier.useIdentifierUserequiredIdentifierUse
Patient.identifier.typeIdentifier Type CodesextensibleIdentifier Type Codes
Patient.name.useNameUserequiredNameUse
Patient.genderAdministrativeGenderrequiredAdministrativeGender
Patient.maritalStatusMarital Status CodesrequiredMarital Status Codes
Patient.contact.relationshipv2 Contact Roleextensiblev2 Contact Role
Patient.contact.genderAdministrativeGenderrequiredAdministrativeGender
Patient.animal.speciesAnimalSpeciesexampleAnimalSpecies
Patient.animal.breedAnimalBreedsexampleAnimalBreeds
Patient.animal.genderStatusGenderStatusexampleGenderStatus
Patient.communication.languageCommon LanguagesrequiredCommon Languages
Patient.link.typeLinkTyperequiredLinkType

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2PatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1PatientIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4PatientIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3PatientIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
ele-1Patient.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Patient.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1Patient.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Patient.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1Patient.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Patient.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1Patient.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Patient.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1Patient.contactAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
pat-1Patient.contactSHALL at least contain a contact's details or a reference to an organization
XPath: exists(f:name) or exists(f:telecom) or exists(f:address) or exists(f:organization)
ele-1Patient.communicationAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ele-1Patient.linkAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
.