From 2e726b1dcabbd67153a8b55fa1747a9f0e2927c3 Mon Sep 17 00:00:00 2001 From: Meir Gottlieb Date: Wed, 1 Jul 2015 07:37:59 -0600 Subject: [PATCH] FHIR: Added resourceType to DomainResource. Updated Resource to not extend Element. Updated primitive types so that they are automatically generated. --- fhir/fhir.d.ts | 121 +++++++++++++++++++++---------------------------- 1 file changed, 51 insertions(+), 70 deletions(-) diff --git a/fhir/fhir.d.ts b/fhir/fhir.d.ts index 0376e2f4f..4dd052182 100644 --- a/fhir/fhir.d.ts +++ b/fhir/fhir.d.ts @@ -2,82 +2,47 @@ // Project: http://www.hl7.org/fhir/2015May/index.html // Definitions by: Artifact Health // Definitions: https://github.com/borisyankov/DefinitelyTyped - declare module fhir { /** - * A signed 32-bit integer (for larger values, use decimal) - */ - type integer = number; - - /** - * Rational numbers that have a decimal representation. See below about the precision of the number - */ - type decimal = number; - - /** - * A Uniform Resource Identifier Reference (RFC 3986). Note: URIs are case sensitive. - */ - type uri = string; - - /** - * A stream of bytes, base64 encoded (RFC 4648) - */ - type base64Binary = string; - - /** - * An instant in time - known at least to the second and always includes a time zone - */ - type instant = string; - - /** - * A date, or partial date (e.g. just year or year + month) as used in human communication. There is no time zone. - * Dates SHALL be valid dates - */ - type date = string; - - /** - * A date, date-time or partial date (e.g. just year or year + month) as used in human communication. If hours and - * minutes are specified, a time zone SHALL be populated. Seconds must be provided due to schema type constraints but - * may be zero-filled and may be ignored. Dates SHALL be valid dates. The time "24:00" is not allowed - */ - type dateTime = string; - - /** - * A time during the day, with no date specified (can be converted to a Duration since midnight). Seconds must be - * provided due to schema type constraints but may be zero-filled and may be ignored. The time "24:00" is not allowed, - * and neither is a time zone - */ - type time = string; - - /** - * 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 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 - */ - type code = string; - - /** - * An OID represented as a URI (RFC 3001). e.g. urn:oid:1.2.3.4.5 - */ - type oid = uri; - - /** - * Any combination of upper or lower case ASCII letters ('A'..'Z', and 'a'..'z', numerals ('0'..'9'), '-' and '.', 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.) + * Any combination of lowercase letters, numerals, "-" and ".", with a length limit of 36 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Systems SHALL send ids as lower-case but SHOULD interpret them case-insensitively. */ type id = string; - /** - * Any non-negative integer (e.g. >= 0) + * String of characters used to identify a name or a resource */ - type unsignedInt = integer; - + type uri = string; /** - * Any positive integer (e.g. > 0) + * A whole number */ - type positiveInt = integer; - + type integer = number; + /** + * A rational number with implicit precision + */ + type decimal = number; + /** + * A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates. + */ + type dateTime = string; + /** + * A date, or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates. + */ + type date = string; + /** + * An instant in time - known at least to the second + */ + type instant = string; + /** + * A time during the day, with no date specified + */ + type time = string; + /** + * 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 + */ + type code = string; + /** + * A stream of bytes + */ + type base64Binary = string; /** * A reference to a code defined by a terminology system */ @@ -116,6 +81,10 @@ declare module fhir { */ text?: string; } + /** + * An integer with a value that is not negative (e.g. >= 0) + */ + type unsignedInt = number; /** * Content in a format defined elsewhere */ @@ -1148,7 +1117,7 @@ declare module fhir { /** * Base Resource */ - interface Resource extends Element { + interface Resource { /** * Logical id of this artefact */ @@ -1183,6 +1152,10 @@ declare module fhir { * A resource with narrative, extensions, and contained resources */ interface DomainResource extends Resource { + /** + * The type of the resource. + */ + resourceType?: code; /** * Text summary of the resource, for human interpretation */ @@ -2558,6 +2531,10 @@ declare module fhir { */ item?: Reference[]; } + /** + * An integer with a value that is positive (e.g. >0) + */ + type positiveInt = number; /** * A series of measurements taken by a device */ @@ -3918,6 +3895,10 @@ declare module fhir { */ item?: DiagnosticOrderItem[]; } + /** + * An oid represented as a URI + */ + type oid = string; /** * Each study has one or more series of instances */ @@ -10815,4 +10796,4 @@ declare module fhir { */ tag?: Coding[]; } -} \ No newline at end of file +}