HL7 FHIR JP Core ImplementationGuide
1.1.0a - ci-build Japan flag

HL7 FHIR JP Core ImplementationGuide - Local Development build (v1.1.0a). See the Directory of published versions

Resource Profile: JP Core Patient Profile

項目内容
定義URL http://jpfhir.jp/fhir/core/StructureDefinition/JP_Patient
Version 1.1.0a
Name

JP_Patient

Title

JP Core Patient Profile

Status Active ( 2022-09-26 )
Copyright

FHIR Japanese implementation research working group in Japan Association of Medical Informatics (JAMI)

このプロファイルはPatientリソースに対して、患者のデータを送受信するための基礎となる制約と拡張を定めたものである。


患者のケアやその他の健康関連サービスを受けている個人または動物に関する人口統計およびその他の管理情報。

スコープ

本リソースは、以下を含む幅広い健康関連活動に関与する患者と動物に関するデータをカバーしている。

  • 治療
  • 精神科医療
  • 社会福祉
  • 妊娠ケア
  • 看護と生活支援
  • 健康サービス
  • 個人の健康と運動データの追跡

本リソースのデータは、患者個人に関する情報をカバーしている。その属性は、管理、財務、およびロジスティックな手続きをサポートするために必要な人口統計学的情報に焦点を当てている。患者の記録は、通常、患者のケアを行う各組織によって作成・維持される。従って、複数の組織で治療を受けている患者又は動物は、その情報を複数のPatientリソースに存在させることができる。

全ての概念が基本リソースに含まれているわけではないが(人種、民族、臓器提供の有無、国籍等)、特定の法域のために定義されたプロファイルや標準的な拡張機能に含まれている場合がある。このようなフィールドは、法域によって大きく異なり、似たような概念でも名前や値セットが異なることが多いが、マッピングや交換ができるほど似ているわけではない。

本プロファイルは、患者に関する情報の登録や検索、取得のために 、FHIR Patientリソースを使用するにあたっての、最低限の制約を記述したものである。Patientリソースに対して本プロファイルに準拠する場合に必須となる要素や、サポートすべき拡張、用語、検索パラメータを定義する。

背景および想定シナリオ

本プロファイルは、以下のようなユースケースを想定している。

  • 氏名などの患者情報による患者基本情報の検索

  • 他のリソースからの患者基本情報の参照

プロファイル定義

Usage:

プロファイル詳細

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services 医療サービスを受けている個人または動物に関する情報
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... religion 0..*CodeableConcept患者の宗教 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-religion
Binding: ReligiousAffiliation (extensible)
... birthPlace 0..1Address患者の生誕地 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... race 0..*CodeableConcept患者の人種 【詳細参照】
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_Patient_Race
Binding: Race (preferred)
... identifier 1..*IdentifierAn identifier for this patient 【詳細参照】
.... use 0..1codeusual | official | temp | secondary | old (If known) 【詳細参照】
.... type 0..1CodeableConceptDescription of identifier 【詳細参照】
.... system 0..1uriThe namespace for the identifier value 【詳細参照】
.... value 1..1stringThe value that is unique 【詳細参照】
.... period 0..1PeriodTime period when id is/was valid for use
.... assigner 0..1Reference(JP Core Organization Profile)Organization that issued id (may be just text)
... active 0..1booleanWhether this patient's record is in active use
... name 0..*JP_HumanNameName of a human - parts and usage 人の名前情報、その一部分と使い方
... telecom 0..*ContactPointA contact detail for the individual 個人に連絡するための連絡先の詳細
.... system 0..1codephone | fax | email | pager | url | sms | other 【詳細参照】
.... value 0..1stringThe actual contact point details
.... use 0..1codehome | work | temp | old | mobile - purpose of this contact point 【詳細参照】
.... rank 0..1positiveIntSpecify preferred order of use (1 = highest)
.... period 0..1PeriodTime period when the contact point was/is in use
... gender 0..1codemale | female | other | unknown
... birthDate 0..1dateThe date of birth for the individual 個人の生年月日
... deceased[x] 0..1boolean, dateTimeIndicates if the individual is deceased or not 個人が死亡しているかどうかを示す
... address 0..*AddressAn address for the individual 個人の住所 【詳細参照】
.... use 0..1codehome | work | temp | old | billing - purpose of this address 住所の用途 【詳細参照】
.... type 0..1codepostal | physical | both 【詳細参照】
.... text 0..1stringText representation of the address 住所のテキスト表現 【詳細参照】
.... line 0..*stringStreet name, number, direction & P.O. Box etc.ストリート名や番地など 【詳細参照】
.... city 0..1stringName of city, town etc. 市区町村名 【詳細参照】
.... district 0..1stringDistrict name (aka county) 【詳細参照】
.... state 0..1stringSub-unit of country (abbreviations ok) 国の次の地区単位 【詳細参照】
.... postalCode 0..1stringPostal code for area 【詳細参照】
.... country 0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)国名またはISO 3166コード
.... period 0..1PeriodTime period when address was/is in use 住所が使用されていた(いる)期間
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient 患者の婚姻(市民)状態 【詳細参照】
... multipleBirth[x] 0..1boolean, integerWhether patient is part of a multiple birth 患者が多胎出産の一人かどうか
... photo 0..*AttachmentImage of the patient 患者の画像
... contact 0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient 患者の連絡先者(例:保護者、パートナー、友人)
.... relationship 0..*CodeableConceptThe kind of relationship 【詳細参照】
.... 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
.... organization 0..1Reference(JP Core Organization Profile)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 0..*BackboneElementA language which may be used to communicate with the patient about his or her health 彼または彼女の健康について患者と会話する際に使用する言語
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health 【詳細参照】
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(JP Core Organization Profile | JP Core Practitioner Profile | JP Core PractitionerRole Profile)Patient's nominated primary care provider 患者が指名するケア提供者
... managingOrganization 0..1Reference(JP Core Organization Profile)Organization that is the custodian of the patient record 患者記録の管理者である組織
... link 0..*BackboneElementLink to another patient resource that concerns the same actual person 事実上の同一患者をリンクする別のPatientリソース
.... other 1..1Reference(JP Core Patient Profile | RelatedPerson)The other patient or related person resource that the link refers to
.... type 1..1codereplaced-by | replaces | refer | seealso 【詳細参照】

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation 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): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... religion 0..*CodeableConcept患者の宗教 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-religion
Binding: ReligiousAffiliation (extensible)
... birthPlace 0..1Address患者の生誕地 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... race 0..*CodeableConcept患者の人種 【詳細参照】
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_Patient_Race
Binding: Race (preferred)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..*IdentifierAn 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 ?!Σ0..1codeusual | official | temp | secondary | old (If known) 【詳細参照】
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier 【詳細参照】
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ0..1uriThe namespace for the identifier value 【詳細参照】
Example General: http://www.acme.com/identifiers/patient
.... value Σ1..1stringThe value that is unique 【詳細参照】
Example General: 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(JP Core Organization Profile)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name 0..*JP_HumanNameName of a human - parts and usage 人の名前情報、その一部分と使い方
... telecom Σ0..*ContactPointA contact detail for the individual 個人に連絡するための連絡先の詳細
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣC0..1codephone | fax | email | pager | url | sms | other 【詳細参照】
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value Σ0..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point 【詳細参照】
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ0..1dateThe date of birth for the individual 個人の生年月日
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not 個人が死亡しているかどうかを示す
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAn 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 ?!Σ0..1codehome | work | temp | old | billing - purpose of this address 住所の用途 【詳細参照】
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both 【詳細参照】
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..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)国名またはISO 3166コード
.... period Σ0..1PeriodTime period when address was/is in use 住所が使用されていた(いる)期間
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient 患者の婚姻(市民)状態 【詳細参照】
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1Whether patient is part of a multiple birth 患者が多胎出産の一人かどうか
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient 患者の画像
... contact C0..*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): The nature of the relationship between a patient and a contact person for that patient.


.... 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): The gender of a person used for administrative purposes.

.... organization C0..1Reference(JP Core Organization Profile)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 0..*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): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(JP Core Organization Profile | JP Core Practitioner Profile | JP Core PractitionerRole Profile)Patient's nominated primary care provider 患者が指名するケア提供者
... managingOrganization Σ0..1Reference(JP Core Organization Profile)Organization that is the custodian of the patient record 患者記録の管理者である組織
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person 事実上の同一患者をリンクする別の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
.... other Σ1..1Reference(JP Core Patient Profile | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso 【詳細参照】
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Patient.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.identifier.userequiredIdentifierUse
Patient.identifier.typeextensibleIdentifier Type Codes
Patient.telecom.systemrequiredContactPointSystem
Patient.telecom.userequiredContactPointUse
Patient.genderrequiredAdministrativeGender
Patient.address.userequiredAddressUse
Patient.address.typerequiredAddressType
Patient.maritalStatusextensibleMarital Status Codes
Patient.contact.relationshipextensiblePatientContactRelationship
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.link.typerequiredLinkType

Constraints

IdGradePathDetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorPatient.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:religionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:religionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:birthPlaceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:birthPlaceMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:raceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:raceMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.activeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.telecom.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.telecom.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.rankAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.birthDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.address.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.address.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.lineAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.cityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.districtAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.stateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.postalCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.countryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.maritalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.multipleBirth[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.photoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
pat-1errorPatient.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-1errorPatient.contact.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.contact.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.contact.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.contact.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.contact.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.communication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.communication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.communication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.communication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communication.preferredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.generalPractitionerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.managingOrganizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.link.otherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.link.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services 医療サービスを受けている個人または動物に関する情報
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... religion 0..*CodeableConcept患者の宗教 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-religion
Binding: ReligiousAffiliation (extensible)
... birthPlace 0..1Address患者の生誕地 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... race 0..*CodeableConcept患者の人種 【詳細参照】
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_Patient_Race
Binding: Race (preferred)
... identifier 1..*IdentifierAn identifier for this patient 【詳細参照】
.... use 0..1codeusual | official | temp | secondary | old (If known) 【詳細参照】
.... type 0..1CodeableConceptDescription of identifier 【詳細参照】
.... system 0..1uriThe namespace for the identifier value 【詳細参照】
.... value 1..1stringThe value that is unique 【詳細参照】
.... period 0..1PeriodTime period when id is/was valid for use
.... assigner 0..1Reference(JP Core Organization Profile)Organization that issued id (may be just text)
... active 0..1booleanWhether this patient's record is in active use
... name 0..*JP_HumanNameName of a human - parts and usage 人の名前情報、その一部分と使い方
... telecom 0..*ContactPointA contact detail for the individual 個人に連絡するための連絡先の詳細
.... system 0..1codephone | fax | email | pager | url | sms | other 【詳細参照】
.... value 0..1stringThe actual contact point details
.... use 0..1codehome | work | temp | old | mobile - purpose of this contact point 【詳細参照】
.... rank 0..1positiveIntSpecify preferred order of use (1 = highest)
.... period 0..1PeriodTime period when the contact point was/is in use
... gender 0..1codemale | female | other | unknown
... birthDate 0..1dateThe date of birth for the individual 個人の生年月日
... deceased[x] 0..1boolean, dateTimeIndicates if the individual is deceased or not 個人が死亡しているかどうかを示す
... address 0..*AddressAn address for the individual 個人の住所 【詳細参照】
.... use 0..1codehome | work | temp | old | billing - purpose of this address 住所の用途 【詳細参照】
.... type 0..1codepostal | physical | both 【詳細参照】
.... text 0..1stringText representation of the address 住所のテキスト表現 【詳細参照】
.... line 0..*stringStreet name, number, direction & P.O. Box etc.ストリート名や番地など 【詳細参照】
.... city 0..1stringName of city, town etc. 市区町村名 【詳細参照】
.... district 0..1stringDistrict name (aka county) 【詳細参照】
.... state 0..1stringSub-unit of country (abbreviations ok) 国の次の地区単位 【詳細参照】
.... postalCode 0..1stringPostal code for area 【詳細参照】
.... country 0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)国名またはISO 3166コード
.... period 0..1PeriodTime period when address was/is in use 住所が使用されていた(いる)期間
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient 患者の婚姻(市民)状態 【詳細参照】
... multipleBirth[x] 0..1boolean, integerWhether patient is part of a multiple birth 患者が多胎出産の一人かどうか
... photo 0..*AttachmentImage of the patient 患者の画像
... contact 0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient 患者の連絡先者(例:保護者、パートナー、友人)
.... relationship 0..*CodeableConceptThe kind of relationship 【詳細参照】
.... 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
.... organization 0..1Reference(JP Core Organization Profile)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 0..*BackboneElementA language which may be used to communicate with the patient about his or her health 彼または彼女の健康について患者と会話する際に使用する言語
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health 【詳細参照】
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(JP Core Organization Profile | JP Core Practitioner Profile | JP Core PractitionerRole Profile)Patient's nominated primary care provider 患者が指名するケア提供者
... managingOrganization 0..1Reference(JP Core Organization Profile)Organization that is the custodian of the patient record 患者記録の管理者である組織
... link 0..*BackboneElementLink to another patient resource that concerns the same actual person 事実上の同一患者をリンクする別のPatientリソース
.... other 1..1Reference(JP Core Patient Profile | RelatedPerson)The other patient or related person resource that the link refers to
.... type 1..1codereplaced-by | replaces | refer | seealso 【詳細参照】

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation 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): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... religion 0..*CodeableConcept患者の宗教 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-religion
Binding: ReligiousAffiliation (extensible)
... birthPlace 0..1Address患者の生誕地 【詳細参照】
URL: http://hl7.org/fhir/StructureDefinition/patient-birthPlace
... race 0..*CodeableConcept患者の人種 【詳細参照】
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_Patient_Race
Binding: Race (preferred)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..*IdentifierAn 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 ?!Σ0..1codeusual | official | temp | secondary | old (If known) 【詳細参照】
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier 【詳細参照】
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ0..1uriThe namespace for the identifier value 【詳細参照】
Example General: http://www.acme.com/identifiers/patient
.... value Σ1..1stringThe value that is unique 【詳細参照】
Example General: 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(JP Core Organization Profile)Organization that issued id (may be just text)
... active ?!Σ0..1booleanWhether this patient's record is in active use
... name 0..*JP_HumanNameName of a human - parts and usage 人の名前情報、その一部分と使い方
... telecom Σ0..*ContactPointA contact detail for the individual 個人に連絡するための連絡先の詳細
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣC0..1codephone | fax | email | pager | url | sms | other 【詳細参照】
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value Σ0..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point 【詳細参照】
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ0..1dateThe date of birth for the individual 個人の生年月日
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not 個人が死亡しているかどうかを示す
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAn 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 ?!Σ0..1codehome | work | temp | old | billing - purpose of this address 住所の用途 【詳細参照】
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both 【詳細参照】
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..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)国名またはISO 3166コード
.... period Σ0..1PeriodTime period when address was/is in use 住所が使用されていた(いる)期間
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient 患者の婚姻(市民)状態 【詳細参照】
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.

... multipleBirth[x] 0..1Whether patient is part of a multiple birth 患者が多胎出産の一人かどうか
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient 患者の画像
... contact C0..*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): The nature of the relationship between a patient and a contact person for that patient.


.... 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): The gender of a person used for administrative purposes.

.... organization C0..1Reference(JP Core Organization Profile)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 0..*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): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(JP Core Organization Profile | JP Core Practitioner Profile | JP Core PractitionerRole Profile)Patient's nominated primary care provider 患者が指名するケア提供者
... managingOrganization Σ0..1Reference(JP Core Organization Profile)Organization that is the custodian of the patient record 患者記録の管理者である組織
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person 事実上の同一患者をリンクする別の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
.... other Σ1..1Reference(JP Core Patient Profile | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso 【詳細参照】
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Patient.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.identifier.userequiredIdentifierUse
Patient.identifier.typeextensibleIdentifier Type Codes
Patient.telecom.systemrequiredContactPointSystem
Patient.telecom.userequiredContactPointUse
Patient.genderrequiredAdministrativeGender
Patient.address.userequiredAddressUse
Patient.address.typerequiredAddressType
Patient.maritalStatusextensibleMarital Status Codes
Patient.contact.relationshipextensiblePatientContactRelationship
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.link.typerequiredLinkType

Constraints

IdGradePathDetailsRequirements
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorPatient.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:religionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:religionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:birthPlaceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:birthPlaceMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:raceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:raceMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.activeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.telecom.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.telecom.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.rankAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecom.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.birthDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.address.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.address.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.lineAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.cityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.districtAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.stateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.postalCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.countryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.address.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.maritalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.multipleBirth[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.photoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
pat-1errorPatient.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-1errorPatient.contact.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.contact.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.contact.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.contact.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.contact.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.communication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.communication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.communication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.communication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communication.preferredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.generalPractitionerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.managingOrganizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.link.otherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.link.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

 

Other representations of profile: CSV, Excel, Schematron

必須要素

Patient リソースは、次の要素を持たなければならない。

  • identifier :患者を識別するための識別子は必須要素でありidentifier.value が必ず存在しなければならない、またidentifierの名前空間を表すidentifier.systemも組み合わせて、医療機関固有の患者番号を表現することが一般的である

Extensions定義

JP Patient リソースで使用される拡張は次の通りである。

  • religion

    • 患者の宗教を表す
  • birthPlace

    • 患者の生誕地を表す。Address型を使って表現するため、すべての住所情報あるいは、都道府県名のみの情報(Address.state)だけを格納するということも可能である
  • JP_Patient_Race

    • 患者の人種に関する情報を表す
  • nameRepresentationUse

    • 患者氏名(Patient.name)の漢字表記・カナ表記識別のために使用する

利用方法

OperationおよびSearch Parameter 一覧

Search Parameter一覧

コンフォーマンス パラメータ
SHALL identifier token GET [base]/Patient?identifier=urn:oid:1.2.392.100495.20.3.51.11312345670|123456
SHOULD name string GET [base]/Patient?name=山田%20太郎
SHOULD birthdate,name date,string GET [base]/Patient?birthdate=eq2013-01-14&name=山田%20太郎
SHOULD birthdate,gender date,code GET [base]/Patient?birthdate=eq2013-01-14&gender=male
SHOULD birthdate,name,gender date,string,code GET [base]/Patient?birthdate=eq2013-01-14&name=山田%20太郎&gender=male
SHOULD name,phone string,token GET [base]/Patient?name=山田%20太郎&phone=111-222-3333
SHOULD name,address-postalcode string,string GET [base]/Patient?name=山田%20太郎&address-postalcode=1234567
MAY family,given,birthdate,gender,phone,address-postalcode string,string,date,token,token,string GET [base]/Patient?family=山田&given=太郎&birthdate=eq2013-01-14&gender=male&phone=111-222-3333&address-postalcode=1234567
必須検索パラメータ

次の検索パラメータは必須でサポートされなければならない。

  1. identifier 検索パラメータを使用して、患者番号/カルテ番号などの識別子によるPatientの検索をサポートしなければならない(SHALL)

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

    例:

    GET [base]/Patient?identifier=urn:oid:1.2.392.100495.20.3.51.11312345670|123456
    

    指定された識別子に一致するPatientリソースを含むBundleを検索する。

推奨検索パラメータ

次の検索パラメータをサポートすることが望ましい。

  1. name 検索パラメータを使用してPatientの検索をサポートすることが望ましい(SHOULD)、name検索パラメータはHumanNameの文字列フィールド(family、give、prefix、suffix、および/またはtextを含む)のいずれかに一致するPatientリソースを検索する

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

    例:

    GET [base]/Patient?name=山田%20太郎
    
  2. birthdate, name 検索パラメータを使用して、Patientの検索をサポートすることが望ましい(SHOULD)。name検索パラメータは、HumanNameの文字列フィールド(family、give、prefix、suffix、および/またはtextを含む)のいずれかに一致するPatientリソースを検索する

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

    例:

    GET [base]/Patient?birthdate=eq2000-10-10&name=山田%20太郎
    
  3. birthdate, gender 検索パラメータを使用して、Patientの検索をサポートすることが望ましい(SHOULD

    GET [base]/Patient?birthdate=eq{date}&gender={code}
    

    例:

    GET [base]/Patient?birthdate=eq2000-10-10&gender=male
    
  4. birthdate, name, gender 検索パラメータを使用してPatientの検索をサポートすることが望ましい(SHOULD)、name検索パラメータはHumanNameの文字列フィールド(family、give、prefix、suffix、および/またはtextを含む)のいずれかに一致するPatientリソースを検索する

    GET [base]/Patient?birthdate=eq{date}&name={string}&gender={code}
    

    例:

    GET [base]/Patient?birthdate=eq2000-10-10&name=山田%20太郎&gender=male
    
  5. name, phone 検索パラメータを使用してPatientの検索をサポートすることが望ましい(SHOULD)、name検索パラメータはHumanNameの文字列フィールド(family、give、prefix、suffix、および/またはtextを含む)のいずれかに一致するPatientリソースを検索する

    GET [base]/Patient?name={string}&phone={token}
    

    例:

    GET [base]/Patient?name=山田%20太郎&phone=0123456789
    
  6. name, address-postalcode 検索パラメータを使用してPatientの検索をサポートすることが望ましい(SHOULD)、name検索パラメータはHumanNameの文字列フィールド(family、give、prefix、suffix、および/またはtextを含む)のいずれかに一致するPatientリソースを検索する、address-postalcodeはPatient.address.postalCode要素に対する検索パラメータであり日本の住所表記における郵便番号をキーにして検索することを想定している

    GET [base]/Patient?name={string}&address-postalcode={string}
    

    例:

    GET [base]/Patient?name=山田%20太郎&address-postalcode=1234567
    
オプション検索パラメータ

オプションとして次の検索パラメータをサポートすることができる。

  1. 複合条件として、family,given,birthdate,gender,phone,address-postalcodename の各検索パラメータを複数指定したPatientの検索をサポートすることができる(MAY)

    GET [base]/Patient?family={string}&given={string}&birthdate=eq{date}&gender={token}&phone={token}&address-postalcode={string}
    

    例:

    GET [base]/Patient?family=山田&given=太郎&birthdate=eq2013-01-14&gender=male&phone=111-222-3333&address-postalcode=1234567
    

    family,given,birthdate,gender,phone,address-postalcodename の各検索パラメータに一致するPatientリソースを含むBundleを検索する。

追加検索パラメータ

カナ名称ソート用の検索パラメータ[jp-patient-kanasort-sp]を追加している。

Operation一覧

JP Patient リソースに対して使用される操作は次の通りである。

  • $everything:[base]/Patient/$everything , [base]/Patient/[id]/$everything

    • この操作が呼び出された場合、すべての患者の、あるいは指定された特定の[id]をもつPatientに関連した全てのリソースを返す
$everything 操作

この操作は、この操作が呼び出された特定のPatientリソースに関連する全ての情報を返す。応答は “searchset” タイプのBundleリソースである。サーバは、少なくとも、識別された医療従事者のPatientコンパートメントに含まれる全てのリソースと、それらから参照されるすべてのリソースを返すことが望ましい。

この操作の公式なURLは以下である。

http://hl7.jp/fhir/OperationDefinition/Patient-everything
URL: [base]/Patient/[id]/$everything

本操作は、べき等な操作である。

入力パラメータ
名前 多重度 説明
start 0..1 date 特定の日付範囲で提供されたケアに関連する全ての記録を意味する。開始日が指定されていない場合、終了日以前のすべてのレコードが対象に含まれる。
end 0..1 date 特定の日付範囲で提供されたケアに関連する全ての記録を意味する。終了日が指定されていない場合、開始日以降のすべてのレコードが対象に含まれる。
_since 0..1 instant 指定された日時以降に更新されたリソースのみが応答に含まれる。
_type 0..* code 応答に含むFHIRリソース型を、カンマ区切りで指定する。指定されない場合は、サーバは全てのリソース型を対象とする。
_count 0..1 integer Bundleの1ページに含まれるリソース件数を指定。
出力パラメータ
名前 多重度 説明
return 1..1 Bundle バンドルのタイプは”searchset”である。この操作の結果は、リソースとして直接返される。

リクエスト:単一のPatientに関連する全てのリソースを取得する。

GET [base]/Patient/p001/$everything
[some headers]

レスポンス:指定されたPatientに関連する全てのリソースを返す。

HTTP/1.1 200 OK [other headers]

    {
      "resourceType": "Bundle",
      "id": "example",
      "meta": {
        "lastUpdated": "2014-08-18T01:43:33Z"
      },
      "type": "searchset",
      "entry": [
        {
          "fullUrl": "http://example.org/fhir/Patient/p001",
          "resource": {
            "resourceType": "Patient",
            省略
          }
        }
      ]
    }  

サンプル

その他、参考文献・リンク等

  1. 退院時サマリー規約 http://www.hl7.jp/library/item/HL7J-CDA-007.pdf
  2. 診療情報提供書規格 http://www.hl7.jp/intro/std/HL7J-CDA-005.pdf
  3. 特定健診情報ファイル仕様 https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000165280.html
  4. SS-MIX2 標準化ストレージ 仕様書 Ver.1.2h https://www.jami.jp/jamistd/docs/SS-MIX2/h/SS-MIX2_StndrdStrgSpecVer.1.2h.pdf
  5. ICSR E2B(R3) https://www.pmda.go.jp/int-activities/int-harmony/ich/0093.html