FHIR Clincal Guidelines (v0.1.0) (STU1 Ballot)

This page is part of the Clinical Guidelines (v0.1.0: STU 1 Ballot 1) 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

D.4.1 StructureDefinition: cpg-patient

Examples:

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-patient

Profile of Patient for use with CPG Implementation Guide

This profile builds on Patient.

This profile was published on Thu Jun 20 00:00:00 EDT 2019 as a draft by Health Level Seven, Inc. - CDS WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Mandatory: 20 elements (1 nested mandatory element)
Must-Support: 24 elements
Fixed Value: 6 elements

Slices

This structure defines the following Slices:

  • The element Patient.identifier is sliced based on the value of value:use
  • The element Patient.name is sliced based on the value of value:use
  • The element Patient.telecom is sliced based on the value of value:use
  • The element Patient.address is sliced based on the value of value:use
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*
... identifier S(Slice Definition)Slice: Unordered, Open by value:use
.... officialIdentifier S1..1Identifier
..... use S1..1codeFixed Value: official
..... value S1..1stringLast Name
... name S(Slice Definition)Slice: Unordered, Open by value:use
.... officialName S1..1HumanName
..... use S1..1codeFixed Value: official
..... family S1..1stringLast Name
..... given S1..1stringFirst Name
... telecom S(Slice Definition)Slice: Unordered, Open by value:use
.... mobilePhone S1..1ContactPointMobile Phone Number
..... system S1..1codeFixed Value: phone
..... value S1..1string
..... use S1..1codeFixed Value: mobile
... gender S1..1codeFixed Value: female
... birthDate S1..1date
... address S(Slice Definition)Slice: Unordered, Open by value:use
.... homeAddress S1..1Address
..... use S1..1codeHome Address
Fixed Value: home
..... text S1..1string
... photo S0..*Attachment
... contact S0..*BackboneElement
.... name S1..1HumanName
.... telecom S0..*ContactPoint

doco Documentation for this format
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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ(Slice Definition)An identifier for this patient
Slice: Unordered, Open by value:use
.... officialIdentifier SΣ1..1IdentifierAn identifier for this patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!SΣ1..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Fixed Value: official
..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
..... system Σ0..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient
..... value SΣ1..1stringLast Name
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Σ(Slice Definition)A name associated with the patient
Slice: Unordered, Open by value:use
.... officialName SΣ1..1HumanNameA name associated with the patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!SΣ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
Fixed Value: official
..... text Σ0..1stringText representation of the full name
..... family SΣ1..1stringLast Name
..... given SΣ1..1stringFirst Name
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 SΣ(Slice Definition)A contact detail for the individual
Slice: Unordered, Open by value:use
.... mobilePhone SΣ1..1ContactPointMobile Phone Number
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
Fixed Value: mobile
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
... gender SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
Fixed Value: female
... birthDate SΣ1..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣ(Slice Definition)An address for the individual
Slice: Unordered, Open by value:use
.... homeAddress SΣ1..1AddressAn address for the individual
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!SΣ1..1codeHome Address
Binding: AddressUse (required)
Fixed Value: home
..... type Σ0..1codepostal | physical | both
Binding: AddressType (required)
Example General': both
..... text SΣ1..1stringText representation of the address
Example General': 137 Nowhere Street, Erewhon 9132
..... line Σ0..*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 Σ0..1stringName of city, town etc.
Example General': Erewhon
..... district Σ0..1stringDistrict name (aka county)
Example General': Madison
..... state Σ0..1stringSub-unit of country (abbreviations ok)
..... postalCode Σ0..1stringPostal code for area
Example General': 9132
..... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
..... period Σ0..1PeriodTime period when address was/is in use
Example General': {"start":"2010-03-23T00:00:00-04:00","end":"2010-07-01T00:00:00-04:00"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo S0..*AttachmentImage of the patient
... contact SI0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible)
.... name S1..1HumanNameA name associated with the contact person
.... telecom S0..*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 I0..*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 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)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..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required)

doco Documentation for this format

Summary

Mandatory: 20 elements (1 nested mandatory element)
Must-Support: 24 elements
Fixed Value: 6 elements

Slices

This structure defines the following Slices:

  • The element Patient.identifier is sliced based on the value of value:use
  • The element Patient.name is sliced based on the value of value:use
  • The element Patient.telecom is sliced based on the value of value:use
  • The element Patient.address is sliced based on the value of value:use

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*
... identifier S(Slice Definition)Slice: Unordered, Open by value:use
.... officialIdentifier S1..1Identifier
..... use S1..1codeFixed Value: official
..... value S1..1stringLast Name
... name S(Slice Definition)Slice: Unordered, Open by value:use
.... officialName S1..1HumanName
..... use S1..1codeFixed Value: official
..... family S1..1stringLast Name
..... given S1..1stringFirst Name
... telecom S(Slice Definition)Slice: Unordered, Open by value:use
.... mobilePhone S1..1ContactPointMobile Phone Number
..... system S1..1codeFixed Value: phone
..... value S1..1string
..... use S1..1codeFixed Value: mobile
... gender S1..1codeFixed Value: female
... birthDate S1..1date
... address S(Slice Definition)Slice: Unordered, Open by value:use
.... homeAddress S1..1Address
..... use S1..1codeHome Address
Fixed Value: home
..... text S1..1string
... photo S0..*Attachment
... contact S0..*BackboneElement
.... name S1..1HumanName
.... telecom S0..*ContactPoint

doco Documentation for this format

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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ(Slice Definition)An identifier for this patient
Slice: Unordered, Open by value:use
.... officialIdentifier SΣ1..1IdentifierAn identifier for this patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!SΣ1..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Fixed Value: official
..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
..... system Σ0..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient
..... value SΣ1..1stringLast Name
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Σ(Slice Definition)A name associated with the patient
Slice: Unordered, Open by value:use
.... officialName SΣ1..1HumanNameA name associated with the patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!SΣ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required)
Fixed Value: official
..... text Σ0..1stringText representation of the full name
..... family SΣ1..1stringLast Name
..... given SΣ1..1stringFirst Name
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 SΣ(Slice Definition)A contact detail for the individual
Slice: Unordered, Open by value:use
.... mobilePhone SΣ1..1ContactPointMobile Phone Number
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
Fixed Value: phone
..... value SΣ1..1stringThe actual contact point details
..... use ?!SΣ1..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
Fixed Value: mobile
..... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
..... period Σ0..1PeriodTime period when the contact point was/is in use
... gender SΣ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required)
Fixed Value: female
... birthDate SΣ1..1dateThe date of birth for the individual
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣ(Slice Definition)An address for the individual
Slice: Unordered, Open by value:use
.... homeAddress SΣ1..1AddressAn address for the individual
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!SΣ1..1codeHome Address
Binding: AddressUse (required)
Fixed Value: home
..... type Σ0..1codepostal | physical | both
Binding: AddressType (required)
Example General': both
..... text SΣ1..1stringText representation of the address
Example General': 137 Nowhere Street, Erewhon 9132
..... line Σ0..*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 Σ0..1stringName of city, town etc.
Example General': Erewhon
..... district Σ0..1stringDistrict name (aka county)
Example General': Madison
..... state Σ0..1stringSub-unit of country (abbreviations ok)
..... postalCode Σ0..1stringPostal code for area
Example General': 9132
..... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
..... period Σ0..1PeriodTime period when address was/is in use
Example General': {"start":"2010-03-23T00:00:00-04:00","end":"2010-07-01T00:00:00-04:00"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: Marital Status Codes (extensible)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo S0..*AttachmentImage of the patient
... contact SI0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible)
.... name S1..1HumanNameA name associated with the contact person
.... telecom S0..*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 I0..*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 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)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..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required)

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
Patient.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.identifier:officialIdentifier.userequiredFixed Value: official
Patient.identifier:officialIdentifier.typeextensibleIdentifier Type Codes
Patient.name:officialName.userequiredFixed Value: official
Patient.telecom:mobilePhone.systemrequiredFixed Value: phone
Patient.telecom:mobilePhone.userequiredFixed Value: mobile
Patient.genderrequiredFixed Value: female
Patient.address:homeAddress.userequiredFixed Value: home
Patient.address:homeAddress.typerequiredAddressType
Patient.maritalStatusextensibleMarital Status Codes
Patient.contact.relationshipextensiblePatientContactRelationship
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.link.typerequiredLinkType

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2PatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-4PatientIf 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-3PatientIf 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-6PatientA resource should have narrative for robust management
: text.div.exists()
dom-5PatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
ele-1Patient.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
pat-1Patient.contactSHALL 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-1Patient.communicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())