@synanetics/types
Version:
Common types for cross repository use
173 lines • 6.78 kB
TypeScript
import { DomainResource, Extension, Identifier, Reference } from 'fhir/r3.js';
import { InterweaveMessageEventType } from '../../common.js';
export interface DataConsumerEndpoint {
/**
* Unique id for the element within a resource (for internal references)
* This may be any string value that does not contain spaces
*/
id?: string;
/**
* May be used to represent additional information
* that is not part of the basic definition of the element.
* In order to make the use of extensions safe and manageable,
* there is a strict set of governance applied to the definition and use of extensions.
* Though any implementer is allowed to define an extension,
* there is a set of requirements that SHALL be met as part of the definition of the extension.
*/
extension?: Extension;
/**
* May be used to represent additional information
* that is not part of the basic definition of the element,
* and that modifies the understanding of the element that contains it.
* Usually modifier elements provide negation or qualification.
* In order to make the use of extensions safe and manageable,
* there is a strict set of governance applied to the definition and use of extensions.
* Though any implementer is allowed to define an extension,
* there is a set of requirements that SHALL be met as part of the definition of the extension.
* Applications processing a resource are required to check for modifier extensions.
*/
modifierExtension?: Extension;
/**
* What type of endpoint this is (subscription or messaging)
*/
type: 'sub' | 'msg';
/**
* URL of endpoint
*/
address: string;
/**
* The message type as defined by messageheader.event.coding that this endpoint accepts.
*/
messageEventType?: InterweaveMessageEventType[];
/**
* Certificate details
*/
certificateDN?: string;
/**
* Set of headers expected by endpoint
*/
header?: string[];
}
/**
* DataConsumer defines a consumer of data for the regional shared care record
*/
export interface DataConsumer extends DomainResource {
/**
* The resourceType, always DataConsumer
*/
readonly resourceType: 'DataConsumer';
/**
* An identifier for this DataConsumer
*/
identifier?: Identifier[];
/**
* A label assigned to the consumer for human identification and communication
*/
name: string;
/**
* A description of consumer for human identification and communication
*/
narrative?: string;
/**
* Whether the DataConsumer is actively connected to the System of Systems
*/
status: 'active' | 'inactive';
/**
* The date that the consumer was registered
*/
registered: string;
/**
* The DNS domain for the consumer
*/
domainName?: string;
/**
* Organization that is the owner of the data consumer
*/
organization: Reference;
/**
* The minimum maturity expected from providers
*/
minimumProviderMaturity: number;
iam: {
/**
* Unique id for the element within a resource (for internal references)
* This may be any string value that does not contain spaces
*/
id?: string;
/**
* May be used to represent additional information
* that is not part of the basic definition of the element.
* In order to make the use of extensions safe and manageable,
* there is a strict set of governance applied to the definition and use of extensions.
* Though any implementer is allowed to define an extension,
* there is a set of requirements that SHALL be met as part of the definition of the extension.
*/
extension?: Extension;
/**
* May be used to represent additional information
* that is not part of the basic definition of the element,
* and that modifies the understanding of the element that contains it.
* Usually modifier elements provide negation or qualification.
* In order to make the use of extensions safe and manageable,
* there is a strict set of governance applied to the definition and use of extensions.
* Though any implementer is allowed to define an extension,
* there is a set of requirements that SHALL be met as part of the definition of the extension.
* Applications processing a resource are required to check for modifier extensions.
*/
modifierExtension?: Extension;
/**
* Credentials for the consumer
*/
secretHash: string;
/**
* Public key to verify signed token
*/
certificate: string;
};
endpoint?: DataConsumerEndpoint[];
consumer: {
/**
* Unique id for the element within a resource (for internal references)
* This may be any string value that does not contain spaces
*/
id?: string;
/**
* May be used to represent additional information
* that is not part of the basic definition of the element.
* In order to make the use of extensions safe and manageable,
* there is a strict set of governance applied to the definition and use of extensions.
* Though any implementer is allowed to define an extension,
* there is a set of requirements that SHALL be met as part of the definition of the extension.
*/
extension?: Extension;
/**
* May be used to represent additional information
* that is not part of the basic definition of the element,
* and that modifies the understanding of the element that contains it.
* Usually modifier elements provide negation or qualification.
* In order to make the use of extensions safe and manageable,
* there is a strict set of governance applied to the definition and use of extensions.
* Though any implementer is allowed to define an extension,
* there is a set of requirements that SHALL be met as part of the definition of the extension.
* Applications processing a resource are required to check for modifier extensions.
*/
modifierExtension?: Extension;
/**
* URL of client
*/
address?: string;
/**
* Certificate details
*/
certificateDN?: string;
/**
* What IAM roles the consumer client may assert they have
*/
roles?: string[];
/**
* What IAM reasons the consumer client may assert they have
*/
reasonsForAccess?: string[];
};
}
//# sourceMappingURL=dataConsumer.d.ts.map