FHIR Release 3 (STU)

Переводит компания Health Samurai . Приглашаем поучаствовать в русификации стандарта FHIR: GitHub , Email.

2.26.0 Типы данных

FHIR Infrastructure Work GroupMaturity Level: 4Ballot Status: Trial Use

В спецификации FHIR приводится набор типов данных, которые используются в элементах ресурсов. Типы данных делятся на четыре категории:

  1. Simple / primitive types, which are single elements with a primitive value (below)
  2. General purpose complex types, which are re-usable clusters of elements (below)
  3. Complex data types for metadata
  4. Special purpose data types: Reference, Narrative, Extension, Meta, и Dosage

This page describes the general purpose data types.

Содержание документа

Пояснения: Белый = абстрактный тип. Голубой = конкретные типы. Розовый = профиль для типа.

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*decimalActual value attribute of the data typevalue : xs:decimal 0..1integerActual value attribute of the data typevalue : xs:int 0..1booleanActual value attribute of the data typevalue : xs:boolean 0..1instantActual value attribute of the data typevalue : xs:dateTime 0..1dateActual value attribute of the data typevalue : xs:gYear|xs:gYearMonth|xs:date 0..1base64BinaryActual value attribute of the data typevalue : xs:base64Binary 0..1stringActual value attribute of the data typevalue : xs:string 0..1codedateTimeActual value attribute of the data typevalue : xs:gYear|xs:gYearMonth|xs:date|xs:dateTime 0..1iduriActual value attribute of the data typevalue : xs:anyURI 0..1oidtimeActual value attribute of the data typevalue : xs:time 0..1unsignedIntpositiveIntmarkdown

В таблице ниже описываются используемые в данной спецификации примитивные типы. Примитивные типы - это типы, имеющие только value, без дополнительных элементов-потомков, хотя как и все типы, они могут иметь расширения. См. также the Примеры.

Примитивные типы
Имя в FHIR Возможные значения XML-представление JSON-представление
boolean true | false xs:boolean, за исключением того, что 0 и 1 не являются допустимыми значениями JSON boolean (true or false)
integer 32-битное целое число со знаком (для больших значений используйте тип decimal) xs:int, except that leading 0 digits are not allowed JSON number (with no decimal point)
Regex: [0]|[-+]?[1-9][0-9]*
string Последовательность символов в кодировке Unicode xs:string JSON String
Обратите внимание, что строки не должны превышать 1 МБ в размере. Строка не должна содержать символы Unicode с кодом меньше 32, за исключением u0009 (горизонтальная табуляция), u0010 (возврат каретки) и u0013 (перевод строки)
Todo: is there any reason not to make this a SHALL?
decimal Рациональные числа, имеющие десятичное представление. См. ниже о точности таких чисел xs:decimal, за исключением того, что decimals могут не использовать экспоненту, а 0 в начальной позиции не разрешены JSON number, за исключением того, что использование экспоненты не разрешено xs:decimal, исключая decimals, которые не используют экспоненту JSON-число (number), но без экспоненты
uri Унифицированный идентификатор ресурса (RFC 3986 ). Примечание: URI чувствительны к регистру. Для UUID (urn:uuid:53fefa32-fcbb-4ff8-8a92-55ee120877b7) используйте нижний регистр xs:anyURI A JSON string - a URI
URIs могут быть абсолютными или относительными и могут иметь необязательный идентификатор фрагмента
base64Binary Поток байтов в кодировке base64 (RFC 4648 ) xs:base64Binary A JSON string - base64 content
Todo: is it possible to impose an upper absolute limit on a base64Binary (for denial of service reasons, like on string)?
instant Момент времени, указанный с точностью как минимум до секунды и всегда включающий в себя часовой пояс. Note: This is intended for precisely observed times (typically system logs etc.), and not human-reported times - for them, use date and dateTime. instant is a more constrained dateTime xs:dateTime A JSON string - an xs:dateTime
Примечание: это тип для указания системного времени, а не человеческого (см. date и dateTime ниже).
date Дата или часть даты (например только год или год + месяц) в том представлении, как она используется в человеческой коммуникации. Здесь нет указания часового пояса. Даты ДОЛЖНЫ быть допустимыми датами union of xs:date, xs:gYearMonth, xs:gYear A JSON string - a union of xs:date, xs:gYearMonth, xs:gYear
Regex: -?[0-9]{4}(-(0[1-9]|1[0-2])(-(0[0-9]|[1-2][0-9]|3[0-1]))?)?
dateTime Дата, дата/время или часть даты (например только год или год + месяц) в том представлении, как она используется в человеческой коммуникации. Если указаны часы и минуты, то также ДОЛЖЕН быть указан и часовой пояс. Секунды должны указываться в соответствии с ограничениями схемы для типов, но их можно заполнить нулями и игнорировать. Даты ДОЛЖНЫ быть допустимыми датами. Время "24:00" не допустимо union of xs:dateTime, xs:date, xs:gYearMonth, xs:gYear A JSON string - a union of xs:dateTime, xs:date, xs:gYearMonth, xs:gYear
Regex: -?[0-9]{4}(-(0[1-9]|1[0-2])(-(0[0-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)))?)?)?
time Время в пределах дня без указания даты (может быть сконвертировано в Duration с точкой отсчета в полночь). Секунды должны указываться в соответствии с ограничениями схемы для типов, но их можно заполнить нулями и игнорировать. Время "24:00" не допустимо, как и указание таймзоны xs:time A JSON string - an xs:time
Regex: ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?
code Indicates that the value is taken from a set of controlled strings defined elsewhere (see Using codes for further discussion). Technically, a code is restricted to a string which has at least one character and no leading or trailing whitespace, and where there is no whitespace other than single spaces in the contents xs:token JSON string
Regex: [^\s]+([\s]?[^\s]+)*
oid An OID represented as a URI (RFC 3001 ); e.g. urn:oid:1.2.3.4.5 xs:anyURI JSON string - uri
Regex: urn:oid:[0-2](\.[1-9]\d*)+
id Any combination of upper or lower case ASCII letters ('A'..'Z', и 'a'..'z', numerals ('0'..'9'), '-' и '.', with a length limit of 64 characters. (This might be an integer, an un-prefixed OID, UUID or any other identifier pattern that meets these constraints.) xs:string JSON string
Regex: [A-Za-z0-9\-\.]{1,64}
markdown A string that may contain markdown syntax for optional processing by a markdown presentation engine xs:string JSON string
unsignedInt Any non-negative integer (e.g. >= 0) xs:nonNegativeInteger JSON number
Regex: [0]|([1-9][0-9]*)
positiveInt Any positive integer (e.g. >= 1) xs:positiveInteger JSON number
Regex: +?[1-9][0-9]*

Примечания:

  • Для всех типов их XML-, JSON- и Turtle-представления совпадают, за исключением различий в экранировании символов в XML и JSON
  • Boolean values can also be represented using coded values (such as HL7 v2 Table 0136). See Observation for one such use
  • Приведенные регулярные выражения могут пропускать более широкий набор значений, чем фактически допустимый (например високосные года), поэтому требуется дополнительная валидация
  • The regexes should be qualified with start of string and end of string anchors based on the regex implementation used (e.g. caret '^' and dollar-sign '$' for JavaScript, POSIX, XML and XPath; '\A' и '\Z' for .NET, Java, Python and others; please verify these definitions with the regex implementation used).
  • The data types code, string, and uri can be bound to a value set
  • Точность десятичных значений имеет значение:
    • например 0.010 рассматривается как отличное от 0.01
    • Реализации ДОЛЖНЫ обрабатывать десятичные значения таким образом, чтобы сохранять и учитывать точность представленного значения в целях отображения
    • Implementations are not required to perform calculations with these numbers differently, though they may choose to do so (i.e. preserve significance)
    • See implementation comments for XML, JSON и RDF
    • В объектном коде, реализации, выполняющие это ограничение, являются GMP-реализациями или эквивалентами Java BigDecimal, которые реализуют произвольную точность, либо комбинацией значения с плавающей точкой (64 bit) с полем для указания точности
    • Обратите внимание, что нет абсолютного лимита для размера значения, хотя большие и/или высокоточные значения чрезвычайно редки в медицине. Единственный элемент, где могут встретиться десятичные значения высокой точности - это координаты в Location
  • About the id datatype:
    • Ids are case sensitive. UUIDs SHALL be sent using lowercase letters
    • The ID type includes identifiers consistent with ISO 18232 , but also includes other identifier formats as well, and is not case insensitive like ISO 18232.
    • In a typical FHIR URL, like http://example.com/fhir/Patient/1234, the last part "1234" (highlighted in red) is the part that is an id datatype
    • A full UUID is a uri, not an id. UUIDs in URIs SHALL also be represented in lowercase (urn:uuid:59bf0ef4-e89c-4628-9b51-12ae3fdbe22b)
  • About the markdown datatype:
    • Systems are not required to have markdown support, and there is considerable variation in markdown syntax, so the content of a string should be readable without markdown processing, per markdown philosophy
    • The preferred markdown syntax is described at http://daringfireball.net/projects/markdown/syntax (see tests here: http://daringfireball.net/projects/downloads/MarkdownTest_1.0.zip )
    • Markdown content should not contain Unicode character points below 32, except for u0009 (horizontal tab), u0010 (carriage return) and u0013 (line feed). Todo: is there any reason not to make this a SHALL?

STU Note: It is likely that FHIR will change to require/recommend CommonMark in Release 4.

Feedback is welcome here .

Все элементы, использующие данные примитивные типы, могут иметь одно или несколько значений, как описано выше, внутреннюю сущность (например xml:id) и расширения. Возьмём, к примеру, элемент с именем "count" и типом "integer".

XML

Значение представляется в XML с помощью атрибута "value":

  <count value="2"/>

The full representation, with id, extensions and value:

  <count id="a1" value="2">
    <extension url="...">
      <valueXX.../>
    </extension>
  </count>

JSON

In JSON, for convenience, the value is represented as the property itself:

  "count" : 2

The full representation, with id, extensions and value, showing the id and extensions in the sibling property:

  "count" : 2
  "count_" : {
    "id" : "a1",
    "extension" : [{
      "url" : "...",
      "valueXXX" : "...."
    }]
  }

RDF

The value is represented in RDF as an relationship with the URI "http://h;7.org/fhir/value". Using the normal prefix, this becomes:

  fhir:Type.count [ fhir:value "2"^^xsd:integer ]

For the types date and DateTime, the type must be specified explicitly. For all other types, it is optional. The full representation, with id, extensions and value:

  fhir:Type.count [ 
    Element.id "a1";
    fhir:value "2"^^xsd:integer;
    Element.extension [ 
      fhir:Extension.url ".."; 
      fhir:Extension.valueXX...
    ]
  ]

Дополнительную информацию см. на страницах описания форматов XML, JSON и Turtle. Когда значение отсутствует и нет расширений, элемент не указывается вообще. This means that in xml, attributes are never present with a length of 0 (value=""), and properties are never a 0 length string or null in JSON ("name" : "" is not valid). (note: there is one specific use of the null in the JSON representation).

В соответствии с XML-схемой пробелы в начале и в конце атрибута value игнорируются для типов boolean, integer, decimal, base64Binary, instant, uri, date, dateTime, oid и uri. Обратите внимание, из этого следует, что библиотеки XML, следующие схеме, дают разные значения атрибутов по сравнению с библиотеками, не соответствующими схеме, во время чтения экземпляров XML. По этой причине атрибут value для этих типов НЕ ДОЛЖЕН иметь пробелы в начале и в конце. Строковые значения могут иметь пробелы в начале и в конце, если они являются частью содержимого их значения. В JSON и Turtle пробелы в строковых значениях всегда являются значимыми. Примитивные типы за исключением string НЕ ДОЛЖНЫ содержать пробелы в начале и в конце.


В XML Эти типы представлены XML-элементами, имеющими элементы-потомки с именем определённых элементов этого типа. Имя элемента задаётся там, где этот тип используется. В JSON тип данных представлен объектом, у которого имена свойств совпадают с XML-элементами. JSON-представление почти ничем не отличается, поэтому только первый пример содержит дополнительное JSON-представление.

Сложные типы данных могут быть "профилированы". Structure Definition типа "constraint" задает набор правил о том, какие элементы ДОЛЖНЫ иметь значения и какие значения являются допустимыми.

UML-диаграмма типов данных

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*Quantity . value : decimal [0..1]How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value (this element modifies the meaning of other elements)comparator : code [0..1] How the Quantity should be understood and represented. (Strength=Required)QuantityComparator! A human-readable form of the unitunit : string [0..1] , system : uri [0..1]A computer processable form of the unit in some unit representation systemcode : code [0..1]AttachmentIdentifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriatecontentType : code [0..1] The mime type of an attachment. Any valid mime type is allowed. (Strength=Required)MimeType! The human language of the content. The value can be any valid value according to BCP 47language : code [0..1] . (Strength=Extensible)Common Languages+ The actual data of the attachment - a sequence of bytes. In XML, represented using base64data : base64Binary [0..1]An alternative location where the data can be accessedurl : uri [0..1]The number of bytes of data that make up this attachment (before base64 encoding, if that is done)size : unsignedInt [0..1]The calculated hash of the data using SHA-1. Represented using base64hash : base64Binary [0..1]A label or set of text to display in place of the datatitle : string [0..1], creation : dateTime [0..1]Range . low : Quantity(SimpleQuantity) [0..1]The high limit. The boundary is inclusivehigh : Quantity(SimpleQuantity) [0..1]Period . start : dateTime [0..1]The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that timeend : dateTime [0..1]Ratio numerator : Quantity [0..1] denominator : Quantity [0..1]CodeableConceptA reference to a code defined by a terminology systemcoding : Coding [0..*]A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the usertext : string [0..1]Coding , system : uri [0..1] , . , - . , , version : string [0..1] , . , ( )code : code [0..1]A representation of the meaning of the code in the system, following the rules of the systemdisplay : string [0..1], - ( )userSelected : boolean [0..1]SampledDataThe base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement seriesorigin : Quantity(SimpleQuantity) [1..1]The length of time between sampling times, measured in millisecondsperiod : decimal [1..1]A correction factor that is applied to the sampled data points before they are added to the originfactor : decimal [0..1]The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit)lowerLimit : decimal [0..1]The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit)upperLimit : decimal [0..1]The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at oncedimensions : positiveInt [1..1]A series of data points which are decimal values separated by a single space (character u20). The special values "E" (error), "L" (below detection limit) and "U" (above detection limit) can also be used in place of a decimal valuedata : string [1..1] ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*Identifier (this element modifies the meaning of other elements)use : code [0..1] Identifies the purpose for this identifier, if known . (Strength=Required)IdentifierUse! , , type : CodeableConcept [0..1] A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. (Strength=Extensible)Identifier Type + Establishes the namespace for the value - that is, a URL that describes a set values that are uniquesystem : uri [0..1] , , value : string [0..1] , / period : Period [0..1], / assigner : Reference [0..1] Organization HumanNameIdentifies the purpose for this name (this element modifies the meaning of other elements)use : code [0..1] The use of a human name (Strength=Required)NameUse! A full text representation of the nametext : string [0..1]The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his fatherfamily : string [0..1]Given namegiven : string [0..*]Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the nameprefix : string [0..*]Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the namesuffix : string [0..*]Indicates the period of time when this name was valid for the named personperiod : Period [0..1]Address (this element modifies the meaning of other elements)use : code [0..1] The use of an address (Strength=Required)AddressUse! ( ) ( ). , type : code [0..1] The type of an address (physical / postal) (Strength=Required)AddressType! text : string [0..1]This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address informationline : string [0..*]The name of the city, town, village or other community or delivery centercity : string [0..1]The name of the administrative area (county)district : string [0..1]Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes)state : string [0..1]A postal code designating a region defined by the postal servicepostalCode : string [0..1] - country : string [0..1] , / period : Period [0..1]ContactPoint - system : code [0..1] Telecommunications form for contact point (Strength=Required)ContactPointSystem! , (. . )value : string [0..1] (this element modifies the meaning of other elements)use : code [0..1] Use of contact point (Strength=Required)ContactPointUse! Specifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher valuesrank : positiveInt [0..1] , / period : Period [0..1]Timing , event : dateTime [0..*]A code for the timing schedule. Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code)code : CodeableConcept [0..1] Code for a known / defined timing pattern. (Strength=Preferred)TimingAbbreviation? Repeat , , / bounds[x] : Type [0..1] Duration|Range|Period count : integer [0..1]A maximum value for the count of the desired repetitions (e.g. do something 6-8 times)countMax : integer [0..1] , duration : decimal [0..1] , , durationMax : decimal [0..1] , UCUM durationUnit : code [0..1] A unit of time (units from UCUM). (Strength=Required)UnitsOfTime! / (. . period, periodMax)frequency : integer [0..1]If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period rangefrequencyMax : integer [0..1]Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the periodperiod : decimal [0..1] , , [period] [periodMax], , "do this once every 3-5 days"periodMax : decimal [0..1] UCUM-periodUnit : code [0..1] A unit of time (units from UCUM). (Strength=Required)UnitsOfTime! If one or more days of week is provided, then the action happens only on the specified day(s)dayOfWeek : code [0..*] (Strength=Required)DaysOfWeek! Specified time of day for action to take placetimeOfDay : time [0..*]Real world events that the occurrence of the event should be tied towhen : code [0..*] Real world event relating to the schedule. (Strength=Required)EventTiming! The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the eventoffset : unsignedInt [0..1]Signature , . type : Coding [1..*] An indication of the reason that an entity signed the object (Strength=Preferred)Signature Type ? when : instant [1..1] , ( )who[x] : Type [1..1] uri|Reference(Practitioner|RelatedPerson| Patient|Device|Organization) A reference to an application-usable description of the identity that is represented by the signatureonBehalfOf[x] : Type [0..1] uri|Reference(Practitioner| RelatedPerson|Patient|Device|Organization) A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jwt for JWT, and image/* for a graphical image of a signature, etccontentType : code [0..1] The mime type of an attachment. Any valid mime type is allowed. (Strength=Required)MimeType! The base64 encoding of the Signature content. When signature is not recorded electronically this element would be emptyblob : base64Binary [0..1]AnnotationThe individual responsible for making the annotationauthor[x] : Type [0..1] Reference(Practitioner|Patient| RelatedPerson)|string Indicates when this particular annotation was madetime : dateTime [0..1]The text of the annotationtext : string [1..1]A set of rules that describe when the event is scheduledrepeat[0..1]

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Тип данных, содержащий вложение или ссылку на вложение - дополнительные данные в другом формате. Наиболее частое использование этого типа - включение изображений или отчетов в некотором формате документов, например PDF. Однако он может использоваться для любых данных MIME-типа.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Attachment IElementContent in a format defined elsewhere
+ It the Attachment has data, it SHALL have a contentType
Элементы, определённые в прародителе: id, extension
... contentType Σ0..1codeMime type of the content, with charset etc.
MimeType (Required)
... language Σ0..1codeHuman language of the content (BCP-47)
Common Languages (Extensible but limited to All Languages)
... data 0..1base64BinaryData inline, base64ed
... url Σ0..1uriUri where the data can be found
... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
... title Σ0..1stringLabel to display in place of the data
... creation Σ0..1dateTimeДата создания вложения

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <contentType value="[code]"/><!-- 0..1 Mime type of the content, with charset etc.  -->
 <language value="[code]"/><!-- 0..1 Human language of the content (BCP-47) -->
 <data value="[base64Binary]"/><!-- 0..1 Data inline, base64ed -->
 <url value="[uri]"/><!-- 0..1 Uri where the data can be found -->
 <size value="[unsignedInt]"/><!-- 0..1 Number of bytes of content (if url provided) -->
 <hash value="[base64Binary]"/><!-- 0..1 Hash of the data (sha-1, base64ed) -->
 <title value="[string]"/><!-- 0..1 Label to display in place of the data -->
 <creation value="[dateTime]"/><!-- 0..1 Дата создания вложения -->
</[name]>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Attachment.contentType [ code ]; # 0..1 Mime type of the content, with charset etc.
  fhir:Attachment.language [ code ]; # 0..1 Human language of the content (BCP-47)
  fhir:Attachment.data [ base64Binary ]; # 0..1 Data inline, base64ed
  fhir:Attachment.url [ uri ]; # 0..1 Uri where the data can be found
  fhir:Attachment.size [ unsignedInt ]; # 0..1 Number of bytes of content (if url provided)
  fhir:Attachment.hash [ base64Binary ]; # 0..1 Hash of the data (sha-1, base64ed)
  fhir:Attachment.title [ string ]; # 0..1 Label to display in place of the data
  fhir:Attachment.creation [ dateTime ]; # 0..1 Дата создания вложения
]

Changes since DSTU2


Attachment
Attachment.language Change binding strength from required to extensible, Change value set from http://tools.ietf.org/html/bcp47 to http://hl7.org/fhir/ValueSet/languages

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Attachment IElementContent in a format defined elsewhere
+ It the Attachment has data, it SHALL have a contentType
Элементы, определённые в прародителе: id, extension
... contentType Σ0..1codeMime type of the content, with charset etc.
MimeType (Required)
... language Σ0..1codeHuman language of the content (BCP-47)
Common Languages (Extensible but limited to All Languages)
... data 0..1base64BinaryData inline, base64ed
... url Σ0..1uriUri where the data can be found
... size Σ0..1unsignedIntNumber of bytes of content (if url provided)
... hash Σ0..1base64BinaryHash of the data (sha-1, base64ed)
... title Σ0..1stringLabel to display in place of the data
... creation Σ0..1dateTimeДата создания вложения

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <contentType value="[code]"/><!-- 0..1 Mime type of the content, with charset etc.  -->
 <language value="[code]"/><!-- 0..1 Human language of the content (BCP-47) -->
 <data value="[base64Binary]"/><!-- 0..1 Data inline, base64ed -->
 <url value="[uri]"/><!-- 0..1 Uri where the data can be found -->
 <size value="[unsignedInt]"/><!-- 0..1 Number of bytes of content (if url provided) -->
 <hash value="[base64Binary]"/><!-- 0..1 Hash of the data (sha-1, base64ed) -->
 <title value="[string]"/><!-- 0..1 Label to display in place of the data -->
 <creation value="[dateTime]"/><!-- 0..1 Дата создания вложения -->
</[name]>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Attachment.contentType [ code ]; # 0..1 Mime type of the content, with charset etc.
  fhir:Attachment.language [ code ]; # 0..1 Human language of the content (BCP-47)
  fhir:Attachment.data [ base64Binary ]; # 0..1 Data inline, base64ed
  fhir:Attachment.url [ uri ]; # 0..1 Uri where the data can be found
  fhir:Attachment.size [ unsignedInt ]; # 0..1 Number of bytes of content (if url provided)
  fhir:Attachment.hash [ base64Binary ]; # 0..1 Hash of the data (sha-1, base64ed)
  fhir:Attachment.title [ string ]; # 0..1 Label to display in place of the data
  fhir:Attachment.creation [ dateTime ]; # 0..1 Дата создания вложения
]

Changes since DSTU2

Attachment
Attachment.language Change binding strength from required to extensible, Change value set from http://tools.ietf.org/html/bcp47 to http://hl7.org/fhir/ValueSet/languages

See the Full Difference for further information

The actual content of an Attachment can be conveyed directly using the data element or a URL reference can be provided. If both are provided, the reference SHALL point to the same content as found in the data. The reference can never be reused to point to some different data (i.e. the reference is version specific). The URL reference SHALL point to a location that resolves to actual data; some URIs such as cid: meet this requirement. If the URL is a relative reference, it is interpreted in the same way as a resource reference. Само содержимое вложения (Attachment) может быть передано непосредственно с помощью элемента data, либо через указание ссылки в элементе URL. Если приведено и то, и то, ссылка ДОЛЖНА вести на то же самое содержимое, что и в элементе data. Эта ссылка не может быть повторно использована для указания на какие-то другие данные (например относиться только к определенной версии). Ссылка в элементе URL ДОЛЖНА указывать на место, возвращающее сами данные; некоторые URIs, например cid:, отвечают этому требованию. Если в URL указана относительная ссылка, она интерпретируется таким же образом, как и ссылка на ресурс.

The contentType element SHALL always be populated when an Attachment contains data, и MAY be populated when there is a url. It can include charset information and other mime type extensions as appropriate. Если в элементе contentType не указана кодировка, тогда правильный курс действий не определен, хотя некоторые медиа-типы могут указывать кодировку по умолчанию и/или правильная кодировка может определяться проверкой содержимого.

Элемент hash позволяет приложениям проверить, что содержимое, возвращаемое по ссылке в URL, не изменилось. The hash и size relate to the data before it is represented in base64 form.

В большинстве случаев использования вложения (Attachment), количество элементов >1. Допустимое использование повторов позволяет передавать одно и то же содержание на разных языках и MIME-типах. Указания по интерпретации повторяющихся элементов ДОЛЖНЫ быть приведены в определении повторяющегося элемента ресурса или расширения, ссылающегося на этот тип (or extension that references this type). Элемент language описывает язык вложения с помощью кодов, определенных в BCP (Best Current Practice) 47 .

Ограничения

  • att-1: It the Attachment has data, it SHALL have a contentType (expression : data.empty() or contentType.exists())

Если ни data, ни URL не заполнены, это значение следует понимать как утверждение о том, что нет доступных данных для указанного mimeType и/или language для такой комбинации language и contentType.

Контекст использования часто может диктовать правила о том, какой тип вложения (и, следовательно, какой MIME-тип) может быть использован.

Вложение (Attachment) используется в следующих местах: BodySite, Claim, Communication, CommunicationRequest, Consent, Contract, DiagnosticReport, DocumentManifest, DocumentReference, ExplanationOfBenefit, HealthcareService, Library, Media, Medication, Observation, Patient, Person, Practitioner, Questionnaire, QuestionnaireResponse and RelatedPerson

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Coding - это представление определенного концепта с помощью символа из определенной "кодовой системы" - см. Использование кодов в ресурсах для получения более подробной информации.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Coding ΣElementСсылка на код, определенный терминологической системой
Элементы, определённые в прародителе: id, extension
... system Σ0..1uriIdentity of the terminology system
... version Σ0..1stringВерсия системы - при необходимости
... code Σ0..1codeОбозначение в синтаксисе, определенном системой
... display Σ0..1stringПредставление, определенное системой
... userSelected Σ0..1booleanЕсли этот кодинг был выбран непосредственно пользователем

doco Документация по этому формату

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Coding.system [ uri ]; # 0..1 Identity of the terminology system
  fhir:Coding.version [ string ]; # 0..1 Версия системы - при необходимости
  fhir:Coding.code [ code ]; # 0..1 Обозначение в синтаксисе, определенном системой
  fhir:Coding.display [ string ]; # 0..1 Представление, определенное системой
  fhir:Coding.userSelected [ boolean ]; # 0..1 Если этот кодинг был выбран непосредственно пользователем
]

Changes since DSTU2


Coding No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Coding ΣElementСсылка на код, определенный терминологической системой
Элементы, определённые в прародителе: id, extension
... system Σ0..1uriIdentity of the terminology system
... version Σ0..1stringВерсия системы - при необходимости
... code Σ0..1codeОбозначение в синтаксисе, определенном системой
... display Σ0..1stringПредставление, определенное системой
... userSelected Σ0..1booleanЕсли этот кодинг был выбран непосредственно пользователем

doco Документация по этому формату

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Coding.system [ uri ]; # 0..1 Identity of the terminology system
  fhir:Coding.version [ string ]; # 0..1 Версия системы - при необходимости
  fhir:Coding.code [ code ]; # 0..1 Обозначение в синтаксисе, определенном системой
  fhir:Coding.display [ string ]; # 0..1 Представление, определенное системой
  fhir:Coding.userSelected [ boolean ]; # 0..1 Если этот кодинг был выбран непосредственно пользователем
]

Changes since DSTU2

Coding No Changes

See the Full Difference for further information

Значение Coding определяется кодом. System указывает на источник определения кода наряду с необязательной ссылкой на версию. Элемент display содержит человекочитаемый текст, определенный системой - он не добавляет другого значения. Ссылка на Value Set дает информацию о контексте выбора этого кода. The meaning of the Coding is defined by the code. The system provides the source of the definition of the code, along with an optional version reference. The display is a human display for the text defined by the system - it is not intended for computation.

Система system - это URI, ссылающийся на кодовую систему, определяющую этот код code. Выбор правильной системы важен; для получения более подробной информации по URI кодовой системы см. раздел Managing Terminology System URIs. URI системы НЕ ДОЛЖЕН содержать ссылку на набор значений (например ValueSet.url). Если код взят из ресурса CodeSystem, то корректным значением для URI системы будет CodeSystem.url. Resolvable URLs are generally preferred by implementers over non-resolvable URNs, particularly opaque URNs such as OIDs (urn:oid:) or UUIDs (urn:uuid:).

Также может быть указана версия кодовой системы. Если значение кодов в кодовой системе остается постоянным в разных версиях, то это не обязательно. Версию НЕОБХОДИМО менять, когда система больше не поддерживает непротиворечивые определения в разных версиях. Если есть ссылка на набор значений (value set), и этот набор значений определяет кодовую систему, и в этом определении указана версия, то эта версия ДОЛЖНА быть такой же, как и в наборе значений (value set). Обратите внимание, что следующим системам указывать версию НЕОБХОДИМО всегда:

  • Национальные выпуски SNOMED CT (согласованность определений различается в разных странах, и некоторые страны могут принимать свои собственные правила на этот счет)
  • Различные версии ICD (примечание: основные релизы помечены как совершенно разные кодовые системы, но есть различия в версиях)

В общем случае любая классификация (например кодовая система), которая включает концепты с относительными определениями, например "not otherwise coded", потребует указания версии. См. обсуждение версий кодовых систем в ресурсе CodeSystem для дальнейшего обсуждения версионирования.

Если имеется, code ДОЛЖЕН быть синтаксически правильным символом, как это определено системой system. В некоторых кодовых системах, например SNOMED CT, этот символ может быть выражением, составленным из других предопределенных символов (например post-coordination). Обратите внимание, что коды чувствительны к регистру, если в кодовой системе не указано иное. display - это текстовое представление кода, определенное системой system и используемое для отображения значения кода приложением, которое не знает этой системы system. If present, the code SHALL be a syntactically correct symbol as defined by the system. In some code systems such as SNOMED CT, the symbol may be an expression composed of other predefined symbol (e.g. post-coordination). Note that codes are case sensitive unless specified otherwise by the code system. The display is a text representation of the code defined by the system and is used to display the meaning of the code by an application that is not aware of the system.

Если в кодовой системе имеется несколько возможных строк для отображения, то одна из них ДОЛЖНА быть использована в display. Если одна из них помечена как предпочтительная, то именно она ДОЛЖНА быть использована. Если кодовая система не предлагает текстовое представление (например SNOMED CT Expressions), тогда display не может быть заполнен, и значение кода не будет доступно системам, которые не понимают кодовое выражение. Where the code system defines multiple possible display strings, one of these SHALL be used in display. If one is labeled as preferred, it SHOULD be used. If the code system does not define a text representation (e.g. SNOMED CT Expressions) then display cannot be populated, and the meaning of the code won't be accessible to systems that don't understand the code expression.

В некоторых случая система system может не быть известна - известен только код. В этом случае никакая полезная обработка кода не может быть выполнена, если только система не может быть надежно выведена из контекста. Этой практики следует избегать, где это возможно, так как обмен информации в более широком контексте весьма вероятно возникнет в конце концов, и коды не могут использоваться в отсутствие знания о системе. In some cases, the system may not be known - only the code is known. In this case, no useful processing of the code may be performed unless the system can be safely inferred by the context. This practice should be avoided where possible, as information sharing in a wider context is very likely to arise eventually, and codes cannot be used in the absence of a known system.

Если система присутствует, и нет кода, это следует понимать как отсутствие подходящего кода в системе, где должен быть этот код (in which to represent the code). If the system is present, and there is no code, then this is understood to mean that there is no suitable code in the system in which to represent the code.

Если два codings имеют одинаковые систему system, версию version и код code, значит они имеют одинаковое значение. Если информация о версии отсутствует, или элементы система system, версия version или код code различаются, тогда как их коды связаны, может быть определено обращением к определениям этих систем(ы), и любые мэппинги доступны. If two codings have the same system, version и code then they have the same meaning. If the version information is missing, or the system, version or the code elements differ, then how the codes are related can only be determined by consulting the definitions of the system(s) and any mappings available.

Элемент coding может быть помечен как "выбранный пользователем" ("userSelected"), если пользователь выбрал определенное кодовое значение в интерфейсе пользователя (например пользователь выбирает пункт в списке). Если выбранный пользователем кодинг существует, то он является предпочтительным выбором при выполнении переводов и т. п.

Ограничения

The context of use (as defined in the resource or applicable profile) usually makes rules about what codes and systems are allowed or required in a particular context by binding the element to a value set.

Coding используется в следующих местах: Signature, CodeableConcept, AuditEvent, CapabilityStatement, Claim, ClaimResponse, CodeSystem, Consent, Contract, DocumentReference, Encounter, Endpoint, ExpansionProfile, ExplanationOfBenefit, ImagingStudy, Location, MessageDefinition, MessageHeader, PlanDefinition, Provenance, Questionnaire, QuestionnaireResponse, RequestGroup, StructureDefinition, Subscription, TestScript and ValueSet

Примечание разработчика: в данной спецификации определено два типа представления кодированных значений:

  • Coding: простая непосредственная ссылка на код, определенный кодовой системой
  • CodeableConcept: текстовое описание и/или список Codings (т.е. список ссылок на коды, определенные кодовой системой)

Тип данных Coding соответствует простому случаю выбора одиночного кода из списка. Однако этот тип редко используется в спецификациях FHIR; большой опыт обмена кодированными значениями в HL7 показал, что в общем случае системы должны иметь возможность обмениваться несколькими переводами кодов и/или оригинальным текстом.

Тип данных Coding используется, когда есть уверенность в том, что значение должно быть выбрано непосредственно из доступных кодов, и список возможных кодов согласован со всеми участниками. Обычно это не тот случай в контексте FHIR - общей совместимости - таким образом Coding используется главным образом в расширениях, которые обычно предназначены для определения хорошо контролируемых условий использования.

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

CodeableConcept представляет собой значение, которое обычно сопровождается ссылкой на один или несколько справочников или онтологий, но может также определяться предоставлением текста. Это распространенный шаблон представления медицинских данных.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. CodeableConcept ΣElementConcept - reference to a terminology or just text
Элементы, определённые в прародителе: id, extension
... coding Σ0..*CodingCode defined by a terminology system
... text Σ0..1stringPlain text representation of the concept

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <coding><!-- 0..* Coding Code defined by a terminology system --></coding>
 <text value="[string]"/><!-- 0..1 Plain text representation of the concept -->
</[name]>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:CodeableConcept.coding [ Coding ], ... ; # 0..* Code defined by a terminology system
  fhir:CodeableConcept.text [ string ]; # 0..1 Plain text representation of the concept
]

Changes since DSTU2


CodeableConcept No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. CodeableConcept ΣElementConcept - reference to a terminology or just text
Элементы, определённые в прародителе: id, extension
... coding Σ0..*CodingCode defined by a terminology system
... text Σ0..1stringPlain text representation of the concept

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <coding><!-- 0..* Coding Code defined by a terminology system --></coding>
 <text value="[string]"/><!-- 0..1 Plain text representation of the concept -->
</[name]>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:CodeableConcept.coding [ Coding ], ... ; # 0..* Code defined by a terminology system
  fhir:CodeableConcept.text [ string ]; # 0..1 Plain text representation of the concept
]

Changes since DSTU2

CodeableConcept No Changes

See the Full Difference for further information

Каждый coding является представлением концепта как описано выше. Концепт может быть закодирован несколько раз в различных кодовых системах (или даже несколько раз в одной и той же кодовой системе, где допустимо несколько форм, например SNOMED CT). Различные кодинги могут иметь слегка различающуюся степень разбиения (структурирования, детализации) из-за различий в определениях лежащих в основе кодов. Порядок кодингов внутри CodeableConcept не имеет значения. Типичное использование CodeableConcept - отправка локального кода, которым был закодирован концепт, и также один или несколько переводов в публично определенные кодовые системы, например LOINC or SNOMED CT. Отправка локальных кодов - полезное и важное в целях отладки и ведения контроля за целостностью.

Независимо от того, какие элементы coding присутствуют, текст text - это представление концепта, как введено или выбрано пользователем, и который наиболее точно передает заложенное значение пользователя или концепта. Очень часто текст text совпадает со значением display одного из кодингов. Один из кодингов может быть помечен как userSelected - это код или концепт, который пользователь в действительности непосредственно выбрал. Когда ни один из элементов coding не отмечен как userSelected, тогда текст (если присутствует) является предпочтительным источником значения.

Ограничения

Контекст использования обычно с помощью привязки элемента к набору данных устанавливает правила о том, какие коды и системы разрешено или требуется использовать в определенной ситуации.

CodeableConcept используется в следующих местах: Identifier, Account, ActivityDefinition, AdverseEvent, AllergyIntolerance, Appointment, AppointmentResponse, AuditEvent, Basic, BodySite, CapabilityStatement, CarePlan, CareTeam, ChargeItem, Claim, ClaimResponse, ClinicalImpression, CodeSystem, Communication, CommunicationRequest, CompartmentDefinition, Composition, ConceptMap, Condition, Consent, Contract, Coverage, DataElement, DetectedIssue, Device, DeviceComponent, DeviceMetric, DeviceRequest, DeviceUseStatement, DiagnosticReport, DocumentManifest, DocumentReference, EligibilityRequest, EligibilityResponse, Encounter, Endpoint, EnrollmentResponse, EpisodeOfCare, ExpansionProfile, ExplanationOfBenefit, FamilyMemberHistory, Flag, Goal, GraphDefinition, Group, GuidanceResponse, HealthcareService, ImagingStudy, Immunization, ImmunizationRecommendation, ImplementationGuide, Library, List, Location, Measure, MeasureReport, Media, Medication, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, MessageDefinition, MessageHeader, NamingSystem, NutritionOrder, Observation, OperationDefinition, OperationOutcome, Organization, Patient, PaymentNotice, PaymentReconciliation, PlanDefinition, Practitioner, PractitionerRole, Procedure, ProcedureRequest, ProcessResponse, Provenance, Questionnaire, ReferralRequest, RelatedPerson, RequestGroup, ResearchStudy, RiskAssessment, Schedule, SearchParameter, Sequence, ServiceDefinition, Slot, Specimen, StructureDefinition, StructureMap, Substance, SupplyDelivery, SupplyRequest, Task, TestScript, ValueSet and VisionPrescription

См. также Примеры, Подробное описание and Мэппинг, Профили и расширения and and R2 Conversions.

Измеренная величина (или величина, которая потенциально может быть измерена).

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Quantity ΣIElementИзмеренная или измеримая величина
+ If a code for the unit is present, the system SHALL also be present
Элементы, определённые в прародителе: id, extension
... value Σ0..1decimalЧисленное значение (неявной точности)
... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
QuantityComparator (Required)
... unit Σ0..1stringПредставление единиц измерения
... system ΣI0..1uriСистема, которая определяет кодированную форму единиц измерения
... code Σ0..1codeКодированная форма единицы измерений

doco Документация по этому формату

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Quantity.value [ decimal ]; # 0..1 Численное значение (неявной точности)
  fhir:Quantity.comparator [ code ]; # 0..1 < | <= | >= | > - how to understand the value
  fhir:Quantity.unit [ string ]; # 0..1 Представление единиц измерения
  fhir:Quantity.system [ uri ]; # 0..1 Система, которая определяет кодированную форму единиц измерения
  fhir:Quantity.code [ code ]; # 0..1 Кодированная форма единицы измерений
]

Changes since DSTU2


Quantity No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Quantity ΣIElementИзмеренная или измеримая величина
+ If a code for the unit is present, the system SHALL also be present
Элементы, определённые в прародителе: id, extension
... value Σ0..1decimalЧисленное значение (неявной точности)
... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
QuantityComparator (Required)
... unit Σ0..1stringПредставление единиц измерения
... system ΣI0..1uriСистема, которая определяет кодированную форму единиц измерения
... code Σ0..1codeКодированная форма единицы измерений

doco Документация по этому формату

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Quantity.value [ decimal ]; # 0..1 Численное значение (неявной точности)
  fhir:Quantity.comparator [ code ]; # 0..1 < | <= | >= | > - how to understand the value
  fhir:Quantity.unit [ string ]; # 0..1 Представление единиц измерения
  fhir:Quantity.system [ uri ]; # 0..1 Система, которая определяет кодированную форму единиц измерения
  fhir:Quantity.code [ code ]; # 0..1 Кодированная форма единицы измерений
]

Changes since DSTU2

Quantity No Changes

See the Full Difference for further information

Элемент value содержит числовое значение величины, включая подразумеваемую точность (implicit precision). Если компаратор не указан, то значением является указанное значение (т.е. '='). Элемент comparator не может игнорироваться.

Элемент unit содержит отображаемую на экране единицу измерения того, что было измерено. Единицы измерений также могут быть закодированы некоторым формальным образом с помощью code и system (см. Coding для получения дополнительной информации о том, как использовать элемент system).

Если единицы измерений можно закодировать с помощью системы UCUM (Unified Code for Units of Measure) и код присутствует, тогда это ДОЛЖЕН быть код UCUM. Если в code указана единица измерения из UCUM, то в целях сравнения величин можно использовать каноническое значение. Обратите внимание, что элемент unit будет часто содержать текст, являющийся допустимой единицей измерения UCUM, но нельзя предполагать, что элемент unit действительно содержит допустимую единицу измерения UCUM.

Ограничения

  • qty-3: If a code for the unit is present, the system SHALL also be present (expression : code.empty() or system.exists())

Контекст использования часто может указывать, что это за измеренная величина и, следовательно, какие единицы измерений могут применяться. Кроме того, контекст использования может требовать code из определенной system. Контекст использования может также ограничивать значения value или range.

Quantity используется в следующих местах: Duration, Count, Money, Ratio, Distance, Age, ChargeItem, Claim, ExplanationOfBenefit, Goal, Group, Observation, PlanDefinition, Questionnaire, QuestionnaireResponse, Sequence and SupplyRequest

There are several additional data types that are specializations of Quantity that only introduce new restrictions on the existing elements defined as part of the Quantity data type:

Type Name Rules Formal Definitions
Age
  • age-1: There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM. If value is present, it SHALL be positive. (expression : (code or value.empty()) and (system.empty() or system = %ucum) and (value.empty() or value > 0))
XML, JSON
Usage: AllergyIntolerance, Condition and FamilyMemberHistory
Count
  • cnt-3: There SHALL be a code with a value of "1" if there is a value and it SHALL be an expression of length. If system is present, it SHALL be UCUM. If present, the value SHALL a whole number. (expression : (code or value.empty()) and (system.empty() or system = %ucum) and (code.empty() or code = '1') and (value.empty() or value.toString().contains('.').not()))
XML, JSON
Usage: (not used as yet)
Distance
  • dis-1: There SHALL be a code if there is a value and it SHALL be an expression of length. If system is present, it SHALL be UCUM. (expression : (code or value.empty()) and (system.empty() or system = %ucum))
XML, JSON
Usage: (not used as yet)
Duration
  • drt-1: There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM. (expression : code.exists() implies ((system = %ucum) and value.exists()))
XML, JSON
Usage: Encounter, Goal, MedicationRequest, PlanDefinition and RequestGroup
Money
  • mny-1: There SHALL be a code if there is a value and it SHALL be an expression of currency. If system is present, it SHALL be ISO 4217 (system = "urn:iso:std:iso:4217" - currency). (expression : (code or value.empty()) and (system.empty() or system = 'urn:iso:std:iso:4217'))
XML, JSON
Usage: Account, ChargeItem, Claim, ClaimResponse, Contract, EligibilityResponse, ExplanationOfBenefit and PaymentReconciliation

In addition to the specializations, there is one profile on Quantity used in several resources:
Profile Name Rules Formal Definitions
Simple Quantity
  • sqty-1: The comparator is not used on a SimpleQuantity (expression : comparator.empty())
XML, JSON
Usage: Range, SampledData, ActivityDefinition, CarePlan, Claim, Contract, ExplanationOfBenefit, Immunization, Medication, MedicationAdministration, MedicationDispense, MedicationRequest, NutritionOrder, Observation, Specimen, Substance, SupplyDelivery and VisionPrescription

Note that the profile is different from the other specializations because it is not a type, just rules applied where the Quantity type is used.

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Множество упорядоченных значений величины (Quantity), заданное указанием верхнего и нижнего пределов.

Range обозначает множество возможных значений; обычно применяется одно значение из диапазона (например, "выдать пациенту от 2 до 4 таблеток"). Диапазоны обычно используются в указаниях (instructions).

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Range ΣIElementРяд значений, ограниченных верхним и нижним
+ If present, low SHALL have a lower value than high
Элементы, определённые в прародителе: id, extension
... low ΣI0..1SimpleQuantityLow limit
... high ΣI0..1SimpleQuantityВерхний предел

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <low><!-- ?? 0..1 Quantity(SimpleQuantity) Low limit --></low>
 <high><!-- ?? 0..1 Quantity(SimpleQuantity) Верхний предел --></high>
</[name]>

JSON Template



Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Range.low [ Quantity(SimpleQuantity) ]; # 0..1 Low limit
  fhir:Range.high [ Quantity(SimpleQuantity) ]; # 0..1 Верхний предел
]

Changes since DSTU2


Range No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Range ΣIElementРяд значений, ограниченных верхним и нижним
+ If present, low SHALL have a lower value than high
Элементы, определённые в прародителе: id, extension
... low ΣI0..1SimpleQuantityLow limit
... high ΣI0..1SimpleQuantityВерхний предел

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <low><!-- ?? 0..1 Quantity(SimpleQuantity) Low limit --></low>
 <high><!-- ?? 0..1 Quantity(SimpleQuantity) Верхний предел --></high>
</[name]>

JSON Template

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Range.low [ Quantity(SimpleQuantity) ]; # 0..1 Low limit
  fhir:Range.high [ Quantity(SimpleQuantity) ]; # 0..1 Верхний предел
]

Changes since DSTU2

Range No Changes

See the Full Difference for further information

Элементы unit и code/system в элементах low и high ДОЛЖНЫ совпадать. Если элемент low или high отсутствует, это означает, что нижняя или верхняя граница не известна и, следовательно, ни тот, ни другой не является полным диапазоном (neither is the complete range).

Элементы low и high не могут иметь флаг comparator. Обратите внимание, что тип Range не должен использоваться для измерений, выходящих за пределы диапазона: в этом случае следует использовать тип quantity с элементом comparator.

Значения low и high входят в диапазон и предполагается, что они имеют сколь угодно высокую точность. К примеру, диапазон 1.5 - 2.5 включает значения 1.50 и 2.50, но не 1.49 или 2.51.

Ограничения

  • rng-2: If present, low SHALL have a lower value than high (expression : low.empty() or high.empty() or (low <= high))

Range используется в следующих местах: ActivityDefinition, AllergyIntolerance, Condition, FamilyMemberHistory, Goal, Group, Observation, PlanDefinition, RequestGroup and RiskAssessment

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Отношение между двумя значениями количества, выраженное в виде числителя и знаменателя.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Ratio ΣIElementОтношение двух значений величины - числитель и знаменатель
+ Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
Элементы, определённые в прародителе: id, extension
... numerator Σ0..1QuantityЗначение числителя
... denominator Σ0..1QuantityЗначение знаменателя

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <numerator><!-- 0..1 Quantity Значение числителя --></numerator>
 <denominator><!-- 0..1 Quantity Значение знаменателя --></denominator>
</[name]>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Ratio.numerator [ Quantity ]; # 0..1 Значение числителя
  fhir:Ratio.denominator [ Quantity ]; # 0..1 Значение знаменателя
]

Changes since DSTU2


Ratio No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Ratio ΣIElementОтношение двух значений величины - числитель и знаменатель
+ Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
Элементы, определённые в прародителе: id, extension
... numerator Σ0..1QuantityЗначение числителя
... denominator Σ0..1QuantityЗначение знаменателя

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <numerator><!-- 0..1 Quantity Значение числителя --></numerator>
 <denominator><!-- 0..1 Quantity Значение знаменателя --></denominator>
</[name]>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Ratio.numerator [ Quantity ]; # 0..1 Значение числителя
  fhir:Ratio.denominator [ Quantity ]; # 0..1 Значение знаменателя
]

Changes since DSTU2

Ratio No Changes

See the Full Difference for further information

Общие делители в числителе и знаменателе не сокращаются автоматически. Тип данных Ratio используется для титров (например "1:128") и других величин, полученных лабораториями, которые действительно представляют собой соотношения. Ratio - это не просто "структурированные числа" - измерения артериального давления (к примеру, "120/60") не являются соотношениями. Также соотношения используются, когда не следует сокращать числитель и знаменатель. Наиболее распространенным примером этого является соотношение, которое представляет собой стоимость единицы, а числителем является валюта (например 50$/10).

Правильное соотношение имеет и числитель, и знаменатель; однако это не является обязательным, чтобы можно было использовать недопустимые соотношения с указанием дополнительной информации в расширении.

Ограничения

  • rat-1: Numerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present (expression : (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists()))

Контекст использования может потребовать определенные типы Quantity для числителя или знаменателя.

Ratio используется в следующих местах: Medication, MedicationAdministration, NutritionOrder, Observation and Substance

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Период времени, определенный датой/временем начала и окончания.

Период устанавливает диапазон времени. В контексте использования будет указываться, применять ли полный диапазон (например "пациент находился в стационаре больницы данный диапазон времени") или одно значение из указанного периода (например "выдать пациенту между 14 и 16 часами 24-Jun 2013").

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Period ΣIElementИнтервал времени, заданный датой/временем начала и окончания
+ Если указана, начальная дата ДОЛЖНА быть меньше, чем дата окончания
Элементы, определённые в прародителе: id, extension
... start ΣI0..1dateTimeВремя начала (включительно)
... end ΣI0..1dateTimeВремя окончания, граничное значение включительно, если не продолжается

doco Документация по этому формату

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Period.start [ dateTime ]; # 0..1 Время начала (включительно)
  fhir:Period.end [ dateTime ]; # 0..1 Время окончания, граничное значение включительно, если не продолжается
]

Changes since DSTU2


Period No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Period ΣIElementИнтервал времени, заданный датой/временем начала и окончания
+ Если указана, начальная дата ДОЛЖНА быть меньше, чем дата окончания
Элементы, определённые в прародителе: id, extension
... start ΣI0..1dateTimeВремя начала (включительно)
... end ΣI0..1dateTimeВремя окончания, граничное значение включительно, если не продолжается

doco Документация по этому формату

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Period.start [ dateTime ]; # 0..1 Время начала (включительно)
  fhir:Period.end [ dateTime ]; # 0..1 Время окончания, граничное значение включительно, если не продолжается
]

Changes since DSTU2

Period No Changes

See the Full Difference for further information

Если элемент start отсутствует, значит начало периода не известно. Если элемент end отсутствует, значит период продолжается, or the start may be in the past, and the end date in the future, which means that period is expected/planned to end at the specified time

Значение end включает в себя любую подходящую дату/время. К примеру, период с 2011-05-23 по 2011-05-27 включает любое время с начала дня 23 мая до конца дня 27 мая.

Period используется в следующих местах: Identifier, Account, ActivityDefinition, AllergyIntolerance, Appointment, CarePlan, CareTeam, ChargeItem, Claim, ClinicalImpression, CommunicationRequest, Composition, Condition, Consent, Contract, Coverage, DeviceRequest, DeviceUseStatement, DiagnosticReport, DocumentReference, EligibilityRequest, Encounter, Endpoint, EpisodeOfCare, ExplanationOfBenefit, FamilyMemberHistory, Flag, Group, HealthcareService, Library, Measure, MeasureReport, Media, MedicationAdministration, MedicationRequest, MedicationStatement, NamingSystem, Observation, Patient, PaymentReconciliation, PlanDefinition, Practitioner, PractitionerRole, Procedure, ProcedureRequest, ProcessRequest, Provenance, Questionnaire, ReferralRequest, RelatedPerson, RequestGroup, ResearchStudy, ResearchSubject, RiskAssessment, Schedule, ServiceDefinition, Specimen, SupplyDelivery, SupplyRequest and Task

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Данные серии измерений, снятые устройством, которые могут иметь верхний и нижний пределы. Этот тип данных также поддерживает несколько измерений.

SampledData обеспечивает удобный способ управления данными, полученными на изделиях, которые измеряют определенное физическое состояние с высокой частотой. Типичное использование - вывод данных с электрокардиографа. В этот тип данных входят серии необработанных десятичных значений (которые по большей части являются простыми целыми), наряду с другими настройками шкалы и коэффициента. Они интерпретируются таким образом, чтобы

первоначальное измеренное значение value[i] = SampledData.data[i] * SampledData.scaleFactor + SampledData.origin.value

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. SampledData ElementA series of measurements taken by a device
Элементы, определённые в прародителе: id, extension
... origin Σ1..1SimpleQuantityZero value and units
... period Σ1..1decimalNumber of milliseconds between samples
... factor Σ0..1decimalMultiply data by this before adding to origin
... lowerLimit Σ0..1decimalLower limit of detection
... upperLimit Σ0..1decimalUpper limit of detection
... dimensions Σ1..1positiveIntNumber of sample points at each time point
... data 1..1stringDecimal values with spaces, or "E" | "U" | "L"

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <origin><!-- 1..1 Quantity(SimpleQuantity) Zero value and units --></origin>
 <period value="[decimal]"/><!-- 1..1 Number of milliseconds between samples -->
 <factor value="[decimal]"/><!-- 0..1 Multiply data by this before adding to origin -->
 <lowerLimit value="[decimal]"/><!-- 0..1 Lower limit of detection -->
 <upperLimit value="[decimal]"/><!-- 0..1 Upper limit of detection -->
 <dimensions value="[positiveInt]"/><!-- 1..1 Number of sample points at each time point -->
 <data value="[string]"/><!-- 1..1 Decimal values with spaces, or "E" | "U" | "L" -->
</[name]>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:SampledData.origin [ Quantity(SimpleQuantity) ]; # 1..1 Zero value and units
  fhir:SampledData.period [ decimal ]; # 1..1 Number of milliseconds between samples
  fhir:SampledData.factor [ decimal ]; # 0..1 Multiply data by this before adding to origin
  fhir:SampledData.lowerLimit [ decimal ]; # 0..1 Lower limit of detection
  fhir:SampledData.upperLimit [ decimal ]; # 0..1 Upper limit of detection
  fhir:SampledData.dimensions [ positiveInt ]; # 1..1 Number of sample points at each time point
  fhir:SampledData.data [ string ]; # 1..1 Decimal values with spaces, or "E" | "U" | "L"
]

Changes since DSTU2


SampledData No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. SampledData ElementA series of measurements taken by a device
Элементы, определённые в прародителе: id, extension
... origin Σ1..1SimpleQuantityZero value and units
... period Σ1..1decimalNumber of milliseconds between samples
... factor Σ0..1decimalMultiply data by this before adding to origin
... lowerLimit Σ0..1decimalLower limit of detection
... upperLimit Σ0..1decimalUpper limit of detection
... dimensions Σ1..1positiveIntNumber of sample points at each time point
... data 1..1stringDecimal values with spaces, or "E" | "U" | "L"

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <origin><!-- 1..1 Quantity(SimpleQuantity) Zero value and units --></origin>
 <period value="[decimal]"/><!-- 1..1 Number of milliseconds between samples -->
 <factor value="[decimal]"/><!-- 0..1 Multiply data by this before adding to origin -->
 <lowerLimit value="[decimal]"/><!-- 0..1 Lower limit of detection -->
 <upperLimit value="[decimal]"/><!-- 0..1 Upper limit of detection -->
 <dimensions value="[positiveInt]"/><!-- 1..1 Number of sample points at each time point -->
 <data value="[string]"/><!-- 1..1 Decimal values with spaces, or "E" | "U" | "L" -->
</[name]>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:SampledData.origin [ Quantity(SimpleQuantity) ]; # 1..1 Zero value and units
  fhir:SampledData.period [ decimal ]; # 1..1 Number of milliseconds between samples
  fhir:SampledData.factor [ decimal ]; # 0..1 Multiply data by this before adding to origin
  fhir:SampledData.lowerLimit [ decimal ]; # 0..1 Lower limit of detection
  fhir:SampledData.upperLimit [ decimal ]; # 0..1 Upper limit of detection
  fhir:SampledData.dimensions [ positiveInt ]; # 1..1 Number of sample points at each time point
  fhir:SampledData.data [ string ]; # 1..1 Decimal values with spaces, or "E" | "U" | "L"
]

Changes since DSTU2

SampledData No Changes

See the Full Difference for further information

Данные представляют собой множество десятичных значений, разделенных одиночным пробелом (символ Юникода u20). В дополнение к десятичным значениям используются значения "E" (ошибка), "L" (ниже предела обнаружения) и "U" (выше предела обнаружения). Если имеется более одного измерения, различные измерения чередуются - все точки данных для конкретного времени представлены вместе. Значением коэффициента factor по умолчанию является 1.

SampledData используется в следующих местах: Observation

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Числовая или буквенно-числовая строка, ассоциированная с отдельным объектом или сущностью внутри данной системы. Обычно идентификаторы используются, чтобы связать содержимое ресурсов и внешнее содержимое, доступное в других фреймворках или протоколах. Идентификаторы ассоциируются с объектами и могут быть изменены или изъяты из обращения вследствие развития систем, из-за ошибок или с течением времени.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Identifier ΣElementИдентификатор, предназначенный для вычислений
Элементы, определённые в прародителе: id, extension
... use ?!Σ0..1codeusual | official | temp | secondary (If known)
IdentifierUse (Required)
... type Σ0..1CodeableConceptОписание идентификатора
Identifier Type Codes (Extensible)
... system Σ0..1uriПространство имён идентификатора value
... value Σ0..1stringЗначение, являющееся уникальным
... period Σ0..1PeriodВременной период, когда id является/являлся допустимым к использованию
... assigner Σ0..1Reference(Organization)Организация, которая назначила идентификатор (может быть просто текстом)

doco Документация по этому формату

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Identifier.use [ code ]; # 0..1 usual | official | temp | secondary (If known)
  fhir:Identifier.type [ CodeableConcept ]; # 0..1 Описание идентификатора
  fhir:Identifier.system [ uri ]; # 0..1 Пространство имён идентификатора value
  fhir:Identifier.value [ string ]; # 0..1 Значение, являющееся уникальным
  fhir:Identifier.period [ Period ]; # 0..1 Временной период, когда id является/являлся допустимым к использованию
  fhir:Identifier.assigner [ Reference(Organization) ]; # 0..1 Организация, которая назначила идентификатор (может быть просто текстом)
]

Changes since DSTU2


Identifier No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Identifier ΣElementИдентификатор, предназначенный для вычислений
Элементы, определённые в прародителе: id, extension
... use ?!Σ0..1codeusual | official | temp | secondary (If known)
IdentifierUse (Required)
... type Σ0..1CodeableConceptОписание идентификатора
Identifier Type Codes (Extensible)
... system Σ0..1uriПространство имён идентификатора value
... value Σ0..1stringЗначение, являющееся уникальным
... period Σ0..1PeriodВременной период, когда id является/являлся допустимым к использованию
... assigner Σ0..1Reference(Organization)Организация, которая назначила идентификатор (может быть просто текстом)

doco Документация по этому формату

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Identifier.use [ code ]; # 0..1 usual | official | temp | secondary (If known)
  fhir:Identifier.type [ CodeableConcept ]; # 0..1 Описание идентификатора
  fhir:Identifier.system [ uri ]; # 0..1 Пространство имён идентификатора value
  fhir:Identifier.value [ string ]; # 0..1 Значение, являющееся уникальным
  fhir:Identifier.period [ Period ]; # 0..1 Временной период, когда id является/являлся допустимым к использованию
  fhir:Identifier.assigner [ Reference(Organization) ]; # 0..1 Организация, которая назначила идентификатор (может быть просто текстом)
]

Changes since DSTU2

Identifier No Changes

See the Full Difference for further information

Значение value должно быть уникальным в пределах заданной системы system и иметь согласованное значение, где бы оно ни появлялось. И system, и value всегда чувствительны к регистру.

Система system - это URI, определяющее множество идентификаторов (т. е. каким образом обеспечивается уникальность значения). Это может быть некоторое приложение или признанный стандарт/спецификация, определяющие доступное множество идентификаторов или способ обеспечения их уникальности. FHIR сразу задаёт URI некоторых полезных или важных систем. Вот несколько примеров пространств имен идентификаторов:

  • http://hl7.org/fhir/sid/us-ssn for United States Social Security Number (SSN) values
  • http://ns.electronichealth.net.au/id/hi/ihi/1.0 for Australian Individual Healthcare Identifier (IHI) numbers
  • urn:ietf:rfc:3986 for when the value of the identifier is itself a globally unique URI

If the system is a URL, it SHOULD resolve. Resolution might be to a web page that describes the identifier system and/or supports look-up of identifiers. Alternatively, it could be to a NamingSystem resource instance. Resolvable URLs are generally preferred by implementers over non-resolvable URNs, particularly opaque URNs such as OIDs (urn:oid:) or UUIDs (urn:uuid:). If used, OIDs and UUIDs may be registered in the HL7 OID registry and SHOULD be registered if the content is shared or exchanged across institutional boundaries.

It is up to the implementer organization to determine an appropriate URL or URN structure that will avoid collisions and to manage that space (and the resolvability of URLs) over time.

Note that the scope of a given identifier system may extend beyond identifiers that might be captured by a single resource. For example, some systems might draw all "order" identifiers from a single namespace, though some might be used on MedicationRequest while others would appear on ProcedureRequest.

Если значение идентификатора само по себе является глобально уникальным URI (например OID, UUID или URI без локального окончания), тогда значением системы system ДОЛЖНО быть "urn:ietf:rfc:3986"", а в value должен быть указан сам URI (OIDs и UUIDs с помощью urn:oid: и urn:uuid: - см. примеры).

В некоторых случаях система может быть не известна - известно только значение (например простое устройство, сканирующее штрих-коды), или система понимается неявно (простой обмен в ограниченном контексте, зачастую обусловленный считывателями штрих-кодов). В этом случае невозможно выполнить полезное сопоставление значения, если только система не может быть с уверенностью выведена из контекста. Приложения должны указывать систему везде, где это возможно, так как со временем растет вероятность совместного использования информации в более широком контексте, а значения без системы по своей природе ограничены в использовании.

In some cases, the system may not be known - only the value is known (e.g. a simple device that scans a barcode), or the system is known implicitly (simple exchange in a limited context, often driven by barcode readers). In this case, no useful matching may be performed using the value unless the system can be safely inferred by the context. This practice should be avoided where possible, as information sharing in a wider context is very likely to arise eventually, and values without a system are inherently limited in use. -->

In addition to the system (which provides a uniqueness scope) and the value, identifiers may also have a type, which may be useful when a system encounters identifiers with unknown system values. Note, however, that the type of an identifier is not a well-controlled vocabulary with wide variations in practice. The type deals only with general categories of identifiers and SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to variations in common usage.

Элемент assigner используется для указания, какой реестр/государство/учреждение/пр. назначили идентификатор. В качестве Reference можно указать просто текстовое описание в элементе display.

Identifier используется в следующих местах: Reference, Account, ActivityDefinition, AdverseEvent, AllergyIntolerance, Appointment, AppointmentResponse, AuditEvent, Basic, BodySite, Bundle, CarePlan, CareTeam, ChargeItem, Claim, ClaimResponse, ClinicalImpression, CodeSystem, Communication, CommunicationRequest, Composition, ConceptMap, Condition, Consent, Contract, Coverage, DataElement, DetectedIssue, Device, DeviceComponent, DeviceMetric, DeviceRequest, DeviceUseStatement, DiagnosticReport, DocumentManifest, DocumentReference, EligibilityRequest, EligibilityResponse, Encounter, Endpoint, EnrollmentRequest, EnrollmentResponse, EpisodeOfCare, ExpansionProfile, ExplanationOfBenefit, FamilyMemberHistory, Flag, Goal, Group, GuidanceResponse, HealthcareService, ImagingManifest, ImagingStudy, Immunization, ImmunizationRecommendation, Library, List, Location, Measure, MeasureReport, Media, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, MessageDefinition, NutritionOrder, Observation, Organization, Patient, PaymentNotice, PaymentReconciliation, Person, PlanDefinition, Practitioner, PractitionerRole, Procedure, ProcedureRequest, ProcessRequest, ProcessResponse, Provenance, Questionnaire, QuestionnaireResponse, ReferralRequest, RelatedPerson, RequestGroup, ResearchStudy, ResearchSubject, RiskAssessment, Schedule, Sequence, ServiceDefinition, Slot, Specimen, StructureDefinition, StructureMap, Substance, SupplyDelivery, SupplyRequest, Task, TestReport, TestScript, ValueSet and VisionPrescription

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Имя человека с указанием текстового представления, частей имени и информации об использовании.

Имя можно изменить или отречься от него. У людей могут быть различные имена в разных обстоятельствах. Имена могут быть разбиты на части разного типа, имеющие переменное значение в зависимости от контекста, хотя деление на части не всегда существенно. В личных именах различные части могут быть пронизаны некоторым неявным смыслом; различные культуры придают различную важность частями имени, и степень, с которой система ДОЛЖНА заботиться о частях имени, по всему миру широко варьируется.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. HumanName ΣElementName of a human - parts and usage
Элементы, определённые в прародителе: id, extension
... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
NameUse (Required)
... text Σ0..1stringText representation of the full name
... family Σ0..1stringFamily name (often called 'Surname')
... given Σ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
... period Σ0..1PeriodTime period when name was/is in use

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <use value="[code]"/><!-- 0..1 usual | official | temp | nickname | anonymous | old | maiden -->
 <text value="[string]"/><!-- 0..1 Text representation of the full name -->
 <family value="[string]"/><!-- 0..1 Family name (often called 'Surname') -->
 <given value="[string]"/><!-- 0..* Given names (not always 'first'). Includes middle names -->
 <prefix value="[string]"/><!-- 0..* Parts that come before the name -->
 <suffix value="[string]"/><!-- 0..* Parts that come after the name -->
 <period><!-- 0..1 Period Time period when name was/is in use --></period>
</[name]>

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:HumanName.use [ code ]; # 0..1 usual | official | temp | nickname | anonymous | old | maiden
  fhir:HumanName.text [ string ]; # 0..1 Text representation of the full name
  fhir:HumanName.family [ string ]; # 0..1 Family name (often called 'Surname')
  fhir:HumanName.given [ string ], ... ; # 0..* Given names (not always 'first'). Includes middle names
  fhir:HumanName.prefix [ string ], ... ; # 0..* Parts that come before the name
  fhir:HumanName.suffix [ string ], ... ; # 0..* Parts that come after the name
  fhir:HumanName.period [ Period ]; # 0..1 Time period when name was/is in use
]

Changes since DSTU2


HumanName
HumanName.family Max Cardinality changed from * to 1

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. HumanName ΣElementName of a human - parts and usage
Элементы, определённые в прародителе: id, extension
... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
NameUse (Required)
... text Σ0..1stringText representation of the full name
... family Σ0..1stringFamily name (often called 'Surname')
... given Σ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
... period Σ0..1PeriodTime period when name was/is in use

doco Документация по этому формату

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <use value="[code]"/><!-- 0..1 usual | official | temp | nickname | anonymous | old | maiden -->
 <text value="[string]"/><!-- 0..1 Text representation of the full name -->
 <family value="[string]"/><!-- 0..1 Family name (often called 'Surname') -->
 <given value="[string]"/><!-- 0..* Given names (not always 'first'). Includes middle names -->
 <prefix value="[string]"/><!-- 0..* Parts that come before the name -->
 <suffix value="[string]"/><!-- 0..* Parts that come after the name -->
 <period><!-- 0..1 Period Time period when name was/is in use --></period>
</[name]>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:HumanName.use [ code ]; # 0..1 usual | official | temp | nickname | anonymous | old | maiden
  fhir:HumanName.text [ string ]; # 0..1 Text representation of the full name
  fhir:HumanName.family [ string ]; # 0..1 Family name (often called 'Surname')
  fhir:HumanName.given [ string ], ... ; # 0..* Given names (not always 'first'). Includes middle names
  fhir:HumanName.prefix [ string ], ... ; # 0..* Parts that come before the name
  fhir:HumanName.suffix [ string ], ... ; # 0..* Parts that come after the name
  fhir:HumanName.period [ Period ]; # 0..1 Time period when name was/is in use
]

Changes since DSTU2

HumanName
HumanName.family Max Cardinality changed from * to 1

See the Full Difference for further information

В таблице ниже сведены места, где встречаются общие части имени человека.

ИмяПримерКуда записывается / Комментарии
SurnameSmithFamily Name
First nameJohnGiven Name
TitleMrPrefix
Middle NameSamuelSubsequent Given Names
Patronymicbin OsmanFamily Name
Multiple family namesCarreño QuiñonesFamily Name. See note below about decomposition of family name
InitialsQ.Given Name as initial ("." recommended)
Nick NameJockGiven name, with Use = common
QualificationsPhDSuffix
HonorificsSeniorSuffix
Voorvoegsel / Nobilityvan BeethovenFamily Name. See note below about decomposition of family name

Для получения дополнительной информации, в том числе все W3C Международные примеры , обратитесь к примерам. Note: Implementers should read the name examples for a full understanding of how name works.

The multiple given parts and family name combine to form a single name. Where a person has alternate names that may be used in place of each other (e.g. Nicknames, Aliases), these are different instances of HumanName.

Элемент text содержит полное имя в том виде, в котором оно должно показываться. Он может быть задан как в дополнение к частям имени, так и вместо них, и может быть составлен из этих частей, хотя правильный порядок сборки составляющих зависит от культуры: порядок частей в пределах типа составляющей имени "given" имеет значение и ДОЛЖЕН соблюдаться. Надлежащий порядок от фамилией и "given" именами зависит от культуры и контекста использования. Note that there is an extension for the few times name assembly order is not fixed by the culture.

The given name parts may contain whitespace, though generally they don't. Initials may be used in place of the full name if that is all that is recorded. Systems that operate across cultures should generally rely on the text form for presentation, and use the parts for index/search functionality. For this reasons, applications SHOULD populate the text element for future robustness.

In some cultures (e.g. German, Dutch, Spanish, Portuguese), family names are complex and composed of various parts that may need to be managed separately, e.g. they have differing significance for searching. In these cases, the full family name is populated in family, and a decomposition of the name can be provided using the family extensions own-name, own-prefix, partner-name, partner-prefix, fathers-family and mothers-family.

For robust search, servers should search the parts of a family name independently. E.g. Searching either Carreno or Quinones should match a family name of "Carreno Quinones". HL7 affiliates may make more specific recommendations about how search should work in their specific culture.

HumanName используется в следующих местах: Organization, Patient, Person, Practitioner and RelatedPerson

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Address ΣElementAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
Элементы, определённые в прародителе: id, extension
... use ?!Σ0..1codehome | work | temp | old - purpose of this address
AddressUse (Required)
... type Σ0..1codepostal | physical | both
AddressType (Required)
... text Σ0..1stringТекстовое представление адреса
... 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
... city Σ0..1stringНазвание города, поселка и т. п
... district Σ0..1stringDistrict name (aka county)
... state Σ0..1stringSub-unit of country (abbreviations ok)
... postalCode Σ0..1stringПочтовый индекс области
... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
... period Σ0..1PeriodПериод времени, в течение которого адрес был/находится в использовании

doco Документация по этому формату

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Address.use [ code ]; # 0..1 home | work | temp | old - purpose of this address
  fhir:Address.type [ code ]; # 0..1 postal | physical | both
  fhir:Address.text [ string ]; # 0..1 Текстовое представление адреса
  fhir:Address.line [ string ], ... ; # 0..* Street name, number, direction & P.O. Box etc.
  fhir:Address.city [ string ]; # 0..1 Название города, поселка и т. п
  fhir:Address.district [ string ]; # 0..1 District name (aka county)
  fhir:Address.state [ string ]; # 0..1 Sub-unit of country (abbreviations ok)
  fhir:Address.postalCode [ string ]; # 0..1 Почтовый индекс области
  fhir:Address.country [ string ]; # 0..1 Country (e.g. can be ISO 3166 2 or 3 letter code)
  fhir:Address.period [ Period ]; # 0..1 Период времени, в течение которого адрес был/находится в использовании
]

Changes since DSTU2


Address No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Address ΣElementAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
Элементы, определённые в прародителе: id, extension
... use ?!Σ0..1codehome | work | temp | old - purpose of this address
AddressUse (Required)
... type Σ0..1codepostal | physical | both
AddressType (Required)
... text Σ0..1stringТекстовое представление адреса
... 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
... city Σ0..1stringНазвание города, поселка и т. п
... district Σ0..1stringDistrict name (aka county)
... state Σ0..1stringSub-unit of country (abbreviations ok)
... postalCode Σ0..1stringПочтовый индекс области
... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
... period Σ0..1PeriodПериод времени, в течение которого адрес был/находится в использовании

doco Документация по этому формату

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Address.use [ code ]; # 0..1 home | work | temp | old - purpose of this address
  fhir:Address.type [ code ]; # 0..1 postal | physical | both
  fhir:Address.text [ string ]; # 0..1 Текстовое представление адреса
  fhir:Address.line [ string ], ... ; # 0..* Street name, number, direction & P.O. Box etc.
  fhir:Address.city [ string ]; # 0..1 Название города, поселка и т. п
  fhir:Address.district [ string ]; # 0..1 District name (aka county)
  fhir:Address.state [ string ]; # 0..1 Sub-unit of country (abbreviations ok)
  fhir:Address.postalCode [ string ]; # 0..1 Почтовый индекс области
  fhir:Address.country [ string ]; # 0..1 Country (e.g. can be ISO 3166 2 or 3 letter code)
  fhir:Address.period [ Period ]; # 0..1 Период времени, в течение которого адрес был/находится в использовании
]

Changes since DSTU2

Address No Changes

See the Full Difference for further information

Элемент text содержит полный адрес в том виде, в котором он должен отображаться. Его можно задать вместо либо в дополнение к отдельным частям. Приложения, обновляющие адрес, ДОЛЖНЫ убедиться, что либо текст соответствует частям адреса, либо из них присутствует только что-то одно.

Ограничения

Address используется в следующих местах: Claim, ExplanationOfBenefit, Location, Organization, Patient, Person, Practitioner and RelatedPerson

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Контактные данные человека или организации любого вида технологий опосредованной коммуникации, включая телефон, электронную почту и др.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. ContactPoint ΣIElementDetails of a Technology mediated contact point (phone, fax, email, etc.)
+ Если значение указано, система является обязательной.
Элементы, определённые в прародителе: id, extension
... system ΣI0..1codephone | fax | email | pager | url | sms | other
ContactPointSystem (Required)
... value Σ0..1stringДетали самой точки контакта
... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
ContactPointUse (Required)
... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
... period Σ0..1PeriodПериод времени, когда контактная точка была/находится в употреблении

doco Документация по этому формату

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:ContactPoint.system [ code ]; # 0..1 phone | fax | email | pager | url | sms | other
  fhir:ContactPoint.value [ string ]; # 0..1 Детали самой точки контакта
  fhir:ContactPoint.use [ code ]; # 0..1 home | work | temp | old | mobile - purpose of this contact point
  fhir:ContactPoint.rank [ positiveInt ]; # 0..1 Specify preferred order of use (1 = highest)
  fhir:ContactPoint.period [ Period ]; # 0..1 Период времени, когда контактная точка была/находится в употреблении
]

Changes since DSTU2


ContactPoint No Changes

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. ContactPoint ΣIElementDetails of a Technology mediated contact point (phone, fax, email, etc.)
+ Если значение указано, система является обязательной.
Элементы, определённые в прародителе: id, extension
... system ΣI0..1codephone | fax | email | pager | url | sms | other
ContactPointSystem (Required)
... value Σ0..1stringДетали самой точки контакта
... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
ContactPointUse (Required)
... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
... period Σ0..1PeriodПериод времени, когда контактная точка была/находится в употреблении

doco Документация по этому формату

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:ContactPoint.system [ code ]; # 0..1 phone | fax | email | pager | url | sms | other
  fhir:ContactPoint.value [ string ]; # 0..1 Детали самой точки контакта
  fhir:ContactPoint.use [ code ]; # 0..1 home | work | temp | old | mobile - purpose of this contact point
  fhir:ContactPoint.rank [ positiveInt ]; # 0..1 Specify preferred order of use (1 = highest)
  fhir:ContactPoint.period [ Period ]; # 0..1 Период времени, когда контактная точка была/находится в употреблении
]

Changes since DSTU2

ContactPoint No Changes

See the Full Difference for further information

При записи телефона, факса или подобного типа связи (contact point), значение должно быть должным образом отформатировано в соответствии с ITU-T E.123 . Тем не менее это часто не представляется возможным из-за устаревших данных и/или способа записи. However, this is frequently not possible due to legacy data and/or clerical practices when recording contact details. For this reason, phone, fax, pager, and email addresses are not handled as formal URLs. For other kinds of contact points, the system is "other" and the value SHOULD be a URL so that its use can be determined automatically. Typical URL schemes used in the value are http(s): for web addresses, and URL schemes for various kinds of messaging systems. If the value is not a URL, then human interpretation will be required.

The rank element can be used to specify a preference for the order in which a set of contacts is used. Contacts are ranked with lower values coming before higher values. Note that rank does not necessarily follow the order in which the contacts are represented in the instance.

Ограничения

  • cpt-2: Если значение указано, система является обязательной. (expression : value.empty() or system.exists())

ContactPoint используется в следующих местах: Device, Endpoint, HealthcareService, Location, MessageHeader, Organization, Patient, Person, Practitioner, PractitionerRole, RelatedPerson and Subscription

См. также Примеры, Подробное описание, Мэппинг, Профили и расширения и R2 Conversions.

Specifies an event that may occur multiple times. Timing schedules are used for specifying when events are expected or requested to occur, and may also be used to represent a schedule that was followed for past events. A Timing schedule can be a list of events and/or criteria for when the event happens, which can be expressed in a structured form and/or as a code. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure.

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Timing ΣElementРасписание для события, которое может наступить несколько раз
Элементы, определённые в прародителе: id, extension
... event Σ0..*dateTimeКогда происходит событие
... repeat ΣI0..1ElementКогда именно произойдет событие
+ If there's an offset, there must be a when (and not C, CM, CD, CV)
+ period SHALL be a non-negative value
+ Если указан periodMax, то должен быть указан и period
+ Если указан durationMax, то должен быть указан и duration
+ If there's a countMax, there must be a count
+ если duration указан, необходимо указать и единицы измерения продолжительности
+ If there's a timeOfDay, there cannot be be a when, or vice versa
+ if there's a period, there needs to be period units
+ duration SHALL be a non-negative value
.... bounds[x] Σ0..1Продолжительность/Диапазон продолжительности, либо (начальный и/или конечный) пределы
..... boundsDurationDuration
..... boundsRangeRange
..... boundsPeriodPeriod
.... count Σ0..1integerКоличество повторов
.... countMax Σ0..1integerMaximum number of times to repeat
.... duration Σ0..1decimalСколько оно будет длиться
.... durationMax Σ0..1decimalСколько будет продолжаться, когда это произойдет (макс.)
.... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
UnitsOfTime (Required)
.... frequency Σ0..1integerСобытие происходит "frequency" раз за период
.... frequencyMax Σ0..1integerEvent occurs up to frequencyMax times per period
.... period Σ0..1decimalСобытие происходит "frequency" раз за период
.... periodMax Σ0..1decimalВерхний предел периода (3-4 часа)
.... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
UnitsOfTime (Required)
.... dayOfWeek Σ0..*codemon | tue | wed | thu | fri | sat | sun
DaysOfWeek (Required)
.... timeOfDay Σ0..*timeTime of day for action
.... when Σ0..*codeСобытия из повседневной жизни, к которым привязано событие
EventTiming (Required)
.... offset Σ0..1unsignedIntMinutes from event (before or after)
... code Σ0..1CodeableConceptBID | TID | QID | AM | PM | QD | QOD | Q4H | Q6H +
TimingAbbreviation (Preferred)

doco Документация по этому формату

UML Diagram (Legend)

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*Timing , event : dateTime [0..*]A code for the timing schedule. Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code)code : CodeableConcept [0..1] Code for a known / defined timing pattern. (Strength=Preferred)TimingAbbreviation? Repeat , , / bounds[x] : Type [0..1] Duration|Range|Period count : integer [0..1]A maximum value for the count of the desired repetitions (e.g. do something 6-8 times)countMax : integer [0..1] , duration : decimal [0..1] , , durationMax : decimal [0..1] , UCUM durationUnit : code [0..1] A unit of time (units from UCUM). (Strength=Required)UnitsOfTime! / (. . period, periodMax)frequency : integer [0..1]If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period rangefrequencyMax : integer [0..1]Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the periodperiod : decimal [0..1] , , [period] [periodMax], , "do this once every 3-5 days"periodMax : decimal [0..1] UCUM-periodUnit : code [0..1] A unit of time (units from UCUM). (Strength=Required)UnitsOfTime! If one or more days of week is provided, then the action happens only on the specified day(s)dayOfWeek : code [0..*] (Strength=Required)DaysOfWeek! Specified time of day for action to take placetimeOfDay : time [0..*]Real world events that the occurrence of the event should be tied towhen : code [0..*] Real world event relating to the schedule. (Strength=Required)EventTiming! The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the eventoffset : unsignedInt [0..1]A set of rules that describe when the event is scheduledrepeat[0..1]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <event value="[dateTime]"/><!-- 0..* Когда происходит событие -->
 <repeat>  <!-- 0..1 Когда именно произойдет событие -->
  <bounds[x]><!-- 0..1 Duration|Range|Period Продолжительность/Диапазон продолжительности, либо (начальный и/или конечный) пределы --></bounds[x]>
  <count value="[integer]"/><!-- 0..1 Количество повторов -->
  <countMax value="[integer]"/><!-- 0..1 Maximum number of times to repeat -->
  <duration value="[decimal]"/><!-- 0..1 Сколько оно будет длиться -->
  <durationMax value="[decimal]"/><!-- 0..1 Сколько будет продолжаться, когда это произойдет (макс.) -->
  <durationUnit value="[code]"/><!-- 0..1 s | min | h | d | wk | mo | a - unit of time (UCUM) -->
  <frequency value="[integer]"/><!-- 0..1 Событие происходит "frequency" раз за период -->
  <frequencyMax value="[integer]"/><!-- 0..1 Event occurs up to frequencyMax times per period -->
  <period value="[decimal]"/><!-- 0..1 Событие происходит "frequency" раз за период -->
  <periodMax value="[decimal]"/><!-- 0..1 Верхний предел периода (3-4 часа) -->
  <periodUnit value="[code]"/><!-- 0..1 s | min | h | d | wk | mo | a - unit of time (UCUM) -->
  <dayOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun -->
  <timeOfDay value="[time]"/><!-- 0..* Time of day for action -->
  <when value="[code]"/><!-- 0..* События из повседневной жизни, к которым привязано событие -->
  <offset value="[unsignedInt]"/><!-- 0..1 Minutes from event (before or after) -->
 </repeat>
 <code><!-- 0..1 CodeableConcept BID | TID | QID | AM | PM | QD | QOD | Q4H | Q6H + --></code>
</[name]>

JSON Template


{doco
  "resourceType" : "Timing",
  // from Element: extension
  "event" : ["<dateTime>"], // Когда происходит событие
  "repeat" : { // Когда именно произойдет событие
    // bounds[x]: Продолжительность/Диапазон продолжительности, либо (начальный и/или конечный) пределы. One of these 3:
    "boundsDuration" : { Duration },
    "boundsRange" : { Range },
    "boundsPeriod" : { Period },
    "count" : <integer>, // Количество повторов
    "countMax" : <integer>, // Maximum number of times to repeat
    "duration" : <decimal>, // Сколько оно будет длиться
    "durationMax" : <decimal>, // Сколько будет продолжаться, когда это произойдет (макс.)
    "durationUnit" : "<code>", // s | min | h | d | wk | mo | a - unit of time (UCUM)
    "frequency" : <integer>, // Событие происходит "frequency" раз за период
    "frequencyMax" : <integer>, // Event occurs up to frequencyMax times per period
    "period" : <decimal>, // Событие происходит "frequency" раз за период
    "periodMax" : <decimal>, // Верхний предел периода (3-4 часа)
    "periodUnit" : "<code>", // s | min | h | d | wk | mo | a - unit of time (UCUM)
    "dayOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun
    "timeOfDay" : ["<time>"], // Time of day for action
    "when" : ["<code>"], // События из повседневной жизни, к которым привязано событие
    "offset" : "<unsignedInt>" // Minutes from event (before or after)
  },
  "code" : { CodeableConcept } // BID | TID | QID | AM | PM | QD | QOD | Q4H | Q6H +
}

Turtle Template


@prefix fhir: <http://hl7.org/fhir/> .

[
 # from Element: Element.extension
  fhir:Timing.event [ dateTime ], ... ; # 0..* Когда происходит событие
  fhir:Timing.repeat [ # 0..1 Когда именно произойдет событие
    # Timing.repeat.bounds[x] : 0..1 Продолжительность/Диапазон продолжительности, либо (начальный и/или конечный) пределы. One of these 3
      fhir:Timing.repeat.boundsDuration [ Duration ]
      fhir:Timing.repeat.boundsRange [ Range ]
      fhir:Timing.repeat.boundsPeriod [ Period ]
    fhir:Timing.repeat.count [ integer ]; # 0..1 Количество повторов
    fhir:Timing.repeat.countMax [ integer ]; # 0..1 Maximum number of times to repeat
    fhir:Timing.repeat.duration [ decimal ]; # 0..1 Сколько оно будет длиться
    fhir:Timing.repeat.durationMax [ decimal ]; # 0..1 Сколько будет продолжаться, когда это произойдет (макс.)
    fhir:Timing.repeat.durationUnit [ code ]; # 0..1 s | min | h | d | wk | mo | a - unit of time (UCUM)
    fhir:Timing.repeat.frequency [ integer ]; # 0..1 Событие происходит "frequency" раз за период
    fhir:Timing.repeat.frequencyMax [ integer ]; # 0..1 Event occurs up to frequencyMax times per period
    fhir:Timing.repeat.period [ decimal ]; # 0..1 Событие происходит "frequency" раз за период
    fhir:Timing.repeat.periodMax [ decimal ]; # 0..1 Верхний предел периода (3-4 часа)
    fhir:Timing.repeat.periodUnit [ code ]; # 0..1 s | min | h | d | wk | mo | a - unit of time (UCUM)
    fhir:Timing.repeat.dayOfWeek [ code ], ... ; # 0..* mon | tue | wed | thu | fri | sat | sun
    fhir:Timing.repeat.timeOfDay [ time ], ... ; # 0..* Time of day for action
    fhir:Timing.repeat.when [ code ], ... ; # 0..* События из повседневной жизни, к которым привязано событие
    fhir:Timing.repeat.offset [ unsignedInt ]; # 0..1 Minutes from event (before or after)
  ];
  fhir:Timing.code [ CodeableConcept ]; # 0..1 BID | TID | QID | AM | PM | QD | QOD | Q4H | Q6H +
]

Changes since DSTU2


Timing
Timing.repeat.bounds[x] Remove Quantity{http://hl7.org/fhir/StructureDefinition/Duration}, Add Duration
Timing.repeat.countMax added Element
Timing.repeat.durationUnit Renamed from durationUnits to durationUnit
Timing.repeat.periodUnit Renamed from periodUnits to periodUnit
Timing.repeat.dayOfWeek added Element
Timing.repeat.timeOfDay added Element
Timing.repeat.when Max Cardinality changed from 1 to *
Timing.repeat.offset added Element

See the Full Difference for further information

Structure

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Timing ΣElementРасписание для события, которое может наступить несколько раз
Элементы, определённые в прародителе: id, extension
... event Σ0..*dateTimeКогда происходит событие
... repeat ΣI0..1ElementКогда именно произойдет событие
+ If there's an offset, there must be a when (and not C, CM, CD, CV)
+ period SHALL be a non-negative value
+ Если указан periodMax, то должен быть указан и period
+ Если указан durationMax, то должен быть указан и duration
+ If there's a countMax, there must be a count
+ если duration указан, необходимо указать и единицы измерения продолжительности
+ If there's a timeOfDay, there cannot be be a when, or vice versa
+ if there's a period, there needs to be period units
+ duration SHALL be a non-negative value
.... bounds[x] Σ0..1Продолжительность/Диапазон продолжительности, либо (начальный и/или конечный) пределы
..... boundsDurationDuration
..... boundsRangeRange
..... boundsPeriodPeriod
.... count Σ0..1integerКоличество повторов
.... countMax Σ0..1integerMaximum number of times to repeat
.... duration Σ0..1decimalСколько оно будет длиться
.... durationMax Σ0..1decimalСколько будет продолжаться, когда это произойдет (макс.)
.... durationUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
UnitsOfTime (Required)
.... frequency Σ0..1integerСобытие происходит "frequency" раз за период
.... frequencyMax Σ0..1integerEvent occurs up to frequencyMax times per period
.... period Σ0..1decimalСобытие происходит "frequency" раз за период
.... periodMax Σ0..1decimalВерхний предел периода (3-4 часа)
.... periodUnit Σ0..1codes | min | h | d | wk | mo | a - unit of time (UCUM)
UnitsOfTime (Required)
.... dayOfWeek Σ0..*codemon | tue | wed | thu | fri | sat | sun
DaysOfWeek (Required)
.... timeOfDay Σ0..*timeTime of day for action
.... when Σ0..*codeСобытия из повседневной жизни, к которым привязано событие
EventTiming (Required)
.... offset Σ0..1unsignedIntMinutes from event (before or after)
... code Σ0..1CodeableConceptBID | TID | QID | AM | PM | QD | QOD | Q4H | Q6H +
TimingAbbreviation (Preferred)

doco Документация по этому формату

UML Diagram (Legend)

ElementExtensions - as described for all elements: additional information that is not part of the basic definition of the resource / typeextension : Extension 0..*Timing , event : dateTime [0..*]A code for the timing schedule. Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing, with the exception that .repeat.bounds still applies over the code (and is not contained in the code)code : CodeableConcept [0..1] Code for a known / defined timing pattern. (Strength=Preferred)TimingAbbreviation? Repeat , , / bounds[x] : Type [0..1] Duration|Range|Period count : integer [0..1]A maximum value for the count of the desired repetitions (e.g. do something 6-8 times)countMax : integer [0..1] , duration : decimal [0..1] , , durationMax : decimal [0..1] , UCUM durationUnit : code [0..1] A unit of time (units from UCUM). (Strength=Required)UnitsOfTime! / (. . period, periodMax)frequency : integer [0..1]If present, indicates that the frequency is a range - so to repeat between [frequency] and [frequencyMax] times within the period or period rangefrequencyMax : integer [0..1]Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the periodperiod : decimal [0..1] , , [period] [periodMax], , "do this once every 3-5 days"periodMax : decimal [0..1] UCUM-periodUnit : code [0..1] A unit of time (units from UCUM). (Strength=Required)UnitsOfTime! If one or more days of week is provided, then the action happens only on the specified day(s)dayOfWeek : code [0..*] (Strength=Required)DaysOfWeek! Specified time of day for action to take placetimeOfDay : time [0..*]Real world events that the occurrence of the event should be tied towhen : code [0..*] Real world event relating to the schedule. (Strength=Required)EventTiming! The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the eventoffset : unsignedInt [0..1]A set of rules that describe when the event is scheduledrepeat[0..1]

XML Template

<[name] xmlns="http://hl7.org/fhir"> doco
 <!-- from Element: extension -->
 <event value="[dateTime]"/><!-- 0..* Когда происходит событие -->
 <repeat>  <!-- 0..1 Когда именно произойдет событие -->
  <bounds[x]><!-- 0..1 Duration|Range|Period Продолжительность/Диапазон продолжительности, либо (начальный и/или конечный) пределы --></bounds[x]>
  <count value="[integer]"/><!-- 0..1 Количество повторов -->
  <countMax value="[integer]"/><!-- 0..1 Maximum number of times to repeat -->
  <duration value="[decimal]"/><!-- 0..1 Сколько оно будет длиться -->
  <durationMax value="[decimal]"/><!-- 0..1 Сколько будет продолжаться, когда это произойдет (макс.) -->
  <durationUnit value="[code]"/><!-- 0..1 s | min | h | d | wk | mo | a - unit of time (UCUM) -->
  <frequency value="[integer]"/><!-- 0..1 Событие происходит "frequency" раз за период -->
  <frequencyMax value="[integer]"/><!-- 0..1 Event occurs up to frequencyMax times per period -->
  <period value="[decimal]"/><!-- 0..1 Событие происходит "frequency" раз за период -->
  <periodMax value="[decimal]"/><!-- 0..1 Верхний предел периода (3-4 часа) -->
  <periodUnit value="[code]"/><!-- 0..1 s | min | h | d | wk | mo | a - unit of time (UCUM) -->
  <dayOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun -->
  <timeOfDay value="[time]"/><!-- 0..* Time of day for action -->
  <when value="[code]"/><!-- 0..* События из повседневной жизни, к которым привязано событие -->
  <